Dan Slimmon
blog.danslimmon.com · Personal blog · on HN since 2018
Dan Slimmon writes about operations, incident troubleshooting, queueing, and practical automation for software engineers.
What HN saysCommenters link it often for the do-nothing scripting idea and the queue utilization post; one asks why such scripts use a class with a single run method.
53HN people shared it
21linked it in comments
57stories submitted
2.8Kstory points
1 year agolast shared
2018people per year2026
Most-shared posts
- 1Do-nothing scripting: the key to gradual automation (2019)20 people · 2.0K points · first shared 2019 · 230 comments on HN
- 2Squeeze the hell out of the system you have7 people · 11 points · first shared 2023 · 1 comments on HN
- 3The most important thing to understand about queues (2016)5 people · 225 points · first shared 2022 · 120 comments on HN
- 4I’ve made a conscious effort to stop apologizing for bugs in my code4 people · 137 points · first shared 2020 · 183 comments on HN
- 5Car alarms and smoke alarms: the tradeoff between sensitivity and specificity3 people · 57 points · first shared 2018 · 36 comments on HN
- 6Troubleshooting on a Distributed Team Without Losing Common Ground3 people · 17 points · first shared 2022 · 1 comments on HN
- 7Questions that will make you a rubber duck3 people · 4 points · first shared 2024 · discussion on HN
- 8When efficiency hurts more than it helps (2015)2 people · 33 points · first shared 2022 · 16 comments on HN
- 9Is Ops a Bullshit Job?2 people · 26 points · first shared 2025 · 10 comments on HN
- 10Did u ever read so hard u accidentally wrote?2 people · 13 points · first shared 2025 · 2 comments on HN
- 11The Queueing Shell Game2 people · 12 points · first shared 2024 · 2 comments on HN
- 12Incident SEV scales are a waste of time2 people · 6 points · first shared 2025 · discussion on HN
- 13No Observability Without Theory2 people · 5 points · first shared 2021 · discussion on HN
- 14Garden-Path Incidents2 people · 3 points · first shared 2024 · discussion on HN
- 15Putting a meaningful dent in your error backlog2 people · 2 points · first shared 2024 · discussion on HN
What HN people wrote when they linked it
roflyear · 2023-02-19
Good reading here: https://blog.danslimmon.com/2016/08/26/the-most-important-thing-to-und…
You really don't want your queue more than 70-80% utilized. Once it gets to 75% you should consider that "red zone" and you need to fix it somehow. Once the queue is 80% you're really hitting into some issues. Above 80% and you will have significant problems.
barbazoo · 2021-12-09
Do-nothing scripts are great for that too, I think this was shared here a while back
https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
scubbo · 2025-07-23
Hurrah for do-nothing scripting[0]!
[0] https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
chrislloyd · 2025-03-05
I have a very similar setup but with HLedger[1]. A "do-nothing"[2] script helps me download statements by opening bank websites, waits for manual import and finally checks balances. That makes it a lot less repetitive and error prone. Or at least, I catch the errors faster.
I've found HLedger and Shake to be fast enough to process almost a decade of finances. Dmitry Astapov has an extremely well produced tutorial workflow[3].
How have you managed the PDF parsing? Mine has become a bit of a mess dealing with slight variations in formatting as they change over time. I've been considering using LLMs but have been nervous about quality.
[1]: https://hledger.org [2]: https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to… [3]: https://github.com/adept/full-fledged-hledger
sampo · 2024-10-11
> https://news.ycombinator.com/item?id=29083367
> > https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
What is the point of defining a Python class with a single `run` method, and then running with `Class.run()`, instead of just defining a `function` and running with `function()`?
troupe · 2024-10-10
The Do Nothing Scripting [1] is an approach that I feel recognizes the difficulty of automation by starting out with a script that just tells you what to do like a checklist. Once you've used it to fully document all the exceptions, etc. you can then start building the automation.
An approach like this seems to give more weight to the fact that just figuring out a way to document exactly what needs to be done is often the hardest part and if you get that right before you start writing automation code, it might make make the automation much more efficient.
[1] https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
immibis · 2024-07-30
There is also a mathematical relationship in queuing theory between utilization and average queue length, which all programmers should be told: https://blog.danslimmon.com/2016/08/26/the-most-important-thing-to-und…
As you run close to 100% utilization, you also run close to infinity waiting times. You don't want that. It might be acceptable for your internal projects (the actual waiting time won't be infinity, and you'll cancel them if it gets too close to infinity) but it's certainly not acceptable for customers.
ttyprintk · 2024-03-19
A major tag in this guys set of blog posts is medical reasoning:
https://blog.danslimmon.com/tag/medical-reasoning/
In that regulated field, a senior or principal engineer runs CAPA (corrective and preventative action) diagnostics and it sounds like the author has worked that way. Look for it on resumes.
abathur · 2023-01-09
This seems like the same basic concept as https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
thetoon · 2022-11-23
wartijn_ · 2022-11-03
Or a do-nothing script if you don't want to automate it right away.
https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
gordonb · 2022-07-04
It reminded me of a simple but not so obvious concept - do nothing scripts.
https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
sidpatil · 2022-05-06
This is essentially Little's law.
https://blog.danslimmon.com/2016/08/26/the-most-important-thing-to-und…
paulmooreparks · 2022-04-17
> CPU utilization - Ideally the CPU would be busy 100% of the time, so as to waste 0 CPU cycles. On a real system CPU usage should range from 40% ( lightly loaded ) to 90% ( heavily loaded. )
There was an article posted here a while back that challenged the notion that 100% utilization is a desirable goal:
https://blog.danslimmon.com/2015/07/09/when-efficiency-hurts-more-than…
abap_rocky · 2021-11-02
Yep, I remember that post as well. Was described as "Do-nothing scripting" and I've applied the concept as well.
Original Article: https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
HN Discussion: https://news.ycombinator.com/item?id=20495739
gjjvdburg · 2021-04-22
I've been using a "do-nothing script" [1] to semi-automate the release process for some open source projects (e.g. [2]). Might be interesting for someone here.
[1]: https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
[2]: https://github.com/alan-turing-institute/CleverCSV/blob/master/make_re…
fanf2 · 2020-10-21
This sounds like what you want
https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
Found via https://dotat.at/:/?q=automati
I also searched for “run book” but that didn’t turn up anything likely. Although a runbook is often a good starting point for automation, this do-nothing script idea probably makes the path from documentation to automation more direct...
tedmiston · 2020-08-04
Start writing down the bash commands that you use to build and deploy your app locally.
For manual steps just write down a description to make a "do-nothing script" [1] to transition with gradual automation .
Then you can turn those into the rough draft of your CI/CD a pipeline.
If you use a common system there might already be adapters for your CI/CD platform of choice to make it even easier.
GitHub Actions is a good simple system to start with if your code is on GitHub.
[1]: https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
rtpg · 2020-02-01
I'm basically of the same opinion as you, but recently read this article[0] on "do nothing" scripts and really like it. The idea is to write at your process _as a script_ that will at first just print what to do. Then you can use computer magic to improve things over time and automate steps in the middle.
I generally agree that there are a lot of processes that are like "use your brain and think at this step", which is hard to automate, really. Open-ended workflow tools don't really exist for this kind of thing.
(Clarifying example: what script do you write to "diagnose a response time spike"? You can definitely write up usual suspects but at one point you don't have a script that gets you from the beginning to end )
[0]: https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
silvester23 · 2019-10-14
I think this might be the article you read:
https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to…
neuralRiot · 2018-08-16
An interesting article about false positives and negatives and their impact in the reliability of a detection system. (I believe it has been linked in HN before) It explains why "95% accurate" is BS.
https://blog.danslimmon.com/2012/11/02/car-alarms-and-smoke-alarms-the…