See my Home page at AT&T

I wrote CVSweb, a WWW interface to the FreeBSD CVS tree. It's now maintained by others.

If you have a CVS commit notification email and want to look at the files in cvsweb, check out this form. If you're trying to find a file in the CVS tree, try this one.

If you're looking for a __FreeBSD_version value to go with an arbitrary date, look here.

I've also written a utility to check the status of distfiles in the ports tree. It runs nightly. You can check if it's running now; its runs sometimes end up taking more than 24 hours :-(. A related program parses the bento port error logs and parses them out by MAINTAINER. Also see a list of ports PRs in an attempt to classify them by the port they refer to.

I have a bunch of junk in my bin directory on freefall. Some of it is even useful.

I wrote a perl script to parse "make world" log files; it gives you the big picture of top level steps and then the last few lines in the most recent step, e.g.

--------------------------------------------------------------
>>> elf make world started on Thu Jan 27 15:09:08 PST 2000
--------------------------------------------------------------
>>> Rebuilding the temporary build tree
--------------------------------------------------------------
>>> stage 1: bootstrap tools
--------------------------------------------------------------
>>> stage 2: cleaning up the object tree
--------------------------------------------------------------
>>> stage 2: rebuilding the object tree
--------------------------------------------------------------
>>> stage 2: build tools
--------------------------------------------------------------
>>> stage 3: cross tools
--------------------------------------------------------------
>>> stage 4: populating /usr/obj/usr/src/i386/usr/include
--------------------------------------------------------------
>>> stage 4: building libraries
--------------------------------------------------------------
>>> stage 4: make dependencies
--------------------------------------------------------------
>>> stage 4: building everything..
--------------------------------------------------------------
===> gnu/usr.bin/cc/cc_fbsd
...
building standard cc_fbsd library
ranlib libcc_fbsd.a
===> gnu/usr.bin/cc/cc_tools
===> gnu/usr.bin/cc/cc_int
cc -O -pipe -DFREEBSD_NATIVE -DIN_GCC -DHAVE_CONFIG_H -DDEFAULT_TARGET_VERSION=\"2.95.2\" -DDEFAULT_TARGET_MACHINE=\"i386-unknown-freebsd\" -DPREFIX=\"/usr\" -I/usr/obj/usr/src/gnu/usr.bin/cc/cc_int/../cc_tools -I/usr/src/gnu/usr.bin/cc/cc_int/../cc_tools -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/config -DTARGET_NAME=\"i386-unknown-freebsd\" -DIN_GCC -I/usr/obj/usr/src/i386/usr/include -c /usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-aux-info.c -o c-aux-info.o
cc -O -pipe -DFREEBSD_NATIVE -DIN_GCC -DHAVE_CONFIG_H -DDEFAULT_TARGET_VERSION=\"2.95.2\" -DDEFAULT_TARGET_MACHINE=\"i386-unknown-freebsd\" -DPREFIX=\"/usr\" -I/usr/obj/usr/src/gnu/usr.bin/cc/cc_int/../cc_tools -I/usr/src/gnu/usr.bin/cc/cc_int/../cc_tools -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc -I/usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/config -DTARGET_NAME=\"i386-unknown-freebsd\" -DIN_GCC -I/usr/obj/usr/src/i386/usr/include -c /usr/src/gnu/usr.bin/cc/cc_int/../../../../contrib/gcc/c-common.c -o c-common.o

Here's a picture of Greg taking pictures of people at the Boston USENIX Kernel Summit.