This is a C program using CGI
to serve a quote database website. It was written to replace the gist storage
that was previously being used by insobot and provide a
nicer viewing experience.
Quotes are stored in flat files with a simple format, which can be edited via
authenticated POST requests. CGIQuotes then makes each file, and each line within,
available via http in several different formats: raw, html, csv and json to
facilitate easy integration with other people’s projects.
This is an ncurses music player for .gbs chiptune files. The UI shows the
realtime values of the GameBoy’s audio registers, highlighting values
as they change; The pitch and octave of the wave & square channels are also shown
in more traditional form, using the letters A though G, and numbers 0-9.
It has fairly intuitive controls for volume, toggling channels, changing the
tempo, etc, and sounds pretty accurate for most of the tracks that I’ve
tested. It also works with “Prehistorik Man”, which uses some tricks
that other players don’t properly emulate, though it won’t currently work with
a few tracks that expect to do their own cycle-based timing.
With the name MiniGBS, it was designed to have a pretty small code footprint;
The bulk of it is ~1.5k lines spread between 2 c files. Currently it doesn’t
come bundled with any songs, so you’ll have to find them yourself, but I have
started working on a GB sound driver and hope to make some original .gbs music
available in the future!
Insobot is an IRC bot I started creating a while back, originally insprired by
other markov chain bots such as ChronalDragon’s (as far as I know unreleased) chronal_robot.
After writing the original simple version in C++, I was interested in trying a
project in pure C, and decided to expand Insobot into a modular structure
and rewrite the markov chain functionality as one module for the new architecture.
Today Insobot has many more modules, for creating alias/macro commands, retrieving
info from the twitch.tv API, expanding youtube/twitter links, storing quotes in
a gist on github, as well as letting people know the schedule for Handmade Hero.
The main Handmade Hero community bot, hmd_bot, is based on insobot’s code with a
few additional modules added, and some removed.
The markov chain module still remains the most noteworthy part of insobot though,
leading to quite a few humourous moments, some of which I pointed out in
This is a game engine that I’ve been creating recently using SDL2 and modern
OpenGL 3+ techniques.
(I’m also trying to keep it compatible with OpenGL 2.1 as long as you have the
I know everyone seems to say that you shouldn’t make your own engine, but I find
making the engines and systems just as fun, if not more so, than actually making
the games that they’re made for. I’m also doing it to learn about new-school
OpenGL and the various things that go into making a game from scratch.
Some of its current features:
Configuration variables + functions.
In-game console / command-line interface to access them.
Fully rebindable controls (including all the CLI text-input related keys).
Unicode text handling / rendering (Not complete, combining characters will break it).
Can reload all OpenGL state at any time.
Uses VBOs, VAOs and ARB_vertex_attrib_binding for vertex specification.
LibNRG (Networking for Real-time Games) is a C++ library that I first started
working on for my third-year project at university. It aims to provide an
easy-to-use interface built on UDP sockets for use in fast-paced multi-player games.
The initial version that I finished at uni worked pretty well, but there was
still lots of room for improvement, so I’ve continued to work on it occasionally
The current version is a bit better, with more useful features like the Message
RPC mechanism, but the library isn’t finished and I’m not sure it ever will be.
It’s open source under the zlib license though, so you can take a look / use it
/ make changes or improvements as you see fit. Patches, pull requests and
suggestions are welcome.
I’ve also made the specification and final report that I produced at uni
I was messing around with Linux Multimedia Studio
ages ago and made a remix of the Tetris theme. I found that I still had the
project file lying around, so I’ve cleaned it up a bit and put it on soundcloud.
For anyone interested, I made this site using Jekyll,
which is a static site generation tool, mainly intended for blogs. With a bit of
hackery I’ve made it work for generating this set of posts in the “other” section,
as well as the items in the games section from a set of markdown files.
The site is also open source, you can find the pre-statically-generated version
on github right here. The site is
also currently hosted from github’s servers using their pages system that
incorporates jekyll, so that the site is automatically regenerated whenever
I make a commit - isn’t that nice!