The Macintosh computer was truly an amazing innovation in computing when it was released in the mid 1980's. I was introduced to it in 1985, and began using one regularly in 1987. I suffered through the Macintosh dark days and began using Windows when NT came out, but the Mac has always been my default system. I frequently have to use windows for specific applications, but I get my work done on the Mac. Now that the Apple computers are using Intel chips, I can run all software on them.

Mac Os X is a fantastic operating system and comes with all the unix tools and techniques that that make using a computer an enjoyable experience. In addition to those tools, Apple has adopted and extending the NeXT frameworks, and turned it into Cocoa. Here are some simple applications I've written using Cocoa and the free XCode and Interface Builder development environment.

iPhoto Screen Saver

This is a simple screensaver that reads the iPhoto database (XML files). It allows the iPhoto pictures to be displayed as a screensaver much like the built in one with more options. The built in screensaver from Apple automatically scales small images to fill the screen, which can look pretty bad with small images. This saver provides some unique options that the Apple one does not.

This application is very outdated and Apple has improved the built-in screensaver beyond what this one does. It remains here for people to learn from, but is probably not worth actually using

Sodoku Print

This program produces documents with 6 sodoku puzzles on a page. The difficulty of the puzzles is adjustable via the program preferences. There are many Sodoku programs where the user solves puzzles on the computer screen but none that I know of hat are designed to print them out in a dense paper saving form for solving on the couch with a pencil.

TubeMiter

TubeMiter This program produces printed miter templates for cutting intersecting tubes. The user specifies tube diameters and intersecting angle and offset, and the program draws a cutting template to achieve the desired cut. This is useful for bicycle frame building, tubular frame building for motor-sports, and any application where two cylinders intersect.