Auto-timed Fish Tank Light

My roommates and I have a fish.

This is our fish.
Sidon is our fish.

We’ve managed to keep him alive and more or less healthy for the past two years, but one thing we’re not super reliable about is turning on and off the tank light, which (I’m told) is important for fish circadian rhythms or something. (I’m not a biologist; ask the roommates!)

To solve this, I used an ESP8266 to automatically turn on the lights in the morning and turn them off in the evening. Because the ESP doesn’t have a built-in RTC, I sync every ten minutes with the NIST NTP servers (which likely makes this the most accurate timekeeping device in the house other than cell phones!) and fade the lights off at 7am and off at 9pm.


More photos:

Using a 5.25″ Floppy as a MIDI instrument

A friend and I recently uncovered a 1992-ish PC, boasting 4MB of RAM, a nearly 500MB hard disk (aftermarket, we believe), and a dual 5.25/3.5″ floppy drive! Stymied by the lack of a compatible mouse (as this was well before the era of USB devices), we could boot from it, but not operate it. So after wondering for a bit what we could possibly do with it, we decided to take out the floppy and try to adapt it for a modern computer.

Continue reading Using a 5.25″ Floppy as a MIDI instrument

Building a MIDI Pedalboard

Fact: Weber Music Hall has a MIDI pedalboard. If memory serves it might be the Roland PK-6. Or maybe not.

Fact: It’s awesome.

Fact: I want one.

Fact: I don’t have the many many hundreds of dollars it would cost to spend on things like MIDI pedalboards. However, I do have several junked organs’ worth of components and a seeming excess of free time.

Therefore: A midi pedalboard! Building it was surprisingly simple and straightforward (that is, after a two hour diversion of several circuit rebuilds necessitated by the assumption that the circuit was not being built around a faulty shift register. Spoiler alert: it was!).

Continue reading Building a MIDI Pedalboard

ESP8266 Light Switch: A Few Revisions



Web-controlled lights: Who doesn’t need ’em? I’d had my eye on something of the sort when I made the decision that none of the prebuilts available met my needs…I was going to have to build my own.

Specifically, I wanted a couple of particularly hard-to-find features:

  • I wanted these to be controllable via a well-documented and easy-to-use API (preferably something fairly REST-compliant).
  • I wanted something reasonably unlikely to die when I needed it to work (and I wanted to be able to fix it when it inevitably did).
  • I wanted to be able to securely share access with a handful of people, but not leave it wide-open for the internet to abuse.
  • I wanted to control not only the standard switched 120v overhead light but also some custom LED RGB lighting.

Continue reading ESP8266 Light Switch: A Few Revisions

New Relic and AppFog v2

CenturyLink’s AppFog v2 is supposed to have great support for New Relic. However, their documentation leaves a bit to be desired. Don’t be dissuaded: the setup process is almost comically simple. Here are the steps to set up AppFog with New Relic:

  • First, sign up for New Relic (if you haven’t already) at
  • Go to to the “APM” (Application Performance Monitoring) section to create a new app.
  • Select your language.
  • Under step 1, click Reveal License Key.

That’s all we need from New Relic. Now it’s on to AppFog:

  • cf set-env [your-app-name] NEWRELIC_LICENSE: [your license key]

And you’re done! In about five minutes, the stats should start rolling in.

(A note: In my case, New Relic kept a warning on that page that no data had been received, so the app might not have been set up correctly. I bypassed this and manually reloaded, and it worked regardless.)

Piano Heatmap Analysis (Part 1)

I have always been curious about what the most-used key on the piano is. Songs like Billy Joel’s “Prelude” (C4) or Beethoven’s “Für Elise” (A2) must throw off averages significantly, especially when practiced repeatedly, right? Also, I thought it would be cool to figure out how many keys total have been played: they should add up quickly! There do exist programs that do this for computer keyboards (and here are my stats, if somewhat out of date), but as far as I could tell there wasn’t a good option for a piano keyboard.

Continue reading Piano Heatmap Analysis (Part 1)

Solving Windows Update Error 8024402F

Recently, Windows Update started failing for me on a few different computers, a few months apart. Site after site promised result after result, but led only to failure after failure. I accumulated a list of different recommendations, and what eventually worked for me: Using a VPN to avoid what seemed to be network-induced restrictions.
Continue reading Solving Windows Update Error 8024402F

Enabling Hotspot on a Rooted Sprint Galaxy S6

While the transition from my S4 to S6 has gone generally smoothly, I do miss the lack of support for the Xposed framework, specifically, the ability to create a wireless hotspot. However, there is a simple fix, with very little technical knowledge required (taken with gratitude from a post buried on xda-developers)

Continue reading Enabling Hotspot on a Rooted Sprint Galaxy S6