ESP8622 based Scheduling IR Thermostat April 2019
Most heatpumps have little to no support for scheduling temperature changes. This project uses an ESP to pull your schedule from github and apply it by sending commands to the heatpump via IR (just like the remote).
Life Dashboard February 2019
Second hand Kindles are a cheap source of large(ish) e-ink displays. This project uses Rust cross compiled the Kindles ARM-7 archetecture to download and present information pertinant to my daily life such as: calendar events, daily spending, surf forecast, etc.
CatGenie 120 Cartridge Reader Emulator July 2018
The CatGenie is an self cleaning cat litter box. It locks users into using its own cleaning solution via RFID tags embeded in the carterages. I reverse engeneered the communication method and wrote code to emulate it using an Arduino.
Arduino based Grow Clock April 2018
A grow clock is a simple visual indicator of day and night. The goal is to convince them to sleep till a humane hour.
My version was made to be recyclable, since these devices are only useful for the short time before children can read a traditional clock.
Scheduled Harvest Invoice Generation Nov 2017
GIF Twist July 2017
These animations contain small slices of every frame from the input animation in each output frame. Each one is offset based on its occurance and rotated around the center.
It produces interesting results when used on stationary timelapses and is a fun way to visualize the passing of time.
Webhook Liaison April 2016
Black & Light Hugo Theme Jan 2016
I ported my blog from Octopress to Hugo + GitHub pages and brought the theme I originally created with me. Its since been added to the official Hugo theme repository.
SVG Tree Rings Auguest 2015
Tree rings are artifacts of a trees life. Each ring is the record of how favorable the growing conditions were in 2 dimensions. I tried to replicate this programatically to generate realistic tree rings. I wasn't happy with the results at the time but in hindsight I think they look pretty good.
Slackline Jul 2015
When working remotely it can encourage community and colaboraton if you regularly update a channel with what you are woring on. Slackline lets you do this with a single command right from your terminal to minimize disruption.
Markov-chain generator in Clojure January 2015
A Markov-chain implementation in Clojure that I trained using Clojure reference documents and childrens books by Roald Dahl. It generates a small snippit of wisdom each day and posts to Tumblr.
Beets Play Plugin April 2016
Beets is a cli music manager and tagger. I wrote a plugin that lets you play the result of a music query in your media player. Since then it has been added to the list of officially supported Beets plugins and is actively maintained by the Beets community.
Ethical Barcode App April 2014
Ethical Barcode exposes the environmental, social and ethical ramifications of the products you buy. It is backed by a large suite of web crawlers that collect and update research from non-profits to provide users with relevant data as they shop.
Ethical Barcode is unique in this space as it works at the brand level. This allows the app the provide company level details by linking the barcode to the brand and then follow its ownership chain to expose potential issues at each level.
One Tap Record for Strava April 2014
Small launcher for Strava that uses its NFC intents to start the app and a ride at the same time.
Identicon Generator and Android App November 2013
I wrote an identicon generator after becoming interested in Github implementation shortly after launch. I then wrapped it in an Android app to allow users to generate identicons for thier contact lists.
Halifax Crime Heatmap September 2013
My entry for the Apps4Halifax Open Data contest which won second place.