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.


To the extent possible under U.S.A. and California law, Sheep Systems has waived all copyright and related or neighboring rights to all public files in the 'jerrykrinock' GitHub account.  A very few files are substantially the works of others, and in those cases the license at the top of the file supersedes this.

* * *

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



This framework is based on Apple's BetterAuthorizationSample and is very complicated, even with this code to guide you.  You don't want to do this unless it is absolutely necessary.  


This project contains a demo, and a reuseable library of Cocoa code, which allows Cocoa applications to perform privileged tasks using a Privileged Helper Tool.  It does this via a slightly updated/hacked version of Apple's BetterAuthorizationSample code.  …

Inter-AppleScript Communication


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. (Make iconset) is a short Perl script which creates a .iconset folder for Mac OS X apps, post-Retina, containing the required ten (10) png files of different sizes.  It simply scales down a given png file, using the 'sips' program built into Mac OS X.  …



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 a demo project (also based on Robert's).  …


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.  …


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.



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.


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.