On this page you'll find some of the software, hardware, and technical documentation that I've created.
Here are some tools that can be useful for GIS work:
Geo::Index (offsite link)
Perl module for creating in-memory geographic point indices. Once indexed, fast searches can be run. This module supports search by radius, by bounding box and by proximity.
This module is also available via CPAN (offsite link).
Here is some of the Perl code that I've written:
This module is a logger with adjustable verbosity for commandline programs. Different verbosity levels can have different colors and styles applied and specific functions or methods can get extra verbosity.
Additional functions are provided for displaying summaries of all warnings or errors encountered. Stack traces can been shown on demand or whenever there are warnings or errors.
A simple modification to add Bluetooth output to a Garmin ForeTrex 101 GPS. I'm using this to provide location data to an Android tablet that doesn't have a built-in GPS.
I've written a few things for the Parallax Propeller microcontroller:
This program provides an X-Windows driver for the original Tabby graphics tablet. Also included is reverse-engineered documentation of the Tabby serial protocol.
This document explains how to convert the boot disk of a Linux system to a bootable RAID-1 (mirrored) array using the native Linux drivers.
IFSwitch is a small utility that allows one to dynamically choose the network settings of a Linux system. It is designed primarily for laptop users who want to easily change their network address depending on whether they are at home, at work, etc.
ISpy is a simple network monitoring tool for Linux and Unix systems. It watches a user-defined set of ports and sends an email alert when any of the monitored ports changes status. I used this for monitoring before I started using Netsaint (offsite link).