I know there are a lot of these going around, but I’d figured I’d throw in my two cents anyway.
If you are reading this in a feed reader, you might want to click through because I have some code examples that aren’t rendering right (in Google Reader at least). I’m looking into it, but it isn’t fixed right now.
On Monday, even though Amazon did not ship my Snow Leopard disc in two days like it said it would, with the help of a friend I was able to finally upgrade!
Whenever upgrading my operating system I like to go the erase and install route. In fact, I generally try and do this one or two times a year. I find that as time goes by, and I try out new programs and the like, that a computer just generally fills up with crud. Also, I have a tendency to get entrenched in my ways, and completely erasing everything gives me a chance to properly evaluate my organization and methods.
The first step (and the most important!) when doing an erase and install is properly backing everything up. These days, with Time Machine, this is a pretty easy step. A few years ago before I had a DVD burner, it was a MAJOR pain in the ass. Plus, I have moved most of my super important irreplaceable files off of my computer to my Drobo which has itself some good lovin’ redundancy.
Actually installing Snow Leopard was quick and easy. Well not super quick, I did have time to go to the library and back. And not super easy, because they removed the ‘Erase and install’ option, but I didn’t remember this and clicked ‘Install’ thinking more options would be coming. So, I had to cancel the installation and then restart.
Booting into Snow Leopard for the first time was pretty anti-climactic. Not a whole lot is different! In fact, as far as my everyday usage goes, the only thing I notice is Quicktime. I’m glad I read Jason Snell’s quite lengthy review, because it made me pretty excited about an upgrade that didn’t have a whole lot in the punch-factor.
The first thing I always do when I get a fresh install up and running is go through every preference I can get my hands on. Some of the more notable prefereces I change:
I treat my Desktop as a staging area where files and links sit until I do something with them or read them. As such I collect a lot of files and in order to keep them organized I created a background image with different sections to put files.
To get finder to show the full path of the current directory in the title bar:
To get the dock to look simpler:
To get the dock to stick to a corner (so you don’t have to guess where the trash is):
A few years ago, reinstalling applications was not the simple process it is today. I find that generally speaking most of what I do on my computer has now moved to two applications: Terminal and Safari. It may not look short, but this is quite a bit shorter than it used to be…
Everything I mention below is working fine for me in Snow Leopard.
- Caffeine: One of the most important things installed on my Mac. Essential for watching video online, or long video chats.
- ClickToFlash: Second most important thing installed. Well, not really but pretty darn great. This makes it so before any flash can run in Safari you have to click it. I hate flash, so this generally gets rid of it. I also hate how some flash movies automatically start playing (a feature called autoplay) without me pushing play. This solves that too!
- Skype: I sometimes live in Portland, my fiancé lives in Boulder, CO and my business partner lives in Forest Grove; needless to say this makes it all possible.
- Adium: I prefer to do my GChatting in here versus the browser, and this is how I keep up on Twitter (via the beta).
My favorite is Safari because it is currently the snappiest feeling. I hope that as the Mac version of Google Chrome is further developed, it gets fast enough that I can switch to it.
I use Firefox for web development because Firebug rocks. Web Inspector is pretty darn nice and in a couple areas better than Firebug, but I still don’t find it as easy to use.
I’ve tried Opera, but don’t really ever have a pleasant experience with it. I hate to say it, but I don’t even bother testing with it, either. It will probably get installed at some point here, but I’m in no rush.
Safari has a major flaw in that you can’t configure it to open pages that would normally open in a new window in a new tab. So using Gmail or Google Reader in Safari is painful. Fluid can be configured to open all new links in the default browser but in the background. Now that I am used to it, it is a pretty great system.
- VMware Fusion: For running other operating systems. I got it to test in Internet Explorer but now have recently started using it as a testing ground for all my development. I’ll get to the details of this later.
- Inskape: I do all my designing and protyping in here. It runs through X11 so it isn’t perfect, but it is feature complete, easy to use and FREE. I read that version 0.46 didn’t work in Snow Leopard so I installed the development version.
- MacVim: For those times when I want to open up a text file and I’m not in the Terminal. I’m trying to move to being in the Terminal more (so the eventual transition to Linux is easier) but sometimes it is just so much easier to double click on a file.
- VLC and HandBrake: Sometimes I have the need to back up some DVDs, and these are the tools required.
- Google Notifier: For knowing when I have new email. I hate email. Ugh!
- Free Ruler: For measuring things on screen. I don’t need it very often but when I do it is handy.
- Name Mangler: For batch renaming files. I think this is probably another one of those apps I could replace if I knew my way around the Terminal better, but I don’t. And this makes it dead easy.
There is one very notable application missing from this list: Quicksilver. I used to be a HUGE Quicksilver fanboy. These days I use Quicksilver for two things: Launching applications and resizing images (via its Image Manipulation plugin). The former Spotlight can do and the later I can do in the Terminal via ImageMagick. I am always looking for ways to keep the number of running applications to a minimum, and this time I decided to axe Quicksilver. I tried this last October too, but eventually installed it. We’ll see what happens this time.
Setting up my development environment
I decided to switch things up quite a bit this time after reading an article on Development Virtual Machines. The article goes over creating an Ubuntu virtual machine in VMware Fusion that you can SSH into and do all your development there. There are a couple advantages to this system:
- You can install/uninstall whatever you want without worrying about messing up your OS X install.
- Installing in Ubuntu is generally very, very easy because of the
- You can create an environment that better matches your hosting. For example you have PHP 5.something on your Mac but your hosting provider only has 4.something.
- In Fusion you can take snapshots of the virtual machines at certain times. So, now if you are about to do a lot of installing but aren’t sure if it is going to work, just take a snapshot and then do it. If it doesn’t work, role back!
- Because of the way the shared folders work, you can actually edit all your files using Mac applications like MacVim or Textmate but run the files in the virtual machine. You get the best of both worlds!
It isn’t the easiest thing to set up, and I actually had to try a couple times before I got a virtual machine properly working the way I wanted it to, but now that I have it I don’t regret it!
That being said, there are still a few things I have installed on my Mac:
ImageMagick: Tools for manipulating images. If it can be done to an image this thing can do it, I bet. Installing ImageMagick can be a pain because of its dependencies. Luckily someone wrote up an installer script that does it all for you.
Rak: A grep (tool for searching through files from the command line) replacement that works exactly how you’d have expected grep to work. I hate being on computers without it now.
I finally got around to learning about configuring the tools I use on the command line. Some resources I used:
- 2009 Rubyist’s guide to a Mac OS X development environment: Not specifically about configuring but it lead to THE MOST AMAZING CONFIGURATION OPTION EVER (see SSH aliases below). And it has some good suggestions.
- jferris’s config_files: A collection of configuration files for all sorts of stuff.
- Configuring Vim right: Vim configuration suggestions. Nice in that it thoroughly explains each option.
- Coming home to Vim: A blog post about some useful vim plugins.
That said the coolest, best, most amazing thing I found out about was SSH aliases! Put the following in a file called
And now you can type
ssh nytimes to SSH into that server! Amazing! This is particularly nice if you have to SSH into a custom port (which you should be doing if you can change it). And these work for the
scp command, too! Needless to say, I am very, very excited about this.
zsh configuration isn’t as interesting. A few notable lines:
The Vim configuration is where I really went to town. A few notable lines:
The only thing I still have to do is find a nice template for Vim. With the default one that is loaded in Terminal it is hard for me to tell where the cursor is when I am on a search result. I tried some popular ones that have a black background but the background didn’t show up in the Terminal (just in MacVim) which made it hard to read since it had light text. I’ll figure it out though!
That’s all I got for now!
All in all I am very happy with the new set up. I’ve only been using it for 3 days though, so I won’t be able to really say how useful it is for another month or so.
As far as Snow Leopard goes, I am pleased so far, in that I was already extremely pleased with Leopard. My only complaint is that the new Quicktime automatically starts playing videos from the internet once they have buffered enough. And as we all know, autoplay is the devil. This seems fairly obvious to me, but if you are going to have it, it seems even more obvious that if the window isn’t the frontmost window, or the application isn’t even the frontmost application, THEN DON’T START PLAYING A MOVIE. The only place I really run into this is when I buffer a bunch of trailers from Apple.com to watch at once. So it isn’t a huge deal.