Boris Smus

Software Designer

Prototyping with Wii Remotes in Python

I’ve been working on a couple of researchy projects involving gait recognition and running foot strike analysis. For my proof of concept, I turned to the wiimote, everyone’s favorite physical interaction prototyping input device. Wiimotes are portable and rugged, and thus well suited to high-intensity activities like running. They attach easily to legs with a physio band, although the elastic tension tends to cut off circulation. No big deal, though… it’s For Science!
read more…

Nike+ Hacking with Python

Nike+ is a clever little system designed by Apple and Nike to infer the runner’s speed and augment the running experience. The runner places a small chip in his shoe which transmits data to the iPod using a proprietary RF-based protocol. The chip contains a piezoelectric cell which measures how long the foot exerted pressure on the ground. According to Apple’s FAQ, this contact time is directly related to your pace. In this post I provide a snippet of python code for collecting data through Sparkfun’s adapter.
read more…

Visualizing MTurk Requesters

I signed up to do one month of paid research at CMU|Portugal before spring classes start. My task boils down to creating interesting visualizations. The bad news is that I have no experience visualizing data and the dataset I’m to visualize hasn’t yet been collected. Fortunately, I’ve always been theoretically interested in data visualization, so I was happy to have a solid excuse to explore the subject. All I needed was a sufficiently rich data set, mad skills and a bit of inspiration. read more…

Ubiquitous Drums

Look at the riders of any city bus. Many of them are plugged into their music players, tapping away to the beat. I propose to augment our natural love of rhythm into a ubiquitous wearable drum system. The target user of this system isn’t only the typical rhythm loving bus rider, but also an amateur drummer. Drum kits are heavy and unwieldy, making them difficult to transport to a jam session. The proposed system can also act as a stand-in for a full drum-kit for quick, impromptu jamming. read more…

Generating Guitar Chord Diagrams

One day I wanted to add a feature to Guitar Unleashed which exists in some of the better guitar tab sites. When a user hovers over a chord, they are shown a diagram representing the guitar fret with overlaid finger positions required to produce this chord.

Many of the most popular sites do this by showing  a crude, plain-text representation of the chord. For example, a C chord is shown as follows:

read more…