Top all-time · #346
Andrew Kelley
Personal blog · andrewkelley.me · on HN as AndyKelleyprogrammingsystems
Andrew Kelley's personal blog at andrewkelley.me covers programming and systems. Since 2013, 155 different Hacker News readers have linked it 214 times, most often “Zig cc: A drop-in replacement for GCC/Clang”. It is still writing: the last post was on 2026-07-31, and you can follow it by feed.
Rarely recommended · 4 of 40 sampled comments recommend it?
Why HN links it
HN readers link Andrew Kelley's posts about Zig, mainly zig cc as a drop-in C compiler and the jamulator post on recompiling NES code, and his Zig introduction.
- Recommended for · 4 comments
- One commenter liked his Redis-to-Redict perspective; another calls his Zig intro 'a nice introduction'.
Summarised by Claude from a sample of 40 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Zig cc: A drop-in replacement for GCC/Clang38 people · 45 mentions · first linked 2020-03-24
- Statically Recompiling NES Games into Native Executables with LLVM and Go13 people · 13 mentions · first linked 2019-01-29
- My Thoughts on the Bun Rust Rewrite10 people · 11 mentions · first linked 2026-07-09
- An Open Letter to Everyone I've Butted Heads With10 people · 10 mentions · first linked 2025-08-29
- Statically Recompiling NES Games into Native Executables with LLVM and Go9 people · 11 mentions · first linked 2013-06-07
- Why I'm donating $150/month (10% of my income) to the musl Libc project (2019)9 people · 9 mentions · first linked 2019-06-24
- Redis Renamed to Redict7 people · 7 mentions · first linked 2024-03-23
- Introduction to the Zig Programming Language6 people · 8 mentions · first linked 2018-05-30
- Zig's New Async I/O6 people · 7 mentions · first linked 2025-10-29
- /post/unsafe-zig-safer-than-unsafe-rust.html6 people · 6 mentions · first linked 2018-05-30
What Hacker News says?
I wrote https://andrewkelley.me/post/why-we-cant-have-nice-software.... after going through a similar process - used Consumer Reports, and then purchased exactly the one pictured in the blog article.
Comment linking /post/why-we-cant-have-nice-software.html
on “I won't connect my dishwasher to your cloud”Submitted Zig cc: A drop-in replacement for GCC/Clang as a story · 831 points
HN discussionFor example [1] & [2], with more being worked on. Now, Rust is king when it comes to memory safety, especially compile-time, and is miles ahead of anyone else, (not counting research languages), but Jai isn't really being designed to have much emphasis on memory safety, so am not sure it's fair to propose it as a Rust alternative if you're looking at memory safety. 1 - https://andrewkelley.me/post/unsafe-zig-safer-t…
Comment linking /post/unsafe-zig-safer-than-unsafe-rust.html
on “Ask HN: What startup/technology is on your 'to watch' list?”Submitted Statically Recompiling NES Games into Native Executables with LLVM and Go as a story · 560 points
HN discussionseriously, zig is so amazing. if all zig was was https://andrewkelley.me/post/zig-cc-powerful-drop-in-replace... it would be unbelievable, but it's so much more than that.
Comment linking /post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
on “Ask HN: What startup/technology is on your 'to watch' list?”Submitted Why I'm donating $150/month (10% of my income) to the musl Libc project (2019) as a story · 447 points
HN discussionThe author of the article is the creator of the Zig language. This is par for the course for him. He's quite a bit like Linus [1]. He needs to start following his own advice [2]. [1] https://mastodon.social/@andrewrk/112362751644363647 [2] https://andrewkelley.me/post/open-letter-everyone-butted-hea...
Comment linking /post/open-letter-everyone-butted-heads.html
on “Migrating the main Zig repository from GitHub to Codeberg”Submitted I Quit My Job to Live on Donations to Zig as a story · 399 points
HN discussionI liked Andrew Kelleys perspective on this: let's treat Redict as a rename of the Redis project, and the project now called "Redis" a weird commercial fork of Redict. https://andrewkelley.me/post/redis-renamed-to-redict.html
Comment linking /post/redis-renamed-to-redict.html
on “The race to replace Redis”Submitted My Quest to Build the Ultimate Music Player as a story · 370 points
HN discussionWell, in theory , Zig doesn't need to care about the specific approach. In the LLVM IR that Zig produces, thread-local variables are still handled as an abstract "thread_local" flag on global variables. The platform-specific parts are handled by a combination of the IR-to-native-object-file translation done by LLVM, and the linking step. If both of those worked correctly, thread locals would "just work" on M1. The p…
Comment linking /post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
on “Initial M1 support merged into Linux SoC tree”Submitted Statically Recompiling NES Games into Native Executables with LLVM and Go (2013) as a story · 356 points
HN discussionI think they both have potential performance issues in the compiler though, and both can be compared with textual code generation. I think of one as metaprogramming with the parser and the other as metaprogramming with an interpreter. (And the C preprocessor is metaprogramming with only a lexer. Code generation is the kind of metaprogramming that every language supports :) ) Although maybe you're saying Zig doesn't…
Comment linking /post/zig-programming-language-blurs-line-compile-time-run-time.html
on “Dave Herman’s contributions to Rust”Submitted Zig's New Async I/O as a story · 329 points
HN discussionOverlapping code/data is a trick used in practice in highly size-constrained systems, like older game consoles (e.g. http://andrewkelley.me/post/jamulator.html#dirty-assembly-tr... , discussed here at https://news.ycombinator.com/item?id=8405214 ) and in the tiniest categories of the demoscene.
Comment linking /post/jamulator.html
on “Simple CPU”Submitted Zig cc: A drop-in replacement for GCC/Clang (2020) as a story · 301 points
HN discussion> Zig and V should have them, too, for max productivity. Have you read my articles about macros and what Zig does instead? https://andrewkelley.me/post/zig-programming-language-blurs-... I would be curious to hear your thoughts with this context.
Comment linking /post/zig-programming-language-blurs-line-compile-time-run-time.html
on “About V, the language Volt is written in”Submitted Statically Recompiling NES Games into Native Executables with LLVM and Go (2013) as a story · 265 points
HN discussionThat situation is covered in this section: http://andrewkelley.me/post/jamulator.html#dirty-assembly-tr... Basically I embed an interpreter runtime and use it only when necessary, such as in the case when the program jumps to RAM. Good point though. I should specifically mention self-modifying code. Note that with NES games, self modifying code is uncommon, because programs are 32 KB ROM, and you only have 2KB RAM.…
Comment linking /post/jamulator.html
on “Statically Recompiling NES Games into Native Executables with LLVM and Go”Submitted A Better Way to Implement Bit Fields as a story · 159 points
HN discussionI'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…
Comment linking /post/redis-renamed-to-redict.html
on “Xz: A microcosm of the interactions in open source projects”Submitted Callbacks are Pretty Okay as a story · 155 points
HN discussionWait, Bootstrap has JavaScript now? I've been feeling guilty for not removing Bootstrap 2.3.2 as a dependency from my personal site ( https://andrewkelley.me/ ) for a while now, and as far as I can recall, it was only CSS. Boy am I out of the web dev loop. I'm quite happy with my newest site ( https://ziglang.org/ ), which has a dependency on... nothing! With cache off, 54.36 KB / 50.08 KB transferred. Cache on: 54.…
Comment linking /
on “Bootstrap 5 will remove jQuery as a dependency”Submitted Using Zig to provide stack traces on kernel panic on bare metal (2018) as a story · 141 points
HN discussionBecause a "better C" is long overdue. (And no, Rust is not it. It's a great language, but its design philosophy is very different.) Ironically, today, Zig is also one of the best C/C++ compilers around, chiefly because it "just works", even for advanced scenarios such as cross-compilers: https://andrewkelley.me/post/zig-cc-powerful-drop-in-replace... (Yes, of course, the actual compiler is Clang. But Zig wraps it in…
Comment linking /post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
on “Why I'm donating $150/month (10% of my income) to the musl Libc project (2019)”Submitted Using Zig to Provide Stack Traces on Kernel Panic for a Bare Bones OS as a story · 136 points
HN discussionI think your point was fair and your approach is just as well. The reality is that we don't have a gigantic amount of resources right now. We don't have Google or Mozzilla backing the project, so most information out there is contributed by community members on their free time. Take a look at other content by Andrew ( https://andrewkelley.me ) or from Zig SHOWTIME if you want to lazily evaluate Zig :)
Comment linking /
on “Zig's New Relationship with LLVM”Submitted Zig's new CLI progress bar explained as a story · 122 points
HN discussionHere's some relevant reading [1]: > If zig cc is built on top of Clang, why doesn't Clang just do this? What exactly is Zig doing on top of Clang to make this work? > The answer is, a lot, actually. I'll go over how it works here. [1]: https://andrewkelley.me/post/zig-cc-powerful-drop-in-replace...
Comment linking /post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
on “Maintain It with Zig”Submitted I'm donating $150/month to the musl libc project as a story · 115 points
HN discussion