Mac Software
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?
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.
Keep your computer up late with Caffeine.
Caffeine is a menu extra1 that does one thing, and does it well: it keeps your computer from going to sleep.
Do you get tired of wiggling your mouse to keep the screen from dimming while you're watching a YouTube video? Do you ever wish you could close the lid of your MacBook without it falling asleep immediately? Wouldn't it be great if you could keep your computer awake for an hour or two before power management kicked in? Want to easily disable or enable your screen saver? Check out Caffeine to turn your Mac into an insomniac.



- 1. Menu extra: n. An icon on the right side of the menu bar. "That's a sweet menu extra you have there... what does it do?"
Track practically any package with Delivery Status.
Today my moving truck1 came, and I tracked it the whole way with Mike Piontek's Delivery Status Dashboard widget.
This is one of the few widgets that I actually keep using. Maybe because it's better than refreshing the UPS tracking page every five minutes. Maybe it's because this widget updates me through Growl so I don't even have to pull up my Dashboard. Yeah, that's probably it. It's slick, easy to use, and indispensable.
Stay on top of your deliveries. Just enter the tracking number and watch it count down the days. Track as many packages as you want, from almost any carrier on the planet.



- 1. Please see also: UPS.
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.
Jumpcut keeps your clipboard around a little longer.
One of my biggest problems with the "clipboard" paradigm is that it only holds on to the last thing I clipped. I'm forever forgetting that I just clipped something I wanted, and haphazardly replacing it by copying something new1.
Jumpcut gives the OS X clipboard a healthy sense of history. It's a simple little menu extra2 that keeps track of a configurable amount of recent clippings, just a hotkey or a mouse click away. If the top of the screen is too far, you can hit ⌃⌥V to pop up a bezel window that pages through all your recent snips. This slick little app has become an indispensable part of my workflow.


