Rediscovering joy in silly computer stuff
I sometimes lose track of whether I have written a Thursday post two weeks ago or not... But I do write them! Like this one!
I have a pretty clear memory of one of the silliest programs I've written in my life. In high school, for a "computer course" that involved some programming but wasn't really CS but also not quite "learn to use the internet" (the late 90s was a weird time), I wrote a QBASIC program that essentially beeped out the words to the "Aria di Mezzo Carattere" from Final Fantasy 6 (3 in the US). Imagine the dry monotone of the PC speaker (wait, desktops don't even have that any more do they?) bleeping out a whole song.
The code to do this was fairly simple because QBASIC has a PLAY command, that essentially looked like PLAY "A4 C8 F2" that corresponded with a frequency and note lengths (4 is a quarter note, 2 is a half note, and so on). All it took was using the internet to find some sheet music to transcribe and a lot of testing and tweaking to get words to show up at the right timings. It was distinctly memorable because, first, even by teenager standards it was a ridiculous project. Second, I got school project credit for doing it.
By that time, I had already done other computer-y things like code up a simple web site (on Geocities, of course), and tweak the QBASIC gorillas game to do silly things like have hyper-speed bananas. There was great fun in doing all that stuff, but that karaoke program was the instance of just joyful pointless silliness that sticks in my memory.
But as I got older, learned actual "Serious Languages" like C++ in a more advanced class, then went to college and learned to write decision support systems in Excel VBA and finally Python, computers became more about doing work than unbridled silliness. I would still play tons of video games, and eventually help developers localize and even publish games, but the number of instances where I'd just laugh at what I produced dwindled more and more.
Fast forward to 2026 and even though I still like working with and on computers, childish silliness was largely nonexistent. The closest thing to that feeling was years ago when I impulsively bought an LED array and controller from Adafruit and used it to make a weather status display. And even then, while it was fun at the time to creatively scratch an itch I had, it wasn't exactly "joyful".
There's probably 2 major reasons for why this is. First, I'm much older and have seen much more of the world. What counts as "silliness" has gotten progressively narrower as I get more jaded and cynical with age. The second reason is because tech has gotten so much more complex that it's sorta hard to even scratch a technical itch nowadays, let alone be silly. It used to be that you could code up a tiny utility and it lives on the command line and everything is good enough. Now, you'd at least want a token GUI just so you can do bare interactions without having a terminal open, or you'd do it in a browser and have to deal with Javascript (or some framework that was developed to abstract the horrors of Javascript away for you). Or most of our computing is done on a phone these days and getting anything custom to run on that outside of a browser is... a nightmare.
If anything, this is why in the past decade or so, most of my hobbies involved making physical things, because they're so much more accessible for someone on a restricted time budget.
About a week ago, I finally had a technical itch that I was motivated enough to want to do anything about, and decided I was going to go pay $20/mo for a Claude subscription to make it actually happen because I certainly didn't have the vast technical knowledge needed to glue together what I wanted. Because I wanted to run an app on my Android phone (a sideloaded dev APK is perfectly fine) that collected some data, that then gets copied to my desktop to get further processed by a gui app. Oh, and my main home desktop is a Windows machine.
I'm sure the vast majority of readers will have some inkling, but writing an android app, with a companion program that creates a Windows GUI is really really hard.
There's all the technical design considerations of how do you organize code, what can and can't be shared across platforms. You've got to pick the entire tech stack, much of which have weird names that you'd never guess unless you worked in the space. Like, what the heck is "Tauri"? Why do I need Typescript and React?!? What libraries do I need? How does everything tie together?
Just figuring all that out requires at least passing knowledge of the full tech stack, from backend data processing code to modern frontend Javascript frameworks. I know Python, VBA, and can read Java and C. I very much do not understand how the hell Javascript works and have failed the many times I've tried to grok it.
On top of that, there's a lot of mechanical hurdles involved. How do you get this stuff to compile? Building things on Windows requires engaging with all sorts of weird states and situations while most of the documentation available about anything dev related usually assumes Linux or at least MacOS. I even hit upon this nightmare build scenario where my code lived on a mapped NAS drive, which under windows has a URL-like domain format \\nas_drive\folder that can be mapped to Z:\folder and some of the compile tooling would invoke one, but expect the other and it took a herculean effort to ... try a bunch of horrific monkey patches before finally giving up and copying the entire build environment to a local drive for building.
If not for LLM aid, I would not have an actual proof of concept running on my actual phone ALONG with the companion windows app running right as I write this. So yes, this thing is "vibe coded", but I've got years of experience testing and breaking programs across all these environments, and tons of experience anticipating how software breaks, how users break software, how the realities of the world at large break software to help me be very detailed in my requirements and the test suite. While I'm not expecting to generate bullet-proof code, it's definitely better than anything I can write unaided at this point. Plus, my toy app is mostly for my own use and isn't involved in anything important so I don't mind brittleness.
The thing of note in all this however, is that while building this app didn't spark any particular joy in me – it was just doing a job I wanted done that I couldn't find an alternative for – the fact that within a six nights tweaking and prompting and writing detailed specifications, I got something to run on a nightmare collection of tech stacks!
I even added a spec in for "this needs to run on iOS in the future because I might borrow my wife's phone" because I'm the sort of over-planner who used to send emails to high school friends to meet "at 3:45 pm, on this date, on the northeast corner of 31st and Park Ave" because none of us had cell phones and SMS still cost money to send. All that future functionality was baked into the overall architecture, to be coded or not at my whim, so it's not a giant painful refactor in the future. Prior to this I didn't even want to bother trying to do a "Hello World" app in any platform.
All this means is, if I wanted to do something really silly for myself on the family phones, I could! The barrier to getting things shipped has fallen so much that I can allow myself to entertain some of those "wouldn't it be funny if..." thoughts again. That kind of freedom of mindset is really important to me. I get silly ideas that are instantly dismissed all the time, so allowing myself to keep a handful will lead to all sorts of mischief down the lines.
So my hope is that, maybe one day I can rediscover the joy of just being silly and basking in the output without being too bogged down in the "struggling to make it happen because of syntax, dependencies, and build system hell" part.
For now, I sincerely hope that the cost of all this comes way down, both in terms of monetary concerns, but also the resources needed to run and power such models. Otherwise no amount of silly joy is quite worth the long term price tag.