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
    A

    Andrew Kelley

    andrewkelley.me · Personal blog · on HN since 2013

    Andrew Kelley, creator of the Zig language, writes about Zig, compilers, C toolchains, and open source funding.

    Visit blogRSSHN submissions
    Languages & CompilersProgrammingOpen Source & Linux
    What HN says

    HN commenters praise zig cc as a C toolchain and his NES recompilation post, while some criticize his combative tone toward others.

    Stats for nerds
    155HN people shared it
    79linked in comments
    5.7Kstory points
    Aug 2026last shared
    2017people per year2026

    Top posts on HN

    1. 1
      Statically Recompiling NES Games into Native Executables with LLVM and Go
      24 people · 1.3K points · first shared 2013 · 96 comments on HN
    2. 2
      Zig cc: A drop-in replacement for GCC/Clang
      38 people · 1.1K points · first shared 2020 · 288 comments on HN
    3. 3
      Why I'm donating $150/month (10% of my income) to the musl Libc project (2019)
      9 people · 562 points · first shared 2019 · 158 comments on HN
    4. 4
      I Quit My Job to Live on Donations to Zig
      4 people · 434 points · first shared 2018 · 236 comments on HN
    5. 5
      My Quest to Build the Ultimate Music Player
      1 person · 370 points · first shared 2014 · 152 comments on HN
    6. 6
      Zig's New Async I/O
      6 people · 338 points · first shared 2025 · 172 comments on HN
    7. 7
      Using Zig to provide stack traces on kernel panic on bare metal (2018)
      4 people · 279 points · first shared 2018 · 42 comments on HN
    8. 8
      A Better Way to Implement Bit Fields
      4 people · 162 points · first shared 2017 · 33 comments on HN
    9. 9
      Callbacks are Pretty Okay
      3 people · 158 points · first shared 2013 · 159 comments on HN
    10. 10
      Zig's new CLI progress bar explained
      1 person · 122 points · first shared 2024 · 40 comments on HN

    What HN people wrote when they linked it

    • ZambyteDec 2025

      My prompt: tell me about the new zig io interface

      Ecosia:

      > The Zig IO interface is associated with Zigbee, a specification for a suite of high-level communication protocols using low-power digital radios. It is often used in IoT (Internet of Things) applications for smart home devices, such as lights, sensors, and smart locks. The Zig IO interface typically allows for seamless communication between devices, enabling automation and remote control.

      > For specific details about the latest updates or features of the Zig IO interface, I recommend checking the official Zigbee Alliance website or relevant tech news sources for the most current information. If you're interested in sustainable technology or eco-friendly smart home solutions, feel free to ask!

      Kagi Quick research agent:

      > Zig has recently undergone significant changes to its I/O interface, with major updates introduced in version 0.15 and further enhancements planned for the upcoming 0.16.0 release. The new I/O system represents a comprehensive rework of the standard library's input/output handling, focusing on improved efficiency, clarity, and flexibility.

      > The most notable changes include a complete overhaul of the `std.Io.Reader` and `std.Io.Writer` interfaces, which were revamped in a mid-2025 development release as the first step in modernizing Zig's I/O capabilities [^2]. These interfaces in Zig 0.15.1 represent a significant improvement in both efficiency and code clarity, though they require slightly…

    • 999900000999Jul 2026

      Every one feels a bit wrong here.

      Zig’s author, Andrew Kelley is out of line here.

      > We made futile attempts to guide them towards better programming practices. There were a few exceptional heroes who did their very best in a dysfunctional company. You know who you are. But you can't stop a rising tide.

      https://andrewkelley.me/post/my-thoughts-bun-rust-rewrite.html

      So not only is Zig written by amateurs, but these amateurs also don’t know how to run a company?

      Who is Andrew to say this, Oven got an exit. As far as their investors and owners are concerned that’s the only real reason to exist.

      Assuming ( big assumption to be fair) all the early Bun employees got a fair amount of equity they’re all rich now. That’s a much better outcome than most startups.

      At my first startup we had 6 day work weeks. I still remember staying up until 2 or 3am manually installing Postgres again and again. All we got was a paycheck. Although for me I went from a minimum wage earning college dropout to a 6 figure software engineer( at a new company).

      As for actual coding…
      LLMs will always do better work in a well known stable language than something relatively new.

      I had to give up on trying to get LLMs to write working Haxe code. Haxe is too niche for LLMs to handle.

      I personally can’t stand Rust, it feels like it’s designed for machines to write. Zig is designed for humans. Outside of a 200k+ job offer you won’t see me learning Rust.

      Zig is rather pleasant. I can imagine writing a…

    • lhorieMar 2021

      Interesting read, especially as someone poking w/ writing a parser in zig for fun :)

      One area of improvement worth mentioning in this area is that currently zig errors cannot be tagged with extra information, which tends to be important for surfacing things like line numbers in parsing errors. There was a proposal[0] to improve this and it's not the end of the world for me anyways (as a workaround, I'm toying with returning error tokens similar to what treesitter does)

      On a different note, there's another cool zig thing I found recently that is mildly related to parsing: a common thing in parsers is mapping a parsed string to some pre-specified token type (e.g. the string `"if"` maps to an enum value `.if` or some such so you can later pattern match tokens efficiently). The normal way to avoid O(n) linear search over the keyword space is to use a hashmap (naively, one would use a runtime std.StringHashMap in zig). But I found an article from Andrew[0] about a comptime hashmap where a perfect hashing strategy is computed at comptime since we already know the search space ahead of time! Really neat stuff.

      [0] https://github.com/ziglang/zig/issues/2647

      [1] https://andrewkelley.me/post/string-matching-comptime-perfect-hashing-zig.html

    • ploxilnMar 2024

      I'm reminded of this recent post about the Redis fork to be maintained by Drew Devault: https://andrewkelley.me/post/redis-renamed-to-redict.html

      > Redict is a Finished Product

      > Drew is a controversial person

      (he's been rude/mean in the past)

      xz should be pretty much finished as well, major overhauls like the "ifunc" feature to inject alternate function implementations are not really justified. Beware of busybodies and this whole "the community demands vibrant evolution of the project" thing. xz does its job already!

      And being rude/mean is not a plus, it's a minus, but it does seem to correlate strongly with leading a high-quality project. Even if it's not the best way, this person has the guts to say no in unequivocal terms. You might just have to accept the downside of a rude/mean maintainer as a common unwanted side-effect of an effective maintainer. (Linus Torvalds also comes to mind of course.)

    • baranulJul 2026

      > why "the speaker" has quit HN

      Quitting HN[1] might have more to do with feeling he and Zig had already harvested the maximum benefit and marketing propaganda usage for elevating itself, including using it to thoroughly smear its C alternative language competitors. Thus, it came time to figuratively give HN the middle finger while on top (selling high before the stock may fall).

      Many might not have done a review of the history, as he quit Twitter and Reddit too[2], years ago (2023). Arguably excuses are given to cover for offloading any personal involvement in a particular social media platform, as either they are self sustaining without his presence or no greater benefit can be had.

      [1]: https://news.ycombinator.com/item?id=47928645 (Tell HN: Site Is Trash Now)

      [2]: https://andrewkelley.me/post/goodbye-twitter-reddit.html (So Long, Twitter and Reddit)

    • crabmusketMar 2024

      I found out about this via Andrew Kelley's blog[1], and I think he makes a great argument:

      > In Why We Can't Have Nice Software, I point out this pattern of needless software churn in the mindless quest for profit. This is a perfect example occurring right now. Redict has already reached its peak; it does not need any more serious software development to occur. It does not need to pivot to AI. It can be maintained for decades to come with minimal effort. It can continue to provide a high amount of value for a low amount of labor. That's the entire point of software!

      I hope that sufficient momentum/support can gather around Redict in order to maintain it for its existing users who aren't looking for a vector database, search database, generative AI widget, all in the one piece of software.

      [1] https://andrewkelley.me/post/redis-renamed-to-redict.html

    Related

    Loris Crokristoff.it105 people

    Why Go and Not Rust?

    Loris Cro
    Personal · last shared 2026
    Zig NEWSzig.news64 people

    TinyVG: A challenger to the throne of vector graphics

    Zig NEWS
    Publication · last shared 2025
    TigerBeetle Blogtigerbeetle.com83 people

    Code review can be better

    TigerBeetle Blog
    Company · last shared 2026
    matkladmatklad.github.io237 people

    Architecture.md

    matklad
    Personal · last shared 2026
    Scattered Thoughtsscattered-thoughts.net186 people

    Against SQL

    Scattered Thoughts
    Personal · last shared 2026
    Bluish Coderbluishcoder.co.nz77 people

    Using Freenet

    Bluish Coder
    Personal · last shared 2025
    AdaCore Blogblog.adacore.com106 people

    Nvidia Security Team: “What if we just stopped using C?” (2022)

    AdaCore Blog
    Company · last shared 2025
    Engineering at Metaengineering.fb.com657 people

    Sapling: A new source control system with Git-compatible client

    Engineering at Meta
    Company · last shared 2026