Jan 082012
 

Laser Cut Flower

I’ve been experimenting with laser cutting lately, and starting to get some results I like. It turned out to be more accessible than I expected, and what started as a single-purpose project is growing into an interesting creative outlet (You can follow my experiments on my Etsy store). Here’s what I’ve learned so far. Continue reading »

Oct 162011
 

Here’s a quick post to show off my first project using the LED canvas I have been working on (nicknamed Square Wave). It’s based on the old snake game, where the player controls a snake that slithers around looking for apples that appear and disappear. When he finds (and eats) an apple, he grows. When he crashes into himself, he dies. Continue reading »

Aug 282011
 

Ruby’s standard library includes the Singleton module, which lets you easily implement the singleton pattern. It can make unit testing a little difficult, though, because you cannot easily instantiate different versions of the class. This post will look at three solutions, two of which are hackish/wrong, and one of which is basic and clean (imho). Continue reading »

Aug 272011
 

At Braintree, the developers get every other Friday to work on non-work-related projects of their choosing. Collaboration is encouraged, but even if you end up working on something alone, it’s a great way to spread your excitement about whatever interests you at the moment (and it’s a nice perk to the job).

This week, my project was to get some LED strips unboxed and working. The strips are flexible circuit boards, with full-color LEDs dotting one side. Each “LED” is actually three LEDs clustered together (one red, one green, one blue), and with 21 control bits, they can display more colors than the human eye can distinguish. I bought a variety of strips, with different features, and I don’t know exactly what I’m going to do with them, but step 1 is to learn how to use them. Continue reading »

Jul 292011
 

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 »