The Page Formerly Known As
Rob's Pet Rock (for the 90's)

Last modified: 2009-02-16

Pictures: Me, 1994 - Me in Text, 1995 - Me and Delia, Nov 1998 - Me in Backsaver Alfa, Oct 2002

My Low-Traffic, Low-Quality Blog


Google Maps Address Book Plug-In
This plug-in is obsolete, because in Mac OS X 10.5 (Leopard), the "Map Of" option in Address Book uses Google Maps instead of MapQuest.

The Mac OS X Address Book lets you send a street address to MapQuest by clicking on the address label or by right-clicking on the address. If you'd rather use Google Maps, try this AppleScript. It adds a "Google Map to" item to the pop-up menu.

To install, just drag the script to either /Library/Address Book Plug-Ins or to Library/Address Book Plug-Ins inside your home folder. The disk image includes a link to /Library/Address Book Plug-Ins for easy installation, but you'll have to be an administrator to copy the script there.

Fractal Clock Screen Saver
A screen saver for MacOS X.

Linux/MacOS X “driver” for ASCII Corp. Trance Vibrator
Rez is a video game for the Sony Playstation 2. The PS/2 has a USB port. In Japan, Sega sold a USB accessory specifically for this game: the "Trance Vibrator" (manufactured by ASCII Corp.). It was the subject of an interesting article. I had my friend Nobuko ship me one. You can probably pick one up on ebay for about $20. By plugging it into my Linux box, I found that it does not implement the HID or PID USB class. Using Google, I found a FreeBSD program to control it. I looked at that program to determine what kind of control message to send the device, and wrote a libusb-based program to do so. I have successfully used the program on Linux 2.6.10 and MacOS X 10.3.8 with libusb 0.1.8.

Extra Man Sliding Puzzle Explained
There is a puzzle that depicts twelve men, then slides the tops of the men around to create picture with thirteen men. The puzzle is to figure out where the thirteen man came from. This page shows the puzzle and two Flash applets that will help you understand the solution.

Browser Font Tester
This little Javascript application will let you explore the subset of Unicode that your browser supports. I use it to find characters like arrows ↑↓ and shapes △▶ that scale with font size so I don't have to use non-scalable images of arrows and shapes in my web pages. I have tested it in Firefox and Safari.

Mozilla/Linux support for navigation keys on Thinkpads (and other keyboards)
Some Thinkpads and other keyboards have ``navigation keys'' intended as Back/Forward keys for web browsers. This page contains instructions and files for getting those keys working in Mozilla under Linux.

Linux iptables packet flow
This diagram depicts the flow of packets through the various iptables chains in Linux 2.4. Here is the source code for the diagram; you'll need graphviz to format it. Here is a PostScript version of the diagram so you can print out a nice big copy suitable for framing.

Tinydns log notes
Notes about the log file format of the tinydns program.

Dnscache log notes
Notes about the log file format of the dnscache program. Not finished.
A Perl program that allows you to use names in place of IP addresses in your tinydns data. The documentation is in perldoc format at the end of the program.

Installing daemontools on MacOS X
Step-by-step instructions for installing daemontools on MacOS X. (The hard part is getting svscan to start automatically at boot.)

daemontools on Linux
Notes about starting svscan on Linux and making its output easily accessible.

Guidelines for Using upvar and uplevel
It's easy to use these Tcl commands to write code that is hard to understand and maintain. These guidelines may help to keep that from happening.

AOLserver 3 modules.

Coming Crisis.

A Perl script that converts address block assignments from APNIC, RIPE, and ARIN to tcprules format. This is useful if you run your SMTP server under tcpserver, and you get excessive unwanted e-mail from, say, Korea, and you want to stop it simply by denying access to your SMTP server from all Korean IP addresses. The documentation is in perldoc format at the end of the program.
A PostScript program for printing envelopes, since I didn't have an easy way to print them from my Linux box.

A Perl program for generating passwords. The documentation is in perldoc format at the end of the program.

AP-500 Notes
Some notes about the Orinoco AP-500, an 802.11b wireless access point.

ICFP 2001 Programming Contest
My entry in the ICFP 2001 Programming Contest.

Thinkpad 770Z Memory Capacity
Putting 512 MB in a Thinkpad 770Z. IBM says the maximum is 320 MB.

Thinkpad Keys
Notes about removing and replacing keys on a Thinkpad keyboard.

An ultra-lightweight program for saving and restoring audio mixer state on Linux.

My resume
The sordid details of my career as a code prostitute.

A C program that generates permutations, with gratuitous bignum support.

A Scheme version of the program.


(define (Y f) (lambda (g) (g g)) (lambda (g) (f (lambda (x) ((g g) x)))))

Welcome to the end of my page. Goodb

Transfer interrupted!

(just kidding)