Color Graph

I recently developed a tool to help me work through some math that was proving difficult to visualize any other way. You can use this tool here:

Using this webpage, you can describe a JavaScript function accepting two inputs, X and Y, and see its output or outputs visualized as color intensities. The first time you load the page, a more detailed help text should appear. You can make the help text appear again at any time by clicking the “?” question mark help button in the bottom-right corner of the page.

Screenshot of the color graph webpage

Nanopineapple 2018

During November 2018 I participated in NaNoWadMo, a challenge inspired by NaNoWriMo, or National Novel Writing Month. Where NaNoWriMo has participants drafting a fifty-thousand-word novel in thirty days, NaNoWadMo has participants performing a very different feat, comparable in difficulty: NaNoWadMo is all about creating a megawad – a single package of typically twenty-seven or thirty-two maps, depending on specifically what game the maps are for – in thirty days. I made a thirty-two map megawad for Doom 2! In December, I fixed some problems and added some polish, and then on New Year’s Day I made the most recent and likely final release.

Check out the Nanopineapple 2018 post on the Doomworld forums to find download links and other information about the megawad:

Screenshot of MAP25 of Nanopineapple 2018Screenshot of MAP25 of Nanopineapple 2018, “Mt. Brimstone”.
Screenshot of MAP06 of Nanopineapple 2018.Screenshot of MAP06 of Nanopineapple 2018, “Corridor Horror”.
Screenshot of MAP04 of Nanopineapple 2018.Screenshot of MAP04 of Nanopineapple 2018, “Courtyard”.

¶City – Ludum Dare #41

I made a game in less than 48 hours for Ludum Dare #41! You can learn more at the Ludum Dare compo page, or if you’d rather you can directly go and play ¶City here.

Ludum Dare #41’s theme was “Combine 2 Incompatible Genres”, so I created ¶City, the Text-Based City-Building Simulation RPG. In it you are charged with growing and maintaining a city with mechanics comparable to Simcity games, but presented with a much more personal (and more wordy) perspective.

¶City is played in your modern internet browser supporting ES6 JavaScript syntax. It was tested using Chrome; I recommend using Chrome to play unless you’re sure about your browser’s full support of ES6 functionality.


I published my first package on npm recently, and it became stable and well-documented enough for a v1.0 release!

Canary is an automated testing tool for JavaScript code. I created Canary because existing JavaScript testing tools didn’t quite agree with my philosophy toward writing automated tests.

Canary on GitHub:
Canary on npm:
Canary on readthedocs: