Work in progress: 82,651 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #4651

T

The {pnk}f(eli)x Blog

Personal blog · blog.pnkfx.org/blogprogrammingsystems

The {pnk}f(eli)x Blog is a personal blog at blog.pnkfx.org about programming and systems. Since 2015, 16 different Hacker News readers have linked it 21 times, most often “GC and Rust Part 2: The Roots of the Problem”. The last post was in 2022, but the archive is still widely read.

Visit the blog
21mentions?
16HN people?
2015–2025first – last linked?
Links on Hacker News per year · peak 6 in 2022

⊕ This post is the first part in a planned series on linking Rust crates. My desire is to get informal feedback on these posts, and then turn …

Most-linked posts?

  1. GC and Rust Part 2: The Roots of the Problem
    4 people · 4 mentions · first linked 2016-01-06
  2. Why I use a debugger
    3 people · 3 mentions · first linked 2022-01-12
  3. GC and Rust Part 1: Specifying the Problem
    2 people · 3 mentions · first linked 2015-11-17
  4. What Is Rust's Hole Purpose?
    2 people · 2 mentions · first linked 2022-02-18
  5. Linking Rust Crates, Part 1
    2 people · 2 mentions · first linked 2022-05-22
  6. Non-Lexical Lifetimes in Rust Arrives for Everyone
    2 people · 2 mentions · first linked 2019-06-28

What Hacker News says?

  1. That's an interesting question, and there has been some work in that area. Getting shared mutability as a user of GC is basically the same as getting shared mutability in any other scenario in Rust. You use `UnsafeCell<T>` or a safe wrapper around it, like `Mutex` or `Cell`. You can get a feel for this even in idiomatic Rust using `Rc` instead of a tracing GC. When you start looking at other methods of GC things get…

    Comment linking /blog/categories/gc/

    on “Chromium project finds that 70% of security defects are memory safety problems”
  2. Submitted GC and Rust Part 1: Specifying the Problem as a story · 139 points

    HN discussion
  3. pnkfelix (from Mozilla) has been doing lots of investigation into custom allocators[0], custom GCs, and embedding Rust into places where a GC is already active. He also recently published some blog posts outlining the problem of GC interop[1][2]. Quoting aturon[3]: > To be clear, a major goal of this project -- outlined in the earlier blog posts -- is "GC as Interoperation Feature". That is, we want to embed Rust co…

    Comment linking /blog/2016/01/01/gc-and-rust-part-2-roots-of-the-problem/

    on “Two Weeks of Rust”
  4. Submitted Rust Bug Minimization Patterns as a story · 90 points

    HN discussion
  5. > Given that Rust was designed by a group known for writing web browsers, how does that work out in practice, given that the DOM is a deep bidirectional graph? I believe that the JS engine has ownership over the DOM, and pointers into the DOM are GC'd by the JS engine. This is part of the motivation for adding hooks for GC's in Rust. These posts [1][2] discusses this, although I think there is a more recent one. Edi…

    Comment linking /blog/2016/01/01/gc-and-rust-part-2-roots-of-the-problem/

    on “Why I’m dropping Rust”
  6. Submitted What Is Rust's Hole Purpose? as a story · 65 points

    HN discussion
  7. This is why it's more useful to talk about blame : http://blog.pnkfx.org/blog/2022/02/09/what-is-rusts-hole-pur... Regarding memory safety, C++ says: "It's your fault if you get it wrong." Rust says: "It's our fault if we get it wrong in safe code." There is an enormous qualitative difference (in terms of ease of programming) and quantitative difference (in terms of number of bugs) between the two.

    Comment linking /blog/2022/02/09/what-is-rusts-hole-purpose/

    on “Rust 1.59.0 with inline assembly support etc.”
  8. Submitted Non-Lexical Lifetimes in Rust Arrives for Everyone as a story · 52 points

    HN discussion
  9. It's both faster and you have more control over it; the two are linked in this case. This system lets the compiler do the hard work to figure out when it's ok to deallocate some piece of memory, unlike a GC, which figures it out at runtime. One you've determined that some memory can be deallocated, the actual process is very quick, usually just updating a list of free blocks in the memory allocator and maybe some st…

    Comment linking /blog/2015/10/27/gc-and-rust-part-0-how-does-gc-work/

    on “Rust for Web”
  10. Submitted Why I use a debugger as a story · 28 points

    HN discussion
  11. The way I would frame this is that Rust has static (compile-time) memory management, and that conflicts with dynamic memory management (garbage collection). The boundary is awkward and creates complexity. I wrote a post about problems writing a garbage collector in C++, e.g. annotating the root set, and having precise metadata for tracing. http://www.oilshell.org/blog/2023/01/garbage-collector.html https://news.ycom…

    Comment linking /blog/2016/01/01/gc-and-rust-part-2-roots-of-the-problem/

    on “When Zig is safer and faster than Rust”
  12. Submitted GC and Rust Part 2: The Roots of the Problem as a story · 3 points

    HN discussion
  13. Submitted Linking Rust Crates, Part 1 as a story · 2 points

    HN discussion
  14. Submitted Linking Rust Crates, Part 1 as a story · 2 points

    HN discussion
  15. Submitted I Use a Debugger as a story · 2 points

    HN discussion
  16. Submitted GC and Rust Part 1: Specifying the Problem as a story · 2 points

    HN discussion
  17. Submitted I Use a Debugger as a story · 1 points

    HN discussion
  18. Submitted Non-Lexical Lifetimes Arrives for Everyone as a story · 1 points

    HN discussion
  19. Submitted GC and Rust Part 1: Specifying the Problem as a story · 1 points

    HN discussion

Search all of HN for blog.pnkfx.org

Linked by the same people?