I'm often asked about "the setup" that I use to get things done. This post describes the hardware and software that I'm currently using.
First, about the list: It's short and sweet. I consider myself to be a minimalist, a term which seems to get abused lately. But I truly despise clutter and "stuff" in general, and that includes digital clutter. And thankfully, because of what I do (database consulting), I don't need much in the way of hardware and software...
13" MacBook Air ("Mid-2011" version)
Let's start with my primary machine. I'm currently using a 13" MacBook Air. It's the "Mid-2011" version, with a 1.7 GHz Intel Core i5 processor, 4 GB of memory, and a 250 GB SSD. I can honestly say that this is by far the best computer that I've ever owned. It's reliable, fast, and lightweight. I absolutely love this Mac!
I wish I could say the same about the operating system. I'm running OSX 10.8.4 (Mountain Lion), and I've found it to be a little wonky at times. I can't remember the last time that I've had a Mac lock up on me, but since upgrading to Mountain Lion it seems to happen regularly. (Maybe "regularly" is a stretch. It probably locks up on me once every week to 10 days, which really isn't terribly bad.)
This is certainly one of the more expensive apps that I use, but I think its relatively high price is justified. All of the data that I consider to be sensitive gets stored in 1Password. That includes passwords, hosting account information, financial information, and much more. I also use 1Password on my iPhone and iPad, and sync the 1Password library using DropBox -- so I've always got access to my accounts.
I'm a Mac guy, but I have several clients running Windows-based servers that I help to manage. I use 2X Client to RDP into those servers. This is an awesome remote desktop client. (I had previously been using the open source CoRD, which is also nice.)
I've been using the text editors that Bare Bones has been putting out for years now, including both BBEdit and TextWrangler. I can't say that I love BBEdit, but it is comfortable and powerful, and it helps me with the Web development that I do.
I recently looked at using Coda 2 as an alternative. I liked the idea of having an IDE - one app to write my code in, query MySQL databases, and handle FTP. And while Coda is good at some of those things, it isn't great at any of them. So I've decided to stick with BBEdit for the time being.
I can't say enough good things about Dropbox. I love it, and it is one of a few services that I use that I truly depend on. Every file that I work on is stored in Dropbox, which means that I've got a seamless, secure, remote backup of everything. And this also makes it easy to share files and collaborate with colleagues.
One of my favorite features of Dropbox is "Packrat," which gives you unlimited deletion recovery and version history. Have you ever deleted a file or folder, and then realized it months later? With Dropbox, those files are still available.
With over 40 clients and 30+ active projects at any given time, keeping track of all of the info that I need can be an insanely difficult task. With Evernote, that task is much, much easier.
Every note, thought, idea that I have goes into Evernote. This includes call and meeting notes, important emails, project info, reference and technical info - everything! Have I ever spoken with you or met with you? If so, it's a safe bet that my notes about our conversation are in Evernote.
Duh, right? As a FileMaker developer, this is truly the one app that I couldn't live without.
I'm currently running versions 11 and 12. I need version 11 to support a few clients who have, for various reasons, not upgraded to 12 yet. And I run the Advanced version so that I have access to some of the features that only it provides, including support for custom menus, custom functions, the script debugger, and so on.
I've been using Apple's iWork suite for several years now. I use Pages as my word processor, Keynote for creating presentations, and Numbers as my spreadsheet. These are amazingly intuitive, powerful apps. And best of all, with iWork, I avoid Microsoft Office. (Pages opens and saves Word documents, Keynote can open and save PowerPoint files, and Numbers opens and saves Excel spreadsheets.)
by LogMeIn, Inc.
Price: Free, $19 / month for "Pro" version
I use Join.me to remotely give demos, review projects, and to provide training and support. It more than pays for itself, as it saves me from having to travel.
I love listening to music while I'm working, and move between Rdio and Pandora. PandaBar is a Pandora client that sits in the toolbar and makes it very easy to switch between stations, up vote and down votes songs, and more.
(Sadly, PandaBar is no longer available on the Mac App Store, and it looks like Pandora has shut it down.)
The majority of the database-related work that I do involves FileMaker - so most of the time, I'm working in FileMaker Pro Advanced. However, there are times when I need to work in SQL-based databases, including Microsoft SQL Server, MySQL, and Oracle. In those cases, I use RazorSQL.
RazorSQL is an SQL query tool, database browser, SQL editor, and database administration tool. It can connect to a wide range of databases via either JDBC or ODBC. I've even used it to connect to FileMaker databases via JDBC.
This is an awesome, full-featured, reliable FTP client. A little pricey, but when you spend as much time transferring files as I do, it pays for itself quickly.
There are a few native OS X Utilities that I use frequently, and that I think are worth mentioning.
AirPort Utility: I have a relatively complex home network. Dual internet connections (Comcast and Verizon). An Apple Airport Extreme. A Time Capsule. Two Airports. Eight Macs, including two Mac Mini servers. A slew of Apple TVs and Rokus, and a handful of iPhones and iPads are connected to it. (So much for being a minimalist, right?) And we're doing NAT / port forwarding, too. I use the AirPort Utility to manage this big mess.
Network Utility: I'm often asked to help clients with DNS and various network-related issues, and the Network Utility comes in handy for this. The ping, traceroute, and port scan functions are particularly helpful.
Screen Sharing: With so many Macs here at home, and several remote Mac servers that I manage, screen sharing is essential. I've found the OS X Screen Sharing app to be all that I need.
Terminal: There are several remote Linux-based servers that I deal with, and I use Terminal and SSH to connect to them. I'm also often in Terminal to manipulate the hosts file and test DNS. (sudo nano /private/etc/hosts, anyone?)
Interested in what other techies are using? Check out The Setup.