❤❤❤❤❤
Homebrew is like MacPorts or Fink, except that it actually works
It has come to my attention that some of my dear friends are still using MacPorts or (shudder) Fink to install UNIX packages on OS X.
Please. Stop that.
I'm here to show you a better way.
Meet my friend Homebrew.
Homebrew is a bit like MacPorts or Fink, but a lot more awesome.
Homebrew is built on Git and really simple Ruby "recipes".
Homebrew installs everything in version-specific isolated folders, then symlinks into /usr/local where local code really belongs. No more of this /opt business. It's crazy simple to create your own Homebrew packages, just in case you have to install something from source.
Homebrew compiles an optimized version for your Mac. But sometimes it installs a binary version, if, you know, compiling would take days.
It's crazy simple to modify existing Homebrew recipes... Because it's built on Git, any upstream changes can be automatically merged into your custom recipe.
You're not dependent on a central repo. If you like my recipes, simply `git-pull` my repo and install from there.
Homebrew is a good citizen. While MacPorts and Fink play fast and loose with versions and dependencies, often leaving you with multiple copies of the same thing or existing libraries, Homebrew tries really hard not to mess with things that are installed elsewhere.
i.e. You'll never have to worry about PHP running one version on the CLI and another through Apache.
Homebrew plays nice with ruby gems, easy_install, pear/pecl, CPAN, etc.
Homebrew comes with bash-completion, so you can tab-complete all your package names. That's pretty hot.
If you don't like how something is done in Homebrew: fork, clone, commit, push and convince mxcl to accept your changes :)
For usage examples and more documentation, check out the Homebrew website.
So what are you waiting for?
Subscreen partitioning is a Cinch
First, a Confession
It's hard to admit that I'm jealous of anything Windows. But I've been jealous of the subscreen partitioning feature in Windows 7. It's really cool.
Back in the day, most monitors were small. In most cases, applications were useless unless they were fullscreened. But times have changed. Modern monitors are enormous compared to their predecessors. Unfortunately, Windows users don't seem to have moved past the fullscreen paradigm1. Keeping several applications simultaneously visible is pretty much more efficient in every way. But most Windows users are too stuck in the fullscreen app paradigm to know any better. Windows 7 is looking to change this.
Windows 7 ships with a "snap to subscreen" feature that's just rad. And it's really intuitive. Grab a window and drag it to the top of the monitor, and the window will snap to fullscreen. Drag the window to a side and it will snap to a vertical split. This makes it easier to effectively use the monstrous monitors available these days.

The implementation is not quite perfect—as of the last time I checked—but it's a great start. Windows is still pretty crap at using multiple monitors, and snapping windows to a subscreen is no exception. Ideally, a window should be able to snap to the internal divisions between screens, allowing a vertical split on each monitor. Currently it only works on the outermost edges of the outside monitors.
The "snap to maximize" is also a bit worthless. True, there are occasions where an app should take up the whole monitor. But a more generally useful case would be a horizontal split, to compliment the available vertical split. Unfortunately the fullscreen is so entrenched in the Windows psyche that this will prob'ly never be fixed.
As exciting as this development is, screen partitioning is not enough to convince me to switch back to Windows. So I set out on a quest to find a subscreen window resizer. I'm happy to report that I've found it! I've been using these two utilities for quite a while—one for at least a year—and they fit the bill perfectly.
Enter Cinch
Cinch, by Irradiated Software, is an amazing implementation of subscreen partitions for OS X. It's simple, mouse driven, and gives great user feedback. Dragging a window to the left or right edge of the screen will resize the window to fill half the screen. Dragging it to the top of the screen will fill the screen. And dragging a Cinched window away from the edge will snap it right back where it came from. If that sounds a bit confusing, check out the screencast on the product page and it'll make perfect sense.
Unlike the Windows implementation, Cinch can snap to internal divisions between screens. Sometimes it's a bit tough to hold it at the edge just right to get the window to snap, but the functionality is there. Irradiated suggests making just a bit of a monitor position offset to give you an edge to run the cursor up against, and I've found that to work just fine.


But most of the time I don't have my hand on my mouse. Thanks to great system-wide hotkeys, I spend a lot of time with my hands on the keyboard, which is the one place where both Windows 7 and Cinch fall short. And Irradiated Software thought of that too:
See Also: SizeUp
SizeUp; is a handy little app by the same company, and the perfect complement to Cinch. SizeUp lets you quickly reposition windows to fill half, quarter, or full screen via system-wide hotkeys or a menu extra. The hotkeys make tiling, moving and maximizing windows a cinch.

