Older blog entries for dorward (starting at number 47)

rmathew, take Hixie's rant seriously, and throw in a dose of Appendix C being a complete joke. The guidelines aren't really compatible with HTML, they are compatible, with most, but not all, browsers and depends on a bug in their HTML parsers! (Since in HTML a slash can end a tag, so <br /> actually means a line break followed by a greater than sign!

Browser implementations of XHTML (being served with the correct content type) generally suck too, Firefox turns of incremental rendering for example.

That said, XHTML is a nice language to work in, so you might want to write XHTML and transform it to HTML before it gets to the user (my CMS does that before I upload to the server).

Free copies of Windows? Well, I don't think that's an easy one to arrange.

IIS is not necessary for MSFT/SOA development. To deploy on a public site, it might be. I think that's fair for a company like MSFT to ask for. They have to make money somewhere.

Well fair enough, I didn't really expect anything else. That is Microsoft's business model after all. It just makes the statement:

[DotNetNuke] runs on software that you can get for free from Microsoft

... wrong.

avriettea: So, DotNetNuke runs on "software I can get for free from Microsoft". Excellent, I might take a look at it. How do I get my free copy of Windows and IIS from Microsoft? The page you linked to seemed to assume that people would have those already.


My CMS is now at a stage where it is capable of generating blog entries and an RSS feed. So I'm moving my blog over there now.

I still have to import all the old material and add a pile of features, but eating my own dogfood will encourage me to move forwards faster.

1 Jul 2005 (updated 1 Jul 2005 at 12:17 UTC) »

Linux Weekly News

Just renewed my LWN subscription. I encourage everyone with an interest in keeping up with what is going on in the world of Linux to give them money - its cheap, easy to do, and well worth the money. (Its also the only website I give money to in return for content, so that should give you an idea of how good I think it is).

Moving the blog

I've been talking about moving my blog over to my own website for a while. Since I've got my CMS working again (now with a nicer and more maintainable framework) I'm looking at writting the blog bit.

Task 1 was getting some data to work with before starting work on the renderer, so I looked into the best way to suck the data down from Advogato and ended up going with this quick hack:


use strict; use warnings; use WebService::Advogato; use Date::Simple;

my $string_user = "dorward"; my $client = new WebService::Advogato($string_user, 'myFakePassword'); my $num_entries = $client->len($string_user) or die($!);

my $root = "/home/david/sBuilder/source/blog.dorward.me.uk/";

foreach my $int_index (0 .. $num_entries-1) { my ($date_created, $date_updated) = $client->getDates($string_user, $int_index); print "Created: $date_created\n"; $date_created =~ s/T.*$//; my $date = Date::Simple->new($date_created) or die($!); my $year = $date->year(); my $month = $date->month(); my $day = $date->day(); my $date_string = sprintf("%04d/%02d/%02d", $year, $month, $day); my $dir = $root . $date_string; print $dir, "\n"; system("mkdir -p $dir");

my $entry_text = $client->get($string_user, $int_index); open(FILE, ">>$dir/advogato.source"); print FILE $entry_text; close(FILE); }

The next job is to clean up the code it downloaded, while Advogato is nice and easy to use, it does do some unfortunate things to my markup, and makes me fake headings using bold paragraphs.

Mail Merge

Vodafone sent me a letter recently (to the wrong address - they've got the billing address sorted now, but it seems the snail-spam is still going to my old home) to let me know that their deal with Sainsbury's was ending, so I wouldn't be able to collect Nectar points from my phone bill any longer.

This wasn't actually a big deal since I no longer shop at Sainsbury's anyway, but their letter does highlight the perils of using mail merge.

With your points balance of 496 on account number etc etc etc why not treat yourself to a shopping spree at Debenhams, Argos or Sainsbury's?

Well, the answer to that is very simple. 496 points are worth absolutely nada. If I saved up another 4 points I would be able to get the minimum denomination voucher worth two pounds and fifty pence! Yes, that's worth about half a cheap bottle of wine!


Finally got the old code ported to my new framework, so I can start adding new content again now. I made some changes to the layout while I was at it.

BitTorrent Adware

So, people are sticking spyware along with videos and putting up torrents. My goodness. Whatever next. I never expected anything like this to happen.

OK, enough sarcasm, seriously, if people are going to run executables without knowing who they are from and without running them through anti-virus and anti-spyware software - what do you expect?

I don't want to provide evidence that I'm human.

The recipient of the message you recently sent uses a anti-spam blocking system. We do not have your email address in our database as a human verified sender.

And you are not going to. I hate such conformation systems, and if Edgard Padilla wants to sign up to mailing lists and then plant barriers in them, then he is going to have to get used to not recieving all messages from them.

7 Jun 2005 (updated 7 Jun 2005 at 21:58 UTC) »


I put together an article on CSS Inheritance (An explanation of how inheritance works in CSS and why CSS doesn't need Object Oriented style inheritance) a couple of weeks ago. I think its ready to go public now, but any feedback people care to provide would be welcomed.


It is confirmed - I'm off to Braga this year.

I've just seen another mention of Google Sitemap, I wonder how long it will take for a Perl module to show up on CPAN for generating these?

Minus four days it seems. Google::SiteMap. Ah well, I'll add this to my TODO list for the CMS.

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