Author Archive

The Importance Of Good Code Deployment

Thoroughly testing software is a good idea. Yes, that’s a pretty obvious statement; however, it’s one that doesn’t seem to be fully understood all the time. I understand bugs popping up under the most random of circumstances. That’s almost expected; however, when a bug pops up when a program is running through set-up, that’s unacceptable.

We’re working on a project that requires the Drupal platform for a client. The client requires that new stories that are created on Drupal will be posted to Twitter and Facebook. That should be simple enough as there are modules to do this using Drupal. Wrong.

I’ve now spent a good two hours trying to set up Twitter integration with the site. Not only was the module completely unintuitive, that is, I expected it to post immediately after I set up my account and created a story. No, it required more modules that needed to be installed, but weren’t required upon activation as well as setting up a user’s specific twitter account, creating special triggers, and a lot of debugging. This is where my frustration stems from.

Why is it that once I hit publish I’m immediately greeted by that all too reassuring PHP error handler. A Google search quickly turned up multiple users experiencing the same problem with the creator saying he fixed it in the next release. After I fixed the first bug, another came up of the same nature. Luckily, there was another patch on the same page as the original problem.

So is the fun of using open-source, community driven applications

Leave a Comment

Physical Computing – Art From Necessity

Physical Computing is an art that blends software, hardware, and human interaction. I’ve been incredibly interested in this process from both an art standpoint (I’m a musician and a designer at heart) and from the software and hardware standpoint (I’ve been programming for as long as I can remember).

I bought the Arduino platform as well as the Parallax RFID reader and keychain tags a while ago when I first got serious about making the jump into the hardware side of things. During that time, I’ve created a device that will Tweet what beer you pull out of the fridge (Code, I need to put the movie up).

In our apartment, I have a cat and my roommate has a dog. Besides the occasional roughhousing between them, we have stumbled upon another problem. While my cat can jump to a high place to get his food, the dog cannot. In fact, we have yet to find a place to keep the dog’s food where the cat cannot get to it. This has become a problem as 1)I don’t want my cat to get sick eating dog food and 2)my roommate would rather not pay for my cat’s dinner.

Our ultimate plan is to let the pets roam free; however, we can’t leave their food unattended or each one will eat the other’s food. After verbalizing the problem, I immediately had the solution:

We will put both bowls out in the kitchen (this isn’t necessary, nor is it desired as the cat, for the moment, spends most of his day in my room). We will also rig up a piece of cardboard on a stick that’s the diameter of the bowls. Each bowl will have it’s own cardboard cover. We’ll attach the sticks to servos and connect the servos to the Arduino. Additionally, we’ll have the RFID reader plugged into the Arduino, and we’ll put the tags on the pets. When a pet comes next to the bowl, the RFID reader will pick up his tag and know, based on the tag’s serial number, which arm to lift. They will only be able to get their own food (unless they decide to collude, walk together, and eat the other’s food). Problem solved!

I know there’s probably a much simpler, non-technical solution, but where’s the fun in that :P

Leave a Comment