Top all-time · #2235
Considerations on Codecrafting
Personal blog · blog.polybdenum.comprogrammingsystems
Considerations on Codecrafting is a personal blog at blog.polybdenum.com about programming and systems. Since 2020, 33 different Hacker News readers have linked it 46 times, most often “The inconceivable types of Rust: How to make self-borrows safe (2024)”. It is still writing: the last post was on 2026-04-05, and you can follow it by feed.
Too few sampled comments (9) to say how often HN recommends it.?
Why HN links it
HN commenters link this blog for real-world examples of bugs and compile-time safety in Rust, Go and C++, such as deadlocks in async Rust, type annotations changing behaviour, and a Go bug Rust would prevent.
Summarised by Claude from a sample of 9 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Programming, math, and other things gratuitously nerdy. Opinions are my own.
Most-linked posts?
- The inconceivable types of Rust: How to make self-borrows safe (2024)6 people · 6 mentions · first linked 2024-06-07
- Fixing the Next 10k Aliasing Bugs5 people · 5 mentions · first linked 2023-03-06
- I Hacked Google App Engine: Anatomy of a Java Bytecode Exploit4 people · 4 mentions · first linked 2021-05-05
- An Unfortunate Experience with Rust4 people · 4 mentions · first linked 2022-06-26
- Designing type inference for high quality type errors3 people · 3 mentions · first linked 2025-02-18
- When zero cost abstractions aren't zero cost3 people · 3 mentions · first linked 2021-08-09
- Fixing the Next Thousand Deadlocks2 people · 2 mentions · first linked 2022-07-29
- 1SubML: Plan vs. Reality2 people · 2 mentions · first linked 2026-04-06
- PolySubML Is Broken2 people · 2 mentions · first linked 2025-11-13
- Identifying Rust's collect:<Vec<_>>() memory leak footgun2 people · 2 mentions · first linked 2024-01-18
What Hacker News says?
Fabrice, if you're reading this, please consider replacing Rust instead with your own memory safe language. The design intent of Rust is a powerful idea, and Rust is the best of its class, but the language itself is under-specified[1] which prevents basic, provably-correct optimizations[0]. At a technical level, Rust could be amended to address these problems, but at a social level, there are now too many people who…
Comment linking /2024/06/07/the-inconceivable-types-of-rust-how-to-make-self-borrows-safe.html
on “Fabrice Bellard Releases MicroQuickJS”Submitted I Hacked Google App Engine: Anatomy of a Java Bytecode Exploit as a story · 281 points
HN discussionI used to use Rust for work, and I use Zig in my new job. They're both fine. It was a good-faith smattering of examples, and it's pretty easy to keep pulling such examples out of a hat. You seem to not like any of them much, so I'll just briefly address a few of your points: > Of course it’s not any less safe than any other language that exposes atomics so it’s weird to imply this as something uniquely negative to R…
Comment linking /2024/01/17/identifying-the-collect-vec-memory-leak-footgun.html
on “Pledging $300k to the Zig Software Foundation”Submitted Four limitations of Rust's borrow checker as a story · 191 points
HN discussionI came across this post [1] in which the author discovers an undocumented feature in the JVM. "Although the first stable release of Java used bytecode version 45.3, the JVM will actually accept classfiles with versions starting at 45.0. Furthermore, there’s an undocumented feature in the JVM where it parses Code attributes slightly differently when the version is 45.0 - 45.2. In a normal classfile, the stack, locals…
Comment linking /2021/05/05/how-i-hacked-google-app-engine-anatomy-of-a-java-bytecode-exploit.html
on “Java JDK 1.0 (1996)”Submitted Identifying Rust's collect:<Vec<_>>() memory leak footgun as a story · 180 points
HN discussionIs Rust really "fearless concurrency" ? Considering the number of deadlock issues encountered by folks using async Rust, I think "fearless concurrency" is misinformation by Rust evangelists. Deadlocks in production Rust microservice: https://blog.polybdenum.com/2022/07/24/fixing-the-next-thous...
Comment linking /2022/07/24/fixing-the-next-thousand-deadlocks-why-buffered-streams-are-broken-and-how-to-make-them-safer.html
on “Safety: A comparaison between Rust, C++ and Go”Submitted When zero cost abstractions aren't zero cost as a story · 166 points
HN discussionthis article has several examples: https://blog.polybdenum.com/2021/08/09/when-zero-cost-abstra...
Comment linking /2021/08/09/when-zero-cost-abstractions-aren-t-zero-cost.html
on “Comparing our Rust-based indexing and querying pipeline to Langchain”Submitted The inconceivable types of Rust: How to make self-borrows safe (2024) as a story · 127 points
HN discussionOne interesting aspect is that if the language has any sort of implict type conversions/coercions, then type annotation can change program behavior in possibly surprising ways. For example https://blog.polybdenum.com/2022/04/25/when-type-annotations...
Comment linking /2022/04/25/when-type-annotations-are-code-too.html
on “Why Infer Types?”Submitted Designing type inference for high quality type errors as a story · 83 points
HN discussionNot just C, any language with mutable aliases references/pointers, which is pretty much every modern language. https://blog.polybdenum.com/2023/03/05/fixing-the-next-10-00...
Comment linking /2023/03/05/fixing-the-next-10-000-aliasing-bugs.html
on “Go 1.21 will (likely) have a static toolchain on Linux”Submitted You Need Subtyping as a story · 71 points
HN discussionRust only supports & and &mut references. This was a deliberate choice early in the development of the language. &own, &pin, and &uninit are proposals for additional pointer types. They don't actually exist in the type system right now, but other parts of the compiler do have to care about them. Another blog post that floated around here about a month ago called these "inconceivable types"[0]; adding them to the typ…
Comment linking /2024/06/07/the-inconceivable-types-of-rust-how-to-make-self-borrows-safe.html
on “The Algebra of Loans in Rust”Submitted Implicit Overflow Considered Harmful, and how to fix it as a story · 40 points
HN discussionWhile it's not a study, https://blog.polybdenum.com/2023/03/05/fixing-the-next-10-00... gives a real-world example of a bug in Go Rust would have prevented. Also, bear in mind that it's not just Rust's type system directly that prevents bugs, but also the patterns it enables. For example, the typestate pattern and its use in things like turning misuse of the HTTP protocol into a compile-time error in Hyper. https://…
Comment linking /2023/03/05/fixing-the-next-10-000-aliasing-bugs.html
on “Rust vs. Go in 2023”Submitted X Design Notes: Unifying OCaml Modules and Values as a story · 35 points
HN discussionSubmitted Subtype Inference by Example as a story · 27 points
HN discussionSubmitted When Zero Cost Abstractions Aren't Zero Cost as a story · 6 points
HN discussionSubmitted Fixing the Next Thousand Deadlocks as a story · 5 points
HN discussionSubmitted The Inconceivable Types of Rust: How to Make Self-Borrows Safe as a story · 4 points
HN discussionSubmitted The Inconceivable Types of Rust: How to Make Self-Borrows Safe as a story · 4 points
HN discussionSubmitted An Unfortunate Experience with Rust as a story · 4 points
HN discussionSubmitted An Unfortunate Experience with Rust as a story · 3 points
HN discussionSubmitted An Unfortunate Experience with Rust as a story · 3 points
HN discussionSubmitted I Hacked Google App Engine: Anatomy of a Java Bytecode Exploit as a story · 3 points
HN discussionSubmitted X Design Notes: Pattern Matching I as a story · 2 points
HN discussionSubmitted X Design Notes: GADTs as a story · 2 points
HN discussionSubmitted What are GADTs and why do they make type inference sad? as a story · 2 points
HN discussion