Older blog entries for dorward (starting at number 44)

CMS

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:

#!/usr/bin/perl

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!

CMS

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) »

Writing

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.

Perl

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.

6 Jun 2005 (updated 6 Jun 2005 at 22:44 UTC) »

CMS

Serious progress? I made that impossible by suggesting it might happen didn't I?

I did force myself to make some actual progress on the CMS tonight, and have just finished implementing the SBuilder::PageType::Copy module. This is the simplest of the Page Types, and simply slurps a file and then returns it as a scalar, prints it to standard out, or to a file (either a default based on the database or a one specified as a parameter to the method). It doesn't do much but it does lay the groundwork for other modules (in that a number of the methods will be moved to a superclass).

Since the output can be to standard out or to a file, it makes it more convenient for use in a preview scenario (dynamically rendering resources while making edits with the CMS frontend).

My week without working on the CMS

Ah well, I did have an enjoyable week (after I'd sorted out the evil paperwork caused by one company sending me a nasty letter for not paying a bill they forgot to send me). A very enjoyable week as it happens, it even netted me a signed photo and a hug from the first actress I remember having a crush on (OK, so she hugged almost everybody at the open day, but it was still fun). How she puts up with geek fans I'll never know.

The Sky Has Fallen

Sarge has been released! Next up - Duke Nukem Forever.

Gentoo

Discovered ivman so now I can stick a USB mass storage device into my PC and have it automounted.

CMS

Added an about page for my bookmarks and linked to the RSS feed.

Since this is a bank holiday weekend, and I have people coming to stay for a few days on Thursday, I've taken the whole week off. I should find some time to make some serious progress on the CMS now.

Nvu

Since I had a large chunk of code to deal with in my blog entry yesterday, I thought it might be nice to give Nvu another try. A graphical editor will make it easy to paste a block of code into a webpage and convert all the less than, greater than and ampersands into their respective entities, or so I thought.

Ha!

The first problem was that it didn't appear to support the X clipboard. I selected the code in Emacs, then middle clicked in Nvu and ... nothing. "Oh well", I thought and tried to open the Perl in FireFox so I could Ctrl+C copy it. Nope. Firefox offered to download the file instead. Perl files aren't text (cough) so it won't display it.

Getting annoyed with it I saved the blog entry, opened it in Emacs, pasted it in and addeed a couple of <pre> tags and search/replaced the characters with special meaning in HTML. Then I reopened it in Nvu to type the rest of the entry.

Then wretched thing promptly removed all the literal line breaks from the <pre> block and replaced them with <br /> tags, thus giving me lines of several hundred characters that would be a nightmare to edit.

Nvu scores a big thumbs down.

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