Reverse Remote - an iOS app to allow you to control your iPod music player from another computer on the local network. Here is a screenshot of the web page it generates.

Reverse Remote is sold through the app store.

Write here for support. Thanks!


macopen - a cutesy little shell script I wrote to allow me to open Linux files on my Mac from the Linux command line. Read more about it in the readme on GitHub.


Icollator - a Java app to combine multiple Windows icons (.ico files). It's like Combine Icons, only better. What makes it better, you ask? Feature creep!

Like Combine Icons, Icollator lets you read in icons from multiple files and save the loaded images out into one humongozoid multi-image .ico file. This is useful if you have exported icons at various resolutions and bit depths from a standard imaging application (for instance, GraphicConverter, whose .ico export is unfortunately somewhat buggy, or Photoshop, via the nice free plugin available here). Unlike Combine Icons, Icollator is written in Java, which means you can run it on your Mac (for instance, to make a favicon.ico for your web site). Icollator also has nifty previews of the XOR and AND images that make up each icon within the file. Not particularly useful, but a fun programming exercise.

Here is a screenshot under Mac OS X.

Intel Mac OS X version (Intel-only Mac OS X application bundle)

Windows/Linux version (double-clickable jar file)

requires Java 1.4

Note: Icollator only reads files in the .ico format. It will not read JPEGs, GIFs, PNGs, etc. It will currently let you choose such images from the "Open" window and fail silently (not ideal behavior--I should fix that). Also, it doesn't handle .ico files that use PNG compression internally. This feature was added to the .ico format after Icollator was written and I haven't gotten around to adding support. Someday.

(I like feedback)

Thanks to prompting from a user, I recently dusted off the old code, fixed a bug, and open sourced Icollator on GitHub.


Here is my code blog, where I will occasionally post things interesting to other developers.