Skip to content

Tech

I've been fascinated by computers since I was a kid, but it wasn't until I started university that I had the opportunity to learn programming.

I'm now in my final year of a computer science degree, do some freelance web design, and enjoy messing around with computers on a daily basis.

A selection of my projects can be found below.

nightmare.website

nightmare.website is two things: a blog where I talk about my experiences as a programmer and computer nerd, and a collection of resources for fellow computer nerds.

Thought originally intended to focus on web design and development, the blog and resources have slowly been expanding to include all computer-related topics.

Audio visualiser

I was inspired to do something creative with audio streaming in Javascript after reading a tutorial on using it to create waveform visualisations. This - the product of many hours of trial and error - was the result. It comes with a selection of tracks by myself and my friends.

The visualiser uses PHP for track selection to enable bookmarking/linking of the selected track, and Javascript to stream MP3s, analyse the audio data and use the results in CSS values and other things.

NaNoGenMo 2014

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.

I actually wrote a blog post about the process of creating the novel, which you can read here.

Botlang

Botlang was an attempt at creating a community-driven conlang via a Twitter bot.

Written in Python, the bot analysed tweets sent to it and generated a "Bottish" translation for each word it found, then added the definition to a dictionary so it could look the word up in the future. This enabled the translator feature on the Botlang website.

During lapses in conversation with other Twitter uses, the bot randomly pulled English words from a corpus and created Bottish translations for those in order to build up its vocabulary.

Unfortunately, I allowed Botlang and its website to fall into a state of disrepair. The Twitter bot is no longer running, but when I have time I'd like to start it up again and refactor the code using the knowledge I've gained since its creation.

Art generator

I made this simple generative "artwork" on a whim in 2015. Refresh the page to get a new design, scroll to navigate the artwork, and/or try resizing the browser window to mix things up a bit!

Snow

Though hardly a great work of art, and extremely simple in construction, people seem to like this little thing I made in plain HTML with marquee tags. I hope you do too.

React Clock

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 still haven't got round to buying a new wall clock.