Older blog entries for amk (starting at number 12)

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

""" <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.

Got back from my vacation yesterday; see my full diary for the details. Picked up Duncan from the vet's this morning.

Watched Earthshock, another unremarkable DW episode, but at least Adric got to behave in a vaguely mature fashion for his final appearance. Did some final errands, and I'll soon leave for the airport: up to Montreal to visit my parents & other relatives, attending OLS later in the week, and with a lengthy list of things to do. See you there...

Got up early and finished off a patch to add os.poll(). In the evening, did some work on my Python patch queue. My CD player is suddenly mysteriously stopping while playing; I suspect it's about to die.

You know, now that I'm watching them again, the early Peter Davison episodes of Doctor Who are really quite mediocre. While I still like Davison's breathless portrayal (and can behave that way myself when I've had enough caffeine), the stories aren't very interesting, "Four to Doomsday" being impressively bad, while "Kinda" and "The Visitation" are merely dull.

So much for having a productive day. The morning went well, with Greg and I roughing out a design for the process editor, and then starting to implement it; implementation quickly recursed down into working on the basic Equipment and EquipmentTemplate classes. Just before I went for lunch, the Leica technician showed up, and I wound up sitting in a cleanroom suit for 5 bloody hours without any lunch, in order to babysit him. At least we now have a working wafer handler, for automatically picking up silicon wafers out of a cassette, aligning them, and putting them on the microscope stage. The intention is to eventually support inspecting an entire cassette using the Remote Microscope system.

By the time he left it was 6PM, and I was so aggravated at losing the entire half-day that I just stormed out without trying to do anything else. My boss Michael handed out copies of this MIT Technology Review article on the MEMS-based optical switches that are really hot right now.

Another productive day at work, completing the user registration and doing a quick code review with the rest of the team; opinions of Quixote were generally favorable. Now for persistent sessions and the equipment editor. Also I found out I'll be getting a raise starting in August. Fred Drake is taking the lead on the XML-SIG, removing that burden for me (nice for me to get rid of a task for a change, instead of having them added).

Fixed the Tru64 compile problems, and other minor trivia; creating the xmlcore package is now my only remaining task for 1.6b1. Mostly, I did some writing and Web page updates.

Egroups seems to have deleted my Robertson Davies mailing list without bothering to inform me; there's another Davies list on there with 3 postings in the archive, but it's not my list. Oh well; it's no great loss since the list never got much traffic anyway, and practically every FAQ is answered in Judith Skelton Grant's biography.

Started working on my items for 1.6 and checking them in: updates to the curses package, an updated version of PyExpat, and started adding mouse support to the curses module. Registered for Compaq's Tru64 compile farm in order to fix some compile errors; I'll work on that tomorrow. Work went well, too; I think Quixote and the ZODB will prove to be a good solution for us, and will minimally interfere with our development processes.

Greg and I had lunch with the Pythoneers today, the first time I've seen them since they moved to BeOpen. The aim was to finalize what's left to be done before releasing 1.6b1; I have a few things to do, but nothing major, and updated the 1.6 job list accordingly.

Tim Peters stopped by CNRI to pick us up; I can now confidently attest that he and Guido van Rossum really are two different people. (Though it's strange how I never saw Guido talking while Tim was drinking something...) Tim looked nothing like I expected; I had pictured a soft-voiced professoral type, perhaps something like Tim Merrett who taught the filesystems course at McGill. This picture wasn't accurate in the slightest, though Tim's speaking and posting styles do match up pretty well. After the 2.5-hour break for lunch, I started writing some use cases for the run card system. Oh, those grueling 5 hour days of mine!

Reason #3425 not to learn to drive, from this Washington Post article:

Once, motorists would pull aside and permit funerals to pass. Now, drivers regularly cut them off at intersections rather than allow them to continue through red lights and weave in and out of processions instead of pausing, say funeral directors and police. Although motorists once got out of their cars as a solemn gesture of respect, funerals are now often accompanied by honking, cursing and gestures of a most vile kind. ... He witnessed it again this week while escorting about 150 cars in a funeral procession along Hunter Mill Road for a 15-year-old Fair Oaks girl who died after the car she was in crashed into an oncoming truck. As he held traffic at the intersection with Lawyers Road, an impatient driver with a clear view of the cortege kept blaring his horn. "That's the kind of thing we see on a daily basis," he said.

Last evening's emotional storm (self-indulgent details omitted for Advogato's sake) was a great release, calming me down and letting me settle down at work and actually get something done. It's time to tackle the difficult task of rewriting our existing SQL database into the form of Python objects, so I started in on that, doing a simple transliteration of tables/columns to objects/attributes. I have no idea what the methods will have to be, but this is just a rough effort. Along the way I'm finding several bogosities in the SQL database schema: non-key columns duplicated among several related tables (for semantic reasons? to simplify queries? not clear...), interrelated tables whose relationships aren't apparent, endless copies of the primary key columns. Tomorrow we start having requirements meetings to thrash out the interface.

In the evening I sent off some thoughts on network installation of Python modules, added support for two minor functions to the curses module, and started thinking about how to support the ncurses mouse functions.

Book review: The Annotated H.P. Lovecraft, ed. S.T. Joshi
The great danger of annotations is that they can become a distraction that breaks up the flow of the text while not contributing anything Given HPL's vocabulary and frequent historical references, roughly a third number of the footnotes here are of this annoying type. The remaining majority point out various interesting things: parallels between the 4 stories included here and HPL's other stories; echoes of passages by Machen and Dunsany; commentary on HPL's scientific and philosophical views; and a few symbolic or psychological interpretations. The book contains "The Rats in the Walls", "The Colour Out of Space", "The Dunwich Horror", and "At the Mountains of Madness". Only "Mountains" was is disappointing, seeming endless and slow-moving on this re-reading, while "Colour out of Space" is still one of HPL's finest.

3 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!