Most information here is in English. Only entries not relevant for the international audience are in Dutch.
2004.08.23
Great websites
These sites are not new, but they are still among the best on the Internet. Not for faint-hearted, little children and lovers of furry animals, muppets or royalties:

Yes, that is Bert of Sesamestreet with young Máxima Zorreguieta. There is a dark side about Bert that most people do not know about. Read more about Bert and his involvement in the assassination of president Kennedy and the pie-incident with Bill Gates.
This site tries to revive the long-lost art of cat stretching and shaping. Bonsai-kittens are raised in a box-shaped glass containers. This process will shape the head of the young kitten into its characteristic boxy shape. This is great fun!
2004.08.20
Usability Pains
Today we had another nice usability pain. Okay, something went wrong during the writing of our software and we decided to rollback to a previous version. For good reasons these earlier versions are stored on the central server computer in a folder that is not accessible from the workstations. However, I did not realise this immediately; luckily, this restoring does not happen too often. So I opened the folder with the previous version of the source code and made a copy from the server to my workstation. Fine. I open the folder and it is completely empty! Oh dear! I develop heart problems. Then I realise that I had not logged in under an account with permissions to the source code folder on the server. But why the hell failed Windows-XP silently? Why did not it offer me the opportunity to change accounts? If this had been part of a script, then nobody would have noticed the problem until days later.
Then I realised the problem. Unfortunately, my Windows-XP does not allow me a log-in on the Windows-2000 server under another account with sufficient permissions. Another usability pain. (Or is it possible and I just do not know: another usability problem)
- Allow users to change accounts on the fly
So I had to go to the server to log-in appropriately and push the folder from the server to my workstation. I open the folder with the network neighbourhood on the server. I want to open the folder for my workstation so that I can copy the folder to the Shared Documents folder of the workstation. Wrong idea. Windows 2000 does not know that the Shared Documents folder should be freely accessible, so it asks me to provide name and password for the workstation. Strange, that is what I wished I had on the workstation! I log-in and copy the folder to Shared Documents. I go over to my workstation, and guess what, the folder has been placed in the Gedeelde Documenten-folder (this is the Dutch translation for Shared Documents). So the folder has different names under different circumstances. I can imagine all kinds of problem coming from that.
- Use immutable names for system resources, unless you want to break scipts, programs, telephone support, etc.
Okay, the older version of the source code folder has arrived at last on my workstation. I start our main development project that is placed in the folder. Delphi is launched and compiles the code. I run the code, which immediately fails, due to my own error: the software fails at run time if it is not started from a certain folder. I close all files in Delphi, but so not close Delphi itself. I drag the source code folder to its correct context. The progress indicator is at 75% when the move-command is interrupted because someone is using some of the files somewhere for some reason. The error message from Windows provides no clue who held what lock for what reason, but I immediately suspect Delphi: I closed all files, but it still held one lock on a file. Therefore, moving that file was not possible. So I must close Delphi and then start it anew, another 30 seconds blown away. I remove the 75% complete copy of the folder that was placed in the correct context, and try again. Ready in less than 2 seconds, that cannot be correct. Not only had Windows done me a disservice by not telling me exactly what was wrong, it had also left the folders hoovering between here and there. There was a part in the old location and a part in the new location, but you are never sure whether these two parts add up to the whole.
- Always provide meaningful error messages
- Never leave the system in an unknown state
So I must go back to the server and start the whole procedure a new. What a waste of time and energy!
2004.08.20
Great Gadgets
If you have got 4500 dollars to spare, then this may be a very nice Christmas present: one of the videos and the rest of the site with more astonishing videos near the bottom of the page. Unbelievable what is possible with modern robotics.
If you haven't got the money yet, but you got the patience, then this may be something for you: a small wearable holographic projector. The smaller the device, the better the quality of the image. No lenses, so no focussing problems!

