Grant Slatton

grantslatton.com · Personal blog · on HN since 2013

Grant Slatton, a software engineer, writes about building software, design documents, bureaucracy, technology and LLMs.

What HN saysHN commenters cite his design document and complex software posts, quote his bureaucracy essay, and link his tool for generating HN titles.
21HN people shared it
4linked it in comments
24stories submitted
3.0Kstory points
5 months agolast shared
2013people per year2026

Most-shared posts

  1. 1
    Algorithms we develop software by
    4 people · 541 points · first shared 2024 · 106 comments on HN
  2. 2
    Writing a good design document
    3 people · 587 points · first shared 2025 · 147 comments on HN
  3. 3
    Bureaulogy
    3 people · 6 points · first shared 2025 · discussion on HN
  4. 4
    Nobody cares
    2 people · 1.1K points · first shared 2025 · 976 comments on HN
  5. 5
    Technocapital
    2 people · 4 points · first shared 2025 · discussion on HN
  6. 6
  7. 7
    Show HN: Probabilistically Generating HN Post Titles
    1 people · 683 points · first shared 2013 · 260 comments on HN
  8. 8
    LLM Memory
    1 people · 33 points · first shared 2025 · 6 comments on HN
  9. 9
    How to Write Complex Software
    1 people · 7 points · first shared 2025 · discussion on HN
  10. 10
    The Curve Is Bending
    1 people · 6 points · first shared 2025 · discussion on HN
  11. 11
  12. 12
    Designing Bug-Proof Engines
    1 people · 2 points · first shared 2024 · discussion on HN
  13. 13
    Twitter: High Value, or Highest Value?
    1 people · 2 points · first shared 2025 · discussion on HN
  14. 14
    Building High-Performance Filesystems
    1 people · 2 points · first shared 2024 · discussion on HN
  15. 15
    Solving the Board Game Quoridor
    1 people · 1 points · first shared 2026 · discussion on HN

What HN people wrote when they linked it

gamegoblin · 2024-07-11
If 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 wrote to power AWS S3. If you're curious, I wrote a little tutorial on it here: https://grantslatton.com/shuttle
thelastgallon · 2026-06-20
> 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 thoroughly that it renders those parts mindless, and that is the truly frightening part.) Spot on! Your comment explains why massive bureaucracies can get nearly anything done, because people are just following orders. For example Jallianwala Bagh (https://en.wikipedia.org/wiki/Jallianwala_Bagh), the people shooting were just following orders. Nearly all atrocities can be explain by the design of bureaucracies to eliminate moral friction. Reminds me of Vogons[1] and Nobody cares[2] [1] Here is what to do if you want to get a lift from a Vogon: forget it. They are one of the most unpleasant races in the Galaxy. Not actually evil, but bad-tempered, bureaucratic, officious and callous. They wouldn't even lift a finger to save their own grandmothers from the Ravenous Bugblatter Beast of Traal without orders—signed in triplicate, sent in, sent back, queried, lost, found, subjected to public inquiry, lost again, and finally buried in soft peat for three months and recycled as firelighters. The best way to get a drink out of a Vogon is to stick your finger down his throat,…
wenc · 2026-01-31
I'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 can be a powerful thing. Opus 4.5 is amazing at pointing the blind spots and inconsistencies in a spec. The spec generator that I use also does some reasoning checks and writes property-based tests (Python Hypothesis), which anchors the generated code to some reality. With a spec, I can get a version 1 out quickly and (mostly) correctly, poke around, and then see what I'm missing. Need a new feature? Tell the LLM to update the spec and code it. And here's the thing -- if you don't like version 1 of your code, throw it away but keep the spec (those are your learnings and insights). Then generate a version 2. This echoes Grant Slatton's "Write everything twice" [1] heuristic -- write your code once, solve the problem, then stash it in a branch and write the code all over again. This is effective because initial mental models of a problem are usually wrong. > A piece of advice I've given junior engineers is to write everything twice. Solve the problem. Stash your code onto a branch. Then write all the code again. I discovered this method by accident after the…
slig · 2014-02-25
Looks like it was generated using this: http://grantslatton.com/hngen/?lookback=2

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close