What are they Using?

Philip Jacob

I first met Phil Jacob on a consulting gig (yes, I got paid, but that was a long time ago), and quickly discovered that he was one of our most careful readers. Subsequently he also became one of our most constructive critics -- in the best sense of the word.

Phil is a born connoisseur. He applies that nature as founder and CTO of StyleFeeder, a startup with a "personal shopping engine" that combines machine learning techniques and social data to provide users with a richer shopping experience. Among the features under StyleFeeder's hood is one that personalizes search results from a dataset of over 10M products using a custom built recommendation engine. They also have a mature data tier sharded across 100 MySQL databases in order to handle their scalability requirements. Given that StyleFeeder is only six people, they've done a lot with a little over the past two years. Phil is also a technology advisor to PRX, a non-profit licensing and distribution platform for public radio content. He's also married to a well-known food blogger, Beatrice Peltre, who runs La Tartine Gourmande, so at least he eats well.

When I asked him to share some of what he's using, he concentrated his report on a single application -- music:

Without a doubt, the device that attracts the most attention from guests visiting my house is the Slim Devices Squeezebox sitting in the living room. They usually don't notice it at first, but there's always that "double take" moment when I change the music using my laptop or my iPod Touch.

I store my music in the basement on a Dell machine running Ubuntu with a bunch of Firewire disks attached for media files. This server runs Slim Devices' GPL-licensed SqueezeCenter software, which is a daemon that is mostly written in Perl, surprisingly enough. I happen to know Perl quite well as I programmed with it on a full time basis for many years, so I was actually quite reluctant to buy this device when I first saw it. What I desperately wanted to avoid was a situation that required work just to get my music playing. And imagine a dinner party going silent because of a segfault in your own code!

I did, however, end up making a few changes to the software, which was only possible due to the open nature of it (at one point, I had reconfigured it to use mplayer internally rather than lame because mplayer wasn't as abusive to the CPU). One thing I really like about it is that I have a plugin installed that keeps a log of everything that gets played, which means that I could actually tell you what I was playing at 8:14pm last Thursday. One of my forthcoming weekend projects is to syndicate this onto my personal website, probably with a programming language that I'm looking to learn (OCaml is near the top of my list these days).

I access the music on my basement server when I'm at work by portforwarding HTTP connections on my router to either Apache or to the SqueezeCenter's built-in streaming capabilities, depending on what I want to do. My router runs dd-wrt, a Linux-based firmware that runs on various types of home routers. It's very stable and provides a bunch of cool features that will appeal to power users.

Asked for last words on the subject, Phil adds, "We run RHEL and CentOS at StyleFeeder, some on EC2 and some at Contegix in St. Louis. We run behind Apache and nginx on the web tier. We own zero servers and run dd-wrt on our office lan as well....Typing one-handed with a baby in the other..." Babies are a new hack for Phil.

Next, a new development in What Are They Using? -- namely, you. If you're interested in having your personal usage featured here, write to [email protected] and give us a brief rundown of what you're up to.

- Doc Searls

Images for the piece.