Well, Tucher really, 24oz at just under room temperature. Ahhh, nothing beats a weissbier. I yearn for a Thurn und Taxis, but I don’t seem to be in Regensburg anymore. My first clue was everyone at the airport speaking Spanish…
But I digress.
Today was spent learning more about XSL, client-side transformations, merging XSL stylesheets, content types, migrating the Daily Archives to the new scheme and setting up an intelligent re-direct script (does the page I’m re-directing to exist?), adjusting the RSS archiving templates, and thoroughly fouling things up several times.
Ensuring that my XML and XSLT are always valid has been a giant pain in the ass. I haven’t added error handling to my PHP script yet, so any breakage during the XSL transformation results in an empty page. Not cool.
I’ve been continually reminded that Movable Type is no friend of XML. Bloxpert is the solution to MT’s asinine convert_breaks behavior, but it doesn’t play nicely with Validable, or perhaps it’s the other way around, but either way I still need Validable to correct entity-encoding issues. I know that there are MTRegEx recipes to fix entities, and there probably exists a plug-in just for entity issues, but the easiest path for me was to comment out the line in Validable that “fixes” convert_breaks problems:
# $output = ValidableFixLineBreakAberrations($output, $args);
Skipping ahead several rants, the final MT problem of the day was <$MTEntryTrackbackData$> invalidating my XML. For entries that had entities in their auto-generated excerpts (I rarely write my own), the dc:description attribute in <rdf:Description /> would be wrapped in a CDATA section. Un-friggin-believable. After rolling my own <$MTEntryTrackbackData$> using template tags I realized that the problem is with encode_xml, and it is by design. Ouch.
Now, of course, much of the breakage throughout the day was of my own doing. For several hours a mistake with <MTEntries> had me serving the same content for every request to the Daily and Individual archives. I mention this only because Google crawled much of the site during that time. AdSense is now serving ads related to Toshiba PDAs on most pages, with the occasional Sony Clie ad to mix things up. I’ve told Google to flush my site, so hopefully this will be resolved in a day or two.
On the positive side, AdSense targetting has greatly improved for URLs which provided Google with the correct content when they were crawled. Free Speech, Virtually is currently showing ads about contracts instead of syndication, which makes me very happy. Yippee.
My mind is racing over what to do with all of this RSS. First thing, make it available to anyone. Append /rss to any of my URLs that have no extension and the PHP script will return the raw RSS file. Example. This isn’t terribly useful right now because my RSS is funky, to the extreme, but I’ll get that fixed soon.
My mind races over other possibilities, too. Everything could be REST-ified. Movable Type is doing very little for me, at this point it could be replaced piecemeal or all at once with very little pain. Etc.
As usual, my templates are available to anyone that wants them. The new stuff is in the xsl-site directory. All of those files are live and very much works-in-progress.
More later. For now, it’s bed time. My work week starts on Sunday…
