everything

every project still on the shelf, 1998 to now

Programming projects and whatnot

iOS Applications

These are the apps I currently ship and maintain. Several have been on the store for more than a decade and still get updates.

  • izzit app icon

    izzit

    iPhone, iPad & Android · free, with one optional purchase

    One word a day, three tries to draw it well enough for the AI judge to certify. Every success mints a card — gold on the first try, silver on the second, bronze on the third. When the judge confidently gets it wrong, that becomes a card too.

  • Curiouser app icon

    Curiouser

    iPhone & iPad · $1.99

    Presence and wonder — a nudge to notice where you actually are.

  • Spot The Hustle app icon

    Spot The Hustle

    iPhone & iPad · $0.99 · shipping since 2014

    The old game of “memory” with a twist. Can you keep track of the swaps? Find the shells with matching colored peas and clear the board.

  • FractRoam app icon

    FractRoam

    iPhone & iPad · $0.99 · shipping since 2015

    Who needs fish when you have all of eternity to explore?

  • Timeful app icon

    Timeful

    iPhone & iPad · $0.99 · shipping since 2018

    A timer that doesn't let go — it counts the minutes aloud and nudges you back on task.

  • A2V app icon

    A2V

    iPhone & iPad · free

    Turns any audio clip into a video of its waveform, so it can go anywhere video goes.

  • BabyPaints app icon

    BabyPaints

    iPhone & iPad · $3.99 · shipping since 2013

    Let your toddler paint the screen with fingers and toes — a screenful of notes and colors that keeps pulling their attention back.

  • Disasteroids app icon

    Disasteroids

    iPhone & iPad · free

    You may think you have played this before — but dodging with the accelerometer is only the start, and tapping asteroids to destroy them has never been more satisfying.

  • Saintify app icon

    Saintify

    iPhone & iPad · free

    A contemporary re-imagining of patron saints, with original artwork, biographies and prayers, made to be shared.

macOS

  • spacetags app icon

    spacetags

    macOS 13+ · $4.99 one-time · 14-day free trial

    Name your Spaces. See the label. Tag each macOS Space with a colored pill, so you always know which desktop you’re on — the Space-labeling feature macOS should have shipped.

In progress

thereby — will you make it there on time? In TestFlight beta. Cosmic Specks — the solar system at true scale. Sandpainting. Magic Messages — hidden pictures you have to unfocus to see. Not on the store yet.

Flash Games

All playable again, right in the browser — Flash lives on via Ruffle. See also the illustrated games shelf.

c/c++ Applications

Detritus
DetritusDetritus 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
Falling UpYet 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
Groovy Tetriswritten 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.

Want to get into writing games, but don't know where to start? Amit's Game Programming Information is still the place.

Java Applications

These run in the browser again too — a Java VM in WebAssembly, via CheerpJ.

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.
Scramble
Scramble in playScrabble 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)
Boggle
BoggleYet another word game. See how many words you can make out of the letters provided, with a time limit.
Pit of Despair
Pit of DespairThe J2ME phone game that never shipped — Hank falls, you steer, zombies. Now playable in an emulated phone, in the browser, which is more than any actual phone ever managed.

Really old stuff I just keep around for nostalgia

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

Experiments

Ball
A little Ball applet that bounces.
Bear
A little Bear applet that bounces.
Chemistry Kit
This was for a class in user interface (opens in a new window). 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 project pitch, in its full turn-of-the-century glory

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