Virtual Index of Ross Angle

Hi, I'm Ross Angle. I like to go by Rocketnia, or Nia for short. (Interested in my resume? I'm on the lookout for the right company! Feel free to contact me at rokitna?hotmail.???.)

I'd like to simplify programming for everyone. My programming languages under the Era umbrella are my efforts toward that goal. Some of the work involves utility libraries I refer to collectively as Lathe, with which I aim to spruce up existing languages with the additional techniques I'm embracing for Era. And some of my tinkering takes place in one-off projects on my own GitHub profile. Here are a few examples:

Cene Mk. I

A pure functional language with concurrent macroexpansion and a JavaScript FFI. I've built a text generation DSL in Cene, as well as a little screenplay-like DSL.

Cene Mk. II is the latest experimental work on Cene, rebuilding it with better error messages, a module system, and a few other refinements.

Screenshot of the Cene website


A proof-of-concept language core in which fexprs and compiled functions can coexist.

Screenshot of the Fexpress documentation


A dataflow library that could form the underlying plumbing of a continuous-time functional reactive programming language.

Underreact makes for some rather snazzy demos, including a demo of some state machines and a demo of a rudimentary platform game. [Warning: Some flickering.]

Screenshot of the Underreact platform game demo


A rather abstract library I worked on to figure out the more subtle intricacies of designing extensible templating languages.

General-purpose programming language design isn't my only pursuit. Here are some other nifty projects I've made:

The website you're looking at is written in a static site generator I made myself called Chopsgen. It uses the same kind of deterministic concurrency model that went into the Cene macroexpander.

I wrote this static site generator at a time when I wanted to be able to run all my code in the browser, even the build tools themselves. In a clone of the repo, the file html-build.html shows a preview of the site in an iframe, and it offers a button to download the processed .html files in a .zip archive, ready to be unpacked and uploaded. In practice, I actually do a more sophisticated kind of deployment, but it's nice to have this as a fallback.

Screenshot of


Rainbow.js is a JavaScript port of the Arc programming language (specifically a port of Conan Dalton's implementation of it, Rainbow).

Writing prompt generators

Some creative tools I've made to inspire writing ideas: A very simple prompt generator for scenarios where characters get into tomfoolery related to their unique talents, and an interactive plot structure generator based on graph rewriting.

Screenshot of the interactive plot structure generator

Mega Man IV and V password generators

Some password generators for Mega Man IV and V for Game Boy.

Screenshot of the Mega Man IV and V for Game Boy password cracks page

I have some storytelling pursuits, too:

Symple Home Renovations

Magic makes home renovations easier than ever. Almost too easy.

Inspired by Seltani, I made a little text-based game engine (ContriverText) to try out some different UI ideas for multiplayer interactive hypertext fiction. The interface could use a lot of work, especially for a single-player demo like this one. However, for the Bring Out Your Dead game jam, I put together this short work to showcase the engine. There are some more author's notes on the jam submission page.

Screenshot of the hypertext game called
                        Symple Home Renovations

The Shape of Our Container

A little hypertext piece I made for a game jam on the theme of "tiny utopias."

Screenshot of the hypertext game called
                        The Shape of Our Container


A short-lived Mega Man sprite comic I started while I was really into Bob and George.

Screenshot of the Megalomaniac website

MyAI and Mikkamon

I could talk all day about some of my original characters and settings. Telling their stories in full is a daunting prospect, one that I might even need better programming languages for. :-p But I've occasionally written up some notes about MyAI and Mikkamon on GitHub to get the ideas out there somewhere.

For even more things I've made, see this page. These are just the highlights.

Thanks for visiting my little place on the web. I hope you enjoy your stay!

Where else you can find me

Feel free to contact me over email at rokitna?hotmail.???.

A lot of my online activity is in the form of maintaining my open source repos.

Lately, I spend a lot of my time in the Racket programming language's Slack and Discord communities, as well as hanging out with friends at the Multitap Twitch channel.

If you want to read programming discussions I've participated in, there are several old posts I've made on the Arc Forum as rocketnia and Lambda the Ultimate as Ross Angle.

Sometimes, I update my programming blog.

About Me
In-Browser Utilities
Writing Hosted Here
Me on the Web

© 2005–2010, 2012, 2017, 2021–2022 Ross Angle (Rocketnia)

This page was last updated 13-Apr-2022.