* Libdraw
	- bug with discovery of initial window size in certain cases
	  (reported by Sean Dorward)

* Plumber
	- have named-pipe-based plumber from Caerwyn Jones
	- 9term right-click plumbs
	- plumb rules file runs B
	- easy to hook up web browser:

# urls to web browser
type is text
data matches '(https?|ftp|file|gopher|mailto|news|nntp|telnet|wais|prospero)://[a-zA-Z0-9_@\-]+([.:][a-zA-Z0-9_@\-]+)*/?[a-zA-Z0-9_?,%#~&/\-+=]+([:.][a-zA-Z0-9_?,%#~&/\-+=]+)*'
plumb to web
plumb start /usr/rsc/bin/web $0

	- want to change back to 9P-based plumber, need to build
	  infrastructure first

* Acme
	- with 9P infrastructure, should "just work".

* upas/fs+Mail
	- with 9P infrastructure, should "just work".

* Venti
	- wrote new venti library; server uses it and runs
	- vac needs to be changed to use new library
	- need way to mount vacs.  have all the code for a /vac file
	  system (e.g., cd /vac/68b329da9893e34099c7d8ad5cb9c940da9393e3)
	  but need to put it together.
	- need to buffer writes sensibly in server.  have plan, need to implement.

* Dump
	- have a dump file system that sits on the side of ffs,
	  backing up disk images to venti.  a loopback NFS server
	  serves the backed-up images.  
	  needs cleanup and release.  should be easy to add ext2,
	  fat.  ntfs harder but possible.

