everything
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
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.
-
-
-
FractRoam
Who needs fish when you have all of eternity to explore?
-
-
-
-
-
macOS
-
spacetags
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.
Memory Shell GameThe old memory game, with a few tricks learned on the El in Chicago. ;)
Hard Choices by Tina ConnollyA "Choose Your Adventure"—why do we always flub the hard choices?
Saber DuelA quick blind-fighting game—play now! ;) :)
Ice-9A quick color-matching puzzle game—play now! ;) :)
TumbleDotsThe fast-paced match-3 that later went to iOS — this is the flash original.
c/c++ Applications
- Detritus
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.
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
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)- Boggle
Yet another word game. See how many words you can make out of the
letters provided, with a time limit.- Pit of Despair
The 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...