The HP-48 programming language, RPL, and its variants User RPL and System RPL are very dear to me. I spent hundreds, thousands, possibly billions of hours programming my two HP-48GX calculators back in high school.

RPL is unlike any programming language you have ever programmed in. There is somewhat of an introduction at the HP Museum, so I won't attempt to detail it. Basically, you have a stack, and your program looks like:


BFG Firefighting

BFG: Firefighting Edition was sort of a successor project (and class) to the original BFG project. Our goal was to create a firefighting simulation that operated at a fairly high level: learning strategies for controling fires rather than the lower-level skills like pulling a hose or aiming a nozzle correctly.



This is an implementation of image compression in Java using the singular value decomposition. Basically, the idea is to take a very high-dimensional (high-rank) source image and approximate it by a much lower-dimensional (low-rank) image. So the higher dimensions are considered noise, roughly speaking. It's somewhat impressive that you can take this sort of 450-dimensional object, project it down into thirteen dimensions (second from the bottom), and still have something vaguely recognizable.



Pente and the PickleMatrix Engine

You can play a Java applet version of Pente here against PickleMatrix, using the formidable Dill rule set. (Warning: The applet page will pop up two new windows, since I'm way, way too lazy to figure out how to get it all to render properly inside the main browser window.)




Mandelbrot Outline

I have written many Mandelbrot set generators in Java. One of my first Java applets (possibly the first) was a Mandelbrot set viewer. It was the most usable one I've written, since it allowed you to zoom in by just clicking or selecting an area to magnify.



Aggregate was initially intended to be a simulation of diffusion limited aggregation. Essentially, you release sticky particles into a container and let them take random walks until they stick to something. Clusters form that have predictable properties. This started out as something like that, but then the particles acquired momenta, and the clustering points became massive. So I had a little space with massive bodies wandering around with random perturbations, sticking to things and whatnot. Anyway, the goal was to generate pretty pictures, and I believe I have accomplished that.

Subscribe to RSS - java