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 · #639

I

In Pursuit of Laziness

Personal blog · manishearth.github.io/blog · on HN as Manishearthprogrammingsystems

In Pursuit of Laziness is a personal blog at manishearth.github.io about programming and systems. Since 2015, 97 different Hacker News readers have linked it 189 times, most often “Let’s Stop Ascribing Meaning to Code Points”. It is still writing: the last post was on 2026-06-17, and you can follow it by feed.

Visit the blog
189mentions?
3recommend?
97HN people?
2015–2026first – last linked?
Links on Hacker News per year · peak 29 in 2016

Rarely recommended · 3 of 40 sampled comments recommend it?

Why HN links it

HN readers link Manish Goregaokar's blog as a reference for Rust, especially posts on shared mutability and borrowing, string and Unicode handling, and compiler internals. Commenters often cite it to explain Rust's ownership rules.

Recommended for · 3 comments
'Good at explaining all sorts of things'; a font-size post 'hilarious'; a wrapper-types post 'a good article'.

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.

The Set-Up Johnny Hooker: Sometime after 2:00, a guy’s gonna call on that phone there and give you the name of a horse. Imagine yourself, perhaps a …

The author on HN?

Manishearth · 9,714 karma · member since 2013

Rust stuff, Unicode stuff Formerly Servo at Mozilla https://manishearth.github.io

From their public HN profile, which links to this site.

Most-linked posts?

  1. Let’s Stop Ascribing Meaning to Code Points
    13 people · 13 mentions · first linked 2017-01-15
  2. The Problem with Single-Threaded Shared Mutability
    10 people · 13 mentions · first linked 2018-01-23
  3. A Tour of Safe Tracing GC Designs in Rust
    10 people · 11 mentions · first linked 2021-04-06
  4. GC Support in Rust: API Design
    6 people · 6 mentions · first linked 2016-08-24
  5. /blog/2016/08/18/gc-support-in-rust-api-design/
    5 people · 6 mentions · first linked 2016-08-18
  6. What’s Tokio and Async IO All About?
    5 people · 5 mentions · first linked 2018-01-16
  7. Breaking our Latin-1 assumptions (2017)
    5 people · 5 mentions · first linked 2019-03-28
  8. The Problem With Single-threaded Shared Mutability
    4 people · 15 mentions · first linked 2015-05-17
  9. Where Rust Shines (2015)
    4 people · 4 mentions · first linked 2018-12-27
  10. Reflections on Rusting Trust
    4 people · 4 mentions · first linked 2019-05-16

