Milo Land

Simple Tickets

Minimum Viable Programs

This website has been kicking around my brain for years, ever since I found it. They go over how great small and focused software can be, and how so little of the tools they use meet that criteria.

If you want a job done find the busiest person you know and give them an extra job. This is because the reason they are busy is that lot's of people want them to do things because they are good at doing things and that's why they are busy.

What he goes over is the ticket system used in Erlang's development. It is essentially a shell script that works with files within a `tickets` folder for a given repo. It's always caught my imagination, it's so romantic, breaking things down to their most bare and using that.

I recently started on this volunteer project and recommended we use this system, but realized I didn't actually have a working version of this system handy. (And also we were on Codeberg, so there was no reason to, but either way). So I build it out, just to see what I could do with it. And it was about as simple as promised.

Ticket

The majority of all the scripts is just defining variables and checking to see if a `tickets` folder exists. After that, it's a little string wrangling and then popping out a new file, listing open tickets, or opening a given file by number. It's so simple.

I mean, why not rely on the editors we have? The version control system we already use? They're all just sitting there waiting to be used. Plus this system is essentially indestructible: plain text files in a git repo. That combination just works.

What else exists that meets this criteria of minimum viable software? I yearn for this kind of simplicity, bare-bones nature in everything. It feels good to know what's in the black box, make the unknown known, and have full understanding of how to fix it, however insignificant in size it may be.