Source Code

Our general-purpose code is open-sourced, on our GitHub page.  You are free to browse there and download, fetch or clone whatever you want for your own commercial or non-commercial use.

The following pages highlight some of the projects which others have found to be useful.

Inter-AppleScript Communication

PROBLEM

Good, lazy programmers and computer users like to keep functions they've already written in some kind of library and call upon them when needed, instead of copying.  You can do that with your AppleScripts too.

NS(Attributed)String+Geometrics

I like to measure strings so that I can precisely size their fields.  Although Apple explains how to do this, there are some subtle issues that cause it to sometimes give inaccurate results.  NS(Attributed)String+Geometrics is a pair or reuseable categories (on NSString and NSAttributedString) which you can add to your projects, providing simple methods to get the width and height required for text drawing.  …

RPTokenControl (Tag Cloud)

The Tag Clouds in BookMacster and Bookdog use my replacement for NSTokenField, which I have named RPTokenControl after Robert Pointon's Tag Cloud NSView, on which it is based.

The download includes documentation produced with Apple's HeaderDoc.  …

Searching the Macintosh File System

Every now and then, an application needs to search the user's hard disk to find files.  Here are four ways to do it:

NSWorkspace.  NSWorkspace has various methods which are very easy to use but they only search in "known" places for things like apps.  …

SSYAlert

Unfortunately, apps like BookMacster which interact heavily with other apps require quite a bit of configuration, and frequently encounter errors when these other players don't behave as expected.  Rather than creating 100 xib files, we wanted to be able to generate dialogs in code.  …

SSYHintArrow

This project is inspired by the blue arrow that Apple shows you when you click one of the menu items in a Help menu.  We wanted to make those, and use them for other controls too…


Includes a little demo app.

ACKNOWLEDGEMENTS

SSYLoginItems

Apple recommends a new API for programmatically setting and removing Login Items in Mac OS 10.5, Leopard and later.  This replaces the old LoginItemsAE which never worked reliably  due to its dependence of SystemEvents.

unixnewlines.pl

MOTIVATION

I find it hard to believe that, in the fourth quarter of the year 2008, there is a text editing tool which does not always properly handle files with various line endings, and even harder to believe that Apple's Xcode is that tool.  …

If you are a Mac developer and would like to discuss the item(s) listed here, or another item, send us an email.