The thing I would like to see someone do is work on rpctrace. It is currently in a state that's very useful if you happen to know all of the RPC msgid numbers by heart (no, I don't). Hacking on rpctrace is a good way to learn about the Hurd and about Mach IPC, and making it better is an excellent way to help other people learn about the Hurd by giving them a powerful expository tool.
I have already done enough work on rpctrace that you can hack on it without knowing much about Mach IPC (just don't mess with the structural parts of the code), or even really needing to learn much about it in the process. What it needs is some straightforward programming to give it symbolic output where it now has lots of numbers, and perhaps some other kinds of helpful intelligence. But just doing something clean and sane for giving it tables of number->name mappings based on the .defs files would be a great start. You can take the source file hurd/utils/rpctrace.c from the Hurd source tree and compile it on its own if you don't want to try building the whole Hurd from scratch. That file is a standalone program, just compile it with: cc -o rpctrace -g rpctrace.c -lports -lihash -lthreads.

