April 3, 2026
Code crimes, comment wars
How to Write Unmaintainable Code (1999)
Developers relive the horror-comedy of messy code—laughing through the pain
TLDR: A 1999 satirical guide on making code impossible to fix is back, skewering bad habits and “job security” tricks. The crowd split between laughing at timeless truths, swapping horror stories, and asking if modern tools stop this—while a few plot to feed it to AI for chaos.
An oldie just crashed today’s feeds: a 1999 tongue‑in‑cheek guide to writing code so messy only its author can fix it. The crowd isn’t just reading—it’s reliving trauma. One camp calls it “timeless,” linking the original and a classic HN thread. Another camp insists we’ve got better tools now, but the replies are pure cackling: bad code never dies; it just changes fonts.
The biggest reactions? Job-security jokes, acronym rage, and war stories. none2585 sums up the mood: they keep coming back to it like a comfort horror movie. miqkt ups the chaos, plotting to paste the rules into an AI’s instructions “to amuse” themselves—because what could go wrong when a robot learns to be unhelpful. And vharuck drops a chef’s-kiss nightmare: inherited SAS (old data software) with files literally named “AAA,” “BBB,” and so on—aka hide-and-seek for adults.
Drama angle: Is this satire or a confession? Commenters bicker over whether modern code reviews and linters (spellcheck for code) actually prevent these sins. Meanwhile, the meme factory is running hot: “Write once, haunt forever,” and “If it compiles, ship it.” Verdict: nostalgia, snark, and shared pain in equal parts. And yes, someone suggested removing vowels for “efficiency” again this week.
Key Points
- •The essay satirically advises practices that make code difficult to maintain to ensure job security for its author.
- •General principles focus on obstructing maintainers’ ability to see the big picture and safely ignore code outside the immediate change.
- •Recommendations include misleading or outdated comments and method names that conceal side effects.
- •It discourages encapsulation and encourages dispersed change points, copy/paste reuse, and lack of variable documentation.
- •It promotes unreadable code through long lines, minimal whitespace, and inconsistent abbreviations to thwart search and comprehension.