Free software I've written
This page is a catalog of free software I've written or 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.
Mac OS X 10.7 (Lion) compatibility:
- AntiRSI, Shroud, NCIDpop, launch, appswitch and
Pester (both 1.0 and 1.1b15) work properly.
- ICeCoffEE doesn’t work. Analogs to a portion of
ICeCoffEE’s Services and URL launching functionality are
present in Lion. I do not plan to update it.
- F-Script Anywhere doesn’t work and I do not have
any immediate plans to update it. An
injection service is
available as a partial substitute.
Pester
Pester is a simple alarm clock and timer for Mac OS X. Use it to
remind you to catch the bus or attend an upcoming meeting. It is
modeled after xalarm in functionality—though not in
interface design.
- Download as a
compressed Disk Copy (UDIF) image, version 1.1b15 for Mac OS X 10.6
and later. (Release notes)
- Download Universal Binary as a
compressed Disk Copy (UDIF) image, version 1.1b12 for Mac OS X
10.4–10.5.8.
- Download source and binary
as a compressed Disk Copy (UDIF) image, version 1.0 for Mac OS X 10.1–10.6.8.
- Source
is available at GitHub.
Shroud 1.1.2
Shroud places a solid-color backdrop behind windows or applications on
your Mac to allow you to focus. Unlike some similar applications, the
backdrop doesn't activate when you click on it, messing up your
carefully arranged workspace. Shroud also (optionally) obscures your
menu bar until you move the mouse over it.
- Download Universal Binary as a
compressed Disk Copy (UDIF) image, for Mac OS X 10.5 and
later. (Release notes)
- Source is available
at GitHub.
NCIDpop 0.9.17
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:
- a call history window (reopen NCIDpop to see it); copy or drag
phone numbers from it
- reverse lookup support, including Apple Address Book lookup with
photos (double-click or use the contextual menu)
- network change robustness (automatically reconnects to the NCID server)
- localized date formatting and Address Book-based phone number formatting
- optional Growl notification support
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 the Growl suport 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.
- Download
Universal Binary as a compressed Disk Copy (UDIF) image, for Mac OS X 10.4
and later.
- Visit the NCIDpop home page.
- Source is available at SourceForge.
AntiRSI 1.4njr4
The original version of
AntiRSI was written by Onne Gorter. In his words, “AntiRSI
is a program for Mac 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:
- redesigned break window, using less CPU during breaks
- usage tracking which doesn't get affected by video players
(e.g., UpdateSystemActvity)
- work session timer measuring how long you've been typing in total
- showing the break window in all Spaces on Leopard
- not keeping AntiRSI focused when you click
“Postpone”, or at the end of a break when you have
AntiRSI set to keep itself in front
Screenshots: session
timer and break
window; preferences.
launch 1.1, a command-line launcher for Mac
OS X in the spirit of open
Apple provides a simple command-line launching program called open
with Mac OS X. It offers few options—launching applications by name
or by path, launching TextEdit, or opening a number of applications,
documents, folders, or URLs. With the exception of special support for
TextEdit, launch does everything open does, and:
- opens URLs and email addresses in your preferred helper application, or sends URLs to any other application of your choice
- lets you specify applications by their four-character creator
(e.g. 'ToyS') or Java-style bundle ID (e.g.
com.apple.scripteditor), both of which allow you to move
or rename an application without changing references to it
- asks applications to print documents
- pipes output to applications
- launches applications in the background
- launches Carbon applications in Classic
- reports errors intelligibly
- shows information about any item on disk, including its file type,
creator, data and resource fork sizes, version, dates and bundle ID (where
applicable).
launch is useful by itself, but is even better when used in scripts.
Assign a shell command to your favorite Mac OS text, graphics or
resource editor. Browse your favorite Web site with a few keystrokes.
- Download source and Universal Binary in gzipped tar format, version 1.1 for Mac OS X 10.4 and later.
- Download source and binary in gzipped tar format, version 1.0.1 for Mac OS X 10.2 and later.
- Source is available from Subversion
(browse).
appswitch 1.1.1, a command-line
interface to OS X process management
If you use shell scripts to automate OS X applications, you may need
to switch between applications. You could use AppleScript via
osascript(1), but it may take several seconds for the script
to compile and execute—or you could use
appswitch, which works almost instantly. 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.
- Download source and binary in
gzipped tar format, version 1.1.1 for Mac OS X 10.6 and later.
- Download source and Universal
Binary in gzipped tar format, version 1.1 for Mac OS X
10.4–10.5.8.
- Download source and binary in
gzipped tar format, version 1.0.1 for Mac OS X 10.2–10.3.9.
- Source is
available at GitHub.
ICeCoffEE
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:
- Version 1.5 supports more URL styles, displays icons for services
and keyboard shortcut preferences, works on hyperlinks in text, adds a
Copy Link menu item, no longer requires a URL be selected in
Safari/WebKit, adds contextual menu services to Preview/PDFKit and
fixes several bugs.
- Version 1.4.4 fixes a conflict with Safari 3 Beta.
- Version 1.4.3 fixes several bugs and is a Universal Binary,
compatible with Intel Macs.
- Version 1.4.2 is fully compatible with Mac OS X 10.4.
- Version 1.4.1 fixes a conflict with Safari 1.3 as included in Mac
OS X 10.3.9.
- Version 1.4 adds French localization (thanks to thomas didrel) and the
ability to select which services appear in contextual menus.
- Download installer as a compressed Disk Copy (UDIF)
image, version 1.5b5 for Mac OS X 10.4.11–10.5.8 (Universal Binary).
- Download installer as a compressed Disk Copy (UDIF)
image, version 1.4.4 for Mac OS X 10.3.9–10.4.11 (Universal Binary).
- Download installer as a compressed Disk Copy (UDIF)
image, version 1.4.1 for Mac OS X 10.2.8–10.3.8.
- Download installer as a compressed Disk Copy (UDIF)
image, version 1.4 for Mac OS X 10.2.0–10.2.7.
- Download installer and binary as a compressed
Disk Copy (UDIF) image, version 1.1 for Mac OS X 10.1.
(If you really want ICeCoffEE support in 10.1’s Terminal, download ICeCoffEE 1.2b2: there are
known bugs which crash Terminal in this version, and I do not provide
support for it, but it may work for you.)
- Source is available from Subversion
(browse).
F-Script Anywhere
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.
Last updated on 24 July 2012.