by Niall Douglas. Last updated . This page has been accessed 10,818 times since the 23rd June 2012.
|View this page in:||English||Any language:
Translation to non-English languages provided by Google Language
You are connecting to the IPv4 version of this website from the IP address 126.96.36.199. You can try the IPv6-only version if you want.
Niall's virtual diary was one of the very first of what is now called a
"blog" on the internet (at the time it was created, there was no such
word "blog", hence me choosing the unoriginal "virtual diary"). Back in 1998, believe it or not, it was considered
eccentric to write personal details and thoughts on the internet. I
actually had regular readers who read only because I was one of a few
thousand people doing this at all - or perhaps because I used to be
interesting once upon a time. Who knows!
Because it's a virtual diary - and not a blog - it was always something I would write anyway and it just happens to be made public. As the years have gone by - it is now 2012 and I have been writing this for fourteen years - new entries have greatly slowed down, but they haven't stopped. And nor will they - for as much as microblogging services such as Google Plus are great for quick thoughts or anecdotes, this virtual diary is unbeatable for essay length posts. Even if nobody reads them due to tl;dr which according to the server logs is increasingly true, but then, as I said, I would write them anyway for personal reasons.
Now, for many years I thought I would port the entire of nedprod.com over to Plone. For that reason I haven't done much with nedprod.com which is fundamentally speaking still nothing but static HTML as it was in 1998. However, in truth, there's something about how it being so ancient and backward actually helps me learn new technologies through deep immersion of figuring out how to hack them into nedprod.com, so after some years I've decided to keep the present system but to improve it substantially by automating the archiving of past entries and solving the problem of permalinks.
Now, I feel I ought to explain what's below. As I mentioned earlier, nedprod.com is fundamentally static HTML with a few bits of PHP for things like the web counter at the top of every page. Back in 1998 it was edited using Microsoft FrontPage which was great for convenience but terrible by producing mostly tag soup. In 2000 or so a new FrontPage started outputting much better quality HTML with some actual CSS support and all, but it was still HTML 4.0 Transitional in Latin1 characters and freely mixed old style and new style HTML even if it mostly now terminated tags correctly. In fact, it would take until April 2007 with the then just released first version of Microsoft Expression Web for me to bump new pages to the then already ancient XHTML 1.1 standard with a UTF-8 charset. Unlike FrontPage, Expression Web had totally standards compliant output and until it was released, it was simply too painful to be standards compliant given that FrontPage couldn't even handle UTF-8 charsets correctly, and even though Expression Web is strong on standards I still have a preflight Python script parse and validate all XHTML before uploading, as Expression Web still makes mistakes (particularly not escaping ampersands in URLs). Two years later in March 2009 I found the time to write a bit of PHP which loads in these XHTML pages as XML and groks them into an Atom syndication feed which is stored as XML on the server as a cache which is subsequently replicated onto Facebook et al. And then two years later again in this month, June 2012, I have found the time to write a bit of PHP which converts the entries from that Atom feed XML cache back into HTML pages, one page per entry.
This solves the permalink problem as there is now one canonical URL per post. It also solves the archival problem, because before I had to manually copy and paste each post being archived off the front page into a new page and hand configure all the links between posts - something so boring and time consuming I often leave the front page exceed 250Kb of text, which is bad. With this new system, I can copy and paste into a single XHTML file with no linking required. The Atom generating PHP will then pick up on the new material seamlessly, and the stuff generated below similarly. Finally, problem solved!
This history will explain the format of below. Between May 1998 and October 2006 I have left everything below untouched in its original archived format in varying qualities of tag soup HTML1. The Atom feed contains all XHTML posts which are from October 2006 onwards, so those are listed below with their permalinks thanks to another bit of PHP. Why October 2006 and not April 2007? Simple. I started a process of hand retrofitting the old HTML to compliant XHTML and I got as far as October 2006 before I gave up out of boredom2. You just have to consider pre-October 2006 as effectively lost to the world as what is not replicated no longer exists .
: Pre-2000 is so bad even HTML Tidy can't do much with it. After 2000 HTML Tidy does a respectable job though charset conversion isn't perfect. I have a bit of Python script here which fires almost all of nedprod.com into a NoSQL XML database which I was experimenting with for a while, so anything post-2000 could be modernised if I was really that bothered.
: Sadly simply converting the old posts to XHTML and UTF-8 isn't enough - they have to have additional markup inserted all of which has to be manually done. The markup is specifically to enforce a structure the Atom generating PHP can grok with a few heuristics.
And these are the posts from the Niall's virtual diary syndication feed :