Who is Paul Dix?
I’m the author of Service Oriented Design with Ruby and Rails, a VP at a financial data startup in NYC called Benchmark Solutions, the organizer of the NYC Machine Learning meetup, and the author of several Ruby gems including Typhoeus and Feedzirra. My programming interests generally fall into one of two categories: infrastructure and scaling, or machine learning. My formal background is in computer science with a specialization in AI, NLP, Search, and Machine Learning.
Where and when did you start programming?
My first start with programming was in 4th grade with a Commodore 64C and Basic. I didn’t do much then, but it was enough to keep me interested for a while. After high school I did more IT stuff then moved into testing a wrote batch and VBScript for automation (Windows tools, I know, but it was for testing Windows 2000). After that I kept with the Microsoft stuff for a while moving into .NET and then finally ditching that for Ruby and open source tools in 2005.
Ruby because it allows me to express ideas, algorithms, and business logic in the least amount of code with the least amount of friction. In 2005 when I was looking around for something other than .NET, I initially looked at Python. I read through Dive into Python and wrote some scripts. After about a month I decided to have a look at Ruby. It took me less than my first session of looking at a book and writing code to realize that it was so much more how I wanted to express ideas than the way Python forced on you. That’s why dynamic languages are great, they don’t force the programmer to write code in a specific way. Python is dynamic, but it still has these weird restrictions.
What does your typical day look like?
Arrive around 9, read email and news quickly. Then do a standup with the team. At that point I’ll either dive into code solo or pair up with someone. I spend probably about 50% pairing and 50% solo. Either way I spend the vast majority of my day actually writing code. Also, for the past month or so I’ve only been working in Scala.
What do you do in your free time?
My free time depends entirely on if I’ve picked up a side project of some sort. When I was writing the book that was pretty much all consuming on my free time. Now I’m taking some time to hang out with friends, enjoy the restaurants of NYC, play in bowling league, and go to meetups around the city (Ruby, Scala, Machine Learning, Predictive Analytics). I’m kicking around a few side projects to start up. Mainly focused around working with machine learning (graphical models and time series analysis in particular).
Current favorite apps?
Chrome, Gmail, Foursquare, Twitter, Pivotal Tracker, Kindle, Quicksilver, Textmate
What OS do you prefer?
Server side it’s Ubuntu, client side it’s OS X.
Small picture for your Workplace?
27″ Apple LED Cinema Display, Mac Pro, two keyboards and mice.
Favorite: Color, Font, Language, JS Framework?
Favorite color? I have no eye for that sort of thing. Maybe if I was cool I’d give a hex value. I suppose some form of blue. Font it easy, Helvetica, duh! Language is Ruby for most things, Scala for some infrastructure, and C for the hard core computations. JQuery for JS, but I don’t get the chance to write JS that often these days.
Name something that has inspired you recently?
I’m currently reading Where Good Ideas Come From by Steven Johnson. It’s really interesting and I’m getting inspired to start writing again (for my blog) and really digging into probabilistic graphical models.
What do you prefer (and why)? Freelance work or full time employment?
I’ve done both freelance and full time and my preference shifts from time to time. Right now I’d say I have a preference for full time because it allows me to dig deep into a problem space. Freelance is nice when I want to check out different projects.
What are your personal projects and goals for 2011?
For 2011 I’d like to pick back up on writing technical stuff for my blog, spend time studying and working with graphical models, and probably pick up R. I’d like to produce some open source libraries in the machine learning space. I’ve also always wanted to create a port of NumPy and SciPy for Ruby, but I’m not sure if I’m up for that task (unless someone wants to help).