Colin's Journal: A place for thoughts about politics, software, and daily life.
I feel like I’ve been catching up ever since last weekend, and now another one is almost upon us again. This time it’ll be different, with a national holiday on Tuesday and a day off on Monday, it’s going to be an extra long, long weekend.
The combination of Harry Potter, various birthdays (including my own), parties, and work seem to have consumed most of my week. The latest distraction was implementing a work around for broken HTML in my RSS aggregator.
My aggregator strips out HTML from RSS descriptions for a variety of reasons. Rendering HTML delivered via RSS is a security problem, is unreliable, and almost certainly means that the resulting web page will not be valid. To solve this I strip out all HTML tags and just display the plain text.
This has worked well for many months until the past couple of days. The problem is that someone’s feed I subscribe to contains severely broken HTML. They have entered some HTML comments in their RSS feed (sigh), only instead of using <!--
to start the comment they have instead put <! //
This was causing TALAggregator to log exceptions when trying to parse the feed, resulting in an email to me every 24 hours informing me that it was having difficulties. The solution I’ve used is to abandon using the standard SGML parser that comes with Python, and instead resort to some regular expressions.
Hopefully I can now turn my attention to something more interesting…
I’ve been trying to come up with a new design for my website. I want something appropriate to the season, something summery and bright, rather than the current serious looking grey. My use of PubTal means that I can easily roll-out a new theme, although at this point I have to update the templates for my weblog separately from the rest of the site.
I’ve got an initial design, and although I need to make some further changes, it’s looking fairly good in Mozilla. Unfortunately it doesn’t look anywhere near as good in IE, because IE doesn’t support the min-height CSS property. Apparently Safari doesn’t support this either (see the documentation on the properties Safari supports), although Opera does.
Using min-height is really nice because it combines the ability to ensure the background image of a block is going to be fully visible, and yet still allows the block to grow with it’s content. The only alternative is to specify the height, in which case content will overflow if it’s too large, for example when the user selects a larger text size.
I’m going to see if I can change my design to take this into account, I would rather not have to use CSS hacks to try and hide the markup from IE, because it’ll still be a problem for Safari and probably other browsers as well.
As tends to happen early in the week, I’ve once again neglected my journal. A quick update in therefore in order.
At the request of Shana I’ve added categories to the development (i.e. not yet released) version of TALAggregator. This allows for feeds to be placed into a category, and then the “latest articles” view can be adjusted to show a particular category, un-categorised, or all categories. It should make following even more RSS feeds practical.
Work has been busy the last few days, and there are now a couple of trips planned for meetings and presentations. While I still hate using MS Project I am at least beginning to find my way around it more easily.
On Tuesday I saw the remake of The Italian Job. It’s not worth comparing to the original, mainly because there’s so little of the original plot used in it. Worth seeing as a feel good, crime pays, chase scene movie.
On a completely separate note from the wonderful world of web pages, we have mini-poppadums, bought during this weekends “taste of little Italy”. They are pretty tasty, and indeed very small.
The “taste of little Italy” is tiny compared to “the taste of the Danforth” and involved a lot less food. There were a comparatively larger number of bands playing, including Jazz, a Brazilian drumming/dancing group, and yes even someone singing in Italian.
Overall a fun way to spend a Saturday afternoon.
Dinner was good, so it’s time to let the world know about PubTal, my latest creation. I’ve been using a fair mixture of different ways to keep my web pages up-to date over the years, from straight HTML pages through to XML transformations using XSLT.
I had hoped that XSLT would become the way for me to manage all my site, but it turned out that both writing the templates and more importantly the content, was too error prone and painful.
A few weeks back I decided to have another go at solving the problem of managing this site, and came up with PubTal. The content for PubTal is written in plain text with minimal HTML markup, which makes editing and creating pages extremely easy. I can even use the spell checker that comes with my text editor, because the content is mostly just plain text.
Templates for PubTal are written in TAL (hence the name) which I find far easier to understand and use than XSLT. XSLT can do a lot more, that’s most of the problem, but for a small site like this you don’t need much from a templating system, and TAL gives all the power you do need.
If you maintain your own web pages then please take the time to have a look at PubTal. It’s not going to be for everyone, but it’s made my web maintenance easier, and so it should be useful to others as well.
SimpleTAL3.3 has been released. As well as some new features and bug fixes I’ve also moved all the code to a BSD style license. This should make it clear who can use SimpleTAL (everyone) and what their responsibilities are (minimal).
The major new feature that I’ve added is the capability for functions to receive paths (see the API documentation on PathFunctionVariable for details). This is required for my web site publishing system (tentatively named PubTal) which will be released soon. I need to finish off some more documentation and examples before it’ll be ready to be called version 1.
Yet another article deriding European culture as being “dead” because of the low birth rate across the continent. While the current low birth rate is a concern, and will have significant impact on pensions and immigration policy, to paint this as a European problem is misleading.
If you look at the birth rate across all of the OECD countries you find that 29 of the 30 have a birth rate less than the typical replacement rate of 2.1 to 2.2. Any comment to the effect that a low birth rate is somehow a result of European culture rather ignores the likes of Australia, South Korea, Canada, and Japan which have rates lower than some European countries (e.g. Ireland) and higher than others (e.g. Spain).
The truth is that all OECD countries (bar Mexico) now have a lower birth rate than replacement rate, and so any religious or cultural explanation of this is deeply flawed.
Following on from the successful ESA Mars Express launch last week we have the first of a pair of NASA launches to the red planet.
The launch video is almost entirely from the outboard camera, and lasts long enough to see all the way through the various stages. From seeing the ground recede, with roads and buildings clearly visible, to watching the first and second stage separate it’s an great way to spend 6 minutes.
The weekend was dominated by a combination of food, plants and sun. On Saturday morning we had some particularly good French toast, and in the afternoon we gained some more plants from our landlady. We now have mostly full containers of growing green vegetation on our deck. The weather was nice and warm, and in the evening we went to a friends party .
Sunday was recovery from the aforementioned party, with brunch out, and sitting around in the sun at the Portugal week celebrations. The result of the two days was a touch more sun than is probably recommended for a blond Brit, but not as bad as I’ve had in the past.
In an attempt to make the weekend sound longer than it was we also saw a couple of movies on Friday and Monday night. Friday was Die Another Day, followed by Bend It Like Beckham last night. Both movies are British (sort of), formulaic (definitely), and worth seeing (although BILB is probably the better of the two).
The relative importance, in a political versus an artistic case, of the right to freedom of expression is discussed in this short article in Lawyer News. In case you are wondering, no I don’t read Lawyer News, this link was brought to my attention by Junius. I don’t have anything to add to this interesting article, but it did get me thinking about one of the more appealing aspects of the EU.
The European Convention on Human Rights was ratified by the UK back in 1951, with private citizens being able to take cases to the European Court in Strasbourg from 1966 onward. In October 2000 the convention was finally brought into UK law (confusingly in the Human Rights Act 1998), against half-hearted opposition from the Conservatives, so allowing far easier access to redress for those who’s rights were violated.
The UK of course promotes the cause for human rights to be respected at the international level, including within the EU framework. It’s telling however that it’s only once an international agreement like the European Convention on Human Rights is agreed to that the UK actually addresses the issue domestically. Another example would be the promotion of free trade and competition, something the UK government is very keen on, except of course when it applies to postal services.
It seems that the EU has become a way of forcing ourselves to do what we think is right, but would otherwise be politically difficult to do domestically. The same thing can also be seen in the countries due to accede to the union, as demonstrated by this article in The Scotsman (via Europunditry). A choice quote:
Yet the social and economic costs of qualifying for membership have been heavy, from privatising energy to paying for water quality to be brought up to EU standards. “We are at the end of a very painful and difficult road to accession,” says Jiri Skalicky.
There is more pain to come. Outside Prague, in regions with high unemployment, people are fearful of change and competition from other countries. On the border with Germany, 3,000 customs officers stand to lose their jobs. That pensioner in Telc was right to be concerned: welfare reform is inevitable if the Czechs are to meet the Maastricht criteria to join the euro.
The Maastricht criteria means no unsustainable debt, energy privatisation reduces costs (see the UK market for a good example), and it’s hard to argue about water quality being a bad thing. All of these things are being introduced as part of the cost of joining the EU, and yet they are things that would have to be tackled eventually anyway.
The full list of my published Software
Email: colin at owlfish.com