Kaz Kylheku's home page!
NOTE: Some surfers will recognize that this is a continuation of my old
website that used to be hosted on users.footprints.net, which was lost when
that site disappeared. I have retrieved it from the Wayback Machine's archive
and brought it to life again!
I'm a professional software developer who also writes free software. If this
is what you came here for, follow these links:
My e-mail address is
- txr an unusual kind of
pattern-based text extraction language.
- Kazlib is a package of high quality reusable data
structure modules written in ANSI C.
- Tankan, a commercial program for Microsoft Windows
for learning Japanese Characters.
- Meta-CVS is a version control system implemented in
Common Lisp. It uses CVS to provide versioned storage, and network transport.
Unlike CVS, Meta-CVS versions the directory structure, not only the file
contents. Meta-CVS requires no software to be installed on the CVS server,
interfacing with CVS by invoking its client-side command line interface.
- Austin is a library whose interface is based on
the dictionary module in Kazlib. What makes Austin special is that it allows
algorithm selection at run time. It's even possible to change a dictionary's
representation after it is created.
- LMC is a small C module that implements POSIX-style
mutexes and condition variables for Linux kernel programming.
- I wrote a Linux network driver for Mobitex radio
- Phantom is the result of my foray into cryptography.
It is a C implementation of a cipher that I designed.
- Another foray into crypto, here is an implementation of the Rijndael cipher.
- I hacked Karl Fogel's
cvs2cl Perl script
to support a
--lisp option for Lisp output. This script
ChangeLog files by analyzing information
gathered from CVS. This is my modified version
based on version 2.44, and a diff against
- I wrote a
of the backquote syntax for the CLISP
implementaton of Common Lisp.
- In 1999 and 2000, I did a lot of work on the LinuxThreads library,
which provided a nearly-POSIX threads implementation for GNU/Linux systems.
It was also used on FreeBSD. At that time I also wrote a number of GNU Libc
timer_create and friends,
others. LinuxThreads has long been superseded by NPTL, but some vestiges
of my work remain. For instance the timer implementation is
for use on targets which don't have POSIX timer kernel support.
Also, I came up with a mutex type which has an adaptive spinlock. This
has survived into NPTL: look for the handling of the PTHREAD_MUTEX_ADAPTIVE_NP in
this source file. This logic is taken almost verbatim from
the original LinuxThreads, including my arbitrarily chosen magic constants
and smoothing algorithm.
kaz at kylheku.com, in case it isn't obvious.