This is a list of hardware, software and information that has been useful to me as I’ve moved over to Mac OS X. I hope that you find it useful as well. This version is now up to date for Mac OS 10.8 Mountain Lion and Intel Macs.
Hardware
- NEC MultiSync LCD 3090WQXi – 30″ color accurate display with a wide color gamut. Color accuracy is a big deal for photographs.
- Logitech MX Revolution – More mouse buttons is better. I use this mouse to scroll, to page backwards and forwards, to trigger Spaces and Expose. The only sad part is that I needed a third party mouse driver, Steermouse. Steermouse doesn’t know how to talk to the mouse’s battery indicator, so sometimes I’ve forgotten to recharge the mouse.
- Griffin Powermate I love this thing. I put in on my keyboard tray on the other side of the mouse, and use the non-mouse hand to do scrolling. I have a mouse with a scroll wheel, but this lets me scroll and click independently.
- Sandisk Extreme Firewire Compact Flash Reader After I got this, my download times went way down. If you are shooting RAW on a digital SLR, you need an external card reader.
- X-Rite ColorMunki Photo It’s not enough to have a monitor with a wide color gamut – you also need to calibrate/profile that monitor.
- Wacom Intuos 3 6×11- This makes fine photo adjustments tolerable.
- HP 2727nf MFP – I’ve been buying duplexing laser printers for years. The fact that you can get a duplex printer, a scanner, and a copier in one inexpensive unit still blows my mind. I’m still not getting all the mileage out of the scanner that I could.
- Fujitsu ScanSnap S1500M The scanner in the HP2727nf is nice, and for things like books it is useful. But for any other kind of paper that needs to be scanned, the ScanSnap is my go-to device. Receipts, Bills, documents. It’s very easy to scan these into PDFs, directly into mail, or directly into Evernote
Software
Utilities
- Alfred I used to be a QuickSilver user, but QuickSilver languished for a long time, and it never really grew a large community. Alfred costs money, because you really want the Power Pack extensions to get the real power out of it, but everytime I’ve wondered whether there was an Alfred workflow for some task, there was usually at least one.
- Pathfinder CocoaTech’s Pathfinder is a Finder replacement that includes many features. Some of the reasons that I like it are that it can open a terminal window on a particular folder. It supports tabbed terminal windows, which makes it easier to manage a proliferation of open shell windows (I feel that I need this even with Expose available). You can also have tabs of browser windows and save sets of those tabs, which is really handy for managing different projects. When you select various kinds of files in the file browser, you get a preview of the file contents. The Drop stack makes it easy to drag files from one place to another without requiring multiple windows everywhere. Pathfinder 5.0 allows you to split a Pathfinder window into two panes, which helps with file management tasks without proliferating windows.
- DefaultFolder DefaultFolder extends the standard open and save dialog boxed you to remember which folders you visited recently, and allows you to make some favorites permanent. You can create sets of favorite folders on a per application basis. This is a big improvement on the standard dialogs.
- SteerMouse This is the driver I use to enable all the MX Revolution’s butttons
- Growl A system wide notification service with command line tools and Python bindings. Supported by Ecto, Adium and everything else
- iStat Menus iStat Menus is the ultimate system monitoring utility. Because of it I stopped using iPulse, and MenuCalendarClock, and SlimBatteryMonitor
- Fastscripts This is an incredibly useful app that allows you to invoke AppleScripts from a menu in the menu bar. That menu is application aware, and you can assign keyboard shortcuts to scripts. The final killer feature for me is the ability to option-select a script in the menu and have it opened in Script Editor
- TypeIt4Me TypeIt4Me allows you define text abbreviations that will be expanded when they are typed into a text entry box. I have a ton of abbreviations, and I am always adding new ones. I preferred TypeIt4Me to Textpander because TypeIt4Me can invoke applescripts from the abbreviations. Support from Riccardo Ettore, the author has been great.
- Keyboard Maestro Keyboard Maestro is the new Quickeys, for those of you who know what Quickeys was. If you want to trigger something from the keyboard Keyboard Maestro is it. Alfred for launching and big custom workflows, TypeIt4Me for text substitution / insertion, and Keyboard Maestro for the rest.
- Hazel is a great tool that allows you to specify rules that run when files appear in particular directories. It also has great functionality for cleaning up the associated files when you delete an application
- SuperDuper It’s really important to backup your computer. I learned this the hardware when mine was stolen and the backups were old. SuperDuper backs up by copying one drive to another — it doesn’t do incremental backups that allow you to go back in time over versions. That’s fine with me. SuperDuper wakes up early every morning and backs up my disk. And yes, I use SuperDuper in addition to Time Machine. Cheap, fast, and good.
- Bwana Bwana allows you to use your default web browser to read UNIX
man
pages.? - WhatSize WhatSize is a tool that helps you figure out where all that disk space is going. It looks like the column view in the Finder except that also shows the amount of space used by entries in the view.? Later versions have gone payware
- OmniDiskSweeper ?At the same time, Omni Group’s OmniDiskSweeper has become free, so I use it now.
- Lingon
launchd
is OS X’s way of kicking off periodic jobs. Lingon is a good GUI tool for helping to createlaunchd
configuration files. Essential for a highly automated system. - blueutil
blueutil
lets you turn Bluetooth on and off from the command line. Combine that with this hint and you can turn bluetooth on and off from Alfred. - Flip4Mac You need Flip4Mac’s Windows Media Components for Quicktime in order to play
.wmv
files on a Mac. - Bonjour Browser A little application that lets you see what computers are offering which services via Bonjour.
- Sloth Sloth a gui for lsof, which will tell you what files are open and which application has the files.
- Stay Stay is the solution for windows moving all around on a laptop, particularly when you are also plugging into external monitors
- Unicode Checker A useful tool for dealing with Unicode. Also makes itself available via the services menu
- CocoaDialog Mac OS X user interface dialogs that you can call from your favorite UNIX scripting language
- Pashua Mac OS X user interface dialogs that you can call from your favorite UNIX scripting language – can also do Applescript
Applications
- Firefox I am primarily using Firefox as my browser.The first order bit is tabbed browsing. Safari has tabs, but its tools for managing tabs are primitive. The second order bit is extensions. I am using the Tab Mix Plus extension which provides much better tab management facilities then stock Firefox. Other important extensions that I am using are the Adblock which allows me to kill various kinds of ads/Flash, etc, NoScript, which prevents Javascript from running, and FlashBlock, which prevents Flash from running.. Greasemonkey allows you to change the behavior of web apps by injecting Javascript code into the page. There are some pretty cool Flickr tools written using Greasemonkey. The existence of these kinds of plugins is the differentiator between Firefox and Safari (and everyone else). Safari is faster and better integrated withe the Mac OS (Bonjour and Services support are examplse), but Firefox is extensible and is improving. The fact that Firefox is open source is good (it contributes to rapid improvement), but not as important as the plugin architecture. (Actually I am getting more and more unhappy with the lack of integration of Firefox. I am starting to use Safari for some tasks, and I am also using Google Chrome when I need to look at a page with image loading and Javascript turned on. Also Chrome’s web development tools are really really good.
- NetNewsWire NetNewsWire is the only Macintosh RSS reader that supports my scan and tab pattern of RSS reading. I open up groups of feeds in NetNewsWire’s combined view, and read as much as I can inside of NetNewsWire. If the article is long or good, I click on it to send it to a tab in NetNewsWire’s tabbed browser. After I finish scanning with the combined view, I then walk through all the tabs and read them. I also make use of the fact that NetNewsWire can run scripts that output RSS to generate RSS feeds from my private servers. I also have a pile of custom AppleScripts and Python OSA scripts which I use to customize and integrate NetNewsWire into my desktop. It is a huge plus that Brent Simmons, the developer of NetNewsWire, is accessible and friendly.
- TweetBot Tweetbot is my choice for desktop Twitter client. It has the best support for the way that I use Twitter
- Fluid Fluid lets you create application specific browsers based on WebKit. I use it for Facebook, and Flickr
- Ecto Ecto is an excellent application for posting to a blog. It handles HTML, HTML previewing, local composition of posts, ping notification, and more. Currently it has support for blogs that use the Blogger, MetaWeblog, and Movable Type (Blogger/Metaweblog combination) APIs. Atom support is supposedly coming soon. Unfortunately development of Ecto has slowed down substantially. On the other hand it does almost everything I need it to (except for editing pages in WordPress).
- Evernote Evernote is a great application for taking text, voice and image notes. It allows you to tag individual notes for later retrieval. There is a web version of Evernote which can sync to the desktop version and to the iPhone version of Evernote, which is the best note taking application on the iPhone. The same is true for the iPad version of Evernote. Evernote is one of the cornerstones of me being up-to date on Mac, iPhone, and iPad.
- DEVONthink Pro Office This is a super functional program which I use to capture and categorize interesting information, including web pages, PDFs of research papers, OmniOutliner documents and more. It’s a great researcher’s tool
- Dropbox Dropbox allows you to create a shared folder which kept in sync with an account on the Dropbox service. You can share the dropbox via the web client, multiple desktop clients (including Windows and Linux), and the iPad or iPhone (Android too). If you have more than one computer or an iPad, I think it’s a must. If you sign up for Dropbox using this referral code, you and I will get a little extra space.
- 1Passwd 1Passwd is the best password manager program for the Mac. It works with all major browsers, including Firefox, Safari, Google Chrome, and NetNewsWire. It does a super job of filling login forms, even unusual ones that Firefox’s built in password manager fails to fill in. It also contains a handy strong password generator, so you can stop using the same password everywhere. And there is an iPhone and iPad version.
- Pukka Pukka is a handly little application for stuffing URL’s into del.icio.us You can use Pukka as NetNewsWire’s del.icio.us posting application.
- Snak I spent a lot of time looking for a decent IRC client. I am not in IRC that much any more, but when I was, I was in at least 10 channels on a daily basis. Managing that many channels is tough. I wanted a way to have all the channels visible at once, which rules out a tabbed interface. I also needed customizable actions on a per channel basis. I also wanted to be able to log each channel, since there is often useful information there. Snak allows me to log into all the channels automatically at the start of my day. I create two Snak windows, each tiled with 3 channels, so I can see all the channels at once. These windows and iChat go on the MacBook Pro display, which I reserve for interactive communications. I have actions set to look for my nick in the various channels and notify me accordingly. In the important channels, I get a speech and dock bounce notification. In the others I get beeps. All channels are logged to a directory. Snak is also scriptable, but I haven’t really gotten into that yet.
- Adium The best multiprotocol IM client for the Mac. Supports OTR encryption of IM’s. I’m pretty much using this, even though iChat can do audio and video. See the next entry for why.
- Skype I switched to using Skype for both audio and video, because it was just easier to interoperate with people on Windows machines. I could never get the iChat video to work with AIM on Windows. I’m only sorry that I’ve added one more communications program to my system.
- OmniOutliner I admit to being an outliner lover, all the way back to Dave Winer’s original ThinkTank for the Mac. I use OmniOutliner for all kinds of outlining tasks.
- OmniFocus In theory I am a practitioner of David Allen’s Getting Things Done. In reality, I’m not quite there yet, but I rely on OmniFocus as my trusted system where information goes so that I eventually act on it. It is a critical application for me, particularly because of the iPad and iPhone apps.I use this one all day, every day.
- Photoshop Lightroom Lightroom gets the node for organizing and light postprocessing of photographs. It’s gotten quite capable, so even for some selective adjustments Lightroom is all you need.
- Photoshop If you need to make fancy adjustments to just a part of a picture, you need Photoshop.
- GPGToolsFor encrypted signed e-mail I am primarily using PGP. GPGTools a full suite of tools for using PGP on a Mac including integration with Mail.app.
- iChm I am using this mostly to read the CHM versions of the Python documentation (available at python.org). The primary benefit of using CHM format is that the viewer contains a good search capability. There’s no need for an internet connection (as would be needed if you used Google to search the web pages for the documentation set.?
- Virtualbox Virtualbox is an open source desktop virtualization program that runs on Mac OS X, Windows and Linux. I use it to run Windows, Linux and OpenSolaris VM’s
- Skim Skim is a PDF reader and note-taker. It’s open source, and I am hoping that the developers will make it into a competitor for Yep or Papers.
- Movist Being on a “minority” platform such as OS X or Linux can be a pain when dealing with multimedia files. Movist is a great player that can hande most of those files that QuickTime and the MS Windows Media Player can’t play. When Movist fails, I break out VLC.
- Perian A collection of A/V codes to augment what QuickTime doesn’t play natively
- CoRD Open source RDP client for talking to Windows.
- VisualAck A visual UI to the code oriented replacement for grep, ack.
Built in apps
- Mail.app I switched from using Thunderbird for mail to Mail.app. Here are some of the reasons. I like the integration with the Mac OS X address book. There are good built in options for notification, including speech. I used to think that the buddy icons in IM programs were just eye candy, but the I’ve noticed that use of pictures in Mail.app and iChat helps to keep things straight in my head when I have multiple threads of communication going on. In fact, I wish IRC clients could do this. The availability of a good PGP plugin also helped (Enigmail for Thunderbird is also excellent). In general, I found Mail.app to be very snappy (compared to Thunderbird), and the searching was fast enough and useful enough that I actually use it. I also like the way the Mail.app handles threads. The visual grouping works well, and threads with new messages sort to the bottom (or top, depending on how you like it) of the Inbox area, making it easy to follow threads. The only flaw in the thread handling is that not all the thread indentation is preserved. Also, I use Python to script Mail.app. This is essential to my ability to deal with my email in any kind of sane way.
Here are some useful plugins for Mail.app, again demonstrating the value of a plugin system.
- Mail.app plugins This is a good directory of plugins for Mail.app
- Mail Act-On Mail Act-On allows you to invoke Mail.app rules from keyboard shortcuts. This is super handy.
- MailTags MailTags allows you to tag e-mail messages and to build smart folders based on those tags. You can also access the tag information from Mail.app rules.
Unix compatibility
- Gnu Emacs for Mac OS X If you’re an Emacs users, you need this. If you’re not, I’m not going to try and convince you. This is updated roughly quarterly and works great.
- XQuartz You’ll need this to run some Linux apps. If you need X support this is what you want. This is the most up to date version of X
- Git Git is available on OS X, and works great. Nowadays I get the latest version via Homebrew
- GitX GitX is a reasonably nice OS X GUI for Git.
- Mercurial There are prebuilt Mercurial binaries for OS X. You want them.
- Murky Murky is a nice native OS X GUI for Mercurial
- Zsh
zsh
is the power user’s interactive shell. It has incredibly powerful command (programmable) and file completion, and a host of other features that I can’t even begin to describe. You can look at my blog for zsh related posts. - Homebrew This is the best of the packaging systems for OS X.
Self Expression/Customization
Screensavers
I used to use a bunch of different screensavers, but since I started taking pictures, I just put a bunch of my best photos in a folder and let the screensaver cycle through those.
Tips and Info
- Command Line interface to the Address Book
- I don’t make any apologies about being a shell guy, so I like to have command line tools for as much as possible.
contacts
lets you access the Mac OS X Address Book from the command line. I rebuilt this from source for Intel Mac. say
- One of the nice things about Mac OS X is that you have easy access to speech synthesis. This is useful for all kinds of notifications. Many of the Mac applications can take advantage of this. The
say
command lets shell scripts (and any program that can exec other programs) have access to the speech syntesizer as well.man say
for the details. I use say at the end of long running commands to let me know that the run has finished. - Command line power manager
- The built in command
pmset
lets you display and modify the power management settings. - Controlling NVRAM settings
- The
nvram
command lets you modify the Open Firmware Non-Volatile RAM settings. I used this to make my boot sequence more UNIX like (console w/ scrolling UNIX stuff) by doingsudo nvram boot-args="-v"
- Dealing with the Clipboard from the command line
- Thanks to Wilhelm Fitzpatrick for this one. You can use the commands
pbcopy
andpbpaste
to manipulate the clipboard from the shell or a shell script. - Manipulating services
- The
/sbin/service
command will let you enable and disable services from the command line - What should I set JAVA_HOME to?
- Apple’s Java is a different place that non Mac Java developers will have a hard time finding. Set
JAVA_HOME=/Library/Java/Home
- CUPS tricks
- Mac OS X uses CUPS to manage printing. You can get to the CUPS control panel via http://127.0.0.1:631/. I have a duplexing HP LaserJet 2727nf. In order to get lpr to do duplexing, I had to do
lpoptions -p <printer-name> -o sides=two-sided-long-edge
. In order to get lpr to recognize the name of the printer (it’s connected over Ethernet via TCP/IP), I had to muck with entries in/etc/cups/printers.conf
and I had to copy/rename ppds i /etc/cups/ppd. It was no fun, but it works. - Repairing disk permissions from the shell
- To repair disk permissions from the shell use:
sudo diskutil repairPermissions /
- Automatically loading ~/Library/Java/Extensions
- Mac OS X automatically loads jars from the directory
~/Library/Java/Extensions
. Whether this is a good thing or a bad thing is up for debate. - ~/Applications
- This one is a personal preference. I’ve installed most of my applications to a
~/Applications
directory instead of/Applications
. - readline support for Apple Python
- Due to a conflict with readline’s licensing under the GPL, the Python 2.6 shipped on Snow Leopard is missing readline support, which you just plain need in the interactive interpreter. This blog post shows how to get it installed.
- Lookup Carbon Error codes from the command line
- On Mac OS 7/8 there was a nice desk accessory that let you look up various Macintosh error codes. This MacOSXHints article describes a variety of ways to do this lookup from the Shell on Mac OS X. I ended up using the perl version at the end. If you know of an unobtrusive GUI version let me know.
- Automounting SAMBA shares
- I have a few Linux boxes lying around the house doing duty as webservers and so on. Because we used to be a Windows household, each of those servers exports directories as SAMBA shares. I’m not really interested in setting up NFS (although maybe I should — but then I’d probably want AFS or CODA), so I just want a way for those shares to get mounted when I log in or when the MacBook Pro wakes up. It turns out that this is harder than it ought to be. You can mount shares in the Finder via Applescript code that looks like this:
tell application "Finder" try mount volume "smb://WORKGROUP;username:password@machine_name/directory" end try end tell
Automounting of shares in /Network is controlled by NetInfo — you have to use the NetInfo Manager as described in this article. You need to supply a SAMBA url instead of an AFP url. You can also mount using a shell script.
#!/bin/bash mount_smbfs //username:password@server1/home ./s1home
You also want to unmount them when you go away / lid close You can unmount non local volumes in Applescript like this:
tell application "Finder" eject (every disk whose local volume is false) end tell
- Running shell scripts at login and logout
- Note that this is different from running the .profile or equivalent files, since they apply to shells started in Terminal, iTerm or the PathFinder terminal, etc. These scripts are executed when you login and logout of OS X. Mike Bombich, author of Carbon Copy Cloner (which I haven’t tried yet) has a pointer to doing it exclusively via the command line, or by using his free LoginWindow Manager program. This would be a good place to mount and unmount shares, etc.
- Viewing any number of individual days in iCal
- [Via macosxhints.com] Press Command-Option-{2,3,4,6} to view 2,3,4, or 6 days. Command-Option-5 shows the 5 day week and Command-Option-7 shows the 7 day week
- Virtual Hosts and
mod_rendezvous_apple
- This article tells how to setup virtual hosts so that Apple’s mod_rendezvous will show each virtual host. Rendezvous access to websites is great for conferences and other ad-hoc in person networking situations, as well as mobile work groups. I wish that Firefox had this.
- Quit Mac apps from the shell
- Command line to quit applications. I’m using the nice zsh functions.
- Easier command line Mac app launching
- Shell script to make it easier to launch Mac apps from the command line
- Tell Mail.app to send a message on a schedule
- Andreas Amann’s Mail Scripts, a set of AppleScripts to make Mail.app do various cool things. The one I like the most is Schedule Delivery.
- Getting to hidden folders in open/save dialogs
- You need to know how to do this!
- How to launch a GUI app as root
- If you must, you must
- Nicer separators for Safari Bookmarks
- I’m using Safari a bit more
- You can pipe the output of a shell command to “open -f” to get that output into TextEdit [via Macworld 10/2004 p. 87 ]
- Some of this type of stuff can be done with Quicksilver
- Turn on the Safari Debug Menu
- There are a few useful items in the Debug menu – like import/export of bookmarks
Good Resources
- Faisal Jawdat’s OSXHack mailing list.
- Mac OS X Hints
- Gibson Research’s ShieldsUP!
A web based port scanner that you can use to test how well your firewall is setup. You have to scroll down the page and click the link (it gets generated according to your IP address)
Pingback: Ted Leung on the Air » Blog Archive » Macintosh Tips and Tricks revised
Pingback: Macintosh Tips and Tricks
Pingback: On What Is, And What Is Not » GREAT list of OS X tips
Pingback: Rom’s Blog » Blog Archive » links for 2007-04-12
Pingback: links for 2007-04-12
Pingback: Too many topics, too little time. » Ted Leung on the Air » Macintosh Tips and Tricks
Pingback: diskostu sagt… links for 2007-06-12
Pingback: Joao Barros » links for 2007-08-27
Pingback: Mac Pro time at Ted Leung on the Air
Pingback: Macintosh Tips and Tricks revised at Ted Leung on the Air
How about this:
(*
Thanks to:
Tweet by Coda Hale & Mike Keen
http://blog.codahale.com/2007/01/15/tweet-twitter-quicksilver/
Growlified Tweet by
http://www.sauria.com/blog/2007/01/18/growlified-tweet/
AppleScriptTweet v1.0 ©2010 Jim Mitchell
http://jimmitchell.org/projects/applescripttweet/
The script requires installing the “twurl” rubygem — a Twitter-friendly version of the Unix curl — in order to operate properly.
Point your browser to and carefully follow the directions in the “Read Me” section.
BE ADVISED: I will politely decline all support requests for installing/using twurl since it is not my code…
This script is released under the Creative Commons GPL 2.0 license.
http://creativecommons.org/licenses/GPL/2.0/
*)
property theAccount : “theBlueLion” — this is the twitter account to use if you have multiple instances of the script in play.
–property theApp : “AppleScriptTweet” — this should be the same name as what you registered with http://dev.twitter.com/apps/
property theApp : “qucs” — this is how Quicksilver is registered with http://dev.twitter.com/apps/
using terms from application “Quicksilver”
on process text tweet
set charcount_max to 140
set charcount_tweet to (count characters of tweet)
— Check message length
if charcount_tweet < charcount_max then
set theTweet to quoted form of ("source=" & theApp & "&status=" & tweet)
set TwitterUpdate to "twurl -d " & theTweet & " /1/statuses/update.xml"
set TwitterResponse to do shell script TwitterUpdate
if TwitterResponse contains "” then
growlNotify(“Fout bij posten Tweet”, “Tweet niet gepost. Twitter geeft moeilijkheden.”)
else
growlNotify(“Tweet gepost”, tweet)
end if
else
— Tweet is too long
growlNotify(“Tweet te lang”, “Tweet is ” & charcount_tweet & ” karakters lang. De maximum lengte is ” & charcount_max & ” karakters.”)
end if
end process text
end using terms from
using terms from application “GrowlHelperApp”
— Register Growl
on growlRegister()
tell application “GrowlHelperApp”
register as application “Tweet” all notifications {“Alert”} default notifications {“Alert”} icon of application “Script Editor.app”
end tell
end growlRegister
— Notify using Growl
— Example: growlNotify(“This is an Alert”,”This is a test of the Growl Alert System”)
on growlNotify(grrTitle, grrDescription)
tell application “GrowlHelperApp”
notify with name “Alert” title grrTitle description grrDescription application name “Tweet”
end tell
end growlNotify
end using terms from
Pingback: Macintosh Tips and Tricks by Ted Leung « Lorenz Szabo
I definitely give the thumbs up to the NEC 3090WQXi I use it for photography and the gamut is top notch and a great viewing angle to boot.
I think the A5 wacom Intuos is big enough for me…then again I dont have the desk space for a bigger one!