The programmer's problem with WikiText systems
Here is a confession: I have been sitting on an update to DWiki thatadds some things to its dialect of wikitext for going on four yearsnow . The core problem boils down to twoissues specific to wikis.
The first is that in a wiki, additions to your markup language are moreor less forever. Once people actually start writing pages that usethem, you have three choices; you can support the addition forever,you can drop the addition and live with the resulting broken pages, oryou can go
My recent experience with Firefox's speed
I used to look a bit oddly at people who talked about Firefox beingslow, because that wasn't my experience at all. My Firefox worked fastand stayed that way even when I left it running for months, and Iusually attributed this to not allowing Javascript to run (I wroteabout this a long time ago and I still stand byit). The idea of migrating to another browser for faster speed alwayssounded a bit odd; how much closer to instant responses could you reallyget?
(My
Getting the stages of the class namespace straight
Earlier I wrote that:
[...] metaclasses take effect after the class namespace has been setup (more or less).
This is of course false, but it's also true in the sense I was using itin that entry because there are two stages thatthe class namespace goes through.
The first stage is the namespace that exists when Python executes allof the code in the ' class A(B): ' statement block. This code executesin an unnamed and normally inaccessible namespace that
The stickyness of Fedora 8 (despite my better intentions)
[...] - I wanted to bash CKS for [still running] Fedora EIGHT, butthen my wife has *XP* on netbook...
Yes, it's true, I'm still running Fedora 8 on myhome machine. It's clearly reaching the edges of viability; I live infear of the day when some sufficiently important precompiled binarypackage stops working because it needs, eg, a more recent version of thecore C++ ABI.
(This
You can get 'stale filehandle' errors for local files on extN filesystems
Here's something interesting that we found out today (when anothersysadmin here had it happen to him): it's possible to get 'stalefilehandle' errors (ie, an ESTALE errno) when you access local files, under fairly obscure situations and if you're using the rightfilesystem. Specifically, if you're using an ext2, ext3, or ext4filesystem, an inode that is corrupt in just the right way will do it;the corruption can happen either on disk
How Django's form field ordering works
In Django, forms are defined in what seems to be the conventionalapproach; each form is a Python class, and fields are variables definedin the class definition (what would be class variables if this wasanything like a conventional Python class). Although I don't think thatthe Django documentation ever states this explicitly, the natural orderof form fields in the form (the order that is used if you just tell theform to render itself as HTML or iterate over every field) is the orderthat you
More not supporting random query parameters in URLs
A while ago I wrote Websites should not accept random parametersin requests , arguing that your web server orapplication should not accept query parameters that it doesn'texpect. Recently there was a comment there that argued:
Postel's law does apply in the case. Consider the aspect of client andserver versioning. Moreover, links may be recorded and followed at alater date. Your proposal of not serving a page with unexpected URLswill break links as soon as the server is modified.
I feel that this incorrectly
Proper SQL database design versus the real world
If you read up on SQL databases, there are all sorts of rules that youshould follow in order to design your SQL database schema and set upyour database the right way, so that everything is efficient and soon. This is the domain of normalization, carefully considered indexes,query plans, and so on. Sometimes it is also the domain of carefullyminimized field sizes .
I do not want to knock these rules and the people who advocate followingthem, at least not too hard. There are sensible reasons
An aside on RAID-5/RAID-6 and disk failures
In light of yesterday's entry , one mightsensibly ask why RAID-5 (or RAID-6) systems don't try harder to limpalong after enough disks fail. In my view, the short answer is thatthe RAID systems are lazy.
Most RAID-N systems do not bother trying to verify the data on read;if the disk does not report a read error, they just give the datato you. Thus, even if they lost enough disks to become nominallynon-functional,
Why losing part of a striped RAID is fatal even on smart filesystems
I wrote recently ( here ) that losinga chunk of striped or concatenated storage was essentially instantlyfatal for any RAID system, smart ones like ZFS included. Once you startthinking about it, this is a bit peculiar for smart systems like ZFS.ZFS is generally self-healing, after all; why can't it at least try toheal from this loss, and why can't it organize itself so that this sortof loss is as unlikely as possible to be unrecoverable?
(In ZFS terms,