Viewing profile — gavinhoward
gavinhoward
HN member- Joined
- Mon, Feb 16, 2015, 4:47 AM UTC
- HN karma
- 5,281
- Public activity
- 2,334 items
- HN profile
- View on Hacker News ↗
About gavinhoward
Blog: https://gavinhoward.com/
Contact: https://gavinhoward.com/contact/
Code: https://git.gavinhoward.com/
Member and manager of Yzena, LLC.
Website: https://yzena.com/
Contact: https://yzena.com/contact/
Services: https://yzena.com/services/
Code: https://git.yzena.com/
Recent public activity
-
comment
Comment #48577424
> Looks like operational transforms to me. Sort of. I add provenance, which helps properly identify collisions, and require a well-defined order by stacking [1] changelists. > The …
-
comment
Comment #48573462
The best answer I have is for you to read the "History Model" section of that design doc through the "Implementing CRDTs" subsection.
-
comment
Comment #48572814
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 b…
-
comment
Comment #48572559
As someone who has thought a lot about VCS design [1] [2], the chunking approach is the wrong one and will still waste space. [1]: https://gavinhoward.com/uploads/designs/yore.md […
-
comment
Comment #47864370
Because Git was faster. This mattered because speed is the killer feature [1], and speed is often seen by users as a proxy for reliability [2]. [1]: https://bdickason.com/posts/spe…
-
comment
Comment #47494512
> At this point if your VCS isn't a layer above git plumbing, nobody gonna waste time using it. Probably true, but it's a shame because there are better ways of storing and process…
-
comment
Comment #47480769
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] [1]: https://gavinhoward.com/2025/04/h…
-
comment
Comment #47480695
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 throug…
-
comment
Comment #46414905
> 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 co…
-
comment
Comment #46389818
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. But most importantly, I want to finally becom…
- story
- story
-
comment
Comment #46166538
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.
-
comment
Comment #46089404
SAMS does do that. Read my article carefully; it also requires modification and distribution rights for users. See principles 0 and 1.
-
comment
Comment #46081341
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." And if you don't…
-
comment
Comment #46071779
https://gavinhoward.com/2023/12/is-source-available-really-t...
- story
-
comment
Comment #44638499
I hope that FOSS work is never a burden, but that's too idealistic. For some, FOSS work is a burden on them and their loved ones. To those for whom it is, please don't feel obligat…
- story
-
comment
Comment #44597474
One of the few times I've read a paper before it was posted. I like this paper. While it's not anything groundbreaking or sensational, it did help me with the design of something I…
-
comment
Comment #44552121
> It has been mentioned that it’s possible that the default for debug builds is that every single function is compiled as an async function. I.e. there is canonically only one func…
-
comment
Comment #44552045
From my experience, the calling convention was, in 0.9.x, just an implementation detail, until it wasn't. I think I may still reserve judgment for when async is fully implemented. …
-
comment
Comment #44547778
As the author of a semi-famous post about how Zig has function colors [1], I decided to read up on this. I see that blocking I/O is an option: > The most basic implementation of `I…
- story
-
comment
Comment #44513506
This looks excellent. I will probably implement this model for my own language.