Older blog entries for amk (starting at number 21)

I just posted my account of Necronomicon 2001 to my Web site; H.P. Lovecraft fans will be interested. If you're a Lovecraft fan, you so want to go to this convention. Trust me. Put it on your schedule for 2003. (Less interesting day-to-day things are in my regular diary, of course.)

I've written a guide to helping develop Python, which argues that Python is a good project to apprentice on and then discusses how its development is organized. Comments on the document would be greatly appreciated. Does it give you a reasonable picture of how the process works? Are there any other topics that need to be covered?

dmerrill, regarding your job hunt: would you be interested in working with us at the MEMS Exchange? Please get in touch with me, and we can discuss this further via e-mail or phone.

(I couldn't find an e-mail address for you on your Web page, so I'm resorting to this rather public method.)

4 Oct 2000 (updated 4 Oct 2000 at 14:44 UTC) »

At work, finished setting up the new Cornell computer (I think) and started figuring out how to set things up so everyone can run a ZEO server on their development machines, instead of directly using FileStorage. As an amusement, I reformatted my /data partition to use Reiserfs instead of ext2, since I'd like to get some experience with it. My /data partition holds various large source trees that are mostly external, and that I just CVS update, compile, and perhaps install: Mozilla, KDE, Linux, and the Python 2.0 CVS tree. As an experiment, I started up a KDE compilation with "make -j 2" and then turned the computer off, since Reiserfs is supposed to handle such crashes better than ext2 does. The results weren't encouraging; the machine rebooted OK, and the kernel logged a "Replaying 5 transactions" message when the partition was mounted, but then some files, such as the "configure" script, "config.cache", and "Makefile" were replaced with binary junk, perhaps from one of the object files being produced at the time of the crash. Maybe there's something I don't understand about setting up Reiserfs, perhaps some startup script or fsck invocation needed to reconcile matters.

splork: The un-SWIGged BerkeleyDB module is here. I'm still not very confident in it because I don't have a comprehensive test suite for it. Jim Fulton also pointed out a few missing API functions that need to be added, so I hope to hack on the module again before too long.

My previous Advogato diary entry was on August 31; it's much easier for me to maintain my personal diary pages, since I can let an entry slip for a few days and still get the date right, so readers interested in my diary should follow those pages.

Made a preliminary attempt at packaging up the Z Object Database, in order to make it possible for people to install it easily and then write software that requires the ZODB. Digital Creations seems to have no interest in making the software readily available outside of Zope, so I polished up my setup.py scripts, added MANIFEST files, and wrote some instructions.

Book review: Mike Nelson's Movie Megacheese, Michael J. Nelson
A collection of Mike's columns from Home Theater magazine. More entertaining than the Roger Ebert book I recently read, and a few absolutely side-splitting sentences are scattered through it: "Much of Twister was done in the digital domain, with 1s representing incompetence and 0s representing crap." (A sentence whose memory gave me serious giggles in a meeting today when someone mentioned a binary flag.)

Yesterday: Wrote a section on augmented assignment. Added a BerkeleyDB test suite from Stefane Fermigier; I really need to make a new release of the code. No actual discussion at book club, but luckily Martha brought a nifty game called Fluxx and we played two games of it; I'm going to have to get a copy.

Today: Released BerkeleyDB v2.9.1. Downloaded the latest version of LaTeX2HTML in order to make a new HTML version of "What's New"; the obnoxious fiddling required to produce good HTML from LaTeX never stops annoying me. The sooner TeX/LaTeX are dead and buried, the better; I think that will happen around 4 years from now.

Wrote most of the python-dev summary on the Metro in the morning (thanks to my new laptop), and posted it in the evening. Proposed writing a PEP for improving the CGI-related modules for Python. Got started on the job of hand-writing a natural Python interface for BerkeleyDB. (It's amazing how much cruft SWIG adds under the hood!)

Barbara and I finally took the Capital Hauntings tour on our second try; last week's was cancelled because of rain, and while it rained briefly during this evening's walk, it wasn't hard enough to make the guide cancel it. The Washington DC walk turned out to be better written and organized than the Ottawa one, with some care given to telling stories in a satisfying order that led to some sort of conclusion or overriding impression. However, the guide wasn't equipped with a cape and lantern, which would have added a lot to the mood on this cloudy and thundery day. The tour took about an hour and a half, but didn't cover much territory, only going over a few blocks around Lafayette Square and ending on the sidewalk in front of the White House.

When I got home, I then stayed up until midnight finishing off and posting the latest python-dev summary, and also setting up a temporary archive for them.

A bunch of minor check-ins at work, and we also roughed out an interface for adding base processes. I worked a bit more on translating the sequence builder to Quixote, but am still far from having anything functioning. In the evening I finished the Python emulation of the ncurses has_key() function, and submitted a minor cleanup patch to various modules to use the METH_VARARGS macro instead of the constant 1.

At work, I checked in the last bits of persistent sessions for Quixote and started trying to debug some JavaScript, which is always tedious and annoying. Earlier this week Neil proposed a far more Pythonic syntax for PTL, and today he implemented it using Jeremy's compiler code. Neil's syntax looks like this:

template equip_form(wizard, title, errors):
    from mems.ui import standard
    standard.header(title=title)

""" <table border=1> <tr><th>Equipment</th></tr> """ wizard.text_field( "manufacturer", "Manufacturer" ) ... "</table>"

Basically it's Python syntax, but every expression is converted to a string and added to the output. Now, what to do with the old templating code? One of these days I need to wrap up Quixote for a 0.2 release (or at least get a licence for it and then put it on SourceForge).

Only Martha and I showed up for book club, so after waiting for half an hour, we gave up; maybe next week we'll finally finish Thucydides, after starting it back in April (feels like aeons ago). Knocked another item off my TODO list, a minor but useful fix to the gzip module.

12 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!