My rubbish

Vocoder fun

4 Dec 2023

After a few years of thinking about it I finally I got around to making a realtime vocoder for the sole purpose of vocoding myself to songs in voice chat. It was interesting to learn Lisp since the reference implementation in Audacity is written in Nyquist (which is based on Lisp), though I clearly didn't understand enough about PipeWire so that part is quite rushed. I might revisit it one day and increase the low pass filter to be 8-pole like it should be, add emscripten support (who would have guessed!) to process files/voice, and explicitly vectorise it, but for now it's up on github if anyone wants to mess around with it.


9 Aug 2023

Last week I was reminded of a project that I started years ago on my phone on my commute to and from work, but that I never ended up finishing. The idea was simple: to be able to generate executable code at runtime for a scripting language in order to improve performance. Rather than digging it out (since the style would have been terrible from developing on a phone, and because it was only a PoC for ARM) I rebuilt it from the ground up. It's useful to nobody, but if anyone wants to learn from it I've put it up on github.


21 Jul 2023

Another year another jam. This one was with a different group of friends and the theme was microwave. My entry was to control satellites and can be found here.

Engine Simulator port

15 Aug 2022

This weekend I was linked a cool video and after finding out that the Linux port wasn't fully working I decided to lend a hand and help out. Anyone following along with this blog can probably guess that I also made an attempt at running it in the browser which, after getting the Linux port running, only required implementing a GLES renderer and further optimising some bits to make it run OKish on my machine. Fun fact: the web port had hot-loading support nearly a month before Windows, just ignore the rendering and input bugs.


20 Feb 2022

This weekend (and the last) was that time of year for another GAME JAME. You can find a better write up here and my entry here.

Networked Emscripten

30 Aug 2021

After messing around with PeerJS in a side project, I decided to try integrating it into my previous Emscripten project. A few days later and we now have networking in that terrible game engine.


4 Apr 2021

This weekend I participated in a game jam with some friends. You can find a better write up here and my entry here.

Site redesign

28 Feb 2021

Finally decided to redesign the site. Looks better now.

Emscripten tests

2 Oct 2020

Started messing around with Emscripten to see how it works. The outcome was a Monte Carlo simulation (click on the image to see the source code) and yet another terrible game engine.

It begins

27 Sep 2020

New site, who dis?