Like most programmers, I have a variety of personal projects that are in various states of (in)completion. Some are more useful than others, and I present them here to satisfy the curious and hopefully provide something useful. Should my software be of use to you, and you feel so inclined to donate money, you can do so via my PayPal account.

CHDataStructures.framework

CHDataStructures.framework is an open-source Objective-C library of standard data structures. I created it partly out of curiosity, and partly because I wanted/needed some custom data structures written for Objective-C projects I work on. I've focused on performance, making the API match Cocoa conventions as closely as possible, complete documentation, and unit tests and code coverage.

XHTML Doclet

Javadoc is an extremely useful tool for automatically generating API documentation, but the standard output has always been somewhat lacking in flexibility of format and appearance. The standard Javadoc HTML output is starting to show its age, both inside and out.

XHTML Doclet is a standards-compliant doclet for use with Javadoc, intended as a modern alternative to the Standard doclet. It creates valid XHTML 1.0 Transitional markup and provides better hooks for more flexible CSS styling. The focus is on creating intelligent document structure without any inline styling, resulting in greater freedom to change the appearance of all the files, either site-wide or for certain types of pages.

(NOTE: This project is in an unfinished state, and currently on the way-back burner due to other time constraints, but I'm still very much interested in finishing it.)

JarHand

I work with Java code and libraries a lot, and I've used Jar Inspector for OS X quite a bit. Unfortunately, it uses Cocoa Java, which was deprecated in 10.4 and removed altogether in 10.6 — in short, it won't work on Snow Leopard (or anything later) as it now exists. Since I'm handy with Objective-C and Cocoa, I saw an opportunity to create my own software to accomplish the same things, and learn something new in the process.

I created JarHand (working name) in 2009 to fill the void. It doesn't yet have all the features I want (or even all the features Jar Inspector has) but it allows me to browse JAR files and decompile code with tolerable accuracy. You can download the source from SVN and build it yourself — no binary downloads at this time.

Beat Doctor

Beat Doctor is a metronome developed for Mac OS X. It is loosely based on the interface of the Boss Dr. Beat DB-88, since I like its features and overall simplicity. However, I won't incorporate every single feature, and some functionality is unique to my program.

Beat Doctor is different from most Mac metronomes, and not just because of visible features. Beat Doctor will eventually utilize Core Audio, (an OS X technology for super-accurate audio output), feeding sounds at the appropriate time intervals and volumes. (This will eventually allow for exporting sound clips in AIFF format, which can then be converted using iTunes and transferred to iPod.) Beat Doctor also loads extremely quickly and has a small footprint.

Although the interface is complete, this program is still in development. Known issues include:

  • The only sound that plays is on the beat.
  • Output volume is not yet tied to the sliders.
  • Very noticeable latency and lags in timing.

These problems will be resolved with addition of Core Audio routines. However, I haven't yet had the time to finish deciphering the complex APIs and designing the structure from the ground up. (Such are the woes of being a full-time student and part-time employee!)

Beat Doctor is donateware, meaning that you can voluntarily send me however much you think it's worth. It isn't shareware, so there is no license code and no randomly pestering you to register. However, if you enjoy the product of my hard work, please consider sending a token of appreciation!

Give Beat Doctor a try and tell me what you think so far. Constructive feedback is always accepted!

Download

Download Latest
(v 0.6.5a — 15 August 05)

Brazilian Keyboard Layout

NOTE: I strongly recommend Rainer Brockerhoff's excellent U.S. International keyboard layout. (As of 10.6, it's included in OS X with the name "U.S. International - PC".) I've left this layout here for legacy use and the curious.

Since I lived in Brazil for 2 years, I learned how to type on a Portuguese keyboard, and found it's a lot easier than the built-in layout that Apple includes in OS X. For that reason, I created a custom layout using ResEdit in OS 9, and mapped the keys on a standard U.S. keyboard to match an ABNT (Associação Brasileira de Normas Técnicas) keyboard as closely as possible. Hopefully this standard will be helpful to Mac users that need to type in Portuguese.

To install this layout, place it in a Library > Keyboard Layouts, either in your home directory (~/Library) or in the root directory (/Library). This layout is free to anyone that wants to use it, but with no liability on my part. Let me know if you have questions or suggestions. Thanks!

Download

Download Latest
(v 1.0 — 1 March 06)