Top all-time · #3552
notgull
Personal blog · notgull.netprogrammingsystems
notgull is a personal blog at notgull.net about programming and systems. Since 2023, 20 different Hacker News readers have linked it 26 times, most often “Writing a Rust compiler in C”. It is still writing: the last post was on 2026-07-02, and you can follow it by feed.
Too few sampled comments (6) to say how often HN recommends it.?
Why HN links it
HN readers link notgull's posts on Rust memory safety and unsafe code, the Dozer project for bootstrapping Rust without C++ or LLVM, and async Rust on Windows via Device AFD. Comments mostly cite them as references.
Summarised by Claude from a sample of 6 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
The world’s number one source of notgull
Most-linked posts?
- Writing a Rust compiler in C3 people · 3 mentions · first linked 2024-08-25
- The rabbit hole of unsafe Rust bugs2 people · 3 mentions · first linked 2023-12-17
- Eyra is an interesting Rust project2 people · 2 mentions · first linked 2023-09-26
- Explaining the internals of async-task from the ground up2 people · 2 mentions · first linked 2024-03-31
- Why choose async/await over threads?2 people · 2 mentions · first linked 2024-03-25
- \Device\Afd: what makes async Rust and libuv work on Windows2 people · 2 mentions · first linked 2024-06-23
- Async/Await versus the Calloop Model2 people · 2 mentions · first linked 2025-05-19
What Hacker News says?
> Another way to see the benefit of this approach is that if you have a memory violation, then you only have to look in the unsafe blocks. Not really. Safety is non-local. It is possible to break unsafe code by feeding inputs from safe Rust that don't uphold the invariants that make the unsafe code safe. So it's not enough to look in the unsafe blocks--you have to consider the all the contexts that invoke the unsafe…
Comment linking /cautionary-unsafe-tale/
on “Embedded Rust in Production?”Submitted Why choose async/await over threads? as a story · 430 points
HN discussion> If you at all break the rather subtle rules, then essentially anything can and will happen. If by subtle rules you mean your invariants, that is missing fundamental assumptions. It's akin to making a building without foundation and load bearing structures. > So for example, there was recently a thread where someone had code that checked if a value was in range to safely coerce it directly to an enum then did so. B…
Comment linking /cautionary-unsafe-tale/
on “Memory safety is necessary, not sufficient”Submitted Writing a Rust compiler in C as a story · 393 points
HN discussionSee also https://notgull.net/announcing-dozer/ -- removes C++ and LLVM from the stack needed to bootstrap Rust.
Comment linking /announcing-dozer/
on “Bootstrap a Linux system from a 512 byte binary seed with 170 steps”Submitted Rust's Block Pattern as a story · 216 points
HN discussionDozer might be the most likely path to that. https://notgull.net/announcing-dozer
Comment linking /announcing-dozer
on “What is Plan 9?”Submitted Blocking code is a leaky abstraction as a story · 140 points
HN discussionThere was a project [0] to write a bare bones rust compiler (no borrow checking) in C that aims to be able to build rustc in order to simplify bootstrapping, but it seems to have stalled. [0] https://notgull.net/announcing-dozer/
Comment linking /announcing-dozer/
on “Show HN: C-compiler to compile TCC for live-bootstrap”Submitted Async/Await versus the Calloop Model as a story · 8 points
HN discussionCorrect link: https://notgull.net/device-afd/
Comment linking /device-afd/
on “\Device\Afd: what makes async Rust and libuv work on Windows”Submitted How to Deal with Rust Dependencies as a story · 4 points
HN discussionSubmitted Notgull versus Burnout as a story · 4 points
HN discussionSubmitted Why choose async/await over threads? (2024) as a story · 3 points
HN discussionSubmitted \Device\Afd: what makes async Rust and libuv work on Windows as a story · 3 points
HN discussionSubmitted The rabbit hole of unsafe Rust bugs as a story · 3 points
HN discussionSubmitted About Bootstrapping, and why it's important as a story · 2 points
HN discussionSubmitted Async/Await versus the Calloop Model as a story · 2 points
HN discussionSubmitted You might want async in your project as a story · 2 points
HN discussionSubmitted How do we prevent Bitrot? as a story · 1 points
HN discussionSubmitted Explaining the internals of async-task from the ground up as a story · 1 points
HN discussionSubmitted Explaining the internals of async-task from the ground up as a story · 1 points
HN discussionSubmitted Smol-macros, smol-hyper and smol-axum as a story · 1 points
HN discussionSubmitted Evaluating New Software Forges as a story · 1 points
HN discussionSubmitted Eyra is an interesting Rust project as a story · 1 points
HN discussionSubmitted Eyra is an interesting Rust project as a story · 1 points
HN discussion