§ about

I am Coranna, a quiet thinker and overexcited crafter.

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. 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 make good use of it.


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


An adaptive toolset for tracking… everything. Its primary facility is time-tracking, with a text format at its core specialized for describing the physical realm. Though Quanta is currently passive (with some validation), it will soon expand into analytics (e.g., distraction identification, correlation, and nutritional analysis).


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