Multiple monitor support is seamless in SizeUp. Windows can be easily sent between monitors or Spaces. They even magically resize themselves relative to changes in monitor size. As you can imagine, this feature comes in handy on my desktop box.


Unfortunately, SizeUp can't work perfectly all the time. Some applications enforce a minimum or maximum window size, and some windows don't resize at all (a la iTunes' mini controller). When an app just doesn't want to cooperate, SizeUp does the best it can, putting the windows where you want them and getting them as close to the requested size as possible.
Both SizeUp and Cinch are under active development. And really rad.
- 1. It’s a bit humorous to see a 32 inch monitor with Microsoft Word taking up the full screen, but only showing a single page surrounded by wasted space... It’s also a bit sad.
My screenshot secret weapon: Skitch
The Skitch interface is intuitive and just complex enough. You can't retouch a photo in Skitch, but resizing or cropping is a snap. Skitch sports a handy -- and relatively full featured -- editor. It takes just a couple of clicks to quickly crop or resize, and to highlight, annotate and scribble on your photos or screen grabs.
I love the little touches with Skitch. Edits are never destructive. Everything can be undone, or deleted, or edited later. When post a screenshot it is saved to your history with layers, so you can come back later and remix things as you wish.
Perhaps the best feature of Skitch is the integral upload capability. A single click posts your image to Skitch's own sharing service, or to Flickr, or to an FTP server you control. Once it's uploaded, one more click copies the link, all formatted and ready to paste in an email message or blog post.
Skitch is a neat little package that captures my entire screen grab workflow from start to finish.
Get Skitch
If you need a little more convincing, check out this killer screencast (courtesy of the Plasq/Skitch crew):
Layers is the coolest screenshot app I've ever used
Don't get me wrong, I still use Skitch1 for quick and dirty screenshots and annotations. In fact, I use it more than Layers. But Layers gets my vote for coolest screenshot app of all time.
Everything. On. Your. Screen. Is. A. Photoshop. Layer.
Do I need to say anything else? Try it yourself, they have a free trial.


- 1. The observant among you will note that I wrote this review before I wrote about Skitch. Isn't retroactive continuity great?
Stage Hand makes Mac Keynote presentations seamless.
"Get a remote" is one of Seth Godin's Nine Steps to Powerpoint Magic. But what if you don't use PowerPoint?
Stage Hand is the ultimate Keynote remote. It shows you slide notes and previews, keeps a timer, and lets you jump around your presentation with ease. I used this app for my last presentation, and it made the whole thing not just seamless, but amazing.

Tap Tap Revenge.
Better than DDR. Better than Guitar Hero for Nintendo DS. Tap Tap Revenge is even two player so you can challenge your friends!
In my opinion, Tap Tap Revenge has done a great job of monetizing a free iPhone app. I'm not sure how their cashflow is, but I do love the subtle and appropriate integration of ads in this beautiful app.



Sudoku is my latest subway addiction.
Of all the sudoku apps in the App Store, this is my favorite. It's quick, attractive, and easy to use. It has really cute themes, too. It's the perfect subway app. Pull it out, play for a minute or two between stops, then quit or lock your phone. Your game will be right there when you get back.

Stream your music connection to anywhere with Simplify Media.
This is too awesome. Simplify Media lets you access your iTunes library over the Internets, and even stream it to your friends. So you can listen to your favorite music from work or wherever you are. Plus, it's free.
Simplify Media is available for Mac, Linux, PC and iPhone.
Get Simplify Media for your computer
Get Simplify Media for your iPhone


Get Pandora on your iPhone while you still have the chance.
Pandora radio almost makes mp3s obsolete. Thanks to the Music Genome Project, Pandora lets you make and train personalized internet radio stations that are catered to your taste, and recommends related music based on what it knows you like. You can even listen to stations created and shared by your friends.
With the Pandora iPhone app, you can access all the stations you already created at Pandora.com, and you can stream unlimited music to your iPhone or iTouch. Well, unlimited until your battery runs out.
Note: If Pandora gets shut down before you have a chance to enjoy this app, be sure to check out the iPhone streaming music player from Last.fm. It does a lot of the same thing, and looks like it might be around for a bit longer.


Productivity pr0n with Appigo ToDo, Remember The Milk, and over-the-air sync.
I really like getting things done1. And Appigo's ToDo is the perfect enabler. Not to be confused with the poser apps called To Do and To-do, Appigo's ToDo is the perfect balance of simplicity and functionality. It's easy to enter tasks, categorize, sort and check things off your list. With the latest release, ToDo has a "quick add" input, which makes adding tasks almost too easy. Best of all, ToDo syncs over wi-fi with Remember The Milk and Toodledo, so your to-do list isn't confined to your pocket.



- 1. Note that it's the lower-case version of the phrase… There's nothing wrong with Getting Things Done, but it's a bit too structured and dogmatic for my tastes.
Apple's Remote might be my favorite iPhone app.
This is definitely one of the best free apps in the iTunes App Store: Apple's remote lets you take control of your entire iTunes library so you never have to get out of your LoveSac. The latest version even has full Genius Playlist support. :)



Magical MagiCal.
Have you ever noticed how hard it is to get to a calendar in OS X? Yeah, me too. You either launch iCal and wait for it to load, or you open the "Date & Time" preference pane and risk changing your time zone to Port-au-Prince.
And then you meet MagiCal by Charcoal Design. Not only is the name clever—MagiCal, Magical… get it?—it's a super useful app. MagiCal hangs out next to the clock until you need it, then jumps to life as a sweet little "month at a glance" calendar. It's packed with features, too. Clicking on a date will launch iCal and take you to the day's schedule. You can skip months, or jump to an entirely new date with a couple of clicks. If you want it for longer than a second or two, tear off the calendar and drag it around as a standalone window.
MagiCal can completely replace your system clock, if that's what you're into. It's crazy customizable, so you can make your date/time experience as complex or minimalistic as you want. MagiCal's bang/buck ratio is amazing. It has more features than you can shake a stick at, and it's absolutely free1!






- 1. Like any free app, if you use it and love it, please support the developers so they can keep cranking out great software.
Create cross-platform synergy with Synergy.
If you ever use more than one computer on the same desk, you need Synergy. Synergy is a protocol that allows several computers to seamlessly share the same keyboard and mouse. It's cross platform: I use it to control my Mac laptop, a desktop PC running Windows and a Linux box. I plop my laptop down on the desk, it automatically connects to my desktop computer, and I can use it just as easily as I would a second monitor.
The protocol is really slick. Once it is configured, move your mouse to the edge of the screen and the cursor jumps to the next computer. Keyboard control and window focus follow the mouse. It even shares your clipboard—you can copy something on one computer and paste it on the next. On most platforms Synergy can synchronize screen savers and sleep as well. Check out this quality illustration of the idea:
Image source: synergy2.sourceforge.net
Since Synergy is a protocol rather than a program, there are quite a few apps to use with it. I wouldn't use the official Synergy application on any platform other than Windows. Here are some great alternatives:
On a Mac, I recommend installing SynergyKM. It provides an easy to use preference pane, a graphical tool for aligning displays, and sweet keyboard remapping, so your ⌃, ⌥, ⌘ and Windows keys get along, no matter which keyboard or operating system you're using. It supports multiple profiles, so you can set your laptop up for home and work. It even claims to use Bonjour to automatically configure client computers1.



Linux configuration can get a bit tricky. The command line version gives you the greatest control, but takes a .conf file or two to get going. If you're not feeling up to that, check out QuickSynergy, a GTK 2 app that makes configuring Synergy a breeze. To automatically start Synergy when you boot up (or log in) check out this guide.
QuickSynergy sources and distro-specific instructions here
Image source: quicksynergy.sourceforge.net
And for the unfortunate Windows users, check out the official Synergy2 application. It works great on anything >= Windows 95, so if your computer has a mouse you should be set…
- 1. But that hasn't worked out for me yet. YMMV.
You need Growl notifications.
If there's one utility that should be installed on every Mac, it is Growl. Growl provides a unified system notification interface. By itself, it does nothing. But it allows all other apps to interact with the user in a clean and consistent manner. Growl is inherently Maclike, as it creates a consistent, attractive and unobtrusive way to let you know what's going on with your whole system.
Growl settings are almost too customizable, allowing each user to define exactly how notifications should appear and act. Notification styles range from small bezel windows to giant marquees to synthesized speech. Notifications can even be enabled, disabled or customized on a per-application basis. Check out some of the stock Growl themes. If none of those quite do it for you, choose from an extensive collection of third-party skins, or even create your own!
But just because you can tweak it doesn't mean you need to. Apps that use Growl "just work" out of the box. Once you install Growl you will be surprised how many of your applications already support it. The list of applications currently supporting Growl is huge: everything from download notices to incoming messages to update notifications are delivered via Growl. Growl "Extras" also exist for Mail.app, iTunes, hardware notifications1 and lots of other system apps.

- 1. HardwareGrowler saves you from yourself by growling when your flash drive has finished mounting or unmounting.