Who are you, and what do you do?
I'm a programmer, musician, author, and speaker. I currently live in Washington DC working as SVP of Technology for LivingSocial. My wife and I are soon moving to Berlin to work for an as-yet undisclosed startup as CTO. I sometimes organize conferences such as RubyConf and RailsConf, but I've passed the proverbial baton on those over the past couple of years in favor of more time watching The Voice.
What hardware do you use?
I have a MacBook Air 11", MacBook Air 13", MacBook Pro 15", Mac Pro, Chromebook, iPad Mini, 24" iMac, hideous HP laptop running Ubuntu, iPhone 4s, Nexus 7, and a Windows Surface with the terrible non-clicky keyboard cover. I actually use all of these. I'm not sure why. I use most of them as cheap web terminals. I'm probably not a power user of any of them. I like diversity in a technology environment even though it means I never deeply learn an environment and I'm always a little frustrated.
When I travel (which I do a lot), I always carry with me some form or two of connectivity so I can plug my computer into the television. Lately, my wife and I have started carrying an Apple TV for long trips as well. We have two in the house. We love these little devices. Perfect for watching TV and movies while tired and bored in a hotel room.
I should mention that with the iPhone 4s I prefer not to use it as a phone. Speaking on the phone is one of my least favorite activities. I use the phone as an emergency contact system, an internet-connected computer, and occasionally as something to contact other people with. If you call my phone number, I will almost definitely not answer. If you leave a voice mail, I'll listen to it, but I'll be annoyed as I do. Sorry.
For music I play a Yamaha Custom Alto Saxophone from the early 90s. This is about as uncool as you can possibly get when it comes to pro-level saxophones, but the damn things just sounds good. I play guitar a lot too, and recently got myself a Brian May signature model. Brian May was the guitarist for Queen. He's really good but not my cup of tea specifically. That makes it weird to have a Brian May signature guitar. People say, "Oh are you a big Queen fan?". Nope. It's just a good guitar. That's kind of like wearing a concert t-shirt for a band you don't like just because it's comfortable. Except it's much more expensive than a concert t-shirt. Oh well.
For music recording and the rare podcast interview, I use a MOTU Ultralite. I have a variety of professional quality microphones. If you do a podcast interview with me, you may not be impressed by what I say, but it's going to sound really good. I mostly use this setup to record myself singing the many vocal parts for the strange music I write.
And what software?
I use Google apps for most of my work. I used to use Evernote, but the sync stopped working and I never bothered to find out why. Instead I use Google Docs. I manage my ever-running list of stuff to do, think about, learn, etc. in Wunderlist, which I can run on every one of the ridiculous array of hardware devices I mentioned before. It's really important to get things into offline storage as opposed to the memory your mind provides as soon as you can. Trying to remember everything creates unnecessary stress.
Most of my work involves sending email, chatting with people online, and editing text. For editing text, I use vim. Again, I'm not really a power user of vim. I'm a very proficient vi user that probably still thinks of vim as new-fangled. Occasionally, I download some kind of plugin and configure it. Then I forget I have it and I just go about my editing as if I'm using vi again. Today, I set up Scala editing for vim using this thing called Vundle It appears to be based on Ruby's bundler, but it lets you manage your vim plugins. I set up exactly one plugin with it (the Scala one), then I looked at some of the others available and thought, "I should see what these are. I'll do that some other day. Not really."
This week I tried to use Eclipse again for Scala development. It worked out OK. But, then I realized I was using vim and Eclipse was just running in the background using up memory.
I use Adium for instant messaging, which means if I'm not on a Mac you can't talk to me (unless you are in the same room as me). I should probably just use Google Talk for everything, but I'm still hanging onto this old AIM account for nostalgia's sake.
I use the official Twitter client for making tweets. I make a lot of tweets. Very few are of any value to the reader, but I enjoy typing them in and sending them to you. I think my followers can sense that joy, so they continue to listen and give me the benefit of the doubt.
Increasingly, I've been using Vimeo for watching videos. This may seem like a strange thing to list here because it's technically just a site you browse as opposed to "use". But have you seen the "watch later" feature? You can sign in, mark videos to watch later, and then watch them on your tablet or Apple TV. I watch technical conference videos as I go to sleep at night or if I am free on a Sunday. I've learned a lot this way, especially about technologies I'm not using day to day at work. Specifically, I've been somewhat immersed in Clojure, Common Lisp, Scala, Storm, Hadoop, Cassandra, AMQP, R, machine learning, and that sort of thing in my free time lately. There's a lot of material available on Vimeo about those technologies.
For recording sound, I use Logic on the Mac. I used to use Pro Tools, but I felt like I was in the 90s and it crashed a lot. Logic is pretty hard to learn. This means, now that I've learned it, I'll probably use it until I stop recording music (which hopefully coincides with my death) or it doesn't exist anymore. Or I lose that damned hardware dongle thing once and for good and I get too angry to buy another copy (they don't require the stupid hardware dongle anymore if you buy it now). It's hard to learn, but Logic is a beautiful piece of software. It's also hard to learn how to record using real studio equipment, so it should be no surprise that learning how to record with professional quality music software is difficult.
For many years, I've used a version control system to store all of my stuff. I think I started doing this with CVS, then Subversion, and now git. When I say "all my stuff" I mean there is rarely anything on my computer that I need that isn't also in a hosted version control system somewhere. This is core to how I use and think about computers. They're just environments from which I can run applications, but my data is always available almost everywhere, just with varying levels of convenience of access.
The last important piece of software I use is Counter-Strike. I've been playing Counter-Strike for well over 25% of my life now. These days I specifically play a modification of the game called Gun Game. It's ridiculous and mindless. The reason I play it, and the reason I say I "use" Counter-Strike is that you can get in 5 minutes of stress relief with Gun Game without having to commit to playing for 30 minutes or an hour. Each round lasts only around 5 minutes, you have fun, then you get back to being productive. I've written a few books, and Counter-Strike was an important part of my rhythm as I was writing: write 30 minutes, play for 5, write 30 minutes, play for 5, etc.
What would be your dream setup?
The setup of my dreams doesn't exist, but it would probably be a cloud-based OS which runs on every hardware device but feels like a real OS. As I mentioned before, I already use my computers almost like dumb terminals. I also only really need a UNIX shell environment and a browser to be happy. But I like running the odd native app here and there, and I don't like the latency of shelling into a server to work.
I guess the Chrome OS is kind of headed in the direction I'm looking for, but it's very obviously not yet for power users.
I would like to have the power of a huge Mac Pro at home and the convenience of the 11" MacBook Air on the road but have them essentially be the same exact thing with all of the same data already on each. I don't want to think about synchronization or what applications I have installed.
I want to be able to do the equivalent of AirPlay from any computing device to any display device I have. I'd like to (until it's available already) have a USB-stick-sized AirPlay-like connector that works for every television that I can leave in my bag or coat pocket and use when I visit my relatives.
The dream setup has to allow me to play Counter-Strike Gun Game when I'm on a high bandwidth connection and a big enough display.