Naar bed naar bed

Nog zo’n zoek-hit op mijn blog… daarom hier maar het hele versje: Naar bed naar bed, zei Duimelot Eerst nog wat eten, zei Likkepot Waar zal ik het van halen, zei Lange Jan Uit grootmoeders kastje, zei Ringeling Dat zal ik verklappen, zei ‘t kleine ding. Update: Mijn lieve zusje Read more…

Babysite, rennen en EK

Wat krijg je als je allerlei ideeen hebt, weinig tijd en net een beetje heb zitten webmasteren? Juist, een blog-entry met een titel als deze. Babysite Ja, die is online (al een tijdje) en ik heb hem net een beetje netjes gemaakt en opgeruimd. Ik zou zeggen: gaat kijken op Read more…

Nieuw design

Er is een nieuwe versie van mijn theme uitgekomen, dus maar meteen erop geknald. Versie 3.0 van Ad Clerum, ziet er weer net wat gelikter uit. Nadeeltje alleen wel dat het allemaal weer Engels is en dat er nog wat non-linkje in zitten. En zie die dan maar weer weg Read more…

Bedrijfskunde …

Langzaam word ik er knettergek van. Die bedrijfskunde jongens maken er een puinhoop van en ik vraag me af of ze het zelf in de gaten hebben. Er zijn net zoveel theorieën als bedrijfskundigen en ze hebben allemaal een lekker bekkende term (ze hebben namelijk ook allemaal het marketing-hoofdstuk goed Read more…

Fitna? Fitniks.

Een week of anderhalf na de ‘release’ van de ‘film’ van onze Geert. Er is een hoop gezegd, er is een hoop niet gezegd en er is niet zo heel veel gebeurd. Er komt een soort van millenniumbug-gevoel terug: gebeurde er niks, omdat er niks aan de hand was, of Read more…

¡Cuba!

(Deze post is Engelstalig, omdat ik hem in Cuba Engelstalig heb geschreven. Het is meteen ook het begin van tweetaligheid op dit blog. Als ik van mening ben dat een artikel beter in het Engels gesteld kan worden, doe ik dat.) Two weeks ago, we (my girlfriend and I) travelled Read more…

“Why does software suck?”

Update: I translated this article into English.

Wat is er toch zo ingewikkeld, complex, onmenselijk aan software dat het haast niemand lukt het Gewoon Goed te krijgen. Bewijzen voor het feit dat software zuigt zijn er legio: virussen, spyware, bugs, crashes, updates, upgrades, versies, digibeten en onmogelijk te bedienen apparaten. Op de één of andere manier krijgen wij programmeurs het maar niet voor elkaar.

To Err Is Human”

De vraag is gaan rondwaren in mijn hoofd. En zoals dat vaker gaat (in mijn hoofd) ben ik gaan zoeken naar oorzaken. Wat is er inherent moeilijk of ingewikkeld aan software, of het maken ervan? Ik ben er nog niet helemaal uit, maar wel redelijk op weg. Bovendien ben ik gestuit op het boek, “The Design of Everyday Things” van Donald A. Norman, waar ik ben aangeland bij hoofdstuk 5: “To Err is Human”. En dat zou wel eens de kern kunnen zijn van het hele verhaal.

Computers (of in en bredere zin, technologie) vergissen zich niet. En mede daardoor kunnen ze er erg slecht tegen als iemand zich vergist in de interactie met een apparaat. Maar mensen, die vergissen zich wel. En vaak ook. In het schrijven van dit stukje heb ik meerdere malen de backspace en delete knop gebruikt, ik heb zitten klooien om die link hierboven goed te krijgen en minstens één zin heb ik in zijn geheel herschreven. En dat is nog maar in 15 regels.

Langzaam ben ik van mening geworden, dat mensen stomweg niet de hersenen hebben om Goede Software te schrijven, zoals we huizen kunnen bouwen, muziek kunnen maken of poëzie kunnen schrijven. De grondbeginselen van software zijn zodanig mathematisch en ver verwijderd van het normaal gebruik van de menselijke hersenen, dat het schier onmogelijk is foutloze software te schrijven. Ja, er zijn ‘oplossingen’ met mooie namen als ‘managed code’, maar die lossen de problemen slechts op de onderste laag op. Ze zorgen ervoor dat je niet meer de voor de hand liggende fouten (verkeerd memory management, stack corruption, etc) maakt, maar het conceptuele ingewikkelde van software is er niet mee opgelost. Wat is dat conceptuele ingewikkelde dan wel?

“Hello World!”

Iedereen die programmeert, ken het bovenstaand zinnetje. Velen zullen ook het volgende citaat kennen (wellicht niet, want Google gaf weinig sjoege erover):

“Every program more complex than ‘Hello World!’ has bugs”

Die fouten zijn terug te voeren naar een aantal basisproblemen in mens-computer interactie:

  1. computers accepteren geen vaagheden, fouten of gokken. Het is het ene of het andere, ertussenin kan niet, tenzij als zodanig geprogrammeerd of geëngineerd (wat ons recursief terug voert naar basisprobleem 1),
  2. menselijke hersenen werken erg slecht in een omgeving waarin alles exact vastgelegd moet worden,
  3. de wereld is complex en samen met 1 en 2 levert dat onoverkomelijke problemen op.

En dan zijn er nog zijproblemen die het er niet eenvoudiger op maken:

  1. computersoftware wordt geschreven door schrijvers van computersoftware, niet door haar gebruikers,
  2. om de één of andere reden, moeten er steeds meer opties bijkomen (waarschijnlijk om de gebruikers te blijven laten betalen voor de fouten die programmeurs maken),
  3. het vak van programmeur is betrekkelijk jong, een jaar of dertig, veertig hooguit; er moet nog een hoop ontwikkeling plaatsvinden voor we er zijn, als we er al komen.

Van die laatste drie zijn mogelijke oplossingen te bedenken: beter testen, betere specificaties maken, etc. Dit zijn geen onoverkomelijke of structurele problemen. Die eerste drie, daar ligt het probleem. Daar wil ik dan ook verder op in gaan.

(more…)

puC ?!

Heb je hem al gezien? De puC ? Het apparaat zal wel briljant zijn, en de smaken fenomenaal, maar die naam! Hoe komen ze toch op zo’n ongelooflijke debiliserende naam? Het wordt zelfs nog erger, op de website wordt nog eventjes uitgelegd waar de naam op slaat. Alsof we dat Read more…

Hans Teeuwen II

Zoveel research blijkt niet nodig te zijn geweest, een (niet eens zo heel) handige YouTube gebruiker vindt hem zo: Hans Teeuwen in “Bimbo’s en Burka’s”. En de voor mij toch kernpunten van zijn (te vaak en schaamteloos onderbroken) relaas is toch wel dat religieuzen doen alsof zij het alleenrecht hebben Read more…