§ about

I'm Coranna, a transfeminine non-binary high-functioning autist. I do a lot of thinking and a lot of crafting.

I primarily work with code, a selection of which follows below. I write at Allopoeia, and I sometimes make games & generative art, music (maybe), sounds, and voices (including imitation of… not-voices).

I'm currently building open-source voice training software for trans people and software for organizations that serve the public (particularly youth in the U.S. education system).

I'm also an inextricable participant of the U.S. State of Washington's occupation of the territory of the Puget Sound Salish, particularly the Puyallup people. The acts of inhumanity committed by evil colonial Europeans in the Pacific Northwest are particularly terrible: the genocide of Indigenous Peoples along the Northwest coast, and the colonization & slavery of Pacific Islanders, which U.S. corporations continue to perpetrate both in the Pacific and globally.

My pronouns are she/her and ze/zir (ZEE, like "see"; ZEER, like "sear" — not ZUR, like "sir"), but other neutral pronouns (e.g., they/them) are acceptable. I encourage the use of explicitly-singular neutral pronouns because, despite how familiar singular they might be, it still has plenty of ambiguities. In other languages, feminine or humanizing neutral pronouns are appropriate (i.e., not “it”).

§ code

» Attendance Reporter

A full-stack web app for reporting student attendance, developed for Intel Computer Clubhouses and other publicly-funded organizations. Work in progress; contact me for more details.

» 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.

» Project Spectra

Voice training software for trans & GNC people. Part of a team.

» 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).

» Super Transmuter

A modular, extensible 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).
  • reverse-engineering Prince of Qin: data formats, tools, core (and eventually complete emulation).
  • reverse-engineering Age of Empires I & II: data formats, maybe more.

¶ graveyard

These are bad projects from my early days with C++.

  • All the Maths‽: an over-engineered mathematics library.
  • Beard: a terminal UI.
  • Cacophony: a serialization library.
  • ceformat: an atrocious constexpr printf-style format parsing and output library.
  • duct++: a general-purpose library.
  • Hord & Onsang: the over-protective, over-engineered precursor to Quanta.
  • Trait Wrangler: a tiny trait testing library.

§ 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