Live data from Hacker News

Viewing profile — gavinhoward

gavinhoward

HN member
Joined
Mon, Feb 16, 2015, 4:47 AM UTC
HN karma
5,281
Public activity
2,334 items

About gavinhoward

Christian, programmer, blogger, in that order.

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

  1. 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 …

  2. 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.

  3. 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…

  4. 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 […

  5. 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…

  6. 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…

  7. 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…

  8. 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…

  9. 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…

  10. 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…

  11. story
  12. story
  13. 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.

  14. 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.

  15. 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…

  16. comment
    Comment #46071779

    https://gavinhoward.com/2023/12/is-source-available-really-t...

  17. story
  18. 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…

  19. story
  20. 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…

  21. 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…

  22. 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. …

  23. 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…

  24. story
  25. comment
    Comment #44513506

    This looks excellent. I will probably implement this model for my own language.