Greg Hudson
This home page has a little bit of personal information about me, but
is mostly intended to provide information about my projects.
Who I Am
I am the release engineer for MIT's Deliver Athena
Team, the group that maintains the system software used in MIT's
primary undergraduate computing system. I'm also a past chairman of
SIPB, a volunteer
student group.
Software I've Written
Here are some programs I lay claim to having written:
- Tinyfugue, a popular mud client based on Tinytalk. Currently
maintained by Ken Keys.
-
Vaportalk, a much less popular mud client.
-
Coldmud, an even less popular mud server, which a few people still
work on even though I abandoned it.
-
readcomics, a client for reading articles containing pictures off
of a news server and feeding them to Metamail so that they will be
displayed on the screen. "Easier than the web." Highly specific to
the MIT environment.
-
scanner,
a Motif front-end to the PINT utilities. Used for the scanner in the
SIPB office.
Most of what I do these days is work on existing code, not write it
from scratch. Fixing problems in existing code is probably more
useful than writing new programs, but is ultimately less
satisfying.
What I Do
As with most documents on the web, this list may be out of date.
These are just the projects I spend a significant amount of time on.
As you can see, most of these projects involve several people. I
welcome efforts to help out on most of these projects, and will be
happy to talk about them or answer specific questions, but I can't
spend a whole lot of time bringing people up to speed on them. I've
listed work projects first, then SIPB projects, and then personal
projects.
- I'm the chief designer and maintainer of Information System's
experimental NetBSD/i386 dialup machine, ringworld. The
ringworld project has become somewhat irrelevant since we decided not
to use PCs as a cluster platform, so it will probably be replaced with
a Sun dialup platform.
- I'm the current maintainer of the
Zephyr messaging system, with help from
Marc Horowitz. My past contributions to Zephyr include fixing
serious efficiency problems in the server and reworking the
portability and build system.
- I'm a primary developer of SIPB's NetBSD-Athena port, with
John Hawkinson,
Yoav Yerushalmi, and
John Kohl. This usually means answering questions, maintaining
Athena and NetBSD source trees, fixing minor bugs, maintaining an
Athena installation procedure, trying to get third-party applications
available and working, and building software in lockers so that it's
available for NetBSD.
- I help manage SIPB's Usenet server machines with Matt Power and
Martha
Greenberg. This means throwing hardware at the news servers when
they stop running well, answering questions, locally maintaining the
INN software which we use to run news, fix minor problems as they come
up, and cope with the ever-increasing disk space requirements of
Usenet.
- I maintain SIPB's Usenet Periodic Postings archive server with
Matt Power,
Calista Tait,
Lara Karbiner, and the news.answers moderation team. This involves
keeping track of a whole bunch of little services implemented as a
bunch of perl scripts and sendmail aliases, which can be a lot of
bookkeeping work just by itself. It also involves answering a lot of
questions and developing new software when the current software isn't
efficient enough to keep up with the ever-increasing load.
- I maintain SIPB's AFS servers with many other people
including
Derek Atkins, Jonathan Weiss, and
Tom Yu. Most of what I do for AFS maintenance is plan migrations,
secure disk space, create volumes, and occasionally move volumes
around when disk space usage is imbalanced between partitions.
- I am an auxiliary developer of the
MIT Pthreads
package, with Ken Raeburn and Sean Levy. The author and primary
developer of MIT Pthreads is
Chris Provenzano. I did the thread-safe netdb and DNS resolution
code for pthreads, and I may be replacing the sleep queue with a
faster heap-based implementation, but most of the work I do is
debugging.
- I've been doing some minor work for
the NetBSD project. Right now I'm working on changes to make the
kernel dynamically allocate group entries so that it can allow
significantly more than 16 groups. In the future, I may or may not
work on the NetBSD virtual memory system.
- I am developing a news server called
TNS.
The interesting aspects of TNS design include a multithreaded
implementation making heavy use of data abstraction, implementation
within a single process instead of separate reader and propagation
processes, a single human-readable configuration file, and a spool
layout using large buckets of articles instead of a single file per
article.
- I am the principal maintainer of the
gnu locker,
a repository for software distributed by the Free Software
Foundation. In addition to building the software for seven different
platforms, I maintain Athena-specific feature additions to a few
programs and contribute bug fixes back to the developers.
- I wrote a program in high school called
Vaportalk,
which was originally intended as a MUD client but is really a generic
network client with an interpreter for a C-like language called VTC.
I use VT as a Zephyr client, and a few of my friends do the same, so I
still hack on VT from time to time.
Where I Like To Have Handy Links To