Recent informal software projects
(two years later) I'd also reimplementated the editor
challange in PostgreSQL, using a command table with regexps for the
text mods, and a recursive SQL function to do the work. Toggling the
upper/lower case was particularly interesting, since it falls outside
of regexp replacements, unless...
an OpenGL program allowing an X window
to be viewed in a 3D zoomable,
rotatable model. I've found this to be much more useful
than the old xmag program, although the current version
requires a Spaceball for full use.
Unlike xmag, the view in xwins is live, even during rotation, which
can be handing for fullscreening video.
- My first Linux kernel module, implementing a toy/proof-of-concept
editor with a ~1KB buffer as char special
device /dev/editor. The command set is a bit odd since it
was coded for an academic challenge rather than for real use.
Setting up the build context was harder than writing the driver
itself. Unit tests greatly ease coding for this type of project.
[code kept secret to allow challenge reuse]
tutorial on how a user without root access can define and use
custom locales. Inspired by the desire to force Thunderbird's
date/time format to be closer to (or exactly) the ISO-8601 format.
software project, but here will do pending an
program to control AlienWare Aurora AlienFX LED case lighting through
its USB interface in Linux. Includes documentation on UDEV setup
in /etc/udev/rules.d and group-controlled access rights, as
well as a wrapper script to tie system load to case LED coloring.
Ongoing software projects
- An exploration of a C based system for dynamically-loadable
class-like objects. Potentially a basis for backporting
the Z project from C++ back to C again.
- Z (Ζωιον),
a distributed geometry service
for multiuser, architecture-neutral spatial simulation
through OpenGL-based interfaces.
Earlier software projects
- Dynamic, hierarchic development arena
based on GNU make, gcc/g++, and autoconf.
- A pod(1) utility enabling easy dynamic configuration
of paths for commands, libraries, and manual pages.
Originally for Sun networks and NFS-mounted, topic-grouped
- Library functions for arbitrary-length string
- Parser-based highlight / indentation packages for
C, C++, and Objective C under the GNU Emacs editor
using its native LISP.
- Automated, remote maintenance and reconfiguration of
Silicon Graphics workstations and supercomputers.
- Program-location auto-discovery and security fixes
to the GNU Emacs editor version 19.34 and successors.
- A replacement for printf(3), named
floating point output in arbitrary bases, centering, etc.
- A 3D, rotatable magnifier program, xwins(1).
- A user-space driver for the SpaceTec Spaceball 4000 FLX.
- A speech-synthesis gaim PERL plugin using the Festival system.
- A sound enhancement to cbzone(6).
- An access program for password-derived info named user(1).
- A line-checksummed version of uuencode named uusafe(1).
- The X animated cursor program, xancur(1),
part of (some variation of) BSD Unix.
- An X menu program, xcmdmenu(1), previously named xcmdpanel.
- The Talisman X11 Color Management System database, xcms (db file is rgb.xcmsdb).
- A libCrack YP/NIS
password setting program.
- A 1.8 million entry dictionary
for use with Crack and libCrack-based programs.
- Simple X
including examples of
a basic window,
various bouncing primitives,
bouncing clock widgets,
and bouncing captured (reparented) windows
which were already on the display.
- A powerful, flexible program for doing set-id (including
real, effective, and auth IDs, as well as extended group list),
- The in-netgroup administrative utility,
- A group-limited authentication program called logingr.
- An X11 toroidal version of the oriental game Go.
- (198?) A (now lost) major overhaul of the game XConq, with
rewrites of a large percentage of the code to greatly enhance graphics
and redisplay speed, allow more unit types,
the carrying of units which are also carrying,
and a long list of other changes.
- (1989) The addition of the escher-style menus to the game XTank.
- (19??) Wrote GNUchess' gnuchessn interface,
originally with the option
of displaying on each square gnuchess' current estimation of its value.
Sadly, GNUchess' maintainers have since broken and lost most
of the evaluation display code.