Top all-time · #704
Mike Hadlow
Personal blog · mikehadlow.blogspot.comprogrammingcareer
Mike Hadlow writes Code rant, a personal blog at mikehadlow.blogspot.com about programming and career. Since 2008, 91 different Hacker News readers have linked it 106 times, most often “Configuration Complexity Clock (2012)”. The last post was in 2021, but the archive is still widely read.
Sometimes recommended · 6 of 40 sampled comments recommend it?
Why HN links it
HN readers link Mike Hadlow's blog for named software-design ideas, such as the Configuration Complexity Clock and the Lava Layer anti-pattern, and his critique of using a database as a queue.
- Recommended for · 6 comments
- Called 'a great post', 'one of my favorite rest rants', 'always valuable' and 'has some good points'.
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.
Life as a mort.
Most-linked posts?
- Configuration Complexity Clock (2012)22 people · 24 mentions · first linked 2016-02-03
- The Configuration Complexity Clock17 people · 20 mentions · first linked 2017-05-09
- The Lava Layer Anti-Pattern10 people · 11 mentions · first linked 2014-12-16
- The Database As Queue Anti-Pattern5 people · 5 mentions · first linked 2012-04-27
- Visual Programming – Why It’s a Bad Idea5 people · 5 mentions · first linked 2018-10-01
- Are Your Programmers Working Hard, or Are They Lazy?3 people · 3 mentions · first linked 2015-09-07
- /2012/05/configuration-complexity-clock.html?m=13 people · 3 mentions · first linked 2022-07-15
- Coconut Headphones: Why Agile Has Failed (2014)3 people · 3 mentions · first linked 2014-03-18
- Decoupling, Architecture and Teams2 people · 2 mentions · first linked 2018-11-06
- The Lava Layer Anti-Pattern (2014)2 people · 2 mentions · first linked 2018-04-12
What Hacker News says?
http://mikehadlow.blogspot.com/2012/04/database-as-queue-ant...
Comment linking /2012/04/database-as-queue-anti-pattern.html
on “System design hack: Postgres is a great pub/sub and job server”Submitted The Lava Layer Anti-Pattern as a story · 181 points
HN discussionno. he/she actually has a point. a database is not a queue https://mikehadlow.blogspot.com/2012/04/database-as-queue-an...
Comment linking /2012/04/database-as-queue-anti-pattern.html?m=1
on “Do you really need Redis? How to get away with just PostgreSQL”Submitted Learn to Code, It's Harder Than You Think as a story · 171 points
HN discussion> The problem with that is making a configuration engine is a lot less efficient than just writing the code to do the damn thing. http://mikehadlow.blogspot.com/2012/05/configuration-complex... It took me a solid decade to accept these lessons. I cannot build a product that even remotely competes with things like Visual Studio and .NET tooling. How many hours would it take a solo developer to recreate a debugger exp…
Comment linking /2012/05/configuration-complexity-clock.html
on “Writing toy software is a joy”Submitted The Lava Layer Anti-Pattern (2014) as a story · 106 points
HN discussionI really enjoyed the Lava Layer antipattern for incremental refactors that never complete. Having learned to recognize it, I think I'm more aware of the cost/benefit of introducing a new pattern, even if it's better in some way. http://mikehadlow.blogspot.com/2014/12/the-lava-layer-anti-p...
Comment linking /2014/12/the-lava-layer-anti-pattern.html
on “A Taxonomy of Technical Debt”Submitted Visual Programming – Why It’s a Bad Idea as a story · 95 points
HN discussionAny configuration will eventually become a programming language. See The Configuration Complexity Clock. https://mikehadlow.blogspot.com/2012/05/configuration-comple...
Comment linking /2012/05/configuration-complexity-clock.html
on “YAML: probably not so great after all (2017)”Submitted Coconut Headphones: Why Agile Has Failed (2014) as a story · 71 points
HN discussionJust a heads up that I also blogged about the making of Guitar Dashboard: http://mikehadlow.blogspot.com/2018/09/what-i-learned-creati...
Comment linking /2018/09/what-i-learned-creating-guitar.html
on “Show HN: Guitar Dashboard – Open source music theory explorer for guitarists”Submitted The Configuration Complexity Clock as a story · 67 points
HN discussionWhat makes it a nightmare to manage? My guess is it's all about how you do the declarative config, that fight is age old: http://mikehadlow.blogspot.com/2012/05/configuration-complex...
Comment linking /2012/05/configuration-complexity-clock.html
on “Sovereign: Ansible playbooks to build and maintain your own private cloud”Submitted Configuration Complexity Clock (2012) as a story · 51 points
HN discussionRelevant article (2012): http://mikehadlow.blogspot.com/2012/05/configuration-complex...
Comment linking /2012/05/configuration-complexity-clock.html
on “Why are we templating YAML? (2019)”Submitted The Configuration Complexity Clock (2012) as a story · 45 points
HN discussionI was with you up until your last sentence. pip and virtualenv are hacky kludges that grew legs and lungs, that's how old python's issues around deployment are, there's an era before pip and virtualenv. There should be an abstraction for it (deployment, versions, import hacking) like what pathlib did for file path manipulation. We have a classic lava-flow pattern. http://mikehadlow.blogspot.com/2014/12/the-lava-laye…
Comment linking /2014/12/the-lava-layer-anti-pattern.html
on “Hypermodern Python”Submitted Are Your Programmers Working Hard, or Are They Lazy? as a story · 37 points
HN discussionThis reminds me of a great post about the typical software evolution going from hard coded values, through configuration and rules engines to a DSL, only to be back where you started. I have seen it happen on multiple projects, it’s hard to spot it at the time as all the changes seem sensible but hindsight is a wonderful thing http://mikehadlow.blogspot.com/2012/05/configuration-complex...
Comment linking /2012/05/configuration-complexity-clock.html
on “Dear sir, you have built a compiler”Submitted Heisenberg Developers (2014) as a story · 26 points
HN discussionop's article could've been plucked from 2012 - this is one of my favorite rest rants from 2012: https://mikehadlow.blogspot.com/2012/08/rest-epic-semantic-f... ..that was written before swagger/openAPI was a thing. now there's a real spec with real adoption and real tools and folks can let the whole rest-epic-semantic-fail be an early chapter of web devs doing what they do (like pointing at remotely relevant academi…
Comment linking /2012/08/rest-epic-semantic-fail.html
on “Most RESTful APIs aren't really RESTful”Submitted The Configuration Complexity Clock (2012) as a story · 14 points
HN discussion> Yeah, I think it's because nobody sat down and methodically created it. I think it's the opposite. There isn't a single config file that suits all needs. Especially when you realize config isn't a single thing. http://mikehadlow.blogspot.com/2012/05/configuration-complex...
Comment linking /2012/05/configuration-complexity-clock.html?m=1
on “I accidentally used YAML.parse instead of JSON.parse and it worked”Submitted C#: Program Entirely with Static Methods as a story · 8 points
HN discussionI have heard it said many times that it is a bad idea to implement message queues over a relational SQL database. e.g. "Databases suck for Messaging" https://www.rabbitmq.com/resources/RabbitMQ_Oxford_Geek_Nigh... http://mikehadlow.blogspot.com/2012/04/database-as-queue-ant... https://www.cloudamqp.com/blog/2015-11-23-why-is-a-database-... https://softwareengineering.stackexchange.com/questions/3514... I wonder if t…
Comment linking /2012/04/database-as-queue-anti-pattern.html
on “Message DB: Event Store and Message Store for PostgreSQL”Submitted Are Your Programmers Working Hard, or Are They Lazy? as a story · 6 points
HN discussionI think it's better to put in terms of trade-offs, rather than "this is better than that". https://mikehadlow.blogspot.com/2012/05/configuration-comple... (I use NixOS btw).
Comment linking /2012/05/configuration-complexity-clock.html
on “Nix: An idea whose time has come”Submitted The Lava Layer Anti-Pattern as a story · 5 points
HN discussionClassic Lava-layer development anti-pattern http://mikehadlow.blogspot.com/2014/12/the-lava-layer-anti-p...
Comment linking /2014/12/the-lava-layer-anti-pattern.html
on “State of JavaScript 2021”Submitted Heisenberg Developers: Observing developers alters their behavior as a story · 5 points
HN discussion