Miscallaneous tinkering with languages, programs and frameworks.


  • Video Games with JavaScript

    I enjoy making games much more than playing them these days. As I want to start making games and experiences for other people, I have decided to utilize the web and modern JavaScript to deliver trinkets. Current proto-demo for Brutal Ice at experiments/brutal-ice. (Do not open on mobile.)

  • Three.js and Input Polling

    Demo live at experiments/cubefield.

  • Calligraphy with Inkscape

    With the goal of replacing my questionably-proprietary R, I decided to scrawl a fresh svg in InkScape. After an embarrassing number of revisions and rework, gravitating further away then back towards the original design, here is the final product.

Current Activity

I am presently busy learning things for upcoming contributions to projects related to XAlgoAuthor and Lichen, projects maintained by the Xalgorithms alliance.

During the week, I spend some of my spare and commuting time (when I’m not tinkering with GNU/Linux,) to complete small projects. Here are some planned projects:

  1. TechniColor for Engineers - A desktop color-picking tool that shows both the hex code and the common name for a color onscreen, so you can direct users to the aubergine colored button.
  2. todo.ez - Project management software that sweeps a repository for TODO tags, and displays information about each, including syntax-highlighted next ‘n’ lines or the next function, and adds severity/priority data to the TODO.
  3. rtouch - An option for touch that initializes a file ending with a recognized format with generic (modifiable,) boilerplate.
  4. gacp - Simple script that checks for temporary files, adds, commits (-m provides message,) and pushes to a repo. Basic implementation could just be an alias. For solo vcs usage.
  5. Vulkan, Godot, GameMaker, LibGDX - Many tests and small games, will post here when near completion.

Hackathon Projects

  1. MLH uOttaHack 2018 - Built “LightShow.eth”, an interactive public art project, leveraging the ethereum blockchain, solidity, node.js and arduino/C++.
  2. Pebble Hackathon 2016 - Implemented a simple watchface that showed the date, time, connection state and adapted to different watch models (round, square.)

Web Experiments

I have only been learning bits and pieces of web development (html5/CSS, SASS, Node.js, Rails, etc…) for a month or so, here are some of the basic things I have created in that time:

  1. CSS Grid front page prototype
  2. My old ‘resume’ website. (Out of date.)
  3. Canvas rendering tests.
  4. Brown Bears HTML5 learning page.

More WebGL experiments are in the pipeline.

PSA: Replace CapsLock with ESC for reduced pinkie wear. As a vim user, having CAPS mapped to ESC greatly reduces the distance my finger needs to travel to change modes, and I don’t seem to use CapsLock for much.

X11: One step.

setxkbmap -option caps:escape

TTY: Three steps.

sudo apt-get install console-data
echo "keycode 58 = Escape" > ~/.keystrings
sudo loadkeys ~/.keystrings

Windows: Variable steps.

Download and install 'keytweak', click the GUI until CAPS is mapped to ESC.

Check out this list of my favourite programming articles;


  1. 20181101 0734h: Video Games with JavaScript
  2. 20181001 0312h: Three.js and Input Polling
  3. 20180707 1320h: Calligraphy with Inkscape
  4. 20180629 1521h: Custom ShareThis Buttons
  5. 20180219 1213h: Attending UOttaHack 2018
  6. 20170613 2201h: LibGDX Experiment: Battle Commander Part 04
  7. 20170613 0120h: LibGDX Experiment: Battle Commander Part 03
  8. 20170611 2234h: LibGDX Experiment: Battle Commander Part 02
  9. 20170604 0626h: LibGDX Experiment: Battle Commander, Part 01
  10. 20170604 0355h: Jekyll Setup 02