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

Top all-time · #593

B

Brian Foote

Personal blog · laputan.orgprogrammingdesign

Brian Foote's personal blog at laputan.org covers programming and design. Since 2007, 103 different Hacker News readers have linked it 128 times, most often “Big Ball of Mud (1999)”. It has a working feed you can follow.

Visit the blog
128mentions?
11recommend?
103HN people?
2007–2026first – last linked?
Links on Hacker News per year · peak 13 in 2021

Sometimes recommended · 11 of 40 sampled comments recommend it?

Why HN links it

HN readers link Brian Foote's 'Big Ball of Mud' essay on how real software decays into tangled structure, and cite it on architecture, legacy code and technical debt.

Recommended for · 11 comments
Called essential reading, very influential and a wonderful essay; one commenter praised its pictures.

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.

Brian's research interests include object-oriented programming, design, reuse, languages, frameworks, software architecture, patterns, reflection, metalevel architecture, and software evolution.

Most-linked posts?

  1. Big Ball of Mud (1999)
    48 people · 52 mentions · first linked 2007-09-25
  2. Big Ball of Mud (1999)
    16 people · 22 mentions · first linked 2013-10-14
  3. The "Big Ball of Mud" Pattern
    10 people · 10 mentions · first linked 2007-04-08
  4. Big Ball of Mud (1999)
    7 people · 7 mentions · first linked 2026-01-19
  5. Big Ball of Mud (1999)
    3 people · 3 mentions · first linked 2021-02-26
  6. The Selfish Class (1997)
    2 people · 2 mentions · first linked 2015-06-15
  7. The Use of Subroutines in Programmes (1951) [pdf]
    2 people · 2 mentions · first linked 2017-06-16
  8. Big Ball of Mud
    2 people · 2 mentions · first linked 2009-10-30
  9. /mud/mud.html
    2 people · 2 mentions · first linked 2016-12-06
  10. Big Ball of Mud
    2 people · 2 mentions · first linked 2026-08-08

