David A. Holland


I am a researcher (and just-finished grad student) in software systems; I have worked for many years with Margo Seltzer and now also with Stephen Chong. I nominally work on operating systems but have lately been working on code synthesis and verification. In my other life I am a NetBSD committer, where I work on storage systems, kernel architecture, and other assorted things.

My core mission is to save the world from bad software. This is a lost cause, but that's not a reason to give up.


Lately I've been working mostly on a project called PRINCESS, which among other things is about using code synthesis to generate the machine-dependent parts of an operating system to make doing ports easier. (I don't think it has a public webpage, sorry.) Some (rather old now) past projects that do include the PQL query language and the GOAT database project, and before those Provenance-Aware Storage Systems.

I also wrote and maintain OS/161, an instructional operating system long used in CS161 here and at a number of other schools.

A while back over a couple weekends I wrote a K&R-style (pre-C89) C preprocessor because we needed one for some NetBSD packaging stuff. This has apparently spread around a fair amount. If you're looking for it, it's here: tradcpp

There's long list of other things I'd like to do if I could secure time and energy, ranging from tools of immediate broad utility to totally quixotic research kernels. The length of this list is a standing joke in some quarters, and because of that I mostly don't post half-finished stuff in public.

some stuff

Listen to Shostakovich's 11th symphony.
Read C.J. Cherryh's The Pride of Chanur.
Watch Princess Mononoke.
Read Gunnerkrigg Court.
Photograph an ocelot.


List is here.


My old personal page (last updated probably fifteen years back) is here.