Boris Smus

Software Designer

Guitar Unleashed

I’ve been collaborating with my dad on an experimental web-based guitar chord editing service. It’s still a work in progress, but we are ready to launch a beta version. Please visit http://www.guitarunleashed.com/ to check it out and provide feedback.

read more…

Clean drag and drop upload in Safari

Somehow I often find myself arguing in defense of the web browser as a viable platform for developing rich applications. In many such discussions, the issue of interoperability with the desktop arises. Someone will astutely observe that they can’t even drag and drop from their OS file manager into their browser, and all hell will break loose.

read more…

Performance of Canvas versus SVG

At the core of the traditional HTML/CSS developer’s toolkit is a set of nested boxes describing offset, margin, border and padding, known as the box model. Variations on the box theme are sufficient to describe most page layouts, but in some complex applications, it’s necessary to render something more interesting, like diagonal lines, or polygons. There are currently two relatively well-supported web graphics technologies: SVG and Canvas. There are significant performance differences, however, which I would like to discuss in this article.

read more…

I See Dead CSS

I wanted a tool that would analyze a complete web site, and report what CSS selectors and IDs are dead. By dead, I mean one of two things — either the ID or selector is referenced from the HTML and undefined in the CSS or it is defined in the CSS but never referenced in the HTML.

read more…

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…