<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: gavinhoward</title><link>https://news.ycombinator.com/user?id=gavinhoward</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 11:39:49 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=gavinhoward" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by gavinhoward in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>> Looks like operational transforms to me.<p>Sort of. I add provenance, which helps properly identify collisions, and require a well-defined order by stacking [1] changelists.<p>> The doc claims it's the first with this technique.<p>More like the first with the particular angle on the technique. I specifically mention patch theory as another side of the same coin.<p>>  A 30 second search reminded me of Darcs, and taught me about Pijul, and Weave.<p>Darcs is Pijul's ancestor, and I mentioned Pijul. I also mentioned the weave and how reference sets scale better.<p>> The example in the doc uses text, and unfortunately I think it's for a reason.<p>Readability. Nothing more. The real stuff will be a compact binary format.<p>>  I think with large, binary game assets, the most common operation is going to be strings of "replace A with B", and depending on your chunk size relative to the distribution of changes you make on your assets, I see it as pretty close to a wash, for efficiency.<p>Yore will dedup change data instead because as the Lore document itself identifies, dedupping content is hard using chunks; you either get dedupping or canonical addresses. Change data doesn't have one canonical address; the address is in the commit data instead.<p>Dedupping changes has another benefit. If most instances are "replace A with B," and A replaces B in multiple places, Yore will be able to store just one instance of A, no matter its size. This matters because the larger the chunk, the less likely it will match any other chunk.<p>> Especially considering that content-addressable blocks also solves de-duplication, which for a multi-game studio is probably going to be significant. Especially if they're managing multiple releases, patches, development branches, etc.<p>True, but that should be table stakes. The fact that Git does not is a poor reflection on Git, not an innovation in Lore.<p>[1]: <a href="https://www.stacking.dev/" rel="nofollow">https://www.stacking.dev/</a></p>
]]></description><pubDate>Wed, 17 Jun 2026 21:53:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48577424</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=48577424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48577424</guid></item><item><title><![CDATA[New comment by gavinhoward in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>The best answer I have is for you to read the "History Model" section of that design doc through the "Implementing CRDTs" subsection.</p>
]]></description><pubDate>Wed, 17 Jun 2026 17:15:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48573462</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=48573462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48573462</guid></item><item><title><![CDATA[New comment by gavinhoward in "Epic Games announces Lore version control system"]]></title><description><![CDATA[
<p>When it comes to large assets, wasting large chunks of space is a problem. If your chunks are 64 kib average (from the Lore document), but changes only average 1 kib (which could be a high estimate), then you will still run out of space 64 times faster and need to read 64 times more data off of the disk for certain operations.<p>It also makes diffing hard, as well as diff viewing.</p>
]]></description><pubDate>Wed, 17 Jun 2026 16:30:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48572814</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=48572814</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48572814</guid></item><item><title><![CDATA[New comment by gavinhoward in "Lore – Open source version control system designed for scalability"]]></title><description><![CDATA[
<p>As someone who has thought a lot about VCS design [1] [2], the chunking approach is the wrong one and will still waste space.<p>[1]: <a href="https://gavinhoward.com/uploads/designs/yore.md" rel="nofollow">https://gavinhoward.com/uploads/designs/yore.md</a><p>[2]: My WIP VCS has been named Yore for at least two years; I did not copy Lore's name.</p>
]]></description><pubDate>Wed, 17 Jun 2026 16:14:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=48572559</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=48572559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48572559</guid></item><item><title><![CDATA[New comment by gavinhoward in "GitHub CLI now collects pseudoanonymous telemetry"]]></title><description><![CDATA[
<p>Because Git was faster.<p>This mattered because speed is the killer feature [1], and speed is often seen by users as a proxy for reliability [2].<p>[1]: <a href="https://bdickason.com/posts/speed-is-the-killer-feature/" rel="nofollow">https://bdickason.com/posts/speed-is-the-killer-feature/</a><p>[2]: <a href="https://craigmod.com/essays/fast_software/" rel="nofollow">https://craigmod.com/essays/fast_software/</a></p>
]]></description><pubDate>Wed, 22 Apr 2026 14:42:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47864370</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=47864370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47864370</guid></item><item><title><![CDATA[New comment by gavinhoward in "The future of version control"]]></title><description><![CDATA[
<p>> At this point if your VCS isn't a layer above git plumbing, nobody gonna waste time using it.<p>Probably true, but it's a shame because there are better ways of storing and processing the data, ways that <i>natively</i> handle binary files, semantics, and large files without falling over.</p>
]]></description><pubDate>Mon, 23 Mar 2026 20:15:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47494512</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=47494512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47494512</guid></item><item><title><![CDATA[New comment by gavinhoward in "A case against currying"]]></title><description><![CDATA[
<p>Okay, but if you combine the curried and tuple styles, and add a dash of runtime function pointers, you can solve the expression problem. [1]<p>[1]: <a href="https://gavinhoward.com/2025/04/how-i-solved-the-expression-problem/" rel="nofollow">https://gavinhoward.com/2025/04/how-i-solved-the-expression-...</a></p>
]]></description><pubDate>Sun, 22 Mar 2026 18:51:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47480769</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=47480769</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47480769</guid></item><item><title><![CDATA[New comment by gavinhoward in "The future of version control"]]></title><description><![CDATA[
<p>Bram Cohen is awesome, but this feels a little bare. I've put much more thought into version control ([1]), including the use of CRDTs (search for "# History Model" and read through the "Implementing CRDTs" section).<p>[1]: <a href="https://gavinhoward.com/uploads/designs/yore.md" rel="nofollow">https://gavinhoward.com/uploads/designs/yore.md</a></p>
]]></description><pubDate>Sun, 22 Mar 2026 18:44:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47480695</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=47480695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47480695</guid></item><item><title><![CDATA[New comment by gavinhoward in "Software engineers should be a little bit cynical"]]></title><description><![CDATA[
<p>> For instance, you might think that big tech engineers are being deliberately demoralized as part of an anti-labor strategy to prevent them from unionizing, which is nuts. Tech companies are simply not set up to engage in these kind of conspiracies.<p><a href="https://en.wikipedia.org/wiki/High-Tech_Employee_Antitrust_Litigation" rel="nofollow">https://en.wikipedia.org/wiki/High-Tech_Employee_Antitrust_L...</a></p>
]]></description><pubDate>Sun, 28 Dec 2025 21:56:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46414905</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=46414905</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46414905</guid></item><item><title><![CDATA[New comment by gavinhoward in "Ask HN: What skills do you want to develop or improve in 2026?"]]></title><description><![CDATA[
<p>I have had to put programming aside in 2025, probably for the rest of my life, so 2026 will be the year I reskill and reinvent myself.<p>But most importantly, I want to finally become as kind, patient, and charitable as I have always wanted to be.</p>
]]></description><pubDate>Fri, 26 Dec 2025 06:54:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46389818</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=46389818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46389818</guid></item><item><title><![CDATA[Piecemeal Formal Verification: Cloudflare, Java Exceptions, and Rust Mutexes]]></title><description><![CDATA[
<p>Article URL: <a href="https://gavinhoward.com/2025/12/piecemeal-formal-verification-cloudflare-java-exceptions-and-rust-mutexes/">https://gavinhoward.com/2025/12/piecemeal-formal-verification-cloudflare-java-exceptions-and-rust-mutexes/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46292011">https://news.ycombinator.com/item?id=46292011</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 16 Dec 2025 18:11:36 +0000</pubDate><link>https://gavinhoward.com/2025/12/piecemeal-formal-verification-cloudflare-java-exceptions-and-rust-mutexes/</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=46292011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46292011</guid></item><item><title><![CDATA[Use the Mikado Method to do safe changes in a complex codebase]]></title><description><![CDATA[
<p>Article URL: <a href="https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/">https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46228224">https://news.ycombinator.com/item?id=46228224</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 11 Dec 2025 06:11:22 +0000</pubDate><link>https://understandlegacycode.com/blog/a-process-to-do-safe-changes-in-a-complex-codebase/</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=46228224</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46228224</guid></item><item><title><![CDATA[New comment by gavinhoward in "Cloudflare outage should not have happened"]]></title><description><![CDATA[
<p>Hey, where can I apply to a job like yours? I may not be smart enough, but I may be. And I am very interested in formal verification.</p>
]]></description><pubDate>Fri, 05 Dec 2025 20:03:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46166538</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=46166538</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46166538</guid></item><item><title><![CDATA[New comment by gavinhoward in "The current state of the theory that GPL propagates to AI models"]]></title><description><![CDATA[
<p>SAMS does do that. Read my article carefully; it also requires modification and distribution rights for users. See principles 0 and 1.</p>
]]></description><pubDate>Sat, 29 Nov 2025 17:55:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46089404</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=46089404</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46089404</guid></item><item><title><![CDATA[New comment by gavinhoward in "A Tale of Four Fuzzers"]]></title><description><![CDATA[
<p>The title of the blog post downplays the absolute masterclass that this post is. It should be called "A Tale of Four Fuzzers: Best Practices for Advanced Fuzzing."<p>And if you don't have time, just go to the bullet point list at the end; that's all of the best practices, and they are fantastic.</p>
]]></description><pubDate>Fri, 28 Nov 2025 18:29:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46081341</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=46081341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46081341</guid></item><item><title><![CDATA[New comment by gavinhoward in "The current state of the theory that GPL propagates to AI models"]]></title><description><![CDATA[
<p><a href="https://gavinhoward.com/2023/12/is-source-available-really-that-bad/" rel="nofollow">https://gavinhoward.com/2023/12/is-source-available-really-t...</a></p>
]]></description><pubDate>Thu, 27 Nov 2025 18:13:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46071779</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=46071779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46071779</guid></item><item><title><![CDATA[Redundancy vs. dependencies: which is worse?]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.yosefk.com/blog/redundancy-vs-dependencies-which-is-worse.html">https://www.yosefk.com/blog/redundancy-vs-dependencies-which-is-worse.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45994353">https://news.ycombinator.com/item?id=45994353</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 20 Nov 2025 16:23:21 +0000</pubDate><link>https://www.yosefk.com/blog/redundancy-vs-dependencies-which-is-worse.html</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=45994353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45994353</guid></item><item><title><![CDATA[New comment by gavinhoward in "BC Maintenance Terms"]]></title><description><![CDATA[
<p>I hope that FOSS work is never a burden, but that's too idealistic. For some, FOSS work <i>is</i> a burden on them and their loved ones.<p>To those for whom it is, please don't feel obligated to continue. I haven't, and I made this public so that others will be able to discard their feelings of obligation.<p>Let's get paid to hold up the sky.</p>
]]></description><pubDate>Mon, 21 Jul 2025 18:15:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=44638499</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=44638499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44638499</guid></item><item><title><![CDATA[BC Maintenance Terms]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/gavinhoward/bc/commit/341c9388192">https://github.com/gavinhoward/bc/commit/341c9388192</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44638498">https://news.ycombinator.com/item?id=44638498</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 21 Jul 2025 18:15:26 +0000</pubDate><link>https://github.com/gavinhoward/bc/commit/341c9388192</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=44638498</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44638498</guid></item><item><title><![CDATA[New comment by gavinhoward in "The impact of file position on code review"]]></title><description><![CDATA[
<p>One of the few times I've read a paper before it was posted.<p>I like this paper. While it's not anything groundbreaking or sensational, it did help me with the design of something I am working on.</p>
]]></description><pubDate>Thu, 17 Jul 2025 19:55:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=44597474</link><dc:creator>gavinhoward</dc:creator><comments>https://news.ycombinator.com/item?id=44597474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44597474</guid></item></channel></rss>