§ about

Note: this website is very much outdated!

Hi! My name is Coranna Howard (she/her). I do a lot of thinking and crafting.

My primary medium is code, a selection of which follows in the next section. I also sometimes dabble in games, generative art, and music (maybe?).

I currently work as a software engineer in the US. Contact me for my resumé or related inquiries.

§ code

» Pickle

A static site generator. It's more versatile (and usable) than, say, Jekyll or Hugo (in my opinion, of course), but it has a while to go before the kinks are hammered out.

» precore

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

» Quanta

A highly adaptable toolset for tracking. Its primary facility is time-tracking, with a text format at its foundation specialized for describing the physical realm. Though Quanta is currently passive (with some validation), it will soon expand into analytics (e.g., craft efficiency, resource consumption, nutrition). It's being rewritten in Rust!

» Super Transmuter

A modular, extendable, general build tool (à la GNU Make) that uses Lua as a DSL.

» togo

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). The game library is nascent, but the core library is a fully capable (very stdlib-minimal) base library for anything else.

¶ tools

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

¶ reverse-engineering

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

¶ primordium

Slow-growing projects trapped in headspace. (You might be able to goad me into finally tackling these.)

  • low-dependency, standalone interface generator for C++: because multiple declarations are sooooo annoying; see the imperfect kludge that is igen.
  • bitbork: a tool for succinctly & quickly designing and reverse-engineering data formats; programmable translation of tedious/non-trivial formulations to code (e.g., pointing into a blob containing memory-ready data).
  • a programming language with attention to data and reasonable concurrency: a dreadful potion of C, C++ TMP, Go, Lua, and a dash of Erlang; both compiled and JIT/VM-able (from its own bytecode), complete utilization at build time (metaprogrammable in itself).

§ art & games

» Onomo

A slow, dark 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.

» Prisma

A minimalistic color-based twitch puzzler 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.

» sounds for contemplating the universe

A short aural journey to accompany thoughts of life beyond your star system. Created with SunVox for Fermi Paradox Jam in 2016. CC BY-NC 4.0.

» Kaleidograph (stills)

An interactive generative art program which creates snowflakey kaleidographic patterns. Created with JavaScript and p5.js in December 2014. (A selection of still images; code is not publicly available.)

§ misc