Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    P

    Philippe Gaultier

    gaultier.github.io · Personal blog · on HN since 2023

    Philippe Gaultier writes about systems programming, covering assembly, Wayland, Go data races, undefined behavior, Rust, and static site generators.

    Visit blogRSSHN submissions
    Systems & PerformanceLanguages & Compilers
    What HN says

    HN commenters link his Wayland and Go posts; one criticizes the mutex code in his data race article as obviously wrong.

    Stats for nerds
    23HN people shared it
    52linked in comments
    1.8Kstory points
    Apr 2026last shared
    2023people per year2026

    Top posts on HN

    1. 1
      You've just inherited a legacy C++ codebase, now what?
      1 person · 380 points · first shared 2024 · 347 comments on HN
    2. 2
      Let's write a video game from scratch like it's 1987
      1 person · 321 points · first shared 2024 · 152 comments on HN
    3. 3
      Learn x86-64 assembly by writing a GUI from scratch (2023)
      6 people · 284 points · first shared 2023 · 27 comments on HN
    4. 4
      A million ways to die from a data race in Go
      3 people · 155 points · first shared 2025 · 138 comments on HN
    5. 5
      Lessons learned from a successful Rust rewrite
      1 person · 146 points · first shared 2024 · 42 comments on HN
    6. 6
      Way too many ways to wait on a child process with a timeout
      2 people · 131 points · first shared 2024 · 32 comments on HN
    7. 7
      Making my debug build run 100x faster so that it is finally usable
      1 person · 87 points · first shared 2025 · 20 comments on HN
    8. 8
      Perhaps Rust Needs "Defer"
      2 people · 74 points · first shared 2024 · 67 comments on HN
    9. 9
      The missing cross-platform OS API for timers
      2 people · 51 points · first shared 2025 · 33 comments on HN
    10. 10
      A subtle bug with Go's errgroup
      1 person · 27 points · first shared 2025 · 19 comments on HN

    What HN people wrote when they linked it

    • bsderOct 2024

      > It's unsurprising that the author would go use Zig next time since they didn't seem to have any value alignment with Rust's core safety guarantees.

      I don't think that's true. The end application talks to smart cards. See also one of the links: https://gaultier.github.io/blog/how_to_rewrite_a_cpp_codebase_successfully.md

      However, the codebase has the possibility to use multiple memory allocators, and Rust is simply actively bad when faced with that.

      It just seems like the codebase has a set of idioms that really lean into the areas that Zig is actively good at and where Rust is weak. Memory allocators, lexical (not RAII) defer, C interop, C++ interop, and cross-compilation are Zig's raison d'être, after all.

      The one thing I disagree with is the complaint about "repr(C)". Sorry, but I've become convinced that if we want our compiler and languages to work well on modern hardware, we're going to have to allow the compilers to do lots of struct-of-array to array-of-struct (and vice versa) transformations depending upon the actual access patterns. That means that a struct or an array will not be locked to a specific memory layout unless you specifically request as such.

    • kiitosNov 2025

      > I have been writing production applications in Go for a few years now.

      sorry, what?

      https://gaultier.github.io/blog/a_million_ways_to_data_race_in_go.html#improper-lifetime-of-a-mutex

      this code is obviously wrong, fractally wrong

      why would you create a new PricingService for every request? what makes you think a mutex in each of those (obviously unique) PricingService values would somehow protect the (inexplicably shared) PricingInfo value??

      > the fix

      https://gaultier.github.io/blog/a_million_ways_to_data_race_in_go.html#the-fix-2

      what? this is in no way a fix to the problem.

      it's impossible to believe the author's claims about their experience in the language, this is just absolute beginner stuff..

    • azangruMar 2026

      The first random page it returned to me was this — https://gaultier.github.io/blog/how_to_make_your_own_static_site_generator.html — which was about building one's own static site generator, which I really liked. I did not realise when I closed that page how hard it would be to find it again, because, of course every new visit to Kagi returns a different page :-)

    • broken_broken_Apr 2026

      Interesting to see an ebpf approach to this idea, some time ago I did the same with Dtrace: https://gaultier.github.io/blog/detecting_goroutine_leaks_with_dtrace.html

      However I did not think of observing the ‘castgstatus’ runtime function.

      Always nice to be able to compare the DTrace and Ebpf approaches, they both have different strong points.

    • amjoshuamichaelNov 2024

      I've seen some interesting work in doing Wayland by hand:

      https://gaultier.github.io/blog/wayland_from_scratch.html

      I'd also look at the work done on minimal wayland projects like [foot](https://codeberg.org/dnkl/foot), which supports wayland well and seems to be written by hand (see: https://codeberg.org/dnkl/foot/src/branch/master/wayland.c)

    • sandreasDec 2023

      https://www.binwang.me/2023-12-14-ZFS-Profiling-on-Arch-Linux.html

      https://gaultier.github.io/blog/x11_x64.html

      https://diy.viktak.com/2022/04/home-made-tpm2-0-module.html

      https://r.bluethl.net/how-to-design-better-apis

      https://crystalverse.com/sodium-chloride-crystals/

      https://twitter.com/Kristy_Viers/status/1287189581926981634

    Related

    Marc G Gauthiermarcgg.com17 people

    Gaining Years of Experience in a Few Months

    Marc G Gauthier
    Personal · last shared 2026
    Daniel Janusblog.danieljanus.pl20 people

    I love my GPD Micro PC

    Daniel Janus
    Personal · last shared 2026
    Hexops Devlogdevlog.hexops.com27 people

    Zig, parser combinators, and why they're awesome

    Hexops Devlog
    Company · last shared 2025
    Random ASCIIrandomascii.wordpress.com274 people

    There are only four billion floats, so test them all (2014)

    Random ASCII
    Personal · last shared 2026
    Miguel Young de la Sotamcyoung.xyz37 people

    The Rust calling convention we deserve

    Miguel Young de la Sota
    Personal · last shared 2026
    Erik Engheimerik-engheim.medium.com29 people

    Why is Apple's M1 chip so fast?

    Erik Engheim
    Personal · last shared 2026
    Jens Gustedtgustedt.wordpress.com52 people

    Modern C, Second Edition

    Jens Gustedt
    Personal · last shared 2026
    Henri Sivonenhsivonen.fi47 people

    String Lengths in Unicode

    Henri Sivonen
    Personal · last shared 2025