Top all-time · #1488
Huon
Personal blog · huonw.github.io · on HN as dbauppprogrammingsystems
Huon's personal blog at huonw.github.io covers programming and systems. Since 2013, 50 different Hacker News readers have linked it 114 times, most often “Myths about Integer Overflow in Rust”. It is still writing: the last post was on 2026-04-21, and you can follow it by feed.
Most-linked posts?
- /blog/2016/04/myths-and-legends-about-integer-overflow-in-rust/7 people · 7 mentions · first linked 2016-05-17
- Myths about Integer Overflow in Rust6 people · 6 mentions · first linked 2016-04-29
- SIMD in Rust6 people · 6 mentions · first linked 2015-08-24
- Memory Leaks Are Memory Safe5 people · 8 mentions · first linked 2016-04-08
- Rreverrse Debugging3 people · 5 mentions · first linked 2015-10-27
- QR error correction helps and hinders scanning (2021)3 people · 4 mentions · first linked 2021-09-28
- Async hazard: MMAP is blocking IO3 people · 3 mentions · first linked 2024-08-21
- 2048 4D2 people · 3 mentions · first linked 2014-11-21
- What does Rust's “unsafe” mean?2 people · 2 mentions · first linked 2014-09-09
- Take a break: Rust match has fallthrough2 people · 2 mentions · first linked 2025-03-05
What Hacker News says?
My favorite 2048 clone is 2048 4D https://huonw.github.io/2048-4D/
Comment linking /2048-4D/
on “Show HN: 2048 turned 10 this year, I built an updated version to celebrate”Submitted 10 > 64, in QR Codes as a story · 332 points
HN discussionSIMD support in Rust is still very early and required unsafe mode for SSE, and lepton makes heavy use of SSE intrinsics. Now I do see http://huonw.github.io/simd/simd/ was being developed in August 2015, but it seems to be gathering dust of late. I really do wish that Rust would provide nice alignment guarantees (eg 32 byte) without depending on customizing the allocator, and builtin, safe, SIMD instructions
Comment linking /simd/simd/
on “Lepton image compression: saving 22% losslessly from images at 15MB/s”Submitted 2048 in 4D as a story · 274 points
HN discussionThe problem with memory management is a problem with lifetime management, which Rust reasons about in terms of ownership management, which it attempts to reason about statically, with help from the programmer. GC attempts to do the same thing, dynamically, with less help from the programmer. Both of those methods still allow leaks, which is why Rust encourages RAII. [1] Are there other structured lifetimes we can ge…
Comment linking /blog/2016/04/memory-leaks-are-memory-safe/
on “Chromium project finds that 70% of security defects are memory safety problems”Submitted SIMD in Rust as a story · 198 points
HN discussionThe Rust team is lucky enough to have a dedicated person (Steve Klabnik) writing documentation and teaching, who, as previously mentioned, gets to see a lot of the ways in which people struggle to learn Rust and practice different approaches for teaching it. For the most part, the dark corners of the language implementation are filtered from the compiler hackers, through Steve and his experience, into the actual use…
Comment linking /blog/2015/01/peeking-inside-trait-objects/
on “Rust's 2017 Roadmap”Submitted Myths about Integer Overflow in Rust as a story · 187 points
HN discussionThere is not much overhead with Rust iterators at all. They are essentially concrete versions of the deforestation that Haskell can do to avoid constructing intermediate lists, and compile to code that is close to the equivalent C (the functionality is all statically dispatched, so the compiler can inline and optimise the calls). This is a case of having experience with and trusting one's tools. I wrote a blog post…
Comment linking /blog/2014/06/comparing-knn-in-rust/
on “Rust and Go”Submitted Rreverrse Debugging as a story · 142 points
HN discussionInterestingly it seems rust only does full overflow checking in debug builds: https://huonw.github.io/blog/2016/04/myths-and-legends-about...
Comment linking /blog/2016/04/myths-and-legends-about-integer-overflow-in-rust/
on “An ex-ARM engineer critiques RISC-V”Submitted Mechanical sympathy for QR codes: making NSW check-in better as a story · 134 points
HN discussionGood catch! I should've tested. I've added a paragraph to https://huonw.github.io/blog/2024/03/qr-base10-base64/#extre... about this.
Comment linking /blog/2024/03/qr-base10-base64/
on “10 > 64, in QR Codes”Submitted Comparing k-NN in Rust as a story · 115 points
HN discussionGood point! I've added an analysis of this and other bases to https://huonw.github.io/blog/2024/03/qr-base10-base64/#fn:ot...
Comment linking /blog/2024/03/qr-base10-base64/
on “10 > 64, in QR Codes”Submitted Finding Closure in Rust as a story · 108 points
HN discussion(I've added an analysis of this and other bases to the article: https://huonw.github.io/blog/2024/03/qr-base10-base64/#fn:ot... )
Comment linking /blog/2024/03/qr-base10-base64/
on “10 > 64, in QR Codes”Submitted Async hazard: MMAP is blocking IO as a story · 106 points
HN discussionI implicitly ignored encoding schemes like base 36 and 32 (and 16, referenced elsewhere in the thread) because they're not as good as the schemes referenced in the post. The best you can get that's fully URL safe with Alphanumeric is a hypothetical base 39, referenced in a footnote, and only using 39 of the 45 possible characters has 3.9% overhead (even ignoring the 50% overhead of the https://www.rfc-editor.org/rfc…
Comment linking /blog/2024/03/qr-base10-base64/
on “10 > 64, in QR Codes”Submitted QR error correction helps and hinders scanning (2021) as a story · 78 points
HN discussionYeah, I had had the same question! One of my earlier articles experiments with this: https://huonw.github.io/blog/2021/09/qr-error-correction/ Figure 8 and its surrounding section are the undamaged case.
Comment linking /blog/2021/09/qr-error-correction/
on “10 > 64, in QR Codes”Submitted QR error correction helps and hinders scanning as a story · 72 points
HN discussionThe previous post: [Mechanical sympathy for QR codes: making NSW check-in better]( https://huonw.github.io/blog/2021/10/nsw-covid-qr ).
Comment linking /blog/2021/10/nsw-covid-qr
on “10 > 64, in QR Codes”Submitted Little libraries as a story · 37 points
HN discussionI wrote something on the memory leak vs. memory unsafety confusion a while ago, for those interested in exploring it more: http://huonw.github.io/blog/2016/04/memory-leaks-are-memory-...
Comment linking /blog/2016/04/memory-leaks-are-memory-safe/
on “One year of Rust”Submitted Newtons Are a Unit of Mileage as a story · 24 points
HN discussionHave to say that nothing can make your program automatically safe (defined by common sense, not "memory leaks are also memory safe"[0]) without any effort, and the trend to claim some languages are inherently "safe" while others are not is definitely a hype. Modern C++ plus static analyzing (Chromium rolled out their own Clang plugins to do that) provides better flexibility. [0]: http://huonw.github.io/blog/2016/04/…
Comment linking /blog/2016/04/memory-leaks-are-memory-safe/
on “Open-Sourcing ClusterFuzz”Submitted Finding Closure in Rust as a story · 13 points
HN discussionFor a more in-depth explanation of how Send and Sync work theoretically, see http://manishearth.github.io/blog/2015/05/30/how-rust-achiev... or http://huonw.github.io/blog/2015/02/some-notes-on-send-and-s...
Comment linking /blog/2015/02/some-notes-on-send-and-sync/
on “Concurrency in Rust”Submitted Error handling in Rust: a k-NN case study as a story · 11 points
HN discussion