
Lorem ipsum dolor sit amet. This is some pointless text to go with the animated elephant, which was drawn by Vincent Pontier, who is apparently friends with Oliver Plathey who wrote the FPDF module for PHP.
When I started working at Company 𝔾 in June '06, I didn't know anything about MySQL, so "Mr. Bear" suggested that I use XML instead. Being a n00b, I stupidly chose the DOMXML module, which is specific to PHP4 and has prevented us from migrating to PHP5. Now PHP4 is at "end of life" and we really need to get rid of it. Also the nightly validation report has started failing because even 48 MB of RAM is no longer enough to load in all the databases and check them for validity (because DOMXML has serious memory-leak issues).
This month I've been busting my tail, sniffing the grindstone, trying to get my billable hours up high enough to staunch the financial bleeding. My RSS feed of LiveJournal posts now has
For the last three days I've been removing XML and replacing it with PHP arrays. Instead of
<entry>
<_key>deadbeef</_key>
<name>Joe Schmoe</name>
<country>USA</country>
<region>Colorado</region>
<city>Pike's Peak</city>
</entry>
it's now
$DB_Entries['deadbeef'] = array (
'name' => 'Joe Schmoe',
'country' => 'USA',
'region' => 'Colorado',
'city' => 'Pike\'s Peak',
);
Looks about the same, loads 10‒20 times faster! Really, this is a serious demerit for XML. The whole point of XML was that, since everyone would use it, it was worthwhile to optimize the Hell out of the parser for it, so then XML should be parsed faster than any other format. But PHP's program-code parser is much faster than their XML parser. In part I think this is because of the attributes. XML tags have optional attributes, even though I don't use them, so the isomorphism between XML and PHP-arrays potentially could fail, although it doesn't in my case.
Making this change required touching just about every actively-used file at the website! All the databases needed conversion. Any program that reads databases needed to start reading them the new way. Any program that generates databases needed to start writing them the new way. I've probably introduced dozens of bugs. We'll see if I get any bug reports. Most pages at the website are now served in only ⅓ the time they used to take; will anyone notice?
And so, with this little side-problem taken care of, I can get back to the main project for this winter. Unlike most Company 𝔾 projects, this one actually has a deadline because there's a conference in May that it has to be ready for. I need to convert various files to PDF and then combine the PDFs on the fly, hence the need for FPDF, whose homepage has an elePHPant and a link to Vincent Pontier, hence this post. Bye!
no subject
Date: 2008-02-27 09:26 pm (UTC)My understanding is that Jersey is "part of the UK" in the sense that its residents have a birthright for UK passports. This makes Jersey equivalent to Bermuda in some sense, although the history that led to the current status is quite different of course. As a practical matter, Scotland *is* a province in the sense of a being a sub-sovereign region that has its own governing assembly, distinctive ethnic heritages, etc.
But if every schoolboy is taught that "Jersey isn't part of the UK at all, despite what it says on their passports" then I probably shouldn't say the opposite on my website. It would be like writing "Me and Julio were beaten in the schoolyard", which every schoolboy knows ought to begin with "Julio and I..."
no subject
Date: 2008-02-28 12:10 am (UTC)True; there's no such thing as a "Jersey passport" since Jersey is a dependency. It's a separate possession of the Crown outside the UK (and the EU), I suppose rather as Canada is a separate Commonwealth Realm from the UK. However, as it isn't part of the UK, I would need a passport to visit Jersey.
Jersey's semi-detached status is probably slightly more known than it used to be, because of its consequent exclusion from the EU. Among other things, that means that if I send a parcel to Jersey, I need to complete a customs sticker, which I wouldn't were I sending it to France.