I’ve been doing web development as well as other “computer stuff” with Powerbooks for four years. I’m currently in a happy place where I’ve got a nice set of tools with which I can use to accomplish many tasks.
This guide was inspired by this Firefox Extension guide. This guide covers how I tackle tasks in OS X and how I’ve seen others tackle tasks. I plan to regularly update this piece (software guides can get stale fast) and will incorporate suggestions left in the comments.
Hopefully people who are wondering about making the switch from Linux or whatever to OS X will find this guide as reassuring and helpful. There’s quite a bit more out there than what I have listed, but if I attempted to list every option, I’d never be able to finish this guide.
Internet: How do I...
Surf the web?
Camino combines the Mozilla Gecko browser with Apple User Interface. If Firefox’s lack of UI integration bothers you (e.g. lack of services menu support), try Camino. Out of the box it blocks advertisements and popups. It does lack the extensibility that Firefox has, but otherwise is a worthy browser. It’s fast and it gets the job done.
I used to prefer Firefox, despite its shortcomings. There are so many extensions available that no other browser comes close. When I’m developing websites this must be open with Firebug and the Web Developer Extension
This is a Apple’s very own browser based on KHTML (Konqueror, etc). I don’t use this myself, but I do use other Apple WebKit based applications. It is elegant and integrates well with the rest of the OS.
* ##### Mail.app
[Apple]'s built in Mail.app is a good choice if web-mail isn't an option. It integrates well with the Address Book and even iChat.
NetNewsWire lets you categorize and browse your feeds. With the Pro version, you can specify a lot more details. There’s per-category and per-feed customization for period of downloads. NNW also synchronizes with the Bloglines web based news reader. This allows you to read your feeds using NetNewsWire go to work, or a friends house, and read them at Bloglines. All my feeds are added to Bloglines except for some testing ones and some private feeds from LiveJournal.
See Add to Bloglines from NetNewsWire
* ##### [Adium]
Unfortunately, my friends and contacts can't agree on <strike>which <acronym title="Instant Messaage">IM</acronym> service to use</strike> <abbr title="Google Talk">GTalk</abbr>. So I use [Gaim]-based [Adium]. [Adium] does pretty much all the major protocols, it's open-source and has a lot of plugins. What's not to love? It's even being included in the [Summer of Code 2006][soc] so that it can be more integrated with <abbr title="Google Talk">GTalk</abbr>.
* ##### [Skype]
<div class="photo screenshot_thumb right"><a href="http://www.flickr.com/photos/davedash/85269051/" title="Photo Sharing"><img src="http://static.flickr.com/37/85269051_1194096479_m.jpg" width="240" height="180" alt="Skype" /></a></div>
[Skype] was a life saver when we had broadband in our Hotel in India this January (2006). Free voice chat within the <acronym title="United States">US</acronym> and plenty of accessory phones to go along with it.
Collaboratively steal movies and TV shows
BitTorrent offers a unique method of distribution. There are a number of BitTorrent clients, including Acquisition. However, due to the sheer number of plugins (I suggest trying some of the RSS plugins), your best bet might be Azureus, a cross-platform client.
Programming: How do I...
Keep my files under version control
Subversion is my version control software of choice and I prefer using a combination of the command-line client, available via Fink (see below) and svnX. svnX makes it easy to see at a glance just exactly what needs to be committed. It also allows me to browse the repository and find just what I need.
TextMate is an excellent editor for automating editing tasks. With features like “snippets,” cutting and pasting boilerplate code is a thing of the past. If it doesn’t support the language you want, it’s easy to remedy that and write your own bundle.
* ##### Xcode
[Xcode] is Apple's <acronym title="Integrated Development Environment">IDE</acronym>. If you're writing Objective-C or Java, [Xcode] might prove useful. For writing Cocoa applications, the bulk of your work involves dragging connections and defining relations between elements. The "legwork" of writing actual code, is assuaged with an editor that features what you'd expect: folding, auto-completion and syntax highlighting.
* ##### [iTerm]
If you use the Unix shell **a lot**, you'll want [iterm] for it's tabbed interface. It also has a handy feature of bouncing in the dock if something has changed in a background tab.
For the most part, Apple’s iLife can take care of your multimedia needs. Playing video is the exception (in this guide), since there are so many formats available, Quicktime only can support a small subset of these. For the non-Apple user, this section a useful overview of just what can be done fairly easily with a Mac.
Listen to Music, Burn a CD, rip a CD
itunes does a good job of putting all the things that you might need related to your music collection, in one place. The os x version is a lot less frustrating than the Windows version, so don’t let your past experiences taint your perception of iTunes.
Organize my photos, burn them to a DVD, make slideshows
iphoto is a giant beast, but it does do quite a bit. It manages large collections of photos. You can easily download them off your camera, and then categorize them as necessary. Want to share them? Burn it onto a DVD and give it to your family. Want to make a slideshow set to music from your iTunes? That’s not a problem either.
The entire iLife suite is fairly well integrated. My family always wants us to bring our digital camera so we can put together a cheesy slideshow on DVD. Good thing it’s easy.
If you have a lot of photos there are some tools like iPhoto Library Manager that can make your life easier.
If you want to actually edit home movies, iMovie can help. You can pull in photos to make slide shows, synchronize it with audio tracks, add in video from other sources.
* ##### [Flip4Mac]: Make Quicktime work
[Flip4Mac] allows you to play Windows Media Files using Quicktime. All but a handful of `<acronym title="Windows Media Video">WMV</acronym>` files play with this installed.
* ##### <acronym title="VideoLan Client">[VLC]</acronym>
<acronym title="VideoLan Client">[VLC]</acronym> is a cross-platform video client that can play just about anything that [Quicktime] can't with the exception of a handful of certain `<acronym title="Windows Media Video">WMV</acronym>` files. Chances are if you can't play it with either this or [Quicktime], it can't be played on the Mac.
Productivity: How do I...
Do more from my keyboard/automate things/find things faster
Quicksilver, as discussed previously, can speed mundane things up severely:
Quicksilver is a the GUI equivalent to the command line. You can launch applications or files or perform any number of operations on those files or applications. With its powerful collection of plugins you can have it do much more, for example you can take a music file and play it in iTunes within the iTunes party shuffle. Or take an image file and have it submit to flickr with a few simple keystrokes. Initially, I couldn’t get an idea of the application, other than a lot of people loved it. Now, I’m barely using it to its potential and I love it. Using a computer without it is quite a drag.
If you need to launch things faster or do more things from the keyboard quickly, get this.
Keep track of things to do and other lists
I didn’t at first use OmniOutliner because I didn’t understand the point of an outlining software. It makes outlines, so what? After reading enough of 43Folders, however, I decided to check it out. Now it’s the key to my productivity. I keep task lists for several projects in OmniOutliner and I actually get them done. Something about hierarchical groupings and the ability to add any number of columns to a task make this such a useful tool. I’ve got todo lists with are checkboxes, descriptions, dates, notes, estimates, etc. If I’m asked to bid on a project, it takes almost no time for me to drop it into OmniOutliner, split it up into smaller chunks, and throw together an estimate.
There’s a lot of software I’m sure I missed. But my intent here was to cover a healthy slew of applications that I used myself to get various tasks completed. I’d like to hear about your favorites and what you think works best on your Mac.