Most information here is in English. Only entries not relevant for the international audience are in Dutch.
2004.05.28
5th International Conference on Advanced Semiotic Information Systems [2004]

A warm welcome to the participants of the ICASIS V that will be organised this weekend in 's-Hertogenbosch. The conference is fully booked and has more participants than ever before. Everything indicates that this conference will be as good as the previous four editions. Given the weather forecasts and the fact the 's-Hertogenbosch is also hosting Jazz in Duketown this weekend, the social programme promises to be as good as the scientific programme.
2004.05.24
Veiligheid op de Nederlandse sporen
Afgelopen vrijdag is er een ernstig spoorongeluk gebeurd in de oostelijke wisselstraat van het Centraal Station in Amsterdam. Als door een wonder zijn er geen dodelijke slachtoffers te betreuren. Voorzitter Van Vollenhoven van de ongevallenraad hamert nog maar weer eens op het feit dat de automatische treinbeïnvloeding van het Nederlandse spoorwegennet verouderd is en snel gemoderniseerd moet worden, anders zal de raad soortgelijke ongevallen in de toekomst niet meer onderzoeken. Hier dienen zich onmiddellijk twee interessante vragen aan, namelijk methodologisch en politiek. In de eerste plaats hoe wil de kommissie vaststellen of een ongeval veroorzaakt is door tekortkomingen van de ABT zonder het eerst vooraf te onderzoeken? Ten tweede de politieke vraag sinds wanneer in dit land de voorzitters van dit soort raden zelf mogen bepalen welke taken ze wel of niet willen uitvoeren. Dat lijkt me nou bij uitstek een taak voor de politiek verantwoordelijke bewindspersoon. Als Van Vollenhoven vindt dat hij dit niet hoeft te onderzoeken dan moet hij gewoon plaats maken voor een loyalere ambtenaar.

