Tom Gardiner
 

I've Been Writing Little Code

I've recently noticed how infrequently I've written code for personal use over the last couple of years, but there are good reasons that I'm pretty proud of!

Believe it or not, I do actually use nearly all of the code I've written - there's a static-site generator, a Discord bot, a music player, and a quantified-self data archival application too! - and I think it comes down to a couple of things.

Firstly, I try to keep the code stupidly simple, with as few external dependencies as possible. This way everything starts up quickly, and I get a sense of added security, knowing that some hundreds of packages aren't suddenly going to have a bunch of vulnerabilities1.

Second, I limit the features to only what I personally need. I ain't writin' it fer no one but me, and that's completely intentional. Over the last decade I've made numerous attempts at writing software other people can easily use themselves, and it always feels like a burden making every feature reusable and generic. I'm more motivated to add a feature I know I'm going to make use of, but I absolutely welcome people to fork the code and make their own changes - that's why I make most of my source code available.

Finally, the main reason I don't write code very often anymore - everything I need has been catered for! At this point, writing code would be for the sake of it, and realistically a waste of time2. The vast majority of software out there is perfectly adequate, from note taking apps to full-blown music creation software (yes, I may have given up on rust-music...), so the only stuff I'll write now is unique to my requirements where I haven't already found a good alternative.

Screenshot of my git commit history graph

As a result of all these things, the code I have written is particularly stable. I've barely made a dent to my git commit history - until today I hadn't even touched the engine that generates this site for over a year and a half! The software I use to keep track of my music listening history, watched TV shows, films, and books read often goes 6 months between commits, despite using it every single day.

And with all that considered, I'm pretty pleased with meself 🤓



1: Yes yes, I know that writing code myself, instead of relying on dependencies, can lead to vast amounts of undocumented vulnerabilities - the point I'm making is my code should be simple enough not to need dependencies, and simple enough that adding protection against malicious inputs myself isn't dangerous.

2: As a result, I'll be wasting my time on TikTok instead 😤