Development code


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. Requires vstr.

  • 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 non-blocking. Requires vstr.

  • 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. Requires vstr.

  • Prints numbers in a few readable formats: Useful for converting a number between bases. Requires vstr.

  • .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 dialog. Requires pygtk2

  • socket_com: 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

  • socket_q: 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 very old).
    This library requires socket_com.
    This library might require timer_q.

  • sticky_notes: 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

  • passwd_create_large: 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.

  • google_search: This a quick hack that I did so that the netscape search button takes you to http://www.google.com 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


Last modified: Mon Apr 25 11:33:13 EDT 2005