Maar dan het inhoudelijke punt dat de ABT verouderd is en snel vervangen moet worden. Men vergeet te vertellen dat een volledige beïnvloeding de koncentratie van de machinist ook niet ten goede komt, omdat zijn taak dan uitgehold wordt tot het praktisch niets doen. Als men dan door wil pakken dan moet men volledig automatiseren en de machinist van de bok verwijderen. Geschrokken door de publiciteit roepen kamerleden nu al dat de beveiliging op het spoor gemoderniseerd moet worden. Laat mij uitleggen dat dat een zeer slechte investering is. De investering wordt geschat op 3 a 4 miljard euro. Laten we ervan uitgaan het systeem net zo oud kan worden als het huidige systeem en de veertig jaren haalt. Merk op dat dit een pikante aanname is in dit verband, omdat kamerleden nu vervanging verlangen omdat ABT niet meer het modernste is wat er is, niet dat het risiko-profiel onaanvaardbaar is. Met andere woorden, eigenlijk moet het systeem wellicht in 10 jaren afgeschreven worden volgens de redenering van de kamerleden, omdat verwacht mag worden dat er over 10 jaar nog weer beter spul op de markt is. Maar goed laten zuinig kalkuleren en de levensduur op 40 jaren stellen, dan kost modernisering 100 miljoen per jaar. Maar wat krijgen we ervoor terug?
Ik heb de cijfers niet bij de hand, maar laten we het zeer hoog afschatten en aannemen dat er in Nederland per jaar 3 spoorwegdoden te betreuren zijn waarbij ABT op enigerlei wijze betrokken is, of althans waar een moderner systeem doden had kunnen voorkomen. Dan kost modernisering de Nederlandse samenleving 33 miljoen per niet-gebeurde dode. Dan komt de vraag aan de orde of een mensenleven een investering van 33 miljoen euro waard is. Het antwoord hierop is heel simpel nee en van geen kanten. Hiervoor zijn geen ingewikkelde berekeningen nodig om bijvoorbeeld de ekonomische waarde van een mensenleven te berekenen. De redenering is veel simpeler. Jaarlijks worden nog altijd tientallen mensen in hun woning door brand in hun slaap verrast, omdat ze geen rookmelder hebben. Iedere woning in Nederland voorzien van een rookmelder kost iets in de orde van 8 miljoen woningen keer 10 euro = 80 miljoen euro. Laten we ervan uitgaan dat de melders een levensduur hebben van 10 jaar, dan kunnen voor 8 miljoen per jaar tientallen doden voorkomen worden in het eigen huis. Als we dus van rijkswege geld over hebben, waarom dan niet besteed aan beveiligingsmaatregelen die veel effektiever zijn? Politici moeten niet reageren op de roep uit de samenleving; ze moeten het belastinggeld daar inzetten waar het het hoogste maatschappelijke rendement heeft. Helaas, is dat niet bij de spoorwegen.
Als men zich naar aanleiding van dit ongeval ergens druk over wil maken, dan is er iets heel anders wat veel meer aanleiding geeft tot ongerustheid. Niet het feit dat er een ongeval is gebeurd, maar de wijze waarop het voorste rijtuig is beschadigd. Het gehele voorste balkon is samengedrukt en onder de rest van het rijtuig geperst. De andere wagens lijken nog in de rail te staan en ook de dubbeldekker vertoont op de foto's geen abnormale schade. Hadden er mensen op het balkon gestaan dan waren ze volstrekt kansloos geweest om dit ongeval te overleven. Bij een ernstig ongeval mogen wagens uit de rail springen, ze mogen kantelen en zelfs over elkaar heen schuiven. Maar dit mag nooit gebeuren. Nu is het bekend dat het balkon struktureel het zwakste punt van een rijtuig is en het is altijd mogelijk een ongeval te bedenken dat zo zwaar is dat het toch nog fout gaat. Echter, dit ongeval vond plaats bij lage snelheid, want de ABT zou niet ingegrepen hebben. Van dit soort ongevallen zijn er het meeste. Alles goed in wel, maar onder deze omstandigheden had de kooi intakt moeten blijven. Het lijkt er haast op dat de remmen van de rijtuigen niet gewerkt hebben en dat de volledige energie is opgenomen door het balkon van het voorste rijtuig.
Nu we dan toch bezig zijn over de veiligheid van het spoor. Nog geen jaar geleden was er een rapport over de veiligheid langs het spoor voor baanwerkers. Met name het rangeren werd daarbij als gevaarlijk genoemd. De huidige praktijk is dat bij het rangeren de lokomotief de wagens opduwt. Omdat de machinist niet ziet wat er vooraan gebeurt, zit een kollega met een radio op de voorste wagen. Deze kollega geeft over de radio aanwijzingen wanneer de machinist moet stoppen of vaart moet minderen. Centrale probleem is dat de machinist eigenlijk niets zit en afhankelijk is van een radioverbinding met een kollega. Voorgesteld werd om te gaan rangeren met de lokomotief voorop: dan kan de machinist op zicht rijden (Pikant detail: het op zicht kunnen rijden is een voordeel van de huidige, 'verouderde' ABT.) Prima. Iedereen die dit gelooft heeft vroeger nooit een speelgoedtrein gehad en moet zichzelf nu zo snel mogelijk een dergelijke trein kado doen. Het kan namelijk niet. Of beter gezegd, het kan eigenlijk wel, maar betekent wel dat de lokomotief tussen de wagens terecht is gekomen. Zo kan natuurlijk niet gereden worden buiten een rangeeremplacement, omdat dan als nog een kollega op de voorste wagen moet gaan zitten van bijvoorbeeld een kalktrein van Rotterdam naar Duitsland. Ook op het emplacement kan het niet. Omdat als er nog meer wagens gekoppeld moeten er weer een verse lok nodig is, want deze is ingebouwd en kan niet meer op zicht rijden. Prima plan jongens!
2004.04.23
8'th occurrence of 'formantics' on the Internet
Newly minted: formantics
In this article, I used the word formantics for the first time publicly. I minted the word about 6 years ago, but until now never used it in public writing. Google only has 7 other entries for the word, and these are entries for meanings that are distinct from mine. So the word exactly has the meaning that I give to the word. Humpty Dumpty, anyone?
But what does it mean?
Stamper's semiotic framework distinguishes 6 levels: physical, empiric, syntactic, semantic, pragmatic, and social. Signs can be studied from each of these perspectives. I refer to Stamper's writings for more details, and concentrate on the difference between the syntactic and the semantic. Syntax studies the valid appearances of signs, e.g. with grammars. Semantics studies the meaning of signs, i.e. the relationship of signs and things they stand for. Usually these things they stand for are not signs themselves (although theoretically, anything can acts as a sign for something else), although that is certainly possible. However, if signs refer to other signs, they at least do so at a more concrete layer.
However, when computer scientists talk about semantics, they mean the effects of the execution of a sign (the computer program) in terms of another sign (the computing environment). From a semiotic point of view, these signs are equivalent, and neither of the two is semiotically closer to the meaning of the sign. What computer science calls 'semantics', are in fact rewriting rules or transformation rules for signs. These rules do not relate signs to their meanings. Therefore, semiotically, this is a branch of syntactics, often called formal semantics.
This use of 'semantics' ('a branch of syntactics that is called formal semantics') is so confusing if you are part of both communities, that I minted my own word. In my semiotic writings, the semiotic framework has 7 layers (that have nothing to do with the evenly numbered OSI-model): physical, empiric, syntactic, formantic, semantic, pragmatic, and social. Formantics is the study of formantic properties of signs.
Finally, as an illustration of the difference, take this part of a Prolog-clause:
- eat(A., time1), eat(Karel, time1), doDishes(Karel, time2), sing(Karel, time2), after(time2, time1)
Asked about the formantics, I could explain how expressions like these are evaluated, i.e. converted in other expressions, possibly involving the sign that is the concatenation of all bits in a certain computer and the devices attached to it. I would talk about algorithms, equivalences, equalities, and rewriting rules. Under certain formantics, the expression above would be equivalent to:
- eat(Karel, time1), eat(A., time1), doDishes(Karel, time2), after(time2, time1), sing(time2, Karel)
However, if you asked me to explain the semantics of this expression, you would have to invite me at your place for a meal. Then I would eat with you, and do the dishes afterwards whilst singing. Feel free to invite me, I might consent....
2004.04.23
Error handling, why at all?
In this thread in the Joel on Software forum KayJay wrote:
Error handling - why at all?
http://weblogs.asp.net/oldnewthing/archive/2004/04/22/118161.aspx#FeedBack
Valid points. But why handle exceptions at all? If one codes with strict requirements and validations, a la DBC, why not just let the app die after dumping the state to a log? Or is exception handling by definition a validation routine?

