Martin @ Blog

software development and life.


Archive for February, 2007

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.

Website update

I decided to update my weblog a little bit. Combined with the upgrade to the latest version of WordPress, I have introduced a new design of my weblog. I also cleaned up the content of the site a little bit and added some additional information.
The last few months I did not updated this site very regularly, which caused a massive amount of spam in the comments. I cleaned up most of it, but there is still a huge number of spam comments to be removed. Because there are some ‘real’ comments, it is not simply a matter of deleting everything from my comment table… I have to figure out a long-term solution for this problem, because sorting out 30.000 spam comments is not fun.

The new design of my site is implemented as a WordPress theme. I used the default WordPress theme as a starting point, and modified it according to my design. It turned out pretty easy to modify WordPress this way. In the past I had the intention to write my own weblog software, but due to experience, I learned that it take too much time to write a fully functional package myself. It is also not very smart, but it is way faster to modify existing software in order to include all the features you wish. I only need to find a good software package for publishing my photo’s on my website. Something which is easy to modify and is stable. I wrote in the past something which could work, but it will take a very great amount of time to finish it, and I don’t think I have the time for that (I can spend the time I save this way on improving other software).

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.

Ook Vista designer vindt besturingssysteem matig

Op 11 januari had ik een discussie in een besloten forum een korte discussie over de gebruiksvriendelijkheid van Windows. Met name de gebruikersinterface van het besturingssysteem vind ik op sommige punten echt slecht (overigens hebben ook Mac OS X en Linux dergelijke gebreken, maar daar ging het nu niet om). Ik gaf toen als voorbeeld het aansluiten van hardware op een Windows-systeem, en de hoeveelheid overbodige handelingen dit met zich meebrengt. Ik zal een relevant onderdeel van de discussie citeren (de cursieve tekst is van mij afkomstig, de rest van de tekst is van een ander):

Als je onder Mac OS X een printer aansluit, dan kun je deze gebruiken zonder dat er eerst allerlei ‘meldingen’ komen. Windows komt weer met allerlei pop-upjes die zeggen ‘nieuwe hardware gevonden’, ‘printer xxx gedetecteerd’, ‘uw printer is nu klaar voor gebruik’ (en als je pech hebt moet je ook nog een paar keer ‘next’, ‘next’, ‘next’ klikken). Die informatie is niet erg interessant,

Jij vindt die informatie niet interessant. Ik vind het wel zo handig als de printer niet print, ik tenminste wel weet dat Windows hem goed gedetecteerd heeft. Als ik dus een printer in een Apple-plug en het ding print niet, kan ik op zoek gaan of het nou aan de driver, de software, de kabel of de printer ligt, want ik weet niet eens of ie goed geïnstalleerd is [/gechargeerd] 😉

omdat het logisch is dat hij, zodra je hem aansluit, klaar voor gebruik is. Ze moeten alleen een melding geven als er een probleem is.

Als mijn usb-poort defect/niet geïnstalleerd is vind ik het heel sterk dat een OS op magische wijze een melding kan genereren dat je er wel iets ingeplugd hebt. Met Windows merk ik tenminste van ‘tiens, vreemd, geen popupje dat de printer geïnstalleerd is, er is iets mis’. Dat vind ik zelf een voordeel omdat ik het zo gewend ben.

Tot mijn verbazing ben ik niet de enige die dit vindt. Tjeerd Hoek, van oorsprong een Nederlandse Industrieel Ontwerper, tegenwoordig ‘Design Director’ bij Microsoft zei het volgende tijdens de Nederlandse lancering van Windows Vista:

Vooral het ‘device management’ is hem een doorn in het oog: het inpluggen, installeren en configureren van hardware moet veel duidelijker en eenvoudiger gemaakt worden. Daarnaast heeft de ontwerper nog wel enkele ideeën rond zogenaamde ‘notifications’: meldingen van het systeem of vragen die door het systeem gesteld worden. In het ideale geval moet het mogelijk worden om een soort van ‘interrupt rules’ zoals hij het noemt op te stellen, vergelijkbaar met regels in een mailbox. Zo zou de gebruiker kunnen bepalen welke vragen en meldingen voorgeschoteld mogen worden en op welke manier dat moet gebeuren.

Precies dus die dingen die ik in ook al als voorbeeld van zwakke punten van Windows aanvoerde. Ik snap alleen niet waarom dat pas in de toekomst kan worden gefixt. Dergelijke zaken zorgen er naar mijn mening juist voor dat een besturingssysteem wel of niet als ‘eenvoudig’ en gebruiksvriendelijk wordt beschouwd. Ik kan me niet voorstellen dat 10 van de 10.000 ontwikkelaars die aan Vista zouden hebben gewerkt hier niet een paar weken aan konden besteden…

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….

New Linux kernel

Today, a new Linux-kernel is released. 2.6.20 does come with Playstation 3 support. Also, this is the first kernel with virtualization technologies integrated. KVM and support for hypervisors/paravirtualization are now included in the kernel. See a list of features here.

Computer Science dying?

Neil McBride, a principal lecturer in the School of Computing at De Montfort University, has an interesting article about the feature of computer science at universities. He claims that the current CS-courses are disconnected from the reality. IT-workers hardly develop new systems from scratch, but has to cope with existing systems and are doing less technical work, but more social and business related work. This is mainly caused by the fact that computers are not mysterious anymore. A few decades ago, only at universities computers were common and it was a true art to get a computer doing something useful. Today, an eight-year-old can design and use a robot without programming. On the other hand, in countries such as India and China are full with graduated programmers working for a much lower salary than ‘western’ programmers.
He claims that coming years CS-courses, like the one currently existing, have to change. He doesn’t come with a prefixed solution, but points out some ideas. At his university, the CS-degree does not assume programming as an essential skill, other skills are more important for a computer scientist. I’m not sure if I agree with this, because I think an understanding of the fundamentals of programming are relevant in order to understand computer related problems and to think of sensible solutions. I think it is important for current CS-students not to focus on the technical part only, and to develop a broad skillset. It is important to understand businesses, a little bit of psychology and market developments. During my study I saw a large number of students thinking that it is sufficient to have knowledge of systems which are currently used (mostly the Microsoft productline, consisting of Windows, Visual Studio and Office). However, it is not very likely that in about ten years, this is the same. When you asked them questions about open source projects, they turned it down with statements like ‘it is to difficult’ or ‘… doesn’t run on Linux’. They clearly doesn’t have any knowledge on this part of the IT-market. In my opinion it is deadly for a CS-graduated to be this narrow sighted.

Talk about business models with KDE

Last Thursday, I went to a talk organized by the OSBC about how to use open source software in a business. The talk was given by Sebastian Kuegler, one of the members of the KDE Marketing group. The talk was very interesting and the questions asked by the audience were also very interesting. I think there is definitely a growing interest in open source in common (small) businesses, which is a good thing. However, there are certainly some gaps in the total product open source can offer. Especially in the marketing department there is a lot of work to be done. It seems to me that KDE is a little bit more ready for adoption in businesses than Gnome is. They seems to have a better message prepared for the public, with clear solutions for independent software vendors.

You are currently browsing the Martin @ Blog blog archives for February, 2007.