<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: theogravity</title><link>https://news.ycombinator.com/user?id=theogravity</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Apr 2026 03:03:45 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=theogravity" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by theogravity in "Be intentional about how AI changes your codebase"]]></title><description><![CDATA[
<p>Site renders extremely poorly on mobile safari that it is completely unreadable.</p>
]]></description><pubDate>Fri, 20 Mar 2026 20:55:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47460460</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=47460460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47460460</guid></item><item><title><![CDATA[New comment by theogravity in "Show HN: WebTiles – create a tiny 250x250 website with neighbors around you"]]></title><description><![CDATA[
<p>This is really cool! How are you sandboxing the tiles and allowing limited JS execution?</p>
]]></description><pubDate>Wed, 14 Jan 2026 21:44:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46624049</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=46624049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46624049</guid></item><item><title><![CDATA[New comment by theogravity in "Apple Withdraws iOS 18 Security Updates"]]></title><description><![CDATA[
<p>If I'm on 18.7.1, do I still need to upgrade?<p><a href="https://www.cvedetails.com/version/2021355/Apple-Iphone-Os-18.7.1.html" rel="nofollow">https://www.cvedetails.com/version/2021355/Apple-Iphone-Os-1...</a><p>seems to be the same as 18.7.2<p><a href="https://www.cvedetails.com/version/2037518/Apple-Iphone-Os-18.7.2.html" rel="nofollow">https://www.cvedetails.com/version/2037518/Apple-Iphone-Os-1...</a></p>
]]></description><pubDate>Sun, 11 Jan 2026 19:12:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46578781</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=46578781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46578781</guid></item><item><title><![CDATA[After 20 Years, This Scientist Proved Birds Can Talk and Use Grammar [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=jmys2abx4co">https://www.youtube.com/watch?v=jmys2abx4co</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46573518">https://news.ycombinator.com/item?id=46573518</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 11 Jan 2026 07:48:43 +0000</pubDate><link>https://www.youtube.com/watch?v=jmys2abx4co</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=46573518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46573518</guid></item><item><title><![CDATA[New comment by theogravity in "Warner Bros to rebuff $108B Paramount hostile offer"]]></title><description><![CDATA[
<p>Paywalled.</p>
]]></description><pubDate>Tue, 16 Dec 2025 22:24:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46295466</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=46295466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46295466</guid></item><item><title><![CDATA[New comment by theogravity in "Denial of service and source code exposure in React Server Components"]]></title><description><![CDATA[
<p>You need to update again.</p>
]]></description><pubDate>Thu, 11 Dec 2025 22:43:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=46238360</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=46238360</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46238360</guid></item><item><title><![CDATA[New comment by theogravity in "`satisfies` is my favorite TypeScript keyword (2024)"]]></title><description><![CDATA[
<p>The second example confuses me. The Person type has isCool: boolean, not an explicit true. How does using satisfies here pass coolPeopleOnly?</p>
]]></description><pubDate>Sat, 22 Nov 2025 21:56:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46018598</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=46018598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46018598</guid></item><item><title><![CDATA[New comment by theogravity in "Show HN: Wealthfolio 2.0- Open source investment tracker. Now Mobile and Docker"]]></title><description><![CDATA[
<p>Really interested in how you do this. When I as looking into building my own finance-related app, you have to pay a ton to get market data (stocks, crypto, ETFs, options) and connecting bank accounts if it's not for individual use (you still have to pay for individual use, but not significantly as much).</p>
]]></description><pubDate>Fri, 21 Nov 2025 17:08:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46006349</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=46006349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46006349</guid></item><item><title><![CDATA[Show HN: LogLayer v7 now with StatsD support]]></title><description><![CDATA[
<p>I'm the author of LogLayer, a TypeScript abstraction layer for logging libraries with the ability to send logs to cloud providers like DataDog.<p>It's made for outputting structured logs, and I've designed the logging APIs to reflect that:<p><pre><code>  log.withMetadata({ userId: 123 })
     .withError(new Error())
     .error("Something's wrong!")
</code></pre>
Depending on the logging library you're using with LogLayer, it might look like:<p><pre><code>  {
    "msg": "Something's wrong!",
    "metadata": {
      "userId": 123
    },
    "err":{
      "type": "Error",
      "message": "test",
    }
  }
</code></pre>
The idea is if you decide the logging library isn't fulfilling your needs, you can easily swap out the library where LogLayer is initialized without having to change the code you've already written around logs.<p>This weekend, I launched v7 of LogLayer, which adds support for mixins. I wanted to keep LogLayer's API focused solely on logging, but also have the ability to extend it if needed.<p>The use-case that came up is my workplace wants better metrics. We do have auto-instrumentation for our systems, but there are times where we want more pin-pointed metrics. I've noticed in some cases, metrics and logging goes hand-in-hand, and thought that it'd be really nice if I could access the same logging client and be able to send metrics to StatsD as I write my logs.<p>In node.js land, I believe "hot-shots" is <i>the</i> StatsD client most would use, and created a mixin with it, which adds the hot-shots methods to the LogLayer API. So now you have the ability to send metrics + logs at the same time if you wanted this functionality:<p><pre><code>  log.statsIncrement("error.count")
     .withMetadata({ userId: 123 })
     .withError(new Error())
     .error("Something's wrong!")
  </code></pre>
This will now send an increment call to StatsD in addition to shipping out your log to your logging library / cloud provider.<p>I'm hoping with this DX, thinking about metrics won't be an afterthought because you now have easy access to send it while writing logs.<p>(You can also send metrics without sending logs with the mixin.)</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45794883">https://news.ycombinator.com/item?id=45794883</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 03 Nov 2025 00:59:14 +0000</pubDate><link>https://loglayer.dev/mixins/hot-shots.html</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=45794883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45794883</guid></item><item><title><![CDATA[New comment by theogravity in "Ask HN: What are you working on? (October 2025)"]]></title><description><![CDATA[
<p>Adding new transports and documentation to my Typescript logging library (MIT licensed), LogLayer (<a href="https://loglayer.dev" rel="nofollow">https://loglayer.dev</a>). Just added documentation for Bun and Deno support added some new logging library transports (LogTape), and finishing up Logflare and Betterstack transports so you can send logs to their logging APIs.</p>
]]></description><pubDate>Sun, 12 Oct 2025 21:17:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45561988</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=45561988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45561988</guid></item><item><title><![CDATA[New comment by theogravity in "Why did Crunchyroll's subtitles just get worse?"]]></title><description><![CDATA[
<p>It's already happening. There are visual novel groups that take pateron sponsorship to run the script through machine translation. It's now done in giant batches. They're released for free and I am not able to speak of the quality as I've never tried them, but when I see reviews on steam for a VN that has been machine translated, it never results in a good review.</p>
]]></description><pubDate>Tue, 07 Oct 2025 01:46:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45498556</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=45498556</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45498556</guid></item><item><title><![CDATA[New comment by theogravity in "Why did Crunchyroll's subtitles just get worse?"]]></title><description><![CDATA[
<p>Yes</p>
]]></description><pubDate>Tue, 07 Oct 2025 01:43:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45498533</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=45498533</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45498533</guid></item><item><title><![CDATA[New comment by theogravity in "Why did Crunchyroll's subtitles just get worse?"]]></title><description><![CDATA[
<p>My first thought would be consistency in localization / typesetting. Groups have their own ways of localizing and typesetting content and most likely would not want to share their style guide when they lost out on something they recently translated to a lower bidder.</p>
]]></description><pubDate>Tue, 07 Oct 2025 00:46:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45498106</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=45498106</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45498106</guid></item><item><title><![CDATA[New comment by theogravity in "Quicksort explained IKEA-style"]]></title><description><![CDATA[
<p>This surprisingly made this easy to remember for me.<p>Unfortunately, the merge sort instructions doesn't make sense to me, specifically step 3.</p>
]]></description><pubDate>Wed, 24 Sep 2025 20:54:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=45365819</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=45365819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45365819</guid></item><item><title><![CDATA[New comment by theogravity in "Next.js is infuriating"]]></title><description><![CDATA[
<p>I also had similar issues and wrote a guide on how to use LogLayer + pino to get server-side logs working properly.<p><a href="https://loglayer.dev/example-integrations/nextjs.html" rel="nofollow">https://loglayer.dev/example-integrations/nextjs.html</a><p>Overall, the logging experience in Next.js is terrible, and not being able to chain middleware, even more so.</p>
]]></description><pubDate>Tue, 02 Sep 2025 17:27:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45106225</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=45106225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45106225</guid></item><item><title><![CDATA[New comment by theogravity in "EconTeen – Financial literacy lessons and tools for teens"]]></title><description><![CDATA[
<p>Really love the idea! I tried going to the FAQ on mobile safari on iOS and can't scroll on the answer sections, so the text is cut off.</p>
]]></description><pubDate>Tue, 05 Aug 2025 00:48:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=44793108</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=44793108</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44793108</guid></item><item><title><![CDATA[New comment by theogravity in "JavaScript retro sound effects generator"]]></title><description><![CDATA[
<p>Is it me, or am I the only one not finding the play button on this via mobile safari?</p>
]]></description><pubDate>Sun, 03 Aug 2025 00:14:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=44772927</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=44772927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44772927</guid></item><item><title><![CDATA[New comment by theogravity in "Show HN: An AI agent that learns your product and guides your users"]]></title><description><![CDATA[
<p>Same. Using Mobile Safari on iPadOS on an M2 iPad Pro.</p>
]]></description><pubDate>Sat, 02 Aug 2025 03:43:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=44764743</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=44764743</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44764743</guid></item><item><title><![CDATA[New comment by theogravity in "M8.7 earthquake in Western Pacific, tsunami warning issued"]]></title><description><![CDATA[
<p>> The statement was revised later to specify the date "July 5, 2025" as that of an asteroid impact,[8] or even the end of the world.[9]</p>
]]></description><pubDate>Wed, 30 Jul 2025 02:48:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44730518</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=44730518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44730518</guid></item><item><title><![CDATA[My Office Chair Broke My PC for a Year]]></title><description><![CDATA[
<p>Article URL: <a href="https://old.reddit.com/r/pchelp/comments/1m02f79/how_my_office_chair_broke_my_pc_for_a_year/">https://old.reddit.com/r/pchelp/comments/1m02f79/how_my_office_chair_broke_my_pc_for_a_year/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44568435">https://news.ycombinator.com/item?id=44568435</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 15 Jul 2025 06:32:55 +0000</pubDate><link>https://old.reddit.com/r/pchelp/comments/1m02f79/how_my_office_chair_broke_my_pc_for_a_year/</link><dc:creator>theogravity</dc:creator><comments>https://news.ycombinator.com/item?id=44568435</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44568435</guid></item></channel></rss>