A new type of command-line shell, written in Rust by an amazing team of top-notch programmers (and me). Check out the website to learn more about why Nushell is great; I think it’s a massive step forward from Bash and PowerShell.

I work on many aspects of Nushell: performance, SQLite support, CI, and native Windows and Linux integration.

Like View Source, but for terminal escape sequences. You launch the shell of your choice in Escape Artist and it shows you all the invisible ANSI codes sent to your terminal in real time.

A handy little cross-platform tool written in Rust.

A fast terminal UI for systemd services and their logs, written in Rust with Ratatui.

MinimalWebView and related projects

An experiment to see how far I can push a slim Windows application that uses C# for the hosting logic and web UI for the front-end.

I could embed web UI in a normal .NET GUI app. But WinForms and WPF are big dependencies and they’re mostly unnecessary for web UI. Why not see how far we can get with a good ol’ Win32 message pump?

ReiTunes (GitHub)

My personal music library system with a local-first client and a server. It started out as a bored-during-the-pandemic project and now I use it daily.

The local-first functionality was a huge source of complexity; the library is essentially a distributed database that can be synchronized between any 2 clients (or a client and the server). But it works great.

This Website

Built with Hugo and Tailwind CSS. You can read more about it here. It has a dark mode using the prefers-color-scheme media query and the Solarized colour scheme, because I love Solarized Dark.

I wanted to explore UI ideas for ETL. Can we make complex data transformations as easy to use as spreadsheets? What if we had tools to quickly diagnose+fix common issues in data pipelines?

To answer those questions, I built an interactive prototype in React that parses JS formulas as they’re edited. More info here.

Abundant Housing Vancouver Letter System

  1. An Angular front-end that generates personalized letters in support of housing projects
  2. A Serverless Framework back-end that uses Slack and AWS (Lambda, SES, S3, Athena) to review+send+analyze those letters

It’s been used over 1000 times, and most recently it was adopted by the BC Non-Profit Housing Association for their Build Homes Not Barriers campaign. More info here.

An interactive map of every property in Vancouver using Mapbox, Eric Fischer’s remarkable Tippecanoe, and a small back-end to serve the map tiles.

Sadly this died when Heroku’s free tier went away. I’ll find another host someday.

Everything Else

Drop by GitHub to see what else I’ve been up to lately.

headshot

Cities & Code

Top Categories

View all categories