How I setup my Mac

On this page, I hope to show how I use my Mac, the applications I use, and how I use them. For clarity, I am a web developer using my personal laptop at work and home. Now updated with regards Leopard.
Applications
I do not use Fink or MacPorts. I feel that most of the command-line arguments I require already exist, and if I want to add one I don’t want to add an entire suite of software that may conflict with what I have already. It also nearly defeats the point of having Mac’s command-line. Why not just be on Windows with Cygwin? But that’s just my opinion.
Terminal
I don’t use iTerm or any of the alternatives. The terminal that ships with OS X is plenty powerful as it is just a command-line interface. Most people use iTerm for the tabs, as far as I can tell, though this is moot as of Leopard.
The interface is custom: black background, light grey Monaco 10pt. antialiased, window size 140x50, 87% opacity.
Text Editing
TextMate is most Mac-users’ editor of choice, and with good reason. The vast array of features helps streamline and tremendously speed up my workflow.
In a terminal window I use Vim.
Version Control
Subversion is probably the most common revision control in use today, beating out the formerly-ubiquitous CVS.
I've also gotten a lot of use out of Bazaar for my local projects, and hope to implement it as my default for all new projects.
Web Development
For the most part I use Django, which is quite obvious by the content of my blog. However, I sometimes work with PHP. Apple includes Apache web server with OS X, which I compile the latest version of PHP against using the following configure command:
./configure --with-apxs --with-mysql=/usr/local/mysql
Which leads me to the database that I use, which currently is MySQL, though this might change in favor of PostgreSQL. The Mac installer from the MySQL downloads page includes a “Preferences Pane” that allows you to stop/start the server from the System Preferences window. Waiting on an updated package for Leopard. For now I'm building from source.
Web Browser
For day to day browsing I use Safari. It is super-quick and surprisingly minimal. I’ve had discussions with people about how Safari is supposedly “bad” with javascript. While it’s certainly not as good as Firefox, I still think it does a pretty damn good job. Internet Explorer does a bad job with javascript. Period.
My pièce de résistance using javascript was a highly-AJAXed video player that also included interaction between the javascript and Flash. Debugging for Firefox and Safari took about the same amount of time, while IE had me (literally) pulling out my hair.
When tough situations occur, HTML-wise, I pull out the big guns: Firefox with Firebug and the Web Developer Extension.
RSS Reader
Vienna is a free, open-source, Mac OS-native RSS reader. I watch around 50 feeds and this program handles them like a champ. As long as you don’t view the articles within the program it handles memory well.
FTP/SFTP
If I require a GUI application for FTP I usually stick with Cyberduck. It’s not the best application at the moment as I’ve run into some connectivity problems. Usually, however, if I reconnect the issue is resolved.
For the most part though I use the command scp for file transfer. Of course, this requires a shell connection. On my Slice I don’t have FTP installed — why use something so potentially insecure when SSH/SFTP is available?
Last Updated: 2008-01-03