<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: cbrewster</title><link>https://news.ycombinator.com/user?id=cbrewster</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 05 Aug 2026 06:09:29 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=cbrewster" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Stripe Just Wants a Number]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.exe.dev/billable-facts">https://blog.exe.dev/billable-facts</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49098312">https://news.ycombinator.com/item?id=49098312</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 29 Jul 2026 14:51:19 +0000</pubDate><link>https://blog.exe.dev/billable-facts</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=49098312</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49098312</guid></item><item><title><![CDATA[ZeroFS vs. Amazon S3 Files]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.zerofs.net/blog/zerofs-vs-aws-s3-files/">https://www.zerofs.net/blog/zerofs-vs-aws-s3-files/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48874297">https://news.ycombinator.com/item?id=48874297</a></p>
<p>Points: 92</p>
<p># Comments: 29</p>
]]></description><pubDate>Sat, 11 Jul 2026 18:15:35 +0000</pubDate><link>https://www.zerofs.net/blog/zerofs-vs-aws-s3-files/</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=48874297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48874297</guid></item><item><title><![CDATA[Restate 1.7: End-to-end Flow Control for your Agents and Back ends]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.restate.dev/blog/announcing-restate-1-7">https://www.restate.dev/blog/announcing-restate-1-7</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48855405">https://news.ycombinator.com/item?id=48855405</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 10 Jul 2026 03:25:48 +0000</pubDate><link>https://www.restate.dev/blog/announcing-restate-1-7</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=48855405</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48855405</guid></item><item><title><![CDATA[Chorus: A fast WAL for object storage]]></title><description><![CDATA[
<p>Article URL: <a href="https://rockwotj.com/blog/chorus/">https://rockwotj.com/blog/chorus/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48825008">https://news.ycombinator.com/item?id=48825008</a></p>
<p>Points: 5</p>
<p># Comments: 6</p>
]]></description><pubDate>Tue, 07 Jul 2026 22:40:39 +0000</pubDate><link>https://rockwotj.com/blog/chorus/</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=48825008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48825008</guid></item><item><title><![CDATA[Grit: Rewriting Git in Rust with agents]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.gitbutler.com/true-grit">https://blog.gitbutler.com/true-grit</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48466812">https://news.ycombinator.com/item?id=48466812</a></p>
<p>Points: 178</p>
<p># Comments: 306</p>
]]></description><pubDate>Tue, 09 Jun 2026 19:58:21 +0000</pubDate><link>https://blog.gitbutler.com/true-grit</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=48466812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48466812</guid></item><item><title><![CDATA[SlateDB – An embedded database built on object storage]]></title><description><![CDATA[
<p>Article URL: <a href="https://slatedb.io/">https://slatedb.io/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48282761">https://news.ycombinator.com/item?id=48282761</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 26 May 2026 17:20:26 +0000</pubDate><link>https://slatedb.io/</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=48282761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48282761</guid></item><item><title><![CDATA[We Built a Video Rendering Engine by Lying to the Browser About What Time It Is]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.replit.com/browsers-dont-want-to-be-cameras">https://blog.replit.com/browsers-dont-want-to-be-cameras</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47170163">https://news.ycombinator.com/item?id=47170163</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 26 Feb 2026 18:38:21 +0000</pubDate><link>https://blog.replit.com/browsers-dont-want-to-be-cameras</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=47170163</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47170163</guid></item><item><title><![CDATA[Replit's Snapshot Engine: The Tech Making AI Agents Safe]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.replit.com/inside-replits-snapshot-engine">https://blog.replit.com/inside-replits-snapshot-engine</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46306039">https://news.ycombinator.com/item?id=46306039</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 17 Dec 2025 21:50:24 +0000</pubDate><link>https://blog.replit.com/inside-replits-snapshot-engine</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=46306039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46306039</guid></item><item><title><![CDATA[Replit Storage: The Next Generation]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.replit.com/replit-storage-the-next-generation">https://blog.replit.com/replit-storage-the-next-generation</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37007634">https://news.ycombinator.com/item?id=37007634</a></p>
<p>Points: 11</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 05 Aug 2023 00:24:39 +0000</pubDate><link>https://blog.replit.com/replit-storage-the-next-generation</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=37007634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37007634</guid></item><item><title><![CDATA[New comment by cbrewster in "One Million Database Connections"]]></title><description><![CDATA[
<p>Now you need to batch your requests to your intermediate server</p>
]]></description><pubDate>Tue, 01 Nov 2022 17:29:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=33424387</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=33424387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33424387</guid></item><item><title><![CDATA[New comment by cbrewster in "Short story about my Steam Deck"]]></title><description><![CDATA[
<p>You can talk to support about missing the notification about your reservation and they'll still let you put in an order.</p>
]]></description><pubDate>Sun, 28 Aug 2022 19:39:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=32631350</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=32631350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32631350</guid></item><item><title><![CDATA[New comment by cbrewster in "Will Nix Overtake Docker?"]]></title><description><![CDATA[
<p>Fair, but its still a real issue and solved in a similar way: Nix has finer grained reproducibility -- not only at the environment level but also at the derivation level. Being able to pick and choose which dependencies to update while ensuring other packages are left exactly the same is valuable to us.</p>
]]></description><pubDate>Tue, 30 Nov 2021 16:53:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=29394213</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=29394213</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29394213</guid></item><item><title><![CDATA[New comment by cbrewster in "Will Nix Overtake Docker?"]]></title><description><![CDATA[
<p>For context, I'm referencing our (legacy) base image for projects on Replit:
Polygott (<a href="https://github.com/replit/polygott/" rel="nofollow">https://github.com/replit/polygott/</a>).<p>The image contains dependencies needed for 50+ languages. This means repls by default are packed with lots of commonly used tools. However, the image is massive, takes a long time to build, and is difficult to deploy.<p>Unfortunately, slimming the image down is not really an option: people rely on all the tools we provide out of the box.</p>
]]></description><pubDate>Tue, 30 Nov 2021 04:41:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=29389039</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=29389039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29389039</guid></item><item><title><![CDATA[New comment by cbrewster in "Will Nix Overtake Docker?"]]></title><description><![CDATA[
<p>What happens when you need to update some dependency within that image? Now you have to do an image rebuild. If you're lucky only the top-most layers will be rebuilt and the base layers stay the same, if you're unlucky nearly the whole image is rebuilt. Usually we just want to update some subset of dependencies, but during the rebuild some other dependencies may get updated unintentionally (eg if they aren't pinned to a particular version). For most, this may not be an issue but at Replit, everyone's projects use this base Docker image. Unintended updates can cause breakage for our users.</p>
]]></description><pubDate>Tue, 30 Nov 2021 04:30:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=29388972</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=29388972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29388972</guid></item><item><title><![CDATA[New comment by cbrewster in "Will Nix Overtake Docker?"]]></title><description><![CDATA[
<p>Author here. It's titled this way because Docker seems to come up in a lot of discussions around Nix and is often compared with Nix. Partly because of their overlap in functionality but also because people may not understand the difference between the two.
The goal here was to a) highlight the different use-cases between the two tools b) compare the tools in the areas that they overlap and c) show how both tools can be used together.</p>
]]></description><pubDate>Tue, 30 Nov 2021 04:15:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=29388882</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=29388882</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29388882</guid></item><item><title><![CDATA[New comment by cbrewster in "Will Nix Overtake Docker?"]]></title><description><![CDATA[
<p>Author here. In our case, we had a large base Docker image called Polygott (<a href="https://github.com/replit/polygott" rel="nofollow">https://github.com/replit/polygott</a>) it pulls in dependencies for 50+ different languages from various repositories. We would pin things where possible, but its still very difficult to ensure reproducible builds.<p>Additionally, docker builds have free access to the network to do anything it would like. Nix goes to great lengths to sandbox builds and limit network access. Anything accessed from a network requires a pinned sha 256 hash to ensure the remote data hasn't changed. (<a href="https://nixos.wiki/wiki/Nix#Sandboxing" rel="nofollow">https://nixos.wiki/wiki/Nix#Sandboxing</a>)</p>
]]></description><pubDate>Tue, 30 Nov 2021 03:11:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=29388491</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=29388491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29388491</guid></item><item><title><![CDATA[New comment by cbrewster in "Will Nix Overtake Docker?"]]></title><description><![CDATA[
<p>Author here. As with most things, its all about the trade-offs. Docker has certainly proved itself and that approach has worked on a massive scale. However, its not a silver bullet. For us at Replit, our Docker approach was causing issues: our base image was large and unmaintainable and we had almost no way of knowing what changed between subsequent builds of the base image.<p>We've been able to utilize Nix to address both of those issues, and others who may be in a similar scenario might also find Nix to be valuable.<p>Of course Nix comes with its own set of opinions and complexities but it has been a worthwhile trade-off for us.</p>
]]></description><pubDate>Tue, 30 Nov 2021 03:05:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=29388456</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=29388456</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29388456</guid></item><item><title><![CDATA[New comment by cbrewster in "Will Nix Overtake Docker?"]]></title><description><![CDATA[
<p>While you can copy files from different stages, I wouldn't consider this to be the same thing as composing two base images together. Like the example in the post, you can't take the Rust and NodeJS images and tell Docker to magically merge them. You can copy binaries & libraries from one to the other but that seems extremely tedious and error prone.<p>Whereas Nix makes it rather trivial to compose together the packages you need (eg Rust, NodeJS) in your environment.</p>
]]></description><pubDate>Tue, 30 Nov 2021 03:00:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=29388415</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=29388415</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29388415</guid></item><item><title><![CDATA[New comment by cbrewster in "Replit now supports every programming language in Nix"]]></title><description><![CDATA[
<p>It was more of a silly demonstration showing what's possible and less about being practical. :)</p>
]]></description><pubDate>Tue, 25 May 2021 22:37:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=27283635</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=27283635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27283635</guid></item><item><title><![CDATA[New comment by cbrewster in "Replit now supports every programming language in Nix"]]></title><description><![CDATA[
<p>Yeah, we are really excited about the future Nix will bring for us at Replit. Soon, language version incompatibility will be a thing of the past on Replit.</p>
]]></description><pubDate>Tue, 25 May 2021 16:03:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=27278550</link><dc:creator>cbrewster</dc:creator><comments>https://news.ycombinator.com/item?id=27278550</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27278550</guid></item></channel></rss>