ESP8622 based Scheduling IR Thermostat April 2019

Heatpump thermostat scheduling for under $10.

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

A HUD for daily life, powered by a hacked kindle 4.

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

Bypasses the DRM in the CatGenie 120 by emulating the RFID reader with an Arduino.

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

Low power Arduino based Grow Clock.

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

Automated invoice generation for Harvest.

GIF Twist July 2017

Animate time radially around a central point.

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

A configurable filtering/transforming proxy for Webhooks / HTTP requests.

AWS Lambda hosted webook glue to connect services together with minimal overhead using JMESPath transformations and filters.

Black & Light Hugo Theme Jan 2016

A High contrast, text oriented, performant and Javascript-free theme for Hugo.

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

Generate scalable vector graphics representation of tree growth rings.

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

Post updates/messages to slack from the cmd line.

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

Official plugin for Beets to send music queries to your media player.

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

Scan product barcodes to uncover the ethics of its brand.

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

Start a Strava ride with a single tap.

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

Animated heatmap of reported crimes in Halifax.

My entry for the Apps4Halifax Open Data contest which won second place.

Foxish Live RSS December 2010

Chrome/Chromium extension that enables Firefox like RSS handling.