This page is a "portal" for all the (L)GPL'd code I've done which
isn't stable enough to go
HERE but that you
might want to look at, or even hack on.
- Dns stub resolver:
This is an experiment in the DNS protocol, before I write something more useful.
Looking to do a DNS server and a async resolver library. Uses TCP only atm.
Requires vstr, socket_poll, timer_q.
- Log file monitor/viewer (only does apache combined logs atm.):
This will become much more than it is, but right now it parses apache combined log files and allows you to view/sort them in different ways ... it also does real time updates over ssh.
Requires vstr and gtk 2
- Human readable hexdump:
This is a simple program, similar to xxd from the vim package, but uses
streaming non-blocking IO and formats the output slightly differently.
- c to html converter:
How most of the C code is highlighted on this site (some is still done using
xref, as that handles cross referencing). Again all IO is streaming and
- Simple SSI (Server Side Includes) processor:
Useful for managing static html templates, use it on this site quite a bit.
Again all IO is streaming and non-blocking.
- Prints numbers in a few readable formats: Useful for converting a number
- .forward manager for exim/qmail/postfix etc.:
This is my first real python app. and it also uses the gtk2
bindings. Prints a stupid error message, and gets
confused if you open a row, then delete it then OK the edit
The third of a set of shared libraries that I'm writing.
This one implements socket communication, so you can easily
pass data between two processes, whether they are on the same
machine or the other side of the world. Although it also allows
you to pass specical information, like here is a _file
descriptor_ here are the privilages (uid/gid/euid/egid)
I'm running with.
This library requires socket_poll.
NOTE: This is now pretty out of date, the next version will
build upon the vstr library above
This library implements socket queues, so you can easily
mark a socket as interesting and get callbacks when something
happens. It works with poll() but also has some infrastructure
for SIGIO under Linux.
Eventually I'll probably add support for /dev/poll from Solaris
kqueue from FreeBSD and epoll for Linux (last release is now
This library requires socket_com.
This library might require timer_q.
A gtk program I wrote a _long_ time ago (it makes those little
yellow sticky notes that you normally have on your monitor,
in your monitor :).
This is unmaintained, but did work as of gtk-1.2
This a quick perl hack that I did to generate "random"
passwords, it defaults to 256 character passwords but you can pass
a smaller (or larger) number as the first argument.
This a quick hack that I did so that the netscape search button
takes you to
instead of the netscape portal effort.
- bind log checker:
This a quick perl script that I did which will report
interesting data from bind's syslog entries.
- old file "purger":
This a quick sh script that I did (a _long_ time ago) which
will delete old and useless files (temporary ones). It's
pretty simple, but I still use it so I thought I'd stick it here.
Click HERE for my main page