P
Patrick Dubroy
dubroy.com · Personal blog · on HN since 2007
Patrick Dubroy, co-creator of the Ohm parsing toolkit, writes on software design, programming languages, and sustainable code.
What HN saysCommenters like the term "cold-blooded software" and his hierarchy of needs for code, and cite him for HTMX and computing sketches.
34HN people shared it
8linked it in comments
51stories submitted
1.8Kstory points
3 months agolast shared
2007people per year2026
Most-shared posts
- 1The influence of Self5 people · 92 points · first shared 2022 · 26 comments on HN
- 2Cold-blooded software3 people · 560 points · first shared 2023 · 222 comments on HN
- 3Getting things done in small increments (2022)3 people · 237 points · first shared 2022 · 54 comments on HN
- 4Five coding hats3 people · 162 points · first shared 2025 · 39 comments on HN
- 5Bytecode VMs in Surprising Places3 people · 113 points · first shared 2024 · 49 comments on HN
- 6Make It Happen3 people · 13 points · first shared 2025 · 1 comments on HN
- 7A Hierarchy of Needs for Code3 people · 3 points · first shared 2012 · discussion on HN
- 8Garbage collection is useful2 people · 169 points · first shared 2025 · 59 comments on HN
- 9Three ways of handling user input (2022)2 people · 124 points · first shared 2022 · 22 comments on HN
- 10Visualizing Packrat Parsing (2021)2 people · 79 points · first shared 2021 · 6 comments on HN
- 11Design Principles for Metaprogramming2 people · 6 points · first shared 2012 · discussion on HN
- 12Handling user input with structured concurrency2 people · 2 points · first shared 2022 · discussion on HN
- 13Core dumps, feedback loops, and a game of telephone1 people · 81 points · first shared 2022 · 12 comments on HN
- 14Are short methods actually worse?1 people · 51 points · first shared 2009 · 75 comments on HN
- 15A Study of Tabbed Browsing1 people · 50 points · first shared 2017 · 52 comments on HN
What HN people wrote when they linked it
dgroshev · 2026-01-28
"Cold-blooded software" is a great term for that https://dubroy.com/blog/cold-blooded-software/ (HN: https://news.ycombinator.com/item?id=46488261 )
cjrandolph · 2012-01-28
I prefer this version http://dubroy.com/blog/a-hierarchy-of-needs-for-code/
I don't think either is spot-on, but it is a good way to visualize and remind yourself of what is important in your project.
Even the projects themselves have their own hierarchy. Do I care that the one-off crud app the boss asked for to update some reference tables ever reaches the "Enlightened Phase"? Probably not. I don't think I would get any "Actualization" from that.
But that browser based game I am writing at home? Or a library my colleagues are going to use at work? Or some crud app that is going to be used extensively by people everyday? Then I think it is worth it to look at those projects from the point of view presented here.
pdubroy · 2025-11-15
Hi HN! I'm the main author of the Ohm Editor, and co-creator and primary maintainer of Ohm itself.
Ohm is a user-friendly parsing toolkit for JavaScript/TypeScript. You can find out more at https://ohmjs.org.
Anyone interested in the editor might like to check out a blog post I wrote about it a few years ago called "Visualizing Packrat Parsing" (https://dubroy.com/blog/visualizing-packrat-parsing/)
Some people also might be interested our book WebAssembly from the Ground Up (https://wasmgroundup.com): you can learn Wasm by building a simple compiler in JavaScript, using Ohm.
turtleyacht · 2025-02-24
Thank-you. The link there gave encouraging Bret Victor [1] vibes about what computing could (still) become:
https://dubroy.com/blog/sketches-from-cdg/
[1] Kill Math (2011) - https://worrydream.com/KillMath/
jollyllama · 2024-11-19
For sure. This is the number one reason I am switching as many projects as I can to HTMX.
https://dubroy.com/blog/cold-blooded-software/
Sibling comments say in so many words, it's no big deal bro, just update. But it is a big deal over time if you have dozens of cold-blooded projects to deal with.
genter · 2024-09-27
https://vorpus.org/blog/notes-on-structured-concurrency-or-go-statemen…
https://dubroy.com/blog/handling-user-input-with-structured-concurrenc…
The first one is particularly good. Both of those have links to more topics.
rakpol · 2016-07-19
I was thinking about the issue of nested code the other day -- isn't it (mostly) an editing environment problem? I mean, if my IDE can detect that a method is pure, couldn't it do a little magic (e.g. provide a different coloured background, some dotted boxes, etc.) and show me the inlined code right there? It doesn't seem wise to architect your codebase around the deficiencies in your tools, since one is (hopefully) going to long outlive the other.
Related:
[1]: https://dubroy.com/blog/method-length-are-short-methods-actually-worse…
reinhardt · 2012-09-28
> I'm still unclear what the standard method for managing these is.
If only this was just a documentation issue. Alas, the reason is that there is no standard method. Here's a short practical article on how to install Python packages and get on with your life: http://dubroy.com/blog/so-you-want-to-install-a-python-package/. For a longer historical perspective of this whole clusterfuck check out http://lucumr.pocoo.org/2012/6/22/hate-hate-hate-everywhere/