Hot Or Not: Back Up, Kind Of

A while back I built my own thermostat using an Arduino, nodejs, and Google Calendar. It worked really well, but when I moved to a new apartment last year I couldn’t use it (because I now have window units instead of centralized heating/AC). I finally got around to putting it back together this weekend, but I had to rip out the (now unused) thermostat code. What was a Google-Calendar-controlled thermostat is now just a thermometer. Not nearly as cool, but I’m at least glad to have the portion that makes sense back up. You can see it here. Continue reading Hot Or Not: Back Up, Kind Of

Coffeescript, VowsJS, & Asynchronous Testing

Before releasing my coffeescript RRD library, I needed to write some tests around it (RDT: Release-Driven Testing). I went with Vows (in coffeescript), and I had no problems writing tests around the few synchronous (gasp) functions, but the asynchronous parts just didn’t work. At first, I punted on it, and switched my vows from coffeescript to javascript (which all the docs/examples are in). Later, when I came back to it, I was able to figure out the problem, and a dirty hack to get around it. Continue reading Coffeescript, VowsJS, & Asynchronous Testing

Fork & Extend vs. Build Your Own, a NodeJS Example

For Hot or Not, I wanted to leverage as much existing code (open-source libraries) as possible, so I could focus on the more interesting application logic. I found a library to work with the database (RRD), but there were a few things about it that didn’t fit my needs, so I ended up releasing a new library. What follows are the reasons I decided to build my own solution, and the downsides to that course of action. Continue reading Fork & Extend vs. Build Your Own, a NodeJS Example