This page is an archive of my personal programming projects, many of which are the result of using tools in ways they were never intended, for artistic effect.
I don't currently have time to do much recreational programming, so most of the projects on this page are from my university days. However, I will continue to update this list with any recent projects I've worked on.
nightmare.website began as a place to document the things I learnt during my computer science course. It was initially intended to be a collection of web design resources and inspiration, but ultimately expanded to include all computer-related topics.
nightmare.website is both a reference for myself, and a way for me to document solutions to problems that I haven't been able to easily find answers for on Google, and make those solutions available to others.
I created this computer-generated novel for National Novel Generation Month, a project started by Darius Kazemi. It's written in Python and uses a corpus of hand-picked lines from novels (including some very famous ones), tied together with bigrams.
This is one of those things that arose out of very specific circumstances and needs I had at the time. I had just purchased a fancy new laptop with an RGB backlit keyboard, which I couldn't wait to customise. After installing Linux, however, I had some difficulty with the drivers and got frustrated.
The end result was this little command-line utility which let me generate and apply my own colorschemes to the keyboard. It had a number of caveats, the main one being that any time I updated my OS, I had to recompile the utility's dependencies, because there was no DKMS module.
I had been intending to fix this issue, but the last time I looked, the driver my utility depends on is no longer maintained and isn't compatible with the current Linux kernel. I'm holding out for the day the Clevo kernel module gets built into Ubuntu, because I currently can't even turn my backlight OFF, let alone change the color.
I created this very minimal clock in order to teach myself the basics of React.js. At the time my analog wall clock had just broken, so I made this as a replacement, to be displayed throughout the day on a large, under-utilised desktop computer. I never got round to replacing my wall clock in the end!
The only game I've ever created, made for the Fermi Paradox game jam on itch.io in 2016. I made it after learning Unity from scratch in a week, so it's, well, quite bad. I always meant to go and fix all the bugs and design problems, but never had the time.
In this game, you pilot a small spaceship - which moves far too slowly - around the surreal, alien landscape of a foreign planet, and try to work out why it's so lifeless. If you play this game and actually get to the ending I'd love to know, because there are no clues to help you work out what to do (not by design; I didn't have time to add any).
A collection of automated Twitter accounts I made when I was learning to program. They do useful, or completely useless but artistically interesting, things. Most have fallen into disrepair, and I do not maintain them.