Kaolin Fire with GUD Issues 0 through 5

kaolin fire presents :: software

Programming projects and whatnot

iOS Applications

iOS is one of the platforms I develop on: for my day job; as a contractor; and personally. I contributed to all of these apps in some way, at least the development, but they're not all mine. They are apps I consider "mine" enough to promote.


Let your toddler paint your screen with fingers and toes—a screenful of notes and colors will keep them entertained for hours, dragging their attention back if they stray.




You may think you've played this game before—but you've never played it like this! Dodging the asteroids with your accelerometer-happy device is just the beginning. TAPPING the asteroids to destroy them has never been more satisfying!




TumbleDots is a fast-paced match-3 game that uses your iDevice's accelerometer. Tilt the board to line up groups of three or more gems of the same color...sounds simple, but there's a great puzzle challenge made trickier in the motion.



also available as a flash game...


Saintify is a contemporary re-imagining of Patron Saints featuring all original artwork, biographies and prayers. All designed for you to share, with your own personal message, by email, Facebook or Twitter.




Text Detective is an application for the iPhone that can detect text and read it aloud–whether it’s a nearby sign, a handout, or any other document. The application uses the phone’s camera, and our patented text detection algorithm analyzes the video stream and tells you whether there is text or not. Optical Character Recognition (OCR) and VoiceOver parse the text that was found and read it aloud, all within seconds.

Flash Games

Memory Shell Game
A standard memory game switched up with a few tricks learned on the El in Chicago. ;)
Hard Choices by Tina Connolly
A "Choose Your Adventure"—why do we always flub the hard choices?
Saber Duel
A quick blind-fighting game—in flash, play now! ;) :)
A quick color-matching puzzle game—in flash, play now! ;) :)

c/c++ Applications

Detritus is a fast-paced shoot-em-up strongly based on the old classic Asteroids. Replenish your shield with power-ups and gain new weapons. "Cleaners" appear periodically, so watch out! The keyboard controls should be self-explanatory. Written in c++ with SDL, OpenGL, and OpenAL libraries.
Falling Up
Yet another "falling tetronimos" clone. Except it's not. It's much more...twisted. Written in c with GLUT, OpenGL, and OpenAL libraries. Compiled with MingW/gcc on windows, gcc on os x. Haven't had a chance to compile it for linux or *bsd, but the source code's free, so ... feel free. It should port painlessly, with one self-documented change in a function call. Looks like it could even port to the palm, in some fashion, with miniGL.
Fractal Roamer
Realtime fractal roamer, with "trippily intelligent ai"—tripper toy. Written for gnome (gtk+), and windoze. Needs some help speeding up the framerate. Faster computers will help some, but... also should add "spiraling" effect to autopilot. no need to stick to one orientation.
Groovy Tetris
written for windoze with Visual C++, plans to port it to gtk+, need to get it working under codewarrior for windoze first, just to be sure. It's a tetris clone, of course, which is being made as trippy as possible. Like, groovy, dude. ;) Tripper toy.

Some notes on my windows development environment

Want to get into writing games, but don't know where to start? An excellent article on some simple games to start on, and why. Echoes many of my own sentiments. And here's some more detailed lists of what to think about or where to get started: Amit's Game Programming Information

Java Applications

java: org.erif.util
very happy java utility package, with text, email, database, credit card, and lots of other happy little things. source, binary, and javadoc. I use it everywhere.
Scrabble has changed: Random starting and bonus squares, random tile sets, and a timer will add years to your enjoyment of this classic. (tested on win'95, linux, and solaris)
Yet another word game. See how many words you can make out of the letters provided, with a time limit.

Really old stuff I just keep around for nostalgia

A bot that sits on icq and handles realtime lists, kinda like majordomo. this is somewhat dead — icq protocol changed, libraries changed, ...
java chat server/applet client
I wrote this back in '98 or '99. I didn't know java all that well at the time, but it should answer a couple basic howto questions...


A little Ball applet that bounces.
A little Bear applet that bounces.
Chemistry Kit
(opens a new window). This was for a class in user interface. I worked with four other people, but wound up doing almost everything because I couldn't figure out how to delegate properly, and I didn't do a very good job of anything. But there's some interesting stuff here. [[The objective of our design project, Interactive Chemistry Kit, is to make the learning of chemistry a rewarding experience and, at the same time, to stir the user's interest in seeking more knowledge about science. This Interactive Chemistry Kit can also be seen as a tool for middle school students to learn and adults to teach chemistry concepts, terminology, and laboratory methods. Since experiments are at the heart of chemistry, all of the experiments presented in the Interactive Chemistry Kit are basic enough for a person not familiar with scientific terms and with no science training to understand. This Interactive Chemistry Kit will provide the user with safe and workable experiments. As the user's knowledge about chemistry is enhanced by performing these fun and safe experiments, the fear of experimenting will be replaced with a desire to know more about the subject. A big factor in choosing the experiments was their dramatic appeal. Each experiment demonstrates that chemistry is a part of our everyday life]]

Actual written tutorials

PHP 101
A brief intro to "good" programming with PHP
Java jdb and gnu's gjdb
Tutorial I wrote for a class I TA'd a long, long time ago.
Java's AWT
Tutorial I wrote for a class I TA'd a long, long time ago.
what goes in an rpm
Written by a friend, for me, some notes on what he did.
random c and sql tips
c and sql things I don't want to forget... postgresql, sql server, linking...

I am soooo fake pre-loading this image so the navigation doesn't skip while loading the over state.  I know I could use the sliding doors technique to avoid this fate, but I am too lazy.