I posted (except for little editorial changes):
In this discussion I miss the distinction between exceptions and violations. Violations are when the assumptions of the programmer appear not te be correct. In that circumstance, any form of handling is a form of uneducated guessing. How can one safely repair the program's condition if one obviously has lost track? Violations are raised by contracts. Exceptions are less serious and rather common, i.e. broken connections, printers out of paper, locked files, etc. These are conditions that are not usual, but they should be anticipated. Exceptions are rather common and should be handled. Handling violations usually is not a good idea, unless your software controls a mission critical device for which a mem dump is not an option. E.g. if your software controls a space craft reentering the atmosphere, then guessing can be better than shutting-down, because the latter has a 100% chance of disaster.
In our company we make our software as brittle as possible. We hardly have any exception handling mechanisms in our code base. Let it break, let it break, let it break! False assumptions are shown instantly, and they are not concealed by repair code. Nice side effect: we do not have to write repair code. Repair code is often buggier than the code it must repair. The programmer is already dealing with a difficult program state, the code is difficult to test, and coverage is a serious problem.
So if our software breaks, we remove the bug, rather than add repair code.
2004.04.20
The Debugger is dead, long live the Debugger!
At Garabit, the use of debuggers already was minimal. Our developers estimate that our quality assurance framework reduced their time spent in debuggers with 75% compared to earlier programming jobs they did. I estimate that I spent less than 10 minutes in the debugger per month. However, I always had some trouble convincing others to stamp out their last use of debuggers completely. From now on this will be simple: conventional debugging is a completely waste of time, talent, energy and coffee. This is obvious for anyone who has seen our improved QA system work. With our new framework in place, we have a mechanism that not only discovers errors in source code very early without having to trace or watch anything, it also allows us to determine the location of the error exactly to the statement level in a split second. It is almost to good to be true. Loosely speaking, we have refuted the Heisenberg-principle of software engineering, knowing both the timing/presence and the location of an error. [complete article]
2004.04.14
Voors en tegens van stemmachines en -computers
en een oproep alle uitslagen aan te vechten
[This contribution about electronic voting is in Dutch, since it is geared towards a Dutch audience. The international audience interested in electronic voting is referred to news://comp.risks and the writings of Rebecca Mercuri.]
In de afgelopen weken zijn er in het parlement vragen gerezen over de betrouwbaarheid en kontroleerbaarheid van stemmachines. Dit was naar aanleiding van soortegelijk vragen in Ierland. Tevens stond afgelopen week in de krant dat men bij de komende presidentsverkiezingen in de Verenigde Staten weer gebruik zal moeten maken van de verouderde stemponsmachines van het type dat vier jaar geleden zo'n trammelant in Florida veroorzaakte. Binnenkort zijn er verkiezingen voor het Europees parlement, een mooie gelegenheid om de komende tijd in een aantal bijdragen dieper in te gaan op de integriteit van stemmachines, stemkomputers en Internet-stemmen. Om alvast een lang verhaal kort te maken: je moet het niet willen, het kan gewoon niet veilig, hoe politiek wenselijk ook.
Ik moet beginnen met het definiëren van een aantal begrippen. Onder busstemmingen versta ik de eenvoudige ouderwetse verkiezingen waar de kiezer met een potlood de kandidaat van zijn keuze aanvinkt en vervolgens het biljet in de stembus deponeert. Na het sluiten van de verkiezingen worden de bussen geleegd en moeten de stemmen met de hand geteld worden. Zoals we later zullen zien is de releatief lange tijd die daarvoor nodig is het enige nadeel van het busstemmen. Dit is de enige methode die aan alle wettelijke en technische eisen voldoet.
Stemponsmachines werden gebruikt in de beruchte presidentsverkiezingen in Florida. In het kieslokaal laat de kiezer een ponskaart ponsen met zijn keuze. Na sluiting van de verkiezingen kunnen deze kaarten snel mechanisch geteld worden. Mits de kaarten goed geponst zijn en de machines nog betrouwbaar zijn weet men nu.
De meeste Nederlandse kiezers zijn inmiddels bekend met stemmachines. Meestal zijn het grote tafels met een knop voor elke kandidaat. Voor de privacy van de kiezer staat er een scherm om de tafel heen. In de stemmachine zit een speciale komputer die de stemmen telt en bij het sluiten van de verkiezingen de uitslag print op een rol papier. Deze machines maken een snelle uitslag mogelijk, maar de kiezer moet nog steeds naar het kieslokaal komen.
Onder een stemkomputer versta ik een normale komputer die ook voor andere taken gebruikt kan worden, die tijdens de verkiezingen speciale stemprogrammatuur draait. Deze komputers zijn niet verbonden in het Internet en het betreft ook niet de machines van partikulieren thuis. Het zijn machines die zij geplaatst in het stemlokaal; de kiezer moet daarom nog steeds naar het kieslokaal komen. De uitslag is snel na sluiting beschikbaar.
Internet-stemmen is het stemmen vanaf de eigen komputer thuis via het Internet. Dit is de droom van elke technofiel en politikus. Iedereen kan vanuit huis stemmen, dus de drempel is volgens voorstanders laag en de uitslag is na de verkiezingen onmiddellijk beschikbaar.
In deze serie bijdragen zal uitvoerig in gegaan worden op de voors en vooral tegens van de verschillende soorten stemmingen. Tevens zullen de eisen waaraan verkiezingen en stemmethoden moeten voldoen beschreven worden.
Ik roep nu alvast alle informatici moet verstand van zaken en met het demokratische hart op de goede plaats op om bij de volgende verkiezingen de uitslag van stemmachines en stemkomputers aan te vechten. Ga 's avond naar de telling en stel vast dat demokratische kontrole niet mogelijk is. De uitslag is een kwestie van geloof geworden. Verzet u tot het uiterste en laat al uw bezwaren in een proces verbaal opnemen. Wees standvastig en hou de uitslag uren of dagen op! Wees moedig en zorg ervoor dat iedereen op de hoogte raakt van de problemen van stemmachines en stemkomputers. Wij Nederlanders hebben gelachen om Florida en we lachen om verkiezingen in derde-wereld landen waar we waarnemers naar toe sturen. Wel, als deze ontwikkelingslanden waarnemers naar Nederland zou sturen zouden ze tot de konklusie moeten komen dat de uitslag niet met zekerheid vastgesteld kan worden. Onze arrogantie is volledig misplaatst.
Dit is geen Luddisme, dit is demokratische ernst!
All my blogs:
|