Top all-time · #3594
Grant Slatton
Personal blog · grantslatton.com · on HN as gamegoblinprogrammingsystems
Grant Slatton's personal blog at grantslatton.com covers programming and systems. Since 2013, 21 different Hacker News readers have linked it 31 times, most often “Writing a good design document”. It is still writing: the last post was on 2026-05-25, and you can follow it by feed.
Too few sampled comments (5) to say how often HN recommends it.?
Why HN links it
HN readers link Grant Slatton's essays on software engineering, including state and deletes, pathfinding, spec-driven programming, and a essay on how bureaucracies enable atrocities. Comments mostly quote or cite the posts.
Summarised by Claude from a sample of 5 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Writing a good design document3 people · 3 mentions · first linked 2025-02-03
- Bureaulogy3 people · 3 mentions · first linked 2025-01-06
- Algorithms we develop software by2 people · 4 mentions · first linked 2024-08-18
- Odd Things Happen When You Swear At Your Internet Company2 people · 2 mentions · first linked 2013-11-28
- Algorithms We Develop Software By2 people · 2 mentions · first linked 2024-08-18
- Nobody cares2 people · 2 mentions · first linked 2025-01-15
- Technocapital2 people · 2 mentions · first linked 2025-02-16
What Hacker News says?
I do a lot of manual proptesting in Rust that all look something like: let mut rng = rand::thread_rng(); for action_count in 1..4 { for _ in 0..10_000 { let seed = rng.gen::<u64>(); eprintln!("let seed = {seed};"); let mut rng = ChaChaRng::seed_from_u64(seed); i.e. top level true randomness, then a bunch of nested loops (only 2 here, but some tests have more) to go from low-complexity cases to high-complexity then g…
Comment linking /shuttle
on “The sad state of property-based testing libraries”Submitted Nobody cares as a story · 1071 points
HN discussion> Every day I’d have more and more state accumulation on my machine - open apps, unsaved changes, open tabs. I resonate with your comment. I grew up during a time when PC state was ephemeral (DOS days). Unsaved changes essentially meant lost data. Open apps were gone once the computer was shut down (and the computer was shut down daily - a 250W power supply had an expensive power draw; in contrast a Mac Mini only si…
Comment linking /software-pathfinding
on “DELETEs Are Difficult”Submitted Show HN: Probabilistically Generating HN Post Titles as a story · 683 points
HN discussionWriting things twice is actually a technique for improving quality. https://grantslatton.com/software-pathfinding
Comment linking /software-pathfinding
on “BYOK – Bring Your Own Keyboard”Submitted Writing a good design document as a story · 581 points
HN discussionIf you happen to be coding in Rust, for really robust concurrency testing, I cannot recommend enough the AWS Shuttle library ( https://github.com/awslabs/shuttle ) which can find insanely complicated race conditions. What the Shuttle library is doing is basically automatically going through all the permutations of the schedule diagrams described int his blog post. We used it at AWS to verify the custom filesystem we…
Comment linking /shuttle
on “Solving Concurrency Bugs Using Schedules and Imagination”Submitted Algorithms we develop software by as a story · 270 points
HN discussion> Within a massively bureaucratized and divided system, the immense guilt of killing someone is broken down into tiny, mundane tasks, like stamping a document. Because the system absorbs all individual moral friction, ordinary people can become cogs in a vast machinery of evil without ever questioning it. (In other words, the individual is not morally evil, but the system is designed to break things down so thorough…
Comment linking /nobody-cares
on “How to feed a dictator”Submitted Algorithms We Develop Software By as a story · 269 points
HN discussionLooks like it was generated using this: http://grantslatton.com/hngen/?lookback=2
Comment linking /hngen/?lookback=2
on “A Twitter Data Scientist Hacks San Francisco's Subway Fares”Submitted LLM Memory as a story · 33 points
HN discussionI've been doing spec-driven development for the past 2 months, and it's been a game changer (especially with Opus 4.5). Writing a spec is akin to "working backwards" -- this is the outcome I want, how do I get there? The process of writing the spec actually exposes the edge cases I didn't think of. It's very much in the same vein as "writing as a tool of thought". Just getting your thoughts on ideas onto a text file…
Comment linking /software-pathfinding
on “Automatic Programming”Submitted How to Write Complex Software as a story · 7 points
HN discussionSubmitted The Curve Is Bending as a story · 6 points
HN discussionSubmitted How to write a good design document as a story · 4 points
HN discussionSubmitted Technocapital as a story · 3 points
HN discussionSubmitted Bureaulogy as a story · 3 points
HN discussionSubmitted Twitter: High Value, or Highest Value? as a story · 2 points
HN discussionSubmitted How to write a good design document as a story · 2 points
HN discussionSubmitted Bureaulogy as a story · 2 points
HN discussionSubmitted Designing Bug-Proof Engines as a story · 2 points
HN discussionSubmitted Building High-Performance Filesystems as a story · 2 points
HN discussionSubmitted Algorithms We Develop Software By as a story · 2 points
HN discussionSubmitted Building GPT-based AI agents today, and their implications for tomorrow as a story · 2 points
HN discussionSubmitted Bureaulogy – formation, evolution, and perpetuation of bureaucracies as a story · 1 points
HN discussionSubmitted Solving the Board Game Quoridor as a story · 1 points
HN discussionSubmitted Technocapital (2025) as a story · 1 points
HN discussionSubmitted How to do property-based testing of a high-perf spreadsheet as a story · 1 points
HN discussionSubmitted When Art, Apple and the Secret Service uses a NSL on you as a story · 1 points
HN discussion