What Hacker News says?

  1. Let me rephrase. Codepoints are even less useful than abstract glyphs, cf. https://manishearth.github.io/blog/2017/01/14/stop-ascribing... (I don't agree 100% with the write-up, and in particular I would say that working on EGCs is still just punting the problem one more layer without resolving it; see some of my other posts in this thread. But it makes an attempt at clarifying the issue here.) The choice of the byt…

    Comment linking /blog/2017/01/14/stop-ascribing-meaning-to-unicode-code-points/

    on “Pip has dropped support for Python 2”
  2. Submitted Picking Apart the Crashing iOS String as a story · 457 points

    HN discussion
  3. mrec · 2020-08-15Recommends
    My favourite example of the thousand-yard-stare horror of web specs is Manish's "Font-size: An Unexpectedly Complex CSS Property". It's awful and hilarious and just keeps getting worse and worse and worse. https://manishearth.github.io/blog/2017/08/10/font-size-an-u...

    Comment linking /blog/2017/08/10/font-size-an-unexpectedly-complex-css-property/

    on “Kosmonaut: web browser from scratch in Rust”
  4. Submitted Implementing Font-Size in Servo: An Unexpectedly Complex CSS Property as a story · 262 points

    HN discussion
  5. https://manishearth.github.io/blog/2015/05/17/the-problem-wi...

    Comment linking /blog/2015/05/17/the-problem-with-shared-mutability/

    on “The Next Step for Generics”
  6. Submitted Reflections on Rusting Trust as a story · 256 points

    HN discussion
  7. This is kind of what mrustc does? It's a Rust-to-C compiler in C++; one which assumes the Rust program is correct (i.e. passes type/borrow check). But you still need to resolve types to do dispatch, so that's a nontrivial amount of work. mrustc can currently compile rustc, but the produced rustc doesn't pass the entire rustc testsuite (yet). A colleague of mine was considering writing a Rust-to-C++ compiler that was…

    Comment linking /blog/2016/12/02/reflections-on-rusting-trust/

    on “HolyJit: A New Hope”
  8. Submitted Understanding Git Filter-Branch and the Git Storage Model as a story · 218 points

    HN discussion
  9. > So forcing everyone to think about ownership because maybe they are writing concurrent code (then again maybe they aren't) so that "congrats your memory management problems are solved" seems like a Pyrrhic victory--you've already blown their brain cells on the wrong problem. https://manishearth.github.io/blog/2015/05/17/the-problem-wi... argues that "[a]liasing with mutability in a sufficiently complex, single-thr…

    Comment linking /blog/2015/05/17/the-problem-with-shared-mutability/

    on “A single line of code made a 24-core server slower than a laptop”
  10. Submitted Undefined vs. Unsafe in Rust as a story · 160 points

    HN discussion
  11. > For Sudoku, that's easy to verify. I meant: For Sudoku, it's s easy to verify that a given solution is correct. (cannot edit) Of course, being given the solution first in order to even try, can be a bit boring. For that, there exists "zero-knowledge proof" where one can reveal one knows an answer, without actually divulging it. Here is a writeup about someone doing that for Sudoku: https://manishearth.github.io/bl…

    Comment linking /blog/2016/08/10/interactive-sudoku-zero-knowledge-proof/

    on “The Miracle Sudoku [video]”
  12. Submitted Where Rust really shines as a story · 150 points

    HN discussion
  13. Most guys I follow are either rust or haskell developers. @manishearth - rust - https://manishearth.github.io/ @bitemyapp - writer of haskell: first principles @bartoszmilewski - haskell - https://bartoszmilewski.com/ @jdegoes - writes informative FP blog posts - http://degoes.net/ @aaron_turon - rust - https://aturon.github.io/blog/ @pcwalton - rust @nikomatsakis - rust - http://smallcultfollowing.com/babysteps/ @p…

    Comment linking /

    on “Ask HN: Which developers do you closely follow?”
  14. Submitted Let’s Stop Ascribing Meaning to Code Points as a story · 132 points

    HN discussion
  15. Eh, you really need to understand how scripts work without necessarily being able to read them. You may need to be able to read some scripts, but learning scripts is much easier than learning languages. Most text rendering experts I know seem to be bilingual or monolingual, but understand the mechanics of a lot more scripts (and can read a couple). Many of them are people who taught themselves about other scripts as…

    Comment linking /blog/2017/01/15/breaking-our-latin-1-assumptions/

    on “Text Rendering Hates You”
  16. Submitted Designing a garbage collector in Rust as a story · 127 points

    HN discussion
  17. Reference counting [1] and atomic reference counting [2] are supported within Rust, and are sufficient for any persistent data structure without cycles. There's also a prototype crate for a mark and sweep GC [3], which would likely work for anything else. Writing such data structures using these features might be a bit more tedious than writing them in a GC language, but I suspect the increased explicitness provides…

    Comment linking /blog/2016/08/18/gc-support-in-rust-api-design/

    on “Yew: Rust framework for making React-like client web apps”
  18. Submitted A Tour of Safe Tracing GC Designs in Rust as a story · 114 points

    HN discussion
  19. I wrote about this concept a bit in http://manishearth.github.io/blog/2015/05/03/where-rust-real... , with an example of a situation where in Rust I was able to make things work but in C++ I'd be totally terrified and use a shared_ptr or something. I like to say that Rust lets you toe the line perfectly, and dance near it as much as you want. C++ does not, since you're afraid you may accidentally cross it.

    Comment linking /blog/2015/05/03/where-rust-really-shines/

    on “Rust is mostly safety”
  20. Submitted Let's stop ascribing meaning to code points (2017) as a story · 101 points

    HN discussion
  21. Out of the box, Rust encourages almost everything to be stack allocated, imposes a read-write lock on every value (i.e., you can have multiple immutable readers, but only one mutable writer at a time), and uses move semantics for variable assignments (i.e., values aren't copied but rather ownership of the value changes from one variable to some other variable). Sometimes you need to drop one or several of these prop…

    Comment linking /blog/2015/05/27/wrapper-types-in-rust-choosing-your-guarantees/

    on “Linux kernel in-tree Rust support”
  22. Submitted A rough proposal for sum types in Go (2018) as a story · 101 points

    HN discussion
  23. > That precludes GC This isn't the case, there are tracing garbage collectors implemented as libraries [1][2], and there is consideration being made for supporting tracing GC in the language and stdlib [0]. As well as reference counted GC having been available in stdlib for a long time [3] (similar to C++'s std::shared_ptr) [0] https://github.com/rust-lang/rfcs/blob/master/text/1398-kind... [1] https://manishearth.g…

    Comment linking /blog/2016/08/18/gc-support-in-rust-api-design/

    on “Linux kernel in-tree Rust support”
  24. Submitted Wrapper Types in Rust: Choosing Your Guarantees as a story · 100 points

    HN discussion
  25. 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/2016/08/18/gc-support-in-rust-api-design/

    on “Chromium project finds that 70% of security defects are memory safety problems”
  26. Submitted Breaking our Latin-1 assumptions (2017) as a story · 91 points

    HN discussion
  27. The problem is that multiple callbacks might require a reference to the same state, and closing over those references and retaining that callbacks, makes two mutable references to the same state, which Rust makes an illegal pattern. That is indeed safe in single-threaded code, but Rust prevents it nevertheless; there is a famous (in Rust circles) blog post about this: https://manishearth.github.io/blog/2015/05/17/th…

    Comment linking /blog/2015/05/17/the-problem-with-shared-mutability/

    on “Xilem: An Architecture for UI in Rust”
  28. Submitted How Rust Achieves Thread Safety as a story · 88 points

    HN discussion
  29. https://manishearth.github.io/blog/2015/05/17/the-problem-wi...

    Comment linking /blog/2015/05/17/the-problem-with-shared-mutability/

    on “I’m porting the TypeScript type checker tsc to Go”
  30. Submitted Interactive Sudoku Zero-Knowledge Proof as a story · 68 points

    HN discussion

Search all of HN for manishearth.github.io

Linked by the same people?