The Setup

desk with thinpad x301, ipad, phone

Since I will never be interviewed for The Setup, I have interviewed myself.

Update Feb 2015: Okay, I was interviewed for The Setup.

Update Feb 2023: I have a What I Use page that I keep up to date with my current setup.

Who are you, and what do you do?

I am joshua stein, a software developer. I own a company called Superblock that develops custom software solutions and I'm a volunteer developer for the OpenBSD project.

What hardware are you using?

In my home office, I use a Lenovo ThinkPad x301 as my primary workstation, with the DVD drive swapped out for a second battery and the TrackPad disabled in the BIOS. It is usually resting on an Ikea Jerker desk configured in stand-up mode since I ditched my chair over a month ago.

Also on my desk is a Dell S2009W monitor turned sideways connected to an Asus EEE Box PC displaying my network monitor. I have a Polycom 500 SIP phone for work, and next to the desk is an HP Photosmart 2710 HP Photosmart B209A-M all-in-one dealy that prints, scans, copies, and faxes, though I only use it now to print checks and scan things that I fax over e-mail.

In the office closet is an Apple Airport Extreme wireless base station with a 500GB Western Digital USB drive attached, which connects to a Soekris 4801 router/firewall.

In the living room I have an Apple Intel Mac Mini connected via VGA cable to a Vizio 50" plasma TV that I use to watch movies and downloaded TV shows (stored on the Airport Extreme's USB drive), and occasionally browse the web. I control the Mac Mini with a Kensington wireless keyboard and mouse which has a pretty decent tactile, by the way. The Mac Mini has a 500GB Western Digital USB drive attached to it that the OpenBSD VMware virtual machine on it uses. There's also a Nintendo Wii connected to the TV via component cables on which I play Mario Kart.

In my pocket is a Google Nexus One phone, which I don't really like much. Next to my bed is a Nexus One bluetooth audio dock, which is a piece of junk, and an Amazon Kindle which I use every day.

And what software?

The ThinkPad runs OpenBSD-current. I use ratpoison to manage my windows and dzen to watch over things. Firefox is my current browser because I have a lot of extensions that I use on a daily basis, mostly for web development. It's slow and resource intensive, but I can't switch to any of the smaller Webkit-based browsers because I need extensions and don't want to keep switching back and forth. I read most of my e-mail with Mutt and will probably never switch to anything else. For Jabber/AIM/ICB I use Pidgin. I still use good old xterm for everything because it's never failed me.

I still use CVS for a lot of my projects, because the OpenBSD project still uses it and I have a lot of private code still managed with it. It's simple, it works, and I never need branching/merging/distributed functionality. For my public code I use Git since it's usually all hosted on GitHub, but Git is an overly-complex piece of junk.

My shell is tcsh and I edit everything with vim (with very little color).

I use [a custom billing system] every day to run my business, and to read RSS feeds and deal with Twitter.

On the Mac Mini I use Mac OS X and the regular QuickTime application to watch video, and VMware Fusion to host an OpenBSD virtual machine which runs rsnapshot and MySQL backups of all of my servers, storing them on a softraid-encrypted USB drive.

My Soekris firewall and router runs OpenBSD. All of my servers run OpenBSD. For web hosting I usually use Apache2+mongrel for Rails sites (I'm sure there are a million newer solutions-of-the-day out there, but it works for me) and OpenBSD's chrooted apache1+mod_php for PHP sites.

On the phone is the newest Cyanogen Android firmware. I use the mobile version of to read RSS feeds and Twitter, and I recently switched back to a development release of K9 mail because they finally fixed the problem of contacts not showing up when stored on a non-Google account. I use Slide Screen because it looks nice, but their support is horrible and the program doesn't support many external sources of information (like K9).

What would be your dream setup?

I'm fairly happy with the ThinkPad X301, but now that I can control fan speeds I might switch back to an X201. I miss having an integrated SD card reader, I don't use the crappy TrackPad, and I don't even have the DVD drive installed.

But I guess since this is a dream, then I'd like a MacBook-Air-thin 12" MacBook Pro with a matte screen, ThinkPad-style pointer and 3 buttons but with a physical wheel under the middle button for scrolling. It should never make noise or generate too much heat, have a fast SSD, excellent battery life, and have hardware that is 100% compatible with OpenBSD, so that I could dual-boot OpenBSD and Mac OS. Maybe throw in some kind of magical Xen-like virtualization to be able to run parts of both at the same time somehow. And a touchscreen and detachable keyboard so it can be half iPad, half laptop.

In my pocket I'd like an unlocked iPhone that works on T-Mobile's 3G frequency, with the aluminum case and smaller size of the first generation but all of the guts from the 3GS. I'd like a multi-color LED hidden in the corner of the ear piece for notifications like most HTC phones. I'd like it to run the iPhone OS, but with a couple concepts from Android: simple multitasking (SIGSTOP all non-foremost applications and support lightweight background services) and the ability to install applications from anywhere, not just the App Store.

Questions or comments?
Please feel free to contact me.