<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: 0x6c6f6c</title><link>https://news.ycombinator.com/user?id=0x6c6f6c</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 04 Jun 2026 07:09:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=0x6c6f6c" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by 0x6c6f6c in "OpenRouter raises $113M Series B"]]></title><description><![CDATA[
<p>And if you were a smaller team then you don't even need K8s. Just ECS or Cloud Run have simple abstractions for horizontally scalable services and sidecars support.</p>
]]></description><pubDate>Sun, 31 May 2026 23:35:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=48350911</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=48350911</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48350911</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Does anybody like React?"]]></title><description><![CDATA[
<p>I like TEA but don't fully grasp how it scales for apps that may have reusable components or sufficiently complex pages. Is there an agreed-upon way(s) to deal with this? I know state is a big NO so it seems a bit at odds, but also does this essentially mean all Elm apps are just a global Redux and React app with no effects? Curious about more details to what you enjoy and how you like to work in Elm. Links also perfectly fine too.</p>
]]></description><pubDate>Tue, 26 May 2026 06:52:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48276025</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=48276025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48276025</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Claude for Small Business"]]></title><description><![CDATA[
<p>What are some of the alternatives that are worthwhile for this?</p>
]]></description><pubDate>Thu, 14 May 2026 11:51:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48134103</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=48134103</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48134103</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "HardenedBSD Is Now Officially on Radicle"]]></title><description><![CDATA[
<p>Many people do use GitHub for this. There are even Android app stores hinged around searching and installing release APKs.<p>The social connectivity and discoverability in github is a big reason many people use it. Can't say how many, but it is.</p>
]]></description><pubDate>Wed, 29 Apr 2026 12:16:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47947283</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=47947283</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47947283</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Show HN: Editing 2000 photos made me build a macOS bulk photo editor"]]></title><description><![CDATA[
<p>This is likely one of the many pains of App Store subscription configuration issues. Once anyone has subscribed you will have to migrate those yourself and even those details I'm not sure what restrictions there are. The latest seems to be one-time purchase, but historical cleanup is probably necessary on their part</p>
]]></description><pubDate>Sat, 11 Apr 2026 20:44:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47733879</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=47733879</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47733879</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "We saved $500k per year by rolling our own "S3""]]></title><description><![CDATA[
<p>Agreed, but this isn't always bad. Optimizing early with unclear requirements can kill time, which at an early stage is just delaying product launch.<p>Migrate/optimize later when you're actually reaching scale is a perfectly reasonable approach.<p>In fact, if you have a decent abstraction or standard in place (e.g. S3 API or repository pattern) you can swap it out in place.</p>
]]></description><pubDate>Wed, 29 Oct 2025 02:27:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=45741919</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45741919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45741919</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "It's insulting to read AI-generated blog posts"]]></title><description><![CDATA[
<p>I absolutely have used AI to scaffold reproduction scenarios, but I'm still validating everything is actually reproducing the bug I ran into before submitting.<p>It's 90% AI, but that 90% was almost entirely boilerplate and would have taken me a good chunk of time to do for little gain other than the fact I did it.</p>
]]></description><pubDate>Mon, 27 Oct 2025 18:06:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45724342</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45724342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45724342</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Unconventional Ways to Cast in TypeScript"]]></title><description><![CDATA[
<p>I have usually explained to my teams that you only should be doing this at the boundaries of the system. User input, raw files, request bodies, etc. are places where you would _need_ to determine an actual type for an otherwise unknown value.<p>Even then, a solid validation/parsing library like Zod is a better choice than casting, it is much less error prone at ensuring you have the right type applied.<p>Beyond that boundary, casting with `as unknown` is a massive code smell and often introduces any further use of that data to invalid type errors. I'll refer to this as "force casting", because simply casting "x as T" with sufficient strictness configured will still fail type checking if x is not compatible with T, and that can be fine for certain cases like reducing a complex type or giving an inferred parser type a form that fits your domain types.<p>Developers that force cast too readily can end up creating hundreds or even thousands of type errors in the codebase over time, and they are pretty quickly revealed once you peel away the casting. The same is true when starting from an `any`, where every reference thereon is equivalent to a force cast.<p>There can be some complex typing scenarios that do require it, but even then a good type guard works better even if certain cases can be semantically equivalent, you can write tests around guards as they're just functions, ensuring some logical correctness to the typing.<p>The simplest but maybe odd way to judge whether a casting is used the wrong way is to ask "are you lying to the type system?". If so, how can you better portray that type correctly (validation that determines a correct type for you (e g. Zod) or type guards).</p>
]]></description><pubDate>Fri, 24 Oct 2025 08:02:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45692095</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45692095</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45692095</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Is It Time to Regulate React?"]]></title><description><![CDATA[
<p>It definitely would be interesting to have proposed alternatives and even examples included as part of this piece.</p>
]]></description><pubDate>Fri, 24 Oct 2025 00:18:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=45689207</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45689207</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45689207</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "MinIO stops distributing free Docker images"]]></title><description><![CDATA[
<p>As far as I can tell, people who are paying for support contracts were also impacted by this. It was explicitly called out in that thread</p>
]]></description><pubDate>Wed, 22 Oct 2025 16:58:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45671992</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45671992</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45671992</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "JSON River – Parse JSON incrementally as it streams in"]]></title><description><![CDATA[
<p>Their example in the README is extremely misleading then. It indicates your stream output is<p>name: A
name: Al
name: Ale
name: Alex<p>Which would suggest you are getting unfinished strings out in the stream.</p>
]]></description><pubDate>Mon, 13 Oct 2025 23:24:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45574412</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45574412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45574412</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "JSON River – Parse JSON incrementally as it streams in"]]></title><description><![CDATA[
<p>Based on this thread that's called NDJSON<p>Newline Delimited JSON<p>TIL</p>
]]></description><pubDate>Mon, 13 Oct 2025 23:21:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45574394</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45574394</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45574394</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Superpowers: How I'm using coding agents in October 2025"]]></title><description><![CDATA[
<p>This approach couples together everything though, in such a way there's no standard manner of wiping cache but not your app, configuration, etc.<p>XDG may not be perfect but wiping related data for apps following it is straightforward. There are a few directories to delete instead of 1, but still consistently structured at least.</p>
]]></description><pubDate>Sun, 12 Oct 2025 03:37:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45554993</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45554993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45554993</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Show HN: Rift – A tiling window manager for macOS"]]></title><description><![CDATA[
<p>Same boat, but vs amethyst. It's worked very well for me the last few years.</p>
]]></description><pubDate>Sun, 12 Oct 2025 02:05:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45554514</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45554514</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45554514</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Docker Was Too Slow, So We Replaced It: Nix in Production [video]"]]></title><description><![CDATA[
<p>Since no one responded, they're running on Kubernetes, where a unit of containers is called a "pod". A pod may be one or more containers, but it's the smallest deployable unit in the Kubernetes space.<p>Their docker images were 11-35GB. Using the nix dockerTools approach would have resulted 100-300MB layers. These also may not even cache well between tags, though that's my intuition not knowledge. Especially if that's true, it wouldn't have improved the overall pull time issues they were having, which was 70-210s or image pull time on many new builds.<p>In their case they added a sidecar container which was actually an init container, which runs before the primary container of the pod runs. They did utilize root privileges to perform things like bind mounting of nix store paths into the running container which made it possible for the container to run software provided in the /nix/store available from those bind mounts. This also meant both the Kubernetes hosts and containers did not require the nix daemon, the nix-sidecar running within the pod orchestrated pulling derivations , binding them, and running garbage collection at low priority in the background to ensure host SSDs don't run out of storage, while still allowing referenced derivations in the cluster to persist, improving sync time where the SSD may already contain all necessary derivations for a new pod startup.</p>
]]></description><pubDate>Thu, 02 Oct 2025 03:28:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=45446090</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45446090</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45446090</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Claude Code 2.0"]]></title><description><![CDATA[
<p>By tracking changes made by a command, like you might with git.</p>
]]></description><pubDate>Tue, 30 Sep 2025 12:24:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45424581</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45424581</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45424581</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "SSH3: Faster and rich secure shell using HTTP/3"]]></title><description><![CDATA[
<p>SSH over QUIC<p>so, maybe SSHoQ or SoQ<p>soq reads better for the CLI I suppose.</p>
]]></description><pubDate>Sat, 27 Sep 2025 20:54:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45399238</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45399238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45399238</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Pocket Casts, you altered the deal, so I will alter your app"]]></title><description><![CDATA[
<p>Except those are not even close to the same type of software to fairly compare. A file manager has virtually no inherent servicing costs to pay compared to a podcast player.</p>
]]></description><pubDate>Wed, 24 Sep 2025 13:13:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45359849</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45359849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45359849</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "PlanetScale for Postgres is now GA"]]></title><description><![CDATA[
<p>It's fluff to give the elevator pitch now guys, be warned</p>
]]></description><pubDate>Tue, 23 Sep 2025 03:11:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45342405</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45342405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45342405</guid></item><item><title><![CDATA[New comment by 0x6c6f6c in "Gemini in Chrome"]]></title><description><![CDATA[
<p>If your data is already in Drive haven't you already given them it?</p>
]]></description><pubDate>Sat, 20 Sep 2025 15:08:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45314009</link><dc:creator>0x6c6f6c</dc:creator><comments>https://news.ycombinator.com/item?id=45314009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45314009</guid></item></channel></rss>