News for hackers. Stuff that matters.
Re:Do-nothing scripting: the key to gradual automation (2019) by IanCal on Saturday February 08, 2025 @09:42AM (#42983243)
I'm a big fan of this approach.

In general it's another way of defining interfaces around processes. Those processes may be manually done or automated. But the interface can remain the same - this is quite powerful when it comes to automating steps.

It's the same as you'd do with another system really.

I've used this before with Google sheets being manually filled in -> automated with a script. And with Jira tickets being raised and then automatically picked up and processed. It lets you get started sooner, automated the most annoying parts and you never have to fully do it.

Side benefit of do nothing scripts is that they can remain up to date more often as they can be more likely to be actually used than reading the docs.

Re:Do-nothing scripting: the key to gradual automation (2019) by itomato on Saturday February 08, 2025 @10:32AM (#42983580)
Yes and for me this an another chance to use and share Jupyter notebooks.

Describe the thing. Offer boilerplate, examples, or parameterized executables.

The doc system that uses Notebooks de facto would be awesome. It’s too heavy to add as a layer to a Cloud SaaS like Confluence and offers too many opportunities for escalations as is..

Re:Do-nothing scripting: the key to gradual automation (2019) by dheera on Saturday February 08, 2025 @11:18AM (#42983968)
I would prefer if the script did the things that already are a command.

It can confirm with the user: "Execute command (y/N)?"

Fuck cutting and pasting stuff from one terminal into another terminal. That's also focus-intensive.

Then prompt the user to do the manual stuff when it isn't yet a command:

"Look up the e-mail address for foo. Paste it here:"

"Put that shit in 1Password: Are you done (y/N)?"

Re:Do-nothing scripting: the key to gradual automation (2019) by patcon on Saturday February 08, 2025 @11:29AM (#42984076)
I think the point is that it's a psychological hack to just get started. It's making a point, and the point is that it's even helpful without running the commands. Yeah, sure you can immediately make it run the command as soon as it exists -- the article is not implying that that's wrong
Re:Do-nothing scripting: the key to gradual automation (2019) by IanCal on Saturday February 08, 2025 @12:24PM (#42984452)
You also get to a point that's functional but not optimal very quickly. Improvements can then be added incrementally by different people as and when it's worthwhile.
Re:Do-nothing scripting: the key to gradual automation (2019) by SoftTalker on Saturday February 08, 2025 @10:32PM (#42988219)
And often it doesn’t need to be optimal. If the functional process takes 5 minutes and you do it once a month then you can’t spend more than 5 hours optimizing it before you’re going backwards.

https://xkcd.com/1205/

Re:Do-nothing scripting: the key to gradual automation (2019) by patcon on Sunday February 09, 2025 @07:45PM (#42995728)
I feel the place where that intuition might have an exception is where you want a culture change, or you want to communicate a culture of "anyone can do this and is encouraged to". Sometimes it makes sense to automate something that doesn't save time, like putting it in a chatbot command that invites others to run it :)
Re:Do-nothing scripting: the key to gradual automation (2019) by IanCal on Saturday February 08, 2025 @12:23PM (#42984444)
Then automate those points as and when it's worth doing. Nobody is saying you can't do that, in fact it's a very key selling point of a do nothing script - you can very easily upgrade it to a do something script.

The alternatives are "do everything scripts" which get lost in dealing with how to automatically manage 1password, or documentation which is just a do nothing script that doesn't lead you through the checklist.

Re:Do-nothing scripting: the key to gradual automation (2019) by Xmd5a on Saturday February 08, 2025 @05:24PM (#42986707)
>Fuck cutting and pasting stuff from one terminal into another terminal. This is the point of this approach. To offer incentives to turn into scripts maintenance procedures that come around often but for which there isn't enough budget.

I think jupyter notebooks are better suited to fill this role since you can gradually turn a 100% markdown wiki document into a script and offer one-click execution.

Re:Do-nothing scripting: the key to gradual automation (2019) by 0xfaded on Saturday February 08, 2025 @01:28PM (#42984988)
My not-so-humble opinion is that this type of incremental encoding of process as scripts results in a system built around process rather than a system that eats process. I'm all for a catalog of scripts automating common tasks. The moment those scripts start getting called by production services you're creating a huge mountain of tech debt for whoever is unfortunate enough to unpick the web of spaghetti.

Further, because your human oriented process has now codified your system, changes to the system that's would be beneficial to a software system (i.e. dividing the system into components) are impossible. So incremental scale is achieved by stuffing more into the process, which then gets grafted onto the script monolith in a self protruding cycle.

Re:Do-nothing scripting: the key to gradual automation (2019) by IanCal on Saturday February 08, 2025 @02:14PM (#42985388)
I'm confused as to what you're picturing.

> The moment those scripts start getting called by production services

Any of them with manual steps just can't, right?

> Further, because your human oriented process has now codified your system, changes to the system that's would be beneficial to a software system (i.e. dividing the system into components) are impossible.

Absolutely nothing stops you from changing these scripts - it's no different from having scripts in a package.json

The alternatives are full automation, which pushes your issues to the max, or zero automation which is an odd point to be in.

Re:Do-nothing scripting: the key to gradual automation (2019) by szundi on Sunday February 09, 2025 @02:03AM (#42989033)
No, the point of the article is that later these can be modified to actually run these commands - obviously to call these scripts. You can assume pretty confidently that when it seems to be a self contained good script, it is going to be called from services. Even if it is a bad investment to implement it, because programmers hate boring tasks. They would even choose to make a web of spaghettis for later generations than do boring stuff.
Re:Do-nothing scripting: the key to gradual automation (2019) by IanCal on Sunday February 09, 2025 @04:04AM (#42989454)
I absolutely agree you modify and automate parts (and eventually all) of it. It's the leap to having scripts in a repo being called from production services I'm less convinced by. As I said, the alternatives to part/incremental automation is none or total automation and total has the same issue right?

Or do you mean by automating one step in a script, you risk someone using that part in a production service?

Re:Do-nothing scripting: the key to gradual automation (2019) by dragonwriter on Sunday February 16, 2025 @02:07AM (#43066041)
> Any of them with manual steps just can't, right?

If you are literally using the kind of scripts used here, they can't be called by a production system though their use can be part of formalized desk procedures.

It is a fairly natural next step (and a not unheard of first step in automation, bypassing these) to instead build something like these scripts but into an actual workflow management system where it can be triggered by either a user or even automatically tied to another system event, can be assigned to an available worker, can have status and artifacts tracked, and can trigger downstream processes.

(Of course, once you have the process in such a system, where the human worker is essentially a component the system calls to complete defined steps—contrary to GPs criticism—what you have is equqivalent to a documented process with the notable different that it is much easier to refactor it to divide work among components, etc., just loke any other software system.)

Re:Do-nothing scripting: the key to gradual automation (2019) by wavemode on Saturday February 08, 2025 @06:03PM (#42986956)
How would a do-nothing script be called by production? The whole point is that they're manual.

You're basically arguing against the concept of SOPs. OP blog post is basically just a programmer's version of an SOP.

SOPs are great, until they aren't. So then you change them. This is nothing new or strange.

Re:Do-nothing scripting: the key to gradual automation (2019) by j45 on Sunday February 09, 2025 @12:12PM (#42991933)
Bash scripts have a lot less of these issues than scripting built in a build orchestration system.

They are more portable, more universal, fewer dependencies.

Whenever you start to install something just put the commands into a bash’s script as you go and run it at each step.

Want to break it apart? Break apart the script how you like and repeat.

Being able to hand someone a scene for Linux or MacOS is a great way to help others begin too.

Re:Do-nothing scripting: the key to gradual automation (2019) by hinkley on Saturday February 08, 2025 @03:25PM (#42985877)
My previous approach was:

1) Capture the process as is

2) make the process pass a giggle test

3) make the process automatable

Concurrent with 3 and 4:

- use the process repeatedly and by as many people as possible

- adapt the process to any misuse seen in the wild

4) automate the process

Everybody will buy into steps 1&2, and most people will come around to 4, but doing step 3 usually will get you more people pushing for and understanding 4

The limitation of your approach I will say is that if you can automate the beginning of a process or the end it’s fine, but if you have two islands in the middle it doesn’t work better than a CLI tool with prompts.

Re:Do-nothing scripting: the key to gradual automation (2019) by catlifeonmars on Saturday February 08, 2025 @06:45PM (#42987191)
What’s a giggle test?
Re:Do-nothing scripting: the key to gradual automation (2019) by hinkley on Saturday February 08, 2025 @10:09PM (#42988114)
One of the fun things with SEI Capability Maturity Model is that you reach level 1 just by having your process written down at all, no matter how stupid it sounds.

But the giggle test is just something I borrowed from business, which is, “can I say this with a straight face?” Which eliminates a lot more censorious than you would think. Writing something down is one thing, making eye contact with someone while repeating it is a bit harder.

Re:Do-nothing scripting: the key to gradual automation (2019) by natch on Sunday February 09, 2025 @03:20AM (#42989307)
What’s a censorious as a noun? Hadn’t heard it used that way before.
Re:Do-nothing scripting: the key to gradual automation (2019) by knome on Sunday February 09, 2025 @01:04PM (#42992277)
censorious appears to mean 'severely critical of others'. I expect they meant 'censoriously', with the full intent being that the embarrassment felt by the critical reactions of others when reading the instructions out loud will cause you to eliminate or fix obviously broken, complex or tedious processes that you had, until then, just quietly been putting up with.
Re:Do-nothing scripting: the key to gradual automation (2019) by karlmdavis on Sunday February 09, 2025 @02:35PM (#42993064)
I suspect they meant “scenario”.
Re:Do-nothing scripting: the key to gradual automation (2019) by hinkley on Monday February 10, 2025 @12:53PM (#43003065)
Yeah that’s an autocomplete bug I didn’t catch until edits timed out. Thats “scenarios”.
Re:Do-nothing scripting: the key to gradual automation (2019) by natch on Monday February 10, 2025 @01:10PM (#43003273)
hah ok thanks
Re:Do-nothing scripting: the key to gradual automation (2019) by IanCal on Saturday February 08, 2025 @07:04PM (#42987299)
> The limitation of your approach I will say is that if you can automate the beginning of a process or the end it’s fine, but if you have two islands in the middle it doesn’t work better than a CLI tool with prompts

I think I may have poorly described my approach then. It's just the same thing, the choice of sheets or Jira or cli or a combo is only about meeting people where their current process is. A dev setup -> cli. A business process between trams -> Jira if that's the current flow. I'm not getting marketing to install my cli tool, and they'd not be the ones doing the manual steps anyway.

The point is just making a process into a series of clearly defined steps that can be manual and can be automated independently.

Your description of what happens alongside 3 and 4 is good, this was really valuable when I've done it. Just like releasing a MVP and finding out key problems with your imagined approach, the issues are usually not what you expect. You also have better test cases and examples.

Massive side benefit when I did this with data was that it also meant a process could be automated 95% of the time, manual 5% without changing the interface anyone worked with. All they saw was the ticket took longer really. That's great when you find absolutely wild stuff in some csv file.

Re:Do-nothing scripting: the key to gradual automation (2019) by szundi on Sunday February 09, 2025 @02:04AM (#42989035)
Good strategy if you have infinite money to fund it.
Re:Do-nothing scripting: the key to gradual automation (2019) by hinkley on Monday February 10, 2025 @01:01PM (#43003158)
Iteration doesn’t require infinite money and this sort of work more than pays for itself.

The last time I used it, which is probably eight times now, I freed a team up to attack more entrenched tech debt problems by making them no longer afraid of deploying to run trails instead of waiting to do feature toggles once a release cycle.

Every adult programmer should be able to think of four things they can work on when nobody is telling them what to do for the next little while, and Scrum produces a lot of those. This is just one of the things I do. And when you get close to a quantum of useful improvement you can usually get a story or two on the board.

Fixing your processes is an axe sharpening exercise. If you’d rather be dismissive enough to register a complaint then I feel sorry for the teams you work on.

Re:Do-nothing scripting: the key to gradual automation (2019) by dejj on Saturday February 08, 2025 @04:28PM (#42986355)
I see the mountain of “Zen and the Art of Motorcycle Maintenance” coming into view.

The approach replaces Confluence instruction pages with semi-interactive walkthroughs (the conscious side).

The other side is test automation: it starts with a big ball of overfitted Xpaths and undocumented steps. Those get re-discovered every time the application changes (the subconscious side).

Hopefully, we reach the summit where we can execute quickly and still know how we got there and why.