What Hacker News says?

  1. Swizec · 2025-08-30Recommends
    > So, is pile-of-if-statements the best we can do for business software? You’ll enjoy the Big Ball of Mud paper[1]. Real world systems are prone to decay. You first of all start with a big ball of mud because you’re building a system before you know what you want. Then as parts of the system grow up, you improve the design. Then things change again and the beautiful abstraction breaks down. Production software is al…

    Comment linking /mud/mud.html

    on “Cognitive load is what matters”
  2. Submitted Big Ball of Mud (1999) as a story · 162 points

    HN discussion
  3. > To me that reeks of badly structured code, with bad abstraction layers, perhaps stuffing too much stuff into a single module or, if the language is still backward and doesn't have modules, a file Yes and that’s normal. Big ball of mud is the worlds most popular software architecture. Original: http://www.laputan.org/mud/ My modern take based on the original: https://swizec.com/blog/big-ball-of-mud-the-worlds-most-…

    Comment linking /mud/

    on “Plain Vanilla Web”
  4. Submitted Big Ball of Mud (1999) as a story · 122 points

    HN discussion
  5. > Single-digit million lines of code (~5M, let’s say) > Somewhere between 100 and 1000 engineers working on the same codebase > The first working version of the codebase is at least ten years old > The cardinal mistake is inconsistency Funny enough, the author notes the problem on why consistency is impossible in such a project and the proceeds to call it the cardinal mistake. You cannot be consistent in a project o…

    Comment linking /mud/

    on “Mistakes engineers make in large established codebases”
  6. Submitted Big Ball of Mud as a story · 97 points

    HN discussion
  7. "I'm at the point where I'm serioulsly debating writing something more substantial on how actual software design works" It's probably already been written; see the "Big Ball of Mud": http://www.laputan.org/mud/mud.html

    Comment linking /mud/mud.html

    on “Software Architecture Guide”
  8. Submitted Big Ball of Mud (1999) as a story · 90 points

    HN discussion
  9. The classic essay Big Ball of Mud is relevant as well: http://www.laputan.org/mud/mud.html

    Comment linking /mud/mud.html

    on “Organizing complexity is the most important skill in software development”
  10. Submitted Big Ball of Mud (1999) as a story · 73 points

    HN discussion
  11. This is how you end up with a big ball of mud [1]. If the argument is that LLMs are just as capable as humans at building big balls of mud, then I'm not sure it's much of an endorsement of their use. [1] https://www.laputan.org/mud/

    Comment linking /mud/

    on “The gap in shared understanding of LLM capability is widening”
  12. Submitted The Use of Subroutines in Programmes (1951) [pdf] as a story · 68 points

    HN discussion
  13. chhickman · 2021-07-20Recommends
    This one has been very influential to me: Big Ball of Mud Brian Foote and Joseph Yoder http://www.laputan.org/mud/

    Comment linking /mud/

    on “Papers every developer should read at least twice (2009)”
  14. Submitted Big Ball of Mud (1999) as a story · 52 points

    HN discussion
  15. 01. [On the criteria to be used in decomposing systems into modules – David Parnas]( https://prl.ccs.neu.edu/img/p-tr-1971.pdf ) 02. [A Note On Distributed Computing – Jim Waldo, Geoff Wyant, Ann Wollrath, Sam Kendall]( https://www.cc.gatech.edu/classes/AY2010/cs4210_fall/papers/... ) 03. [The Next 700 Programming Languages – P. J. Landin]( http://thecorememory.com/Next_700.pdf ) 04. [Can Programming Be Liberated fr…

    Comment linking /pub/patterns/noble/noble.pdf

    on “Papers every developer should read at least twice (2009)”
  16. Submitted The Use of Sub-Routines in Programmes (1951) [pdf] as a story · 31 points

    HN discussion
  17. Maybe today, but its going to keep growing until you hear it groaning under the weight of features that have more and more risk, and generally an unknown amount because those Excel methods are getting creakier and creakier over time as you try to accomplish more with the same tools. The problem isnt Excel or any useful tool, its the misapplication of the tool and seeing people driving that same road already extremel…

    Comment linking /mud/

    on “Look for the duct tape”
  18. Submitted The Selfish Class (1997) as a story · 21 points

    HN discussion
  19. > But if the toilet is already dirty, you’re not going to be the one cleaning other people’s pee, so you just add your own and leave. Good analogy, but in code it's more than just disgusting to clean up after others. Changing code that was poorly written by someone else may cause bugs, bugs that now become your problem. The goal of every programmer faced with such a codebase—as in the dirty bathroom analogy—is to ge…

    Comment linking /mud/

    on “Software Architecture Is Overrated, Clear and Simple Design Is Underrated”
  20. Submitted Reflective Facilities in Smalltalk-80 (1989) as a story · 12 points

    HN discussion
  21. > Just so we are clear, you ask why Facebook didn't rewrite 10,000 human-years of code into a mythical unnamed "proper" ... You don't need to rewrite anything (at least, not all at once.) Personally, I'd have expected you to make something akin to CoffeeScript or ClojureScript that targets PHP, and can "link with" your existing PHP modules (or rather, with their HHVM bytecode representations.) Then treat the PHP cod…

    Comment linking /mud/

    on “Hack: a new programming language for HHVM”
  22. Submitted Big Ball of Mud as a story · 9 points

    HN discussion
  23. Maybe this will help: http://laputan.org/mud/mud.html

    Comment linking /mud/mud.html

    on “Ask HN: Inherited the worst code and tech team I have ever seen. How to fix it?”
  24. Submitted Class Warfare: Classes vs. Prototypes as a story · 6 points

    HN discussion
  25. lidHanteyk · 2019-11-27Recommends
    There is a paper on "balls of mud" that I feel is essential reading for our discipline. http://www.laputan.org/mud/

    Comment linking /mud/

    on “I'm not burned out, I'm pissed off”
  26. Submitted Big Ball of Mud (1999) as a story · 5 points

    HN discussion
  27. This is why I like to always write any sort of user-script batch-job tools (backfills, purges, scrapers) with a "porcelain and plumbing" approach: The first step generates a fully declarative manifest of files/uris/commands (usually just json) and the second step actually executes them. I've used a --dry-run flag to just output the manifest, but I just read some folks use a --live-run flag to enable , with dry-run b…

    Comment linking /mud/mud.html

    on “I Accidentally Deleted 7TB of Videos Before Going to Production”
  28. Submitted Big Ball of Mud Pattern as a story · 4 points

    HN discussion
  29. I'm not OP, but there are a few I could see some mentioned in the OP's post in passing. * The common lisp condition system [3, 0] is a way better way to do errors. * Tune-able compilers [1] allow you to make better trade offs than even gcc allows for c, let alone Clojure's very opaque compiler. * CLOS [2] is a very powerful object system which clojure does not replicate (they have multi methods, and java classes, bu…

    Comment linking /pub/papers/MOP.pdf

    on “How to write Common Lisp in 2017 – an initiation manual”
  30. Submitted Big Ball of Mud as a story · 4 points

    HN discussion

Search all of HN for laputan.org

Linked by the same people?