2004.08.20
In de AutomatiseringGids
In de AutomatiseringGids van vandaag een aantal aardige stukken over beveiliging en integriteit van computers.
Ten eerste: een Windows-computer vers uit de verpakking is gemiddeld binnen 17 minuten na kontakt met het Internet besmet met virussen en spyware. Helaas is 17 minuten te kort om de maagdelijke machine te voorzien van alle firewalls, virusscanners en Windows-updates die van het Internet geladen moeten worden. De enige manier is dus om een Windows-machine te installeren van achter een reeds geïnstalleerde firewall. Door de aard van het probleem moet dit dan eigenlijk een hardware firewall zijn.
Ten tweede: Instant Messaging en Peer to Peer kommunikatie vormen een groot beveiligingsrisiko voor bedrijven en instellingen. Het beteugelen van het veiligheidsrisiko blijkt bovendien een beheersprobleem van jewelste te zijn. En als je er over nadenkt is het inderdaad bezopen dat ieder gebruiker een lijn mag openen naar de buitenwereld. Dit doorkruist alle beveiligingsmaatregelen.
Ten derde: elektronisch stemmen ligt in de Verenigde Staten zwaar onder vuur. Technisch onderzoek van stemcomputers heeft ernstige tekortkomingen vastgesteld in de software. De wetgever in verschillende staten scherpt de wetgeving aan waardoor het niet langer mogelijk is te stemmen met computers. Leveranciers van stemcomputers vergelijken de onrust met tegenstanders van automobielen in de jaren twintig die wezen op de gevaren van het snelle vervoer. Deze vergelijking gaat mank en gaat bovendien voorbij aan het feit dat het juist de informatikaspecialisten zijn die konstateren dat gebruik van stemcomputers niet te verenigen valt met een transparant demokratische proces. Deze mensen kan alles behalve een angst voor de technologie verweten worden. Kortom FUD van leveranciers.
2004.08.19
Usability Does and Don'ts : all needles in the same direction
I do not know whether it is true, but 'si non e vero, e ben trovato'. They tell that when your BMW is cruising fine all needles on the dash are pointing upward. Without interpreting the readings of any single gauge, one can instantly see that speed, revs, oil temperature, oil pressure, and fuel are fine. (I assume that cruising fine with your brand new BMW with the needle of the speedometer in the 12 o'clock position means driving 140 km/h.)
Now compare this with your favourite software.
Take Microsoft Windows. Now Windows is an easy target, in a program that big, it is easy to find some flows. However, given the size of Microsoft, the accumulated IQ of the people working their (they can crush a rock by sheer thinking of it all at the same time), and their deep pockets, it is only fair to assume that they should have gotten this correct. But lo and behold, they did not.
In the view options of Windows Explorer you can find this beauty (I am sorry only to have a Dutch copy of XP, but hey, at least it is a legal copy):

In here are some of the most important settings for the security of your PC. Getting these things correct is very important. Did they learn from the BMW-dash? No.
In a user-friendly design, ticking any of the check boxes would mean making it either safe or not safe. But the important thing is that all options should carry the same meaning. So on a safe system either all check boxes should be ticked or none of them. Given the fact that the checks are green, there is only one reasonable choice: setting the tick must make the system safer. Not only did they fail in that respect, even options that are closely related have opposing meanings. Here are some problems:
- hiding protected files of the operating system (2nd option)
- showing contents of system folders (4th option)
- showing/not showing hidden files and folders (16th option; shown below)

These three questions all deal with showing or hiding certain categories of files and folders that have a relevance for the correct working of the system. Here alone we have a number of usability problems:
- the questions are not grouped together in the list of 17 questions
- the first and second use check boxes, the third uses radio buttons
- the first uses a check box to indicate hiding (safe option), the second uses a check box to indicate not hiding
There are options that require a check mark for being safe (questions 2 and 6) and those where the mark should not be placed in the check box to be safe (4 and 8). This is not all:
- resetting it to factory settings does not make it safe
- safety-related preferences are mixed with fun-factors, and finally
- nobody would search these security features here.
Fortunately, the automotive industry and the software industry are joining up and make a big inroad to bring the usability achievements from one industry to the other. O, by the way, BMW has given up the old-fashioned needle gauges for the state-of-the-art giga digital dash.
2004.08.17
Bossche Monumenten in miniatuur
Dit zijn de eerste 6 miniaturen van monumentale panden in 's-Hertogenbosch. Gedurende acht jaren zullen er elk jaar drie prachtige miniaturen uitgebracht worden van monumentale panden in 's-Hertogenbosch. Er komen er dus nog 18! De beste en mooiste binnenstad van Nederland op de eigen schouw! 
Voor de kenners en vooral voor de niet-kenners: hoek Lepelstraat - St.-Jansstraat, Hinthamerstraat, Hinthamerstraat, Hoogesteenweg, Brede Haven, Kerkstraat. Voor meer informatie mail thoenissen @ garabit . nl.
2004.08.17
Usability Does and Don'ts : widgets determining behaviour of other widgets
Recently, we had another beauty of a usability problem. We are developing software that should be simple to use. Our customers must be able to install the software without help from a system administrator. Running our software should also be safe. Therefore, our users should be not forced to have system administrator privileges. So when we develop software, we use normal user accounts, not SA-accounts. If we can develop the software without system administrator rights, then our users can certainly use it without these rights.
Last Friday we experienced problems with Delphi exactly in this category: Delphi requires that developers have SA-accounts for several mundane tasks. For example, when Delphi is freshly installed, the help database has not been compiled yet. This is done when it is first used. Unfortunately, the compiled help database is written in the program files hierarchy. This is, however, not accessible to the normal user. This can be solved by calling in the SA, make him run Delphi, and invoke the help function. Then the database is compiled and written to the system with sufficient privileges. This is a one-off problem.

However, we found another problem. During development it is nice to have templates for standard code. Delphi provides this functionality in the IDE. However, the template database is also stored in the program files hierarchy, but this is not a one-off problem, because developers may want to change the template files every now and then. So what we had to do was granting all developers access to the template file.
I know how to set access rights in Windows 2000 Pro: right clicking on the file or folder, go to properties, click on the tab for security and then set the permissions for the different users and user groups. However, I could not find the feature in XP-Pro. Knowing the supplier, the feature could not have gone: they have never increased usability by removing functionality, except perhaps for Bob and the dancing Paperclip. I asked my colleague for help. Together we looked everywhere, but nowhere we could find something closely related to sharing and/or permissions, except for the broken shared document folder. We searched the help information, but the information there was totally incomprehensible. Neither of us understood a word of what was written there.
After an hour of frustration we found the solution: somewhere in the Windows Explorer options one can set a preference for a simple or advanced sharing of files. When the advanced option is chosen, the missing permissions tab is shown with the properties of every folder or file.

My usability frustration is this: certain parts of the user interface are hidden depending on a preference elsewhere in the user interface. There is no indication of why the functionality is hidden, neither a hint where to look for the preference. To make matters worse, the location of the meta-preference is non-intuitive and the help information is totally broken. Microsoft repaired a usability problem (user playing with permissions) by making things worse.

When writing this blog entry and making the screen capture for the illustration above I found another usability problem. Currently, I am not logged in as a system administrator. I changed the settings and saved them by pressing on OK. However, the changes are not applied. Problably because this is beyond my permissions as an ordinary user. That makes sense. But why fail silently, why not tell the user that changing the preference is not allowed, or why not gray-out the option since it is not available? Or even better: why not allow the user to log-on as administrator just for this one task as is possible in MacOS X? It took me 5m30s, just to change this single preference! Running as a system administrator would have been faster, but that is ***not a good idea***.
2004.08.17
What is wrong with computers?
Last week we had system administration week. Most of the week we spent on maintenance of our computers, network and software. Most importantly, we re-installed all our machines. Why are computers so difficult? Why do they behave so strangely? I really do not know.
Let me give you a two examples of the peculiarties that we have experienced. All our work places use identical machines, bought at the same day from the same supplier. When re-installing, the machines are restored to their factory settings they promise. Yeah, right. When doing the restore, one enters some low-level application, written for DOS. This is very basic stuff, and this stuff is supposed to work always, since it is the last resort in case of serious problems. (Having the entire OS on a partition of your PC is nice and comfortable, but I really do not know how to re-install the OS, let alone the applications and documents, when the disk is injured beyond repair.) Anyway, this software is supposed to run independent of Windows, not on top of it. However, I was really surprised that on one of the machines this procedure was in Korean! No idea how that was caused. All machines ran the same software, patches were always applied to all machines, system administration actions were always applied to all machines, yet this one machine decided that it had to talk Korean with me. From something close to the BIOS!
Another nicety is this one. Re-installing a new machine and installing all patches is a job for the system administrator. Thanks to an architectural fault in the design of Windows, installation of software, drivers and patches requires frequent restarting of the computer. I have not counted it, but I think I had to restart the each machine at least a dozen times, before the basics had been installed and the machines were safe for the Internet. These restarts are needed when I am doing my SA-work with my SA-account. However, when the machine tries to restart itself with an SA-account open, I hangs and starts making loud beep noises. I think this is some sort of security measure, but this does not work. If the account is password protected, then blocking a restart does not make sense. When the system administrator has not password-protected the account yet (which is handy during the dozen restart cycles of the re-install and the extended downloads that make screen saver jump in) then the alarm is also pointless. A smart SA is sitting next to the machine and if he is careless and walks away from the machine, then a simple beep is not enough to warn him that another user may now be hijacking his privileges. From a usability point of view there is another problem. I have discovered that the hanging and loud beeping during the restart can be stopped by pressing the power button for a very long time. I am not aware that this was somewhere in the manual of Windows or the ThinkPad. I am only so lucky to know this. However, if I know this, then some others may do so too. So as a protection mechanism it is totally lame: it is a form of security-by-obscurity that fails to protect against the experienced hacker/cracker in your own organisation. Fortunately, these are not the most common, unfortunately, these are the most dangerous.
Maybe I am wrong and this hanging and beeping is not a security feature. But then the question is: why the hell did they not bother to provide the user at least some bit of a clue telling him what is the matter?
2004.08.06
Why cutting trees is good for the environment

Global warming is a serious threat, according to all major scientists. Something one can hear often is that forests produce oxygen and bind carbondioxide. Unfortunately, this is not true, or at least not true in a way that environmentalists would approve.
The point is that living plants do procedure oxygen and bind carbondioxide, but forrests do not. At least not a forest in a state of equilibrium. In a growing plant the photo-synthesis process takes CO2 from the air and water from the soil, and produces hydrocarbons ('wood' and 'foilage') whilst releasing oxygen. That is the story for a single growing plant. That was the good news.
Now the other story about forests. Eventually plants die. In a forest in a state of equilibrium, there are as many plants life and growing as there are ones dead and rotting. Now that is exactly the problem that many environmentalists oversee. Every ton of hydrocarbons that is produced by a forest at some point, is rotting away at a later point. Since the rotting process is chemically the reverse of the growth process, rotting biomass will consume oxygen and produce carbondioxide. In the end nothing is gained: in a forest in a state of equilibrium there is no net oxygen production or carbondioxide reduction. Ergo, it is a mistake to count natural forests as carbondioxide reducers.
Now the interesting point: the above was true for a forest in a state of equilibrium: if we harvest the wood from the forest to fuel our houses, then there is no problem. From a global point of view the wood is still decomposed, but now it is used to heat our houses. If we fuel our houses with dead forest instead of mineral oil or coal, then we have used the carbon cycle to our advantage. It is not the burning of fuels itself that is bad, it is the release of carbonic material that had been stored safely in the crust of the earth. Taking wood from a forest creates open space in a forest where new trees can grow and bind carbondioxide.
Please notice that I am not proposing cutting all forests. My argument is only correct if fallen trees and trees that have been cut are replaced by new ones. Another concern is biodiversity and preservation of the natural habitat of animals and other plants. However, my point is that forests do not bind carbondioxide, whereas durable forestry does. We should look at these matters with pragmatism rather than dogmatism.
2004.08.06
The beauty and logic of Roman numerals
Every now and then I hear people complain about the Roman numerals and how complicated it is to perform arithmetic with these. People will then grab a piece of paper do some fancy calculation and wonder how the Romans would have done that in a reasonable amount of time. How did the Romans do without the digit zero? How did they trade without our efficient numeric system and our hand-held computing devices.

Well: they had their own hand-held computing devices! For most practical purposes these devices were quicker than any ordinary modern person with pen and paper. Okay, electronic computers beat the Romans. How come that the Romans performed so well with arithmetic?
We often forget that our numeric notation and our calculation technology go hand in hand. New technology affords new notations. Hexadecimal notation became useful with the invention of the binary digital computer, paper afforded the storage of intermediate results of calculations (something that is impossible on an abacus), etc.
From archeology we know that the Romans used the abacus for their arithmetic. The abacus has several rows with beads that can be shifted to represent the unit, the unit of 5, the unit of 10, the unit of 50, 100, 500, 1000, etc. It is no coincidence that these correspond exactly with the Roman numerals: I, V, X, L, C, D and M. Given a number on an abacus it is very simple to write it down with this notation: there is a more or less one to one correspondence.
I wrote down 'more or less' because there are two interesting questions that need to be answered. Firstly, why did they use beats to represent the units of 5, 50, 500 at all? Why not do without these and offer 10 beats in the row for the units, for the units of 10 and for the units of 100, etc. We all know that the human mind can instantly recognise the count of small collections of items. When collections of items get larger, we really need to count. So when adding 8 to a number it is simpler to add a 'fiver' and three 'oners' than eight 'oners' because in the former case we can recognise the beats immediately.
Secondly, why did the Romans represent some numbers as a subtraction rather than a simple addition, e.g. why is 4 represented as IV rather than IIII or 9 as IX rather than VIIII? The anser is that this notation was far more efficient on the technology of those days, i.e. the abacus.
When we want to add 4 on our abacus, we can either add 4 units to the current accumulent, or subtract 1 and add 5 (since 4 = !1+5 ). Notice that the latter requires only the shifting of 2 beats, whereas the former requires the shifting of 4 beats. So adding IV is less work than adding IIII. But there is another problem. There are five beats on the abacus for the units of 1. When the accumulent already has 2, 3, 4, or 5 beats shifted in for the units, then adding IIII is not directly possible since there are only 5 beats on the row. Now remember your school days: in a case like this you would carry over to the higher unit. In this case, one would mentally add 4, ignore the fivers on the row for the units, and shift in one fiver on the row for the fivers. Now this corresponds exactly with IV: adding 5 subtracting 1. So in 5 out of 6 cases (when the row for the units has 1, 2, 3, 4, 5 beats) adding IV is not only shorter but also avoids a carry-over.
This notation only makes sense for the 4 as a numeral. Representing 3 as IIV instead of III gains nothing as far as the number of beat shifts is concerned: both require 3 shifts when performing arithmetic. Moreover III can be added without carry-over to 0, 1 and 2 beats, but not to 3, 4 and 5 beats. So either notation requires a carry-over in half the cases, so both notations are equally efficient.
Romans had abacuses as hand-held devices and with a little exercise it is possible to perform simple math faster than with pen and paper. The nice property of the abacus is that it can remember the intermediate results for you. During multiplication one only has to shift in the partial multiplications and when these are done the result is already there. We use pen and paper technology to store the intermediate results and then add these at the end, giving the final result. But even during the multiplications we must store partial results. We do this mentally by remember the carry-over. The Romans did not have to do this and they would easily outperform us on everyday arithmetic.
So technology and language/ notation go hand in hand in ways often misunderstood.
2004.08.06
Need for complete re-install proven while writing the previous post
A funny thing happened while writing the previous posting about our system administration week. I write this using CityDesk, a simple easy to use content management system. When an entry is complete I can get a preview with the browser of choice. By default, CityDesk uses Microsoft Internet Explorer version 6. I took a preview and saw that the word 'spyware' in the third line had been converted into a link where none had been in the original text in CityDesk. I had another look at the original text in CityDesk and nothing seemed wrong. Then I took a look at the source code of the HTML-page and nothing was wrong either. So the spyware has creeped into the rendering engine of IE6. So the need for a complete re-install is clearly proven.
Obviously there was nothing wrong with the page when viewed with Firefox. So for all of you who want a safe, fast and comfortable browser: www.mozilla.org. Do yourself a favour and stop using crap.
2004.08.06
System administration week
This week we have had our systems administration week. After a year of service our PCs had become ripe for a complete re-installation of all software. This practice has a number of advantages: all software and spyware that is no longer needed is removed from disk and registry, the disk is defragemented, all machines in our organisation are brought to an identical state which makes system administration a lot simpler, we are forced to make decent backups of all data on all machines, and finally, we are forced to use our installation procedure.
Later this week I will write about my experiences during the complete re-installation of all machines. Let me tell you at this stage that there was no reason to become optimistic about our profession.
Experience tells that the order in which software packages are installed can be significant. I have also learned the hard way that certain preferences can only be set during the initial installation of the software or during the installation of the OS. Setting the preferences at a later stage is sometimes not possible or so difficult, that it has become utterly impossible. We have written these experiences down in a protocol. This protocol tells us how to re-install the entire machine, its peripherals and the software applications. Fortunately, our protocol worked, so although a complete re-install can take as long as a complete day (however, much of this time you can do other work), it requires no puzzling.
All my blogs:
|