Martin @ Blog

software development and life.


Archive for the ‘English’ Category

Broken laptop

Today my TU/e laptop, a Nec Versa P520, broke down. I think this is the tenth time the laptop is broken in the four years I own the device. Fortunately, while I’ve finished my study, I’m still officially a student. So the laptop is repaired under warranty. Currently, I’m starting the preparations for my trip to China, for which I’m leaving this Thursday. I will fly at 17:35 in the evening and arrive Friday at 8:55 in Beijing. I’m looking forward to it!

This week for my new Job at Finalist I had to choose a laptop. I could choose between a Dell and a Apple, which was not a very hard choice. If everything is ok, a black MacBook with 2GB memory and 160GB harddisk is ordered right now!

Some not-so-interesting stuff

While browsing a website, I came across an article about how Microsoft is scared for the upcoming domination of Linux. The article dates from 1998, which is nine years ago. While the domination of Linux over Microsoft still has to happen, the article is funny because it mentions the two founders, Page and Brin, of Google and how they met Bill Gates. Another trivial fact I didn’t know was that Torvald’s wife was six-time Finnish national karae champion.

Another interesting column on the market of security products. The article mentions a recent article on the non-existing protection provided by the Secustick memorystick at

Kick-off event NIRICT

Last thursday, I visited the kick-off conference of the new Netherlands Institute for Research on ICT (NIRICT). This new research institute is founded by the three technical universities in the Netherlands: Eindhoven University of Technology, Delft University of Technology and University of Twente. The aim of the new organisation is to merge research efforts of the three universities. Compared to international research organizations, the Dutch universities are rather small. For example, the Eindhoven University only has approximately 7500 studens. Together, the NIRICT has 1200 full time researches and a budget of 75 million euro.

During the kick-off conference, the various research goals were presented and the Centre of Dependable ICT was officially founded. This Centre of Excellence will research technologies which improve the relability of software. There were several lectures at the conference, one of them by Dave Parnas from the University of Limerick (Ireland). He claimed that documentation on software is a neglected topic in ICT research.

I wrote a report of the conference in Dutch for

PS. This is the first weblog entry I wrote using Gnome-blog. It seems to work!

WordPress source compromised

It seems that the source code package of WordPress 2.1.1 was compromised by a hacker. Some files, mainly related to RSS-feed generation, was injected with code which opens a backdoor. Obviously, this caused a large number of weblogs vulnerable. The cracker got user-level access to the download server of WordPress, and changes the download of version 2.1.1. The subversion repository wasn’t compromised, and also older versions weren’t. So if you’re using version 2.1.1, you should upgrade to version 2.1.2. Not all downloads of 2.1.1 are vulnerable, but the developers are not sure when the crach has happened.

This made me wonder why they don’t provide md5 sums for the download package. That way, it could be detected much earlier that the download was compromised. In the discussion on the mailing list, nobody came up with this idea.

Power supply
As I may have mentioned earlier on my weblog, the power supply of my server died a few weeks ago. The part was only four months old, so it was covered under warranty. I sent it to the shop where I bought the thing (Alternate) and got a replacement power supply in about two weeks. Unfortunately, they required to include all the accessories with the power supply. Because I bought the PSU along with a casing for my server, I wasn’t sure which accessories belong to the PSU, and which were part of the casing. So, I included a 24-pins-to-20-pins converter for connecting the PSU to older mainboards. That turned out to be a mistake, because that part didn’t belong to the PSU and the new PSU I received didn’t include such a converter. That was a bit of a problem, because I needed such a thing. Shops generally account 5 to 10 euro for such a small thing (it is only a few wires with two connectors…). I decided to sent a e-mail explaining the situation, and two days later I got a new converter in the mail, for free. That’s good service if you ask me.

Html parser for Java

For my graduation project, I needed to parse HTML documents, in order to strip the HTML tags and formatting (I wanted to index them using Lucene). After some searching on the Internet, I decided to use the library HTMLParser. This is a HTML parser developed in Java and the codebase seems to rather stable. It is not fully standard compliant, but that was not required for my purpose. However, it supports HTML documents which are not nicely formatted (missing end-tags, improper nesting, etc.). However, I stumbled upon a bug causing incorrectly parsing websites when they containg multiple META-tags defining the charset (using http-equiv="Concent-Type" META-tags). While this is not allowed according to the HTML specification, there are sites on the internet doing this. When downloading a website using HTTP, it is also possible to define the charset using HTTP headers. Changing the charset using META-tags generally should only be done when it is not possible to control the HTTP headers (because it is not possible to change the web server configuration, for example). The HTTPparser project handles changes of the charset by throwing an exception after which the document can be parsed again using the correct charset. However, this changing can be done infinitely when there are multiple charset definitions in a particular HTML document.
I’ve created a patch which fixes this problem. The good news is that the patch is accepted for the 2.0-version of HTMLParser, but I’ve also created a patch for the (older) 1.6-version (I’m using this version myself).

On another news: I’ve restored the archive of my weblog. It now goes back to the very beginning of my weblogging career. Unfortunately, there are some issues with encoding (probably a MySQL problem) and all the images on my weblog are broken.

Ordening stuff

Last weeks I cleaned up a lot of stuff, both virtual and real life. Almost all build-in cupboards are reordered, including the creation of new shelves. Working in an ordered environment makes your head cleaner is my experience. I also cleaned up most harddisks in my computers and servers. In order to not lose anything, I decided it would be nice to have automatically backups. So I fetched my Learning Perl book and wrote a nice backupscript which create tar.gz files of the most important directories (/etc, ~, www) and my database. A lot of drives should crash simultaneously in order to actual lose data. I also fixed my self-signed certificates for my e-mail. A nice tutorial on how to create self-signed certificates can be found here


Last few days, I was very productive (compared to normal). I managed to squash a number of bugs on the website of the my badmintonclub. There were some issues with Internet Explorer (surprisingly). I recently added a feature to keep track of the competition teams of our club and the matches they played. For this part I created some tables which were styled using some CSS-rules. This worked perfectly in Firefox, but in IE the fonts in the tables were too large and not the same as in Firefox. The font problem was fixed easily, by adding a font-size definition to the table element. The other problem was pretty hard to fix. I’m using border-collapse: seperate; and border-spacing: 0px; in order to create no space between the cells, but displaying a border for every table cell. However, it seems that Internet Explorer doesn’t support the border-spacing property, and there is no easy fix in CSS for this problem. So in the end, I had to add cellspacing: 0 to every table. Even worse: Internet Explorer 7, according to Microsoft better at supporting web standards, seems to ignore the border-spacing as well. Oh well, it was already known that Internet Explorer sucks…

I did also some cleaning of the code, because various parts were using different dabase classes for example. Some parts of the code are still really bad, but that will be cleaned up eventually.

For my personal site, I did some investigation on a photogallery script. I have a pretty big number of photos, and I’m planning to share them with the world for quite some time. In the past I used a custom script for this, but due to a server crash, I lost most of that script (and it wasn’t very stable as well). Because I don’t have the time (and I don’t want to) to write a new script, I decided to use an existing script. While there are many packages for webgalleries, it seems most of them are broken in some way. I looked at Gallery, which is too bloated (and not easily to customize I think), PhpWebGallery is also too bloated (and hard to customize). PhotoStack looks nice, but is a little to simplistic (upload features are limited, and no comments), Plogger also looks nice, But I decided to take a more indepth look at Zenphoto. This package seems to provide exactly the features I’m looking for in a nice way. The default themes are also nice and clean (which is not the case with Plogger).

Improving weblog

As I mentioned in my last post, I have a little comment spam problem. This problem resulted in over 30.000 spam comments on my weblog (most of them are deleted now, but still some 2000 remain). The problem is that there are actually some non-spam comments on my webliog (yes, it seems strange, but it is true 🙂 ). Because most spam comments are on only a few posts, it would be helpful to ‘mass edit’ the comments of one post. In current versions of WordPress, this is not possible. So, I created a patch which enables this (it was pretty easy). During the creation of this patch, I noticed that the source of the admin part (I didn’t look at the other parts) of WordPress is a bit of a mess. Different kind of block separators are used (both brackets and ‘endif’s) and the commenthandling should be abstracted to some classes (it is now in a very long php-file without any functions). I expected the WordPress code to be cleaner than this. Even some ‘low profile’ php projects have cleaner source code. The ‘comment management’ code is duplicated in at least two files…

I also installed some anti-spam plugins on my weblog. I hope these will block most of the spam. I am also tracking some visitor statistics, for which I’ve created a plugin (not available yet for the public, because it is not finished yet).
I also discovered that my current archive goes back to the beginning of 2005. However, I’m already blogging since early 2004. I thought I lost most of these posts during a harddisk crash, back in 2004. In a recent cleanup of my harddisks, I found a very old databasedump of my weblog, with posts from the start of my weblog until the beginning of august 2004. I’m planning to import these posts in the current archive. This is not very straightforward, because the database id’s overlap with the current posts, and also the categories are different than now.

Management overkill at Microsoft

Miguel de Icaza of Novell, pointed to a article of usability blogger Joel Spolsky. This article is about the overly complex shutdown/logoff/hibernate/.. feature in Windows Vista. While I don’t have Vista, I didn’t notice this before, but it seems it is a nice example of flawed usability (to many choices for a thing which doesn’t require choices at all). Interestingly, one of the developers at Microsoft who worked on this, wrote a reaction on this article. According to this article, the brokeness of this feature is caused by overly complex development processes and a large number of management layers which makes the development process more like a bureaucratic process of making compromises while it should have been based on the thing the user wanted and facts derrived from usertesting (after, of course, creating reasonable prototypes.
In the blogpost of de Icaza, he also mentioned that in usertests at Novell, they discovered that a search box in a start-menu (Novell has developed a Windows-like startmenu for Gnome) should be at the top of the menu instead of the bottom, because users won’t notice it when it is at the bottom. It makes one wonder (if this is true) why Microsoft decided they should put the search box at the bottom of the menu. But then, I realised that a large number of Windows usability aspects seems to be decided by engineers and not tested. For example, creating a cd is not very straight-forward in Windows (try to find the ‘burn’-button in the Explorer (no, it isn’t there, it is only visible when you open the ‘cdwriter’ from via My Computer)).

I think it is safe to conclude (again) that Microsoft simply has become to large to develop software efficiently. While this could already conducted by the fact that it took five years to develop a ‘new’ OS which almost adds nothing really new to the existing products, stories like this prove this. Maybe they can develop ‘good’ software when they fire 90% of its staff… Open source communities (like Gnome and KDE) prove that is possible to develop similar software with much lesser developers (KDE has approximately 3000 contributers, which are not all developers. I don’t know the numbers on Gnome, but I guess it is similar). Only on Vista worked 10.000 developers (according to Microsoft).

An Apple developer also describe the process of the shutdown/logoff feature.

Open letter of Steve Jobs on DRM

Steve Jobs, co-founder of Apple, has posted an open letter on the site of its company. In the letter he claims that Apple will embrace DRM-free music if content providers will allow this. It is quite interesting, regarding the fact that Apple in fact made DRM-protected music popular by means of its iTunes Music Store. On the other hand, it takes some courage to state in public that he, as CEO of the largest online music store, thinks it would be better if digital music is available unprotected. Microsoft clearly doesn’t have this courage, regarding the fact that DRM is a very important part of Windows Vista and even makes it easier for record companies to keep using DRM, because it is harder to circumvent the protection and the common public is made ‘familiar’ with the concept. But Microsoft now has a fairly minimal market-share in digital music, while Apple hasn’t. The open letter of Jobs could also be seen as a publicity stunt (the publicity is obvious of importance in this case), because the critical part of the consumers (a part of the so-called ‘early adopters’ and people standing for ‘free information’), are loudly protesting against DRM. DRM-protected downloads is not the success some companies probably hoped, and it clearly is not a protection against piracy (as I pointed out earlier, and Steve Jobs also mentions in his letter). Because DRM-protected music is not popular, some companies are experimenting with unprotected music. This way, the music companies were the first a small step to make unprotected distribution of music, and it seems that Jobs sees this as a change to push the companies a little further. If he succeeds, he obviously gains more popularity amongst people who are against DRM….

You are currently browsing the archives for the English category.