Boris Smus

Software Designer

Musical Mashups in Pure JavaScript

When I want to learn a new song on guitar, I often search for chords online. There are many sites that provide chords and tabs, and Google indexes them nicely. But the quality of chords is often poor, and there’s no way to submit corrections. When I ran a MoinMoin wiki, I kept my fixed versions of songs there. Even making modifications to existing chords was painful though, since it involved hand-editing a plain text file and ensuring that the chords were properly aligned with the lyrics. My preferred solution to this problem is to write a web application to facilitate easy collaborative editing of simple folk/rock/pop songs.

read more…

Robotic Piano Playback

After several weeks of casual spare-time research and implementation, I’ve finally built a fully working piano playback robot. The usage is simple: someone plays or sings an arbitrary monophonic melody, and the robot, parked on a piano bench, will play it back.

read more…

The (Sorry) State of HTML Mail

Web design used to be a black art. Ten years ago, browser differences used to be so dramatic that the only viable solution for an HTML designer was to fall back to the least common denominator for page layout, which was HTML tables. In today’s web design community, using table layouts is considered to be a heinous crime, since most popular modern rendering engines (IE, Gecko and WebKit) are converging to some shared interpretation of web standards. Unlike layout engines on the web, though, rich mail interpreters have remained stagnant, and in some cases have regressed. Without pointing any fingers

read more…

Top 5 Sessions of Web 2.0 Expo NY

Yesterday I got back from the Web 2.0 Expo in New York. There were many interesting sessions, and I, for the most part, took notes! Here is a short list of my five favorite speakers, in no particular order:

read more…