Rabble-rouser, software developer (Lynx, Netscape)
Who are you, and what do you do?
I think of myself as an engineer primarily, but I spend most of my time organizing, planning and meeting with people. I am currently the cofounder and chief scientist at Zetta.net, an enterprise cloud storage startup. I am best known for authoring one of the very first web browsers, Lynx, and being a founding engineer at Netscape. I helped create many of the foundational technologies for the web: HTTP, HTML, SSL, Cookies, Proxies and others. I am a serial entrepreneur and helped create Netscape/Mozilla, Epinions/Shopping.com, Shutterfly and Zetta.net. At various times I have been a Hacker, an engineer, a VP, a CEO, a bureaucrat, and a rabble-rouser.
What hardware do you use?
At Zetta.net we use Linux servers for our backend infrastructure and primarily use Windows desktops as a user interface and as a host for Linux VMs. The choice of desktops is up to the individual, but most of us end up using generic Intel PCs due to cost/value. My "case" is an HP refurb bought on uBid for dirt cheap. ($600 in 3/11) Intel i7 950, Quad core 3.07 GHz with 12 GB of DDR3 (pc-10700) memory. I then added an 80 GB Intel flash drive to run the operating system and dual 1 TB drives in RAID 1 for primary storage. I run a Dell 30" primary monitor with two 20" displays on either side. Everyone at the office has at least one 30" display and usually a second monitor as well. The Dell 3007WFPHC is a 98% color gamut monitor suitable for graphics work and only costs ~$700 if you look for a Dell sale. I generally keep Email full screen on my left monitor and Firefox with 20+ tabs full screen on my right monitor. My middle 30" is my primary workspace for programming, Excel drudgery and any other tasks. I also have a very handy Thermaltake BlacX portable drive bay, which lets me plug raw hard drives in and USB mount them. This is very handy for diagnosing hard drive problems and other storage related tasks. I got rid of a real phone years ago and use Google Voice and a Sennheiser headset for calls.
My portable computer is a Lenovo x220 i7 2.7 GHz 8 GB ram. I got used to the little red "info nipple" pointer in the 90's and I can't give it up. It's an awesome sub 3lbs computer with 9 hr battery life.
I seem to collect gadgets in my primary life like boats with barnacles. I have an iPad, Xoom, Touchpads (running android), Kindle 2, Kindle Fire and a host of others that collect dust. I tried to start using a tablet as a work machine but found that a compact laptop was far more useful. My kids and wife have happily taken ownership of the tablets and use them daily. They seem to prefer the Android tablets over the iPad due to greater media support and the number of free games.
My phone is an HTC Evo 3D. My most loved application is Google Maps. It saves me countless hours due to traffic reporting and has become my go to device for back country navigation for mountain biking, snowmobiling, skiing, hiking and general exploration. I think all cell phone cameras suck so I carry a Canon S100 around in my other pocket for photos.
And what software?
I use Windows 7 primarily on my PCs and Android on my portable devices. I have developed software for every modern platform at various times and am comfortable in any environment. The choice of Windows is primarily driven by game compatibility and performance (we like to play group Counterstrike). Zetta's infrastructure is Debian-based Linux and Solaris. Our server development stack is Debian, gcc++, PHP, and Subversion. On Windows we use Visual C++ 2010 and on Mac we use XCode and GCC.
The most interesting tools we use are our quality control tools. We use the full suite of Atlassian tools - Jira for bug tracking, Confluence Wiki for documentation and design, Bamboo for automated builds and testing, and Fisheye for repository viewing. We use Google gTest to build component test suites for all our libraries and we run an automated build and test sequence for every Subversion check in. This allows us to detect bad check ins nearly instantaneously and automatically report back to the team. We also use Klocwork and Coverity for static analysis. Static analysis allows us to detect very subtle programming logic errors with 100% coverage and to keep the code base clear of warnings.
What would be your dream setup?
My dream setup continues to evolve. I very rarely buy the latest and greatest hardware, I generally prefer to buy "mid-fi" and upgrade frequently. This allows me to have a 95% experience for 50% of the cost and to never be far behind the peak performance curve. Monitors are probably the best investment any developer or serious computer user can make. My 30" monitors (I have 2 at home and 1 at the office) have been a tremendous value when I consider the longevity of their lifespan and the productivity increase that they make. The one component I would love to have is a multi-terrabyte flash drive. The performance of flash drives accelerates almost every action and I'm sick of dealing with multidrive solutions and the headaches of running out of storage on my primary drive. The other "dream" item for me is a motorized desk. I have seen a few and they are awesome to behold, but quite expensive. They raise and lower with the touch of a switch and allow for standing or sitting positions.
The hardware that I most desire is an evolution of my mobile phone. I want a 1920x1080 display with super amoled clarity, hundreds of gigs of storage for media, desktop equivalent processing power, and 20+ mbs of mobile broadband connectivity, ANT or Bluetooth 3 for accessories. And the battery has to last at least 24 hours with constant usage. My other major wish is for a camera with a real lens. Canon and Nikon, listen up, make me a phone with equivalent specs as the S100 and you will have a loyal follower.