This page is a catalog of free software I've written or substantially worked on. For the software provided with no included license, I would ask that you credit me when you make use of or incorporate my software into another product; and that you send along any improvements you might make. Bug reports are also welcome.
Pester is designed to let you set, dismiss or snooze an alarm or timer as quickly and painlessly as possible, entirely from the keyboard if you wish. Alert options include sounds, speech and Growl notifications. Use Pester to remind you to catch the bus or attend an upcoming meeting.
What other people say: Macworld, Wolf Rentzsch, Daring Fireball.
Note for OS X El Capitan (10.11) beta users: Pester 1.1b19 is mostly compatible with OS X El Capitan beta. However, natural-language date formatting does not work and you may experience crashes related to selecting speech voices. I plan on fixing these issues in the next few months, or if you are an interested Mac developer who wants them fixed earlier, please let me know and I can briefly describe what needs to be done.
Shroud places a solid-color backdrop behind windows or applications to allow you to focus. The backdrop doesn’t come to the front when you click on it, messing up your carefully arranged workspace. Shroud (optionally) also obscures your menu bar until you move the mouse over it.
What other people say: The Guardian, 1Edge Cases.
Note for OS X El Capitan (10.11) beta users: Many features of Shroud 1.2 do not work properly with OS X El Capitan beta. Unfortunately, the method by which Shroud places the backdrop (as old as OS X itself) no longer behaves as expected and I am not aware of any workaround. I hope that Apple will fix this issue in the future.
Note for OS X Mavericks (10.9) and Yosemite (10.10) Users: Shroud 1.2 is compatible with OS X Mavericks and Yosemite. However, if Shroud is configured to cover the menu bar and the menu bar isn’t appearing when you mouse over it, prevent App Nap for Shroud. This workaround will no longer be necessary in a forthcoming version of Shroud.
Apple provides a simple command-line launching program called open with OS X. launch offers several options that open doesn't. It:
launch is useful by itself, but is even better when used in scripts. Assign a shell command to your favorite OS X text, graphics or resource editor. Browse your favorite Web site with a few keystrokes.
If you use shell scripts to automate OS X applications, you may need to switch between, hide, show or quit applications. Need to launch an X11 application from Terminal but the X server isn't in front when you need it? Use appswitch to fix the problem. Or, if you'd like a version of the ps(1) utility which understands the concept of OS X applications, appswitch can help.
Manage a lab of iMacs? Using a Mac display with software brightness control but without a light sensor? brightness can help you quickly set or retrieve your display’s brightness from scripts or the command line. It will also print display characteristics such as resolution.
A command-line version of Rogue Amoeba's SoundSource, soundsource lets you enumerate, display and change the selected OS X input, output and system audio devices. I use it to switch audio devices from the keyboard with the help of FastScripts.
The OS X version of the NCIDpop network caller ID client, originally written by Alexei Kosut, has not seen much development in a while, and had fallen behind the Windows version.
Features I’ve added include:
Maybe you’re wondering “why use NCID when I already have caller ID?” If you have SIP service at home, NCID can give you caller ID on the first ring on every computer display—or more, if you use Growl to forward the notifications elsewhere. Since I get pretty frequent calls from people I don’t want to talk to, such as Spanish-speaking bill collectors who won’t take no for an answer, it’s been a great help in reducing my stress when the phone rings.
Screenshots: incoming call and call history; preferences.
The original version of AntiRSI was written by Onne Gorter. In his words, “AntiRSI is a program for OS X that helps prevent RSI (repetitive strain injury) and other computer related stress. It does so by forcing you to take regular breaks, yet without getting in the way. It also detects natural breaks so it won't force too many breaks on you.”
Over the past few years I’ve made several changes, including:
Screenshots: session timer and break window; preferences.
ICeCoffEE lets you Command-click to open URLs in Mac OS X applications including Safari, Mail, TextEdit and Terminal. It adds an enhanced, editable “Services” menu to some text fields’ contextual menus, and optionally to the menu bar as well. ICeCoffEE is modeled after ICeTEe for classic Mac OS, which provided the same functionality in many Macintosh applications by patching TextEdit.Recent changes:
Note: ICeCoffEE is not compatible with Mac OS X 10.6 or later. Analogs to a portion of ICeCoffEE’s Services and URL launching functionality are present in current OS X versions. I do not plan to update it.
F-Script Anywhere lets you embed a F-Script interpreter in any Cocoa application. You can use F-Script like a debugger, so you can examine your application's objects in a richer environment than GDB or Xcode permits. F-Script Anywhere can also be useful for examining applications you didn't write, to isolate bugs or add new features.
As of version 1.3, F-Script Anywhere is now part of the F-Script distribution, and is no longer distributed via this Web site. It is finally compatible with Mac OS X 10.4 and is a Universal Binary. Thanks to Robert Chin for bringing F-Script Anywhere up to date.
Note: F-Script Anywhere doesn’t work with Mac OS X 10.6 or later, and I do not have any plans to update it to be compatible. An injection service is available as a partial substitute.