On a whim I decided to login via console and start X11 from there. What a difference, not running in rootless mode (over OS X)! I think that's where I'll likely spend most of my active development time. It's not as pretty as Aqua, but that seems to help me keep my focus -- a few xterms, a copy of XEmacs running, and no distractions.
Upon restarting Aqua, I noticed that the memory consumption (both physical and vm) had fallen way down. Methinks I'll have to make a habit of that.
Text editors, Eastern Orthodox style
I grabbed a copy of THE (The Hessling Editor) and installed it. Now we're talking nostalgia! I used to own an IBM System/36, so it felt just like home. However, I must admit that I really am quite rusty, and find XEmacs much nicer to use for day-to-day coding. Besides, I'd sooner use elisp than Rexx anyday.
Code
Put in a bit more work on pfft today. The user auth and admin stuff is partly done, and I've got a few handy HTML functions blocked out and ready to fill in. I'm still trying to decide on a good scheme for indexing the data directory. I think simplicity is the way to go, so I'll probably hack together a few simple schemes and benchmark them to figure out which one is most friendly.
I tore out the last vestiges of DB_File and replaced it with much nicer code. I still need to have a boo through the sources for the BSDs and Linux and see where flock() and close() can fail. I know the conventional wisdom is to check everything, but I seem to remember someone wise saying not to check for an error condition you don't have a plan to handle...
For all of my railing against people using DBMSs for trivial applications, I guess I understand one part of it now -- the DBMS takes care of these things for you. Part of the point of pfft is to avoid such things, though. Not to mention that it's good to get a refresher in concurrency issues and race conditions every now and then.