§ about

I am Coranna. I observe. I break. I make. I confound.

I write at Allopoeia. Sometimes I make voices (and imitations of non-voices), music (maybe), and sounds.

Talk to me if you must know more.

§ code


A static site generator using Lua and togo. It's more versatile than, say, Jekyll or Hugo – in my opinion, of course – but it has a while to go before the kinks are hammered out. My websites use it.


An extension of Premake. It facilitates build setup reuse, making the already pleasant Premake even more pleasant.


A C++ data-oriented super-library. It began as a game engine, but I found its design too appealing to leave it all bound up in a high-dependency library. As a result, togo is now composed of multiple components (libraries and tools). I am using it for all of my new projects, largely eschewing the C++ stdlib.

It is replacing many of the projects I started under earlier, poorer, design principles.

∗ tools

  • include_sort: order-explicit inclusion sorter for C and C++.
  • igen: libclang-based interface generator for C++.

∗ reverse-engineering

  • brinktools: ancient code and docs for BRINK's SDMD2 and SDPK2 formats.

∗ graveyard

These are bad projects from my early days.

§ games


A dark, moody platformer concept created over a 48-hour period for Ludum Dare 30. I neglected mechanics and made something that is only compelling in aesthetic. The code is available under the CC BY-NC-ND 3.0 license.


A minimalistic color-based quasi-puzzle game created over a 72-hour period for Ludum Dare 26. The levels are poor, the audio is terrible, and the “puzzles” are mostly based on player speed. The code is available under the CC BY-NC-ND 3.0 license.

§ misc