Projects

An incomplete list in semi-chronological order.

Repotracer

Ever wanted to plot, eg how many tests you had in your codebase over time? Repotracer automates the process of collecting stats on your repo by checking out the last commit of each day, and running whichever stat collection script you want to measure. It’s invaluable for long-running technical debt projects so you can plot eg, number of deprecated function calls as you are removing them.

Because it runs any script you give it, you can do fancy things like measure compile time over the last year, or run a benchmark. Then it will help you incrementally maintain the stats over time, and comes built-in with a basic plot the your stats.

Links: Blog Post, Project Page.

Zoxy Proxy

Ever think about how we have much nicer DX & nicer tech than 2 decades ago, but we still have to type localhost:3030 into our browsers every time we develop locally? Zoxy is a tiny MacOs background app that lets you instead type the devserver’s name, like rails.z, and it’ll remap + proxy you to localhost:3000. It comes built-in with a bunch of default bindings like next.z, django.z, etc, and you can add your own.

Check it out here.

flexi.chat

Started right around the beginning of the pandemic. Flexi.chat is a videoconferecing application with a schedule and flexible speaking formats. For example, you can have everyone in the meeting speak one after the other (the app handles muting and un-muting the right people), then repeatedly shuffle people into pairs so that everyone gets to talk 1-on-1 with everyone else. Or have a “speed-dating” style format for the first 20 minutes of your remote meetup, before bringing everyone back to the main room.

Available at https://flexi.chat, and on gitlab.

Recurse Center

I went to the Recurse Center from January to mid-March 2020, as part of the Winter 1 2020 batch. There I met a lot of cool people, upskilled, and made these projects

  • Paint By Wasm, a paint by numbers generator in JS and Rust
  • k4a-sys, a published package with Rust bindings to the Azure Kinect SDK
  • k4a-rs, a Rust safe wrapper to k4-sys (never finished)
  • Re-started puzzle solving, by making a puzzle generator with D3 and Svelte

Talks about Coz

I gave a talk at Rust MTL about Coz (and its Rust library coz-rs), the causal profiler that finds bottlenecks in your code for you. I gave an in-depth talk about the paper behind it at Papers We Love Montreal.

Fealines

Two people wearing the interaxon muse Fealines was a cross-platform app for collecting EEG data for people who own the Interaxon Muse.

PocketSangha

Four screenshots of the pocketsangha application I made an app for meditators to talk to each other and I showed the prototype at Mind and Life 2014. There is a poster with more information at http://pocketsangha.com/poster.pdf

github

Voronoify

A picture of flowers filtered through the voronoify filter

My first ‘open-source’ project. I had this idea for an image filter based on the voronoi transform. It picks random points on an image. Then, for each pixel in my new image, I color it the same color as the nearest point.

github

Clover Hashpan

I submitted an entry to a programming contest where the goal was to crack a bunch of SHA1s of fake credit card numbers. I wanted to use rainbow tables, and there is already a library to generate them(rainbowCrack), however it it didn’t support the rules I wanted so I made several modifications to the C++ code. I also managed to halve the space I needed, which was nice as the tables were huge (10GB).

github

Spire 2014

I worked at Spire right before their launch in 2014. I helped benchmark some data analysis algorithms, and implement a few inference algorithms. I wrote the first version of the step counter algorithm.

Transcriptic 2013

I was an intern at Transcriptic a year after it started. I helped program thermocycler drivers in Scala.