Uses This

Interview

What do people use to get the job done?

Paul Lamere

Paul Lamere

Music hacker (The Echo Nest)

Who are you, and what do you do?

I'm an international executive music hacker - that is, I go to lots of hackathons like Music Hack Day where I combine my two passions of music and programming to create music hacks like The Infinite Jukebox, Boil the Frog and The Bonhamizer. When I am not at a hackathon, I'm usually at The Echo Nest office where I work and play all day with big music data. I also write a blog called Music Machinery.

What hardware do you use?

I do all my programming on a 2 year old 17" MacBook Pro, which, sadly, they no longer make. I really like the bigger screen, so even though I travel quite a bit, I'm willing to carry the extra pounds for the extra screen size.

For my ears I have a pair of Beats Studio headphones for when I am on the road, and a pair of Behringer MS40 Digital Monitor Speakers for when I am at my desk. I have an iPad 3 which I only use for book reading and an iPhone 5S that I use for everything but programming. I'll sometimes travel with unusual electronic music instruments like the Stylophone or the Korg Monotron. I put all my gear in a Wenger Pegasus Backpack.

And what software?

For most of my coding, I use vim in a terminal window. I mostly debug by thinking and with print statements. I couldn't get the job done without the many of the Unix text processing commands such as grep, sed, diff, sort and awk. My go-to language for processing big buckets of data is Python. I use gnuplot for quick data plots, and use graphviz for visualizing graphs and networks. For back-end webserver stuff, I use CherryPy. I may have 50 different servers running on a machine, so I use Pound as a reverse proxy to send client requests to the correct server.

For web work, I typically rely on jQuery, Underscore and Bootstrap for DOM sanity. I'll use Raphaƫl for drawing on the 2D canvas and Three.js when I want to get all 3 dimensional. For playing music in my apps I rely on the Rdio API and the Web Audio API. I use Audacity and ffmpeg for audio processing.

Although I tend to avoid using IDEs I will use Xcode when writing for iOS and Netbeans when writing Java. I use GitHub for source control since that's what all the cool kids are using nowadays. I deploy my web apps to S3 using Amazon's S3 tools.

For organizing hackathons, I use Eventbrite for ticketing and registration and Hacker League for managing the event. I use Wordpress to host my blog.

What would be your dream setup?

My current setup is pretty close to my dream setup already. I like to have everything I need to code with me at all times so I don't need a big desktop machine or display. However, my 17" laptop is too big to use on a plane, so having an 11" or 13" MacBook Air for those times would pretty nifty.