Kaz Kylheku's home page!
NOTE: Some visitors 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:
- Kylheku CGIT: my self-hosted git repositries.
- TXR a programming language
run-time featuring two languages: a novel pattern-based text extraction
language, and a powerful, innovative Lisp dialect.
- 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.
- Cygnal (Cygwin Native Application Library) is
a fork of the
cygwin1.dll
which changes some of the Cygwin
behaviors to Windows conventions, making it suitable as a run-time library
for native Windows applications.
- Pipe Watch, a unique interactive utility for
inspecting streaming textual data in real time in a terminal window/console.
- cppawk is a script which combines the
GNU C Preprocessor with Awk, and provides some header file libraries, including
an multi-clause iteration macro supporting parallel and cross-product
iteration, with user-definable clauses.
- 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
modems.
- 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
generates ChangeLog
files by analyzing information
gathered from CVS. This is my modified version
based on version 2.44, and a diff against
the original.
- I wrote a
new implementation
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
functions:
timer_create
and friends,
pthread_barrier_wait
, pthread_mutex_timedlock
and
others. LinuxThreads has long been superseded by NPTL, but some vestiges
of my work remain. For instance the timer implementation is
still there
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.
Other kinds of projects and works:
- My Japanese translation of "Jabberwocky".
There are numerous existing translations of this poem into Japanese,
from both native speakers and non-natives like myself.
Unfortunately, they are all importunely verbose that
it's hard to call them translations at all. They tend to be overly
focused with preserving every detail, and fail to take advantage of
the available devices in Japanese for economic expression.
In contrast, my version preserves the rhytmical structure: all of
the translated poem's four-line stanzas have 4/4/4/3 metric feet. It's
conceivable that someone who doesn't understand a word of Japanese could
nevertheless guess, upon hearing a competent recitation, that what is being
recited is a Japanese version of Jabberwocky.
- In the same vein, here is my
Slovak translation of "Jabberwocky".
My e-mail address is kaz at kylheku.com
, in case it isn't obvious.