Older blog entries for dorward (starting at number 50)

So Tumbler doesn't let you have a draft revision

My current CMS system involves writing blog entries on Tumblr and then (periodically) importing them onto my real blog. This gives me a convienient way to edit them and a nice preview.

(apple pie by apple pie on flickr)

A few days ago, I wrote a brief article about alt text and title attributes. Then I got into some further discussions over it, so I decided to edit it. My edits led me down a path of research involving multiple specifications and commentary and then I put it aside so I could prepare for my guests arriving for Eurovision.

At this stage, I saved my edits as a draft. Unfortunately, this removed the previously published version from Tumblr completely. “Whoops”. Clearly I didn’t understand Tumblr’s system — although I have learned from that mistake.

So, sorry for the broken links that will have appeared. I fully intend to finish my research and get it properly published. I just have some apple pie in the oven that I need to eat first.

Syndicated 2009-05-18 19:26:24 from David Dorward

rmathew, not a problem with the validator's parser, its behaviour is quite correct. The FAQ it links to with the error explains why.
19 Apr 2006 (updated 19 Apr 2006 at 15:00 UTC) »

rmathew, on including: use an offline preprocessor such as gcc or Dolt.

On states of CSS/JS: you can make the toggler a link to another page with the same content on it (and return false if the JS runs so that the link isn't followed when the content is revealed on the same page). Another option is to forget about the toggler and let people use scrollbars (which is what they are used to anyway!).

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.

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