woensdag 26 maart 2008

De eerste week in Laos

We zijn ondertussen al bijna een week in Laos. Het weer is lekker. Lekker warm vooral, maar zeker niet te heet. En overdag regent het niet. 's Nachts soms wel, en dan soms ook heel hard. Het lijkt onder een dak van golfplaten nog veel harder. En dan kan ik dus echt niet slapen. Als ik al in slaap gevallen was. Ze hebben hier namelijk ook hanen. En die kraaien. Je kent het gezegde: als er één haan kraait, dan volgen er meer. De haan het dichtste bij mij in de buurt was ook nog eens schor.

De eerste dagen waren we te gast bij Broer Soldaat. Die heeft een huisje op enkele tientallen kilometers van Vientiane. Het is hier alsof je in een kinderboerderij woont: overal lopen kippen en eenden. En er wandelt regelmatig een kudde runderen voorbij.

Het huis van Broer Soldaat


Philip vermaakt zich kostelijk. Hij heeft een nieuw spelletje bedacht: water aan het pluimvee geven. Daarvoor heeft hij een beker, die de welwillende vrouw des huizes steeds vult met water. En de inhoud gooit Philip over de beestjes heen. Die het redelijk gelaten ondergaan. Een en ander tot groot vermaak van de omstanders, vooral een babietje.

Ze hebben hier geen waterleiding, maar wel een pomp die het water diep uit de grond oppompt. Elektriciteit hebben dus ze wel. Ruim genoeg voor een kleurentelevisie en een paar ventilatoren.

Het is hier heerlijk rustig. Ik heb volop de tijd om weer eens wat te lezen. Op Schiphol heb ik een boekje van Martin Rees gekocht: Just Six Numbers, over astronomie. Heel boeiend. En ik heb ook drie Discworld-boekjes gekocht; ik moet daar toch ooit eens aan geloven.

Na een paar dagen zijn we naar het huis van Soi gegaan, een zus van Lien. Dat is wat dichter bij Vientiane, maar niet veel. Het huis van Broer Soldaat was een simpel houten huis, met “muren” van vlechtwerk; het huis van Soi is een echt betonnen huis met heuse kamers.

Op de brommer


Ook bij Soi zijn er genoeg eenden en kippen. En een hond. Philip heeft ondertussen een waterpistooltje gekregen van Lien, en daarmee bestookt hij al die dieren. Hier reageren ze een stuk beter; ze fladderen regelmatig op. De hond blijft er gelukkig heel ontspannen onder, die wandelt gewoon weg. Terwijl Philip “wegwezen!” roept.

Het lijkt wel een kinderboerderij


Een andere zus van Lien is On. Zij woont in Vang Vien, en ze is ook een paar dagen op bezoek gekomen. Met haar kindertjes. Waaronder Noei. Philip en Noei sluiten al snel vriendschap. Ze rennen samen rond en halen soms zelfs kattekwaad uit.

Philip en Noei


Weer een paar dagen later gaan we naar Vientiane. Eindelijk kan ik weer eens aan het Internet. Dat heb ik helemaal niet gemist, dat valt me reuze mee. Ze zijn hier ook met de tijd meegegaan: de PC heeft slots voor allerlei soorten memory cards. Maar aargh, ik krijg de xD-kaart van mijn fototoestel er niet in! Gelukkig is er ook een USB-aansluiting. Zo kan ik toch nog een paar fotootjes uploaden voor dit blog.

Het is toch wat lastig om hier met Philip te wandelen. Hij vindt tuktuks geweldig! Elke keer als hij er eentje ziet wil hij instappen.

Philip houdt van tuktuks


Er is wel wat veranderd sinds de vorige keer dat ik hier was. Dat is alweer vier jaar geleden. De Talat Sao is de grote markt hier. Dat was altijd een rommelige markt met losse kraampjes in een grauw betonnen gebouw. Dat is nog steeds zo, voor een deel; maar er is nu ook een modern deel dat er keurig uitziet. Er zijn zelfs glazen deuren met het opschrift “Talat Sao Mall”. En een restaurantje waar je friet kan kopen. Het is nog steeds heel rommelig, dat zal wel typisch zuidoost-azië zijn.

dinsdag 25 maart 2008

Naar Laos

We zijn in Laos. Het was nogal een eind reizen, maar het is gelukt. Eerst met de auto naar opa en oma. Dat ging niet zo best; “ze” hadden de A4 bezaaid met files. Opa en oma brachten ons maar meteen naar Schiphol. Daar waren we toch nog mooi op tijd. We kwamen moeiteloos door de paspoortcontrole, maar bij de “veiligsheidscontrole” moesten we een fles water en de nieuwe pot haargel van Philip inleveren. De pakjes chocomel had ik nog gauw even opgedronken.

De piloot bracht ons netjes naar Bangkok International Airport. Hij deed er alleen wel lang over. Nouja, het is dan ook een heel eind. Het beviel Philip wel, hoewel hij regelmatig vroeg waar de piroot nou ergens was.

Bangkok International Airport


We besloten om meteen door te vliegen naar Laos. Nouja, meteen - we moesten meer dan 4 uur wachten. Hadden we mooi tijd om Soi te bellen. Maar Soi nam niet op. Dan maar Broer Soldaat, die nam wel op. Zodat een hele delegatie ons stond op te wachten bij het vliegveld van Vientiane.

De laatste vlucht was teveel voor Philip. Terwijl hij nog volop vrolijk rondrende in het vliegveld van Bangkok, viel hij in het vliegtuig naar Vientiane al gauw in slaap.

Vanaf Vientiane gingen we per pickup-truck naar het huis van Broer Soldaat. Lien, ik en twee kindertjes (waaronder Philip) voorin; de rest (waaronder oma en een baby) in de bak. Met paraplu's tegen de zon. Het zal tussen een half en een heel uur rijden zijn geweest. Per saldo waren we bijna een etmaal onderweg.

In de pickup-truck

maandag 17 maart 2008

Kermis

Zaterdag moesten we even in Amsterdam zijn. En hee, er was kermis. Wat leuk. We maakten Philip wakker, en jawel, hij was ook geïnteresseerd. Dus hup, de auto geparkeerd, en naar de kermis.

Kermis in Amsterdam


Philip was natuurlijk niet meteen helemaal wakker, en wilde vooral gedragen worden. En hij wilde eerst nog helemaal niks. Nou, dan maar het reuzenrad in, dat is makkelijk en leuk.

Dat reuzenrad is hoog, he


Als je eenmaal in het reuzenrad zit, dan kan je er niet meteen weer uit. En als je dan ziet dat het ding met spanbanden in elkaar zit… (Gelukkig zag ik maar één spanband, en zo te zien was die er alleen maar om een buisje vast te houden.)

Zit dat reuzenrad met spanbanden in elkaar?!


Na het reuzenrad zag Philip autootjes, daar wilde hij wel in. Mama wilde ook, maar het was alleen voor kindertjes (van 2 tot 12). Philip was nog steeds niet helemaal wakker, en hij had het misschien ook een beetje koud, dus hij vond het toch wel een beetje lastig. Gelukkig concentreerde hij zich op het sturen. Niet dat dat nodig was, maar dat geeft niet.

Philip moet sturen


Ondanks dat hij het niet geweldig vond wilde hij ook in de andere autootjes. Dit keer mocht mama wel mee. Philip vond dat hij moest sturen (ook al had mama ook een stuur, en ook al deed deden de stuurtjes niks). Na afloop deelde Philip me mee dat mama bang was.

Philip en mama in de auto


Lien had het ondertussen wel zo'n beetje gezien, die kermis. Maar toen zag ik de vliegsimulator! Daar wilde ik wel in. Vooruit dan maar, het mocht van Lien. Met het hele gezin. En het bleek inderdaad reuze leuk! Binnenin werd een filmpje afgespeeld, en het ding bewoog mee, zodat het allemaal heel echt leek. Het was alleen niet een vliegsimulator, maar een soort van auto die over een soort van gletscher reed. Met gigantische ijsblokjes die ontweken werden.

De vliegsimulator


Na de kermis reden we naar huis. Onderweg had Philip het steeds maar over het vliegtuig van de kerstmis (ook al corrigeerde ik hem steeds). En hoe cool dat wel niet was. (Waar heeft hij dat woordje nou weer geleerd?) We besloten om via de pannekoekenboerderij bij Leiderdorp te gaan, maar Philip zei al dat hij daar geen zin in had. Hij wilde liever naar de C1000. “Andere dingen kopen.” (Dat werd verder niet gespecificeerd.) We gingen toch maar naar de pannekoekenboerderij, en Philip weigerde inderdaad om zijn pannekoek op te eten.

zaterdag 15 maart 2008

Ik ga op vakantie en ik neem mee... naalden

Binnenkort gaat het gezin Rijstveld op vakantie. Naar Laos. En we zijn van plan om niet alleen de grootstedelijke en welontwikkelde gebieden te bezoeken. Al was het alleen maar omdat de grootstedelijke en welontwikkelde gebieden in Laos niet zo heel veel aanwezig zijn.

Maar wat als er een ongelukje gebeurt, en er moet iemand een prik krijgen van de dokter? We willen natuurlijk niet een enge ziekte oplopen omdat de plaatselijke arts een naald hergebruikt. Daarom neem ik mijn eigen naalden mee.

Steriele naalden


Nou heb ik vrienden die regelmatig een verre reis maken. Soms ook naar gebieden waar de medische zorg wellicht wat minder is dan we hier gewend zijn. Dus zij nemen ook hun eigen naalden mee. Slim. Ze hebben zelfs geprobeerd om ze te gebruiken. Maar de volgende keer moeten ze dat misschien niet in een goed geoutilleerd ziekenhuis in een super-toeristisch toeristenparadijs proberen.

De vraag is alleen: hoe kom je aan die naalden? De vrienden in kwestie hebben daar zo hun eigen sluipwegen voor. Ze hebben een arts in de familie, en daar viel wel iets mee te regelen. Wat ze kennelijk niet wisten is dat je een steriel setje naalden gewoon bij de apotheek of zelfs de drogist kan kopen. Zoals ik vanochtend deed.

Netjes praten

Zeven jaar geleden sprak Lien nog geen woord Nederlands. Nu kan je een aardige conversatie met haar houden. Dat heeft ze de afgelopen jaren allemaal geleerd. Op school (de inburgeringscursus), van mij, op haar werk, enz. Ik heb er alleen nooit zo op gelet dat ze beschaafd Nederlands leerde. Ze weet niet altijd of een woord nou wel of niet gepast is. Net zoals ik vast ook wel eens in het Lao allerlei onaardige dingen zeg zonder het in de gaten te hebben.

En nu is Philip er. Ik doe mijn best om hem enigszins beschaafd Nederlands te leren. We voeden hem niet echt tweetalig op; Lien praat ook vaak Nederlands met hem. Je begrijpt dat ik daardoor zo af en toe een woordje moet corrigeren. Het zijn meestal van die grensgevallen: is “kont” acceptabel, of moet het altijd “billen” zijn? Ik hou het maar op het laatste.

Ik merk dat ik zelf een beetje een heilig boontje aan het worden ben. Als er iets niet goed gaat dan kan ik prima vloeken en schelden. Maar dat doe ik nauwelijks als Philip in de buurt is. “Verdorie” mag nog wel, maar de sterkere varianten vind ik ongepast.

Zo waren we laatst bij opa en oma. Opa is in de keuken bezig. Er gaat blijkbaar iets niet helemaal goed, en er komt een stevige vloek voorbij. Tja, wat moet ik dan doen? Ik vroeg maar aan Philip of hij tegen opa wilde zeggen dat hij netjes moet praten. En dat deed Philip keurig.

vrijdag 14 maart 2008

Nutteloze fotoreportage

Ik hoef niet altijd nuttig of zelfs maar zinvol bezig te zijn.

Te Havens 2801 wordt gebouwd. Althans, dat zijn ze aan het voorbereiden. Er komt een of ander distributiecentrum. Jammer genoeg doen ze dat precies op de route van onze dagelijkse middagwandeling. Die hebben we dus moeten aanpassen. We kunnen ons nog net langs het hekwerk wurmen.

Op een gegeven moment besloot ik om de ontwikkeling van de bouwwerkzaamheden vast te leggen. Elke dag tijdens de middagwandeling maak ik een foto op een welgedefiniëerde plaats en in een welgedefiniëerde richting.



Natuurlijk lukt het niet om élke dag een foto te maken. In het weekend werk ik normaliter niet, en ik ga niet speciaal voor de foto naar kantoor. En soms regent het zo hard dat we niet gaan wandelen. En ik ben een weekje ziek geweest. En af en toe ben ik elders, op de Maasvlakte ofzo (daar zijn overigens ook leuke foto's te maken).

donderdag 13 maart 2008

Storm in de haven

Woensdag waaide het. Het waaide zo hard dat het werk in de ECT Delta Terminal stilgelegd was. Want ook al heb je het daar over behoorlijk Serious Equipment - die enorme kranen moeten verankerd worden bij dergelijk weer. Anders waaien ze zo de plomp in.

Het gebeurt niet vaak dat een dergelijk vol-continu bedrijf een dagje stilgelegd wordt.

Stilstaande kranen, netjes op een rijtje

Lang verwachte bevalling op kantoor

Ik werk op kantoor al meer dan een half jaar aan Spidi. De klant gebruikte nog steeds de oude versie, terwijl de nieuwe versie al eind 2006 door onze voorgangers opgeleverd was. Daar zat een heleboel goed werk in, maar ook een heleboel niet goed. Die versie was dus niet geaccepteerd door de klant. Het heeft mij meer dan een half jaar gekost om alle bugs, incomplete functionaliteit en andere gekkigheden te corrigeren.

Eindelijk dan, afgelopen dinsdag, hebben we de nieuwe versie live gezet. Ik zat tot negen uur op de ECT Delta Terminal. Het ging bijna in één keer goed. Bijna. De voorgangers van de voorgangers hadden het database-beheer blijkbaar niet zo netjes gedaan. Er waren kennelijk met de hand extra autorisaties op tabellen gezet. Dat leverde wat problemen op. Gelukkig konden we hier uiteindelijk vrij makkelijk iets aan doen.

Maar woensdag uitslapen was er niet bij. De klant klaagde: de vakantieplanning werkte niet meer. Hoe kan dat nou? Dat werkte wel op de test-machine. Het werd uiteindelijk wéér laat, ik ging weer pas na negen uur naar huis.

Wat was er aan de hand? De prutsers hadden een veld in de database groter gemaakt. Maar dat ze hadden niet overal doorgetrokken. Dus nu werden 41 bytes gekopiëerd naar een buffer van 21 bytes. Tja, dan overschrijf je dus 20 bytes zomaar ergens in het geheugen. Of zelfs 100 keer 20 bytes, want er wordt vaak met groepen van 100 elementen gewerkt. Als je zomaar ergens in het geheugen gaat schrijven, dan kan er van alles gebeuren. Het kan het programma laten crashen (dat gebeurde dus op de operationele machine). Het kan geen enkele impact hebben (als dat stukje geheugen toevallig niet gebruikt werd); dat was kennelijk het geval op de testmachine. Maar het kan nog veel erger: er kunnen subtiele en onopgemerkte verminkingen aan de gegevens optreden. Dat merk je pas veeel later, als het te laat is, en zie dan nog maar eens te achterhalen hoe dat kwam.

Donderdag kon ik dus wel uitslapen. Nee hoor, ik kon eindelijk Philip weer eens naar de peuterspeelzaal brengen! En nu heb ik eindelijk weer eens tijd om me te scheren. Uiteraard belde net toen de klant om te melden dat er iets heel erg mis gaat. Maar toen ik dat een kwartier later zag, en terugbelde, bleek het reuze mee te vallen: hij had gewoon zelf een foutje gemaakt.

Philip in de peuterspeelzaal: paasei schilderen

Paardrijblessure

Gisteren was ik paard aan het spelen voor Philip. Ik hobbelde een paar keer heen en weer op mijn handen en knieën, met Philip op mijn rug. Dolle pret.

Nou speel ik meestal voor paard in de huiskamer, en daar ligt laminaat op de grond. Maar gisteren was het in de slaapkamer, en ik kroop op mijn blote knieën over het tapijt. Zodat ik nu zowel op mijn linkerknie als mijn rechterknie flinke schaafwonden heb.

Papa zijn is toch wel een gevaarlijke baan.

dinsdag 11 maart 2008

Ondergronds - III

Dit is het derde en laatste deel van mijn verslag over het speleologie-weekend van Nans.

We logeerden in een kasteeltje in Floreffe. Eigenaar Jean Marie heeft zo'n tien jaar geleden twee ruïneuze torens gekocht. Eén daarvan heeft hij nu zover opgeknapt dat die bewoonbaar is. Hij woont zelf bovenin, en verhuurt de rest aan groepen als de onze, als huisvesting voor een weekendje.

Het kasteeltje van Jean Marie


Zondag gingen we naar de Trou de l'Eglise. Die is - jawel - min of meer onder een kerk. Deze grot is kleiner dan die waar we gisteren waren, maar we kwamen wel tot 80 meter diep. En er zijn prachtige druipsteenformaties. Het is jammer genoeg niet zo makkelijk om die te fotograferen. Het is donker, stoffig en dampig. Eigenlijk zou je zo min mogelijk licht moeten gebruiken, en het fototoestel op een statief moeten zetten.



Na een stijle abseil in een waterval, en wat geklauter, kwamen we in een hal terecht. Daar moesten we een tijdje wachten. De begeleiders gingen weer eens een touw ophangen. Dit keer voor een traverse. Met aan het einde een abseil van tientallen meters. Langs schitterende druipsteenformaties.

We kwamen in een andere hal, op zo'n 70 meter diepte. We konden als optie nog 10 meter dieper. Nou, dat hoef je geen twee keer tegen Nans te zeggen: zoef, weg was ze. Akshay en ik wurmden ons erachteraan. Hier werden de gangen opeens heel laag, zodat we echt moesten kruipen. Terwijl er ook een stroom water doorheen liep! Ik had mijn sokken droog weten te houden, maar nu voelde ik opeens water bij mijn knieën - aan de binnenkant van mijn broek! En toen ik even later weer een beetje overeind kwam stroomde dat mijn laarzen in. Bah.

Ondertussen was Nans niet te stoppen. Ze kroop maar verder en verder de gang in. Tot die doodliep bij een mooi helder poeltje in een klein kamertje. Nadat Nans daaruit teruggekropen was kroop Akshay erin. Toen veranderde het poeltje zomaar in een modderpoeltje. Ik heb 'm ook nog even bekeken, en toen zijn we toch maar weer terug gegaan.

We waren zelfs nog wat leven tegengekomen in deze grot. Geen vleermuizen (daar had ik eigenlijk wel op gehoopt). Maar wel (vlakbij de ingang) één of andere geel-zwarte hagedis, die onvermoeibaar poseerde voor de fotografen. Toen we uren later terugkwamen zat 'ie er nog steeds, maar iemand had hem kennelijk zien bewegen, dus hij leefde nog. En later, een heel stuk dieper, zag Saskia zelfs een levende kikker.

De uitgang


Ik heb al mijn foto's ondertussen online gezet:

Speleo 2008-03-01

maandag 10 maart 2008

Ondergronds - II

Dit is deel II van mijn verslag over het speleologie-weekend van Nans.

Zaterdag waren we in de Trou d'Haquin. Ik vond de ingang niet zo aanlokkelijk. Die bestond namelijk uit een opening in de rots waar water naarbinnen stroomde. Veel water. Mijn angst om vast te komen zitten in een nauwe doorgang sloeg om in paniek dat ik in een ondergrondse gang zou zitten die opeens vol met water zou stromen. Ik vroeg me vertwijfeld af waarom speleologen niet altijd een pony bottle bij zich hebben.

Enfin, ik ben toch maar naar binnen gegaan. Na luttele meters kwamen we in een droge gang, waar we redelijk comfortabel konden zitten. We moesten daar wachten tot onze begeleiders een abseiltouw opgehangen hadden. Dat werd meer een abglei overigens.

Ik moest me daarna soms in rare houdingen wurmen om door de gangen en passages heen te komen, maar het werd nergens echt heel krap. Zelfs de passage met de toepasselijke naam Koeienkut was geen probleem. Anderen klaagden wel wat, maar dat was vooral omdat ze zich moesten laten zakken zonder dat ze konden zien waar ze terecht zouden komen.

Speleologie heeft niet veel met sportklimmen te maken. 't Is modderig en glad en nat. Als je omhoog moet klauteren dan gebruik je gewoon alles wat er voorhanden is, inclusief knieën en ellebogen. Soms wil je zo snel mogelijk naar boven, bijvoorbeeld omdat je tegen een hard stromende en spetterende waterval op klimt. Omlaag gaan doe je meestal door je klem te zetten tussen twee stukken rots en je dan voorzichtig laten zakken.

Het bleek dat de grot niet alleen bestaat uit gangen, maar dat er ook hallen zijn. De hallen zijn vaak gigantisch groot. Je kan er soms moeiteloos met tientallen mensen tegelijk staan. En dat is best wel prettig, als je je net door zo'n nauwe gang hebt gewurmd. Maar het is ook gewoon heel mooi om te zien. Jammer genoeg had ik mijn fototoestel in de auto laten liggen.

Terug uit de grot; vies, maar wel levend

zondag 9 maart 2008

Philip is moe - II

We lopen te winkelen in Rotterdam. Philip is moe. Hij wil niet zelf lopen. Terwijl we nog maar net uit de auto gestapt zijn.

Philip: “Optillen!”

Maar mama en papa willen Philip niet optillen.

Ik: “Kom Philip, je moet zelf lopen.”

Philip: “Philip kan niet lopen! Ik ben echt heel moe, hoor!”

Taktiek 1: We lopen gewoon door.

Papa en mama: “Daag, Philip!”

Philip: “Weeh!”

En hij blijft gewoon staan. Het lijkt me niet verstandig om deze taktiek verder door te voeren. Het is druk hier, veel mensen, en er rijden ook auto's vlakbij. Ik stap over op taktiek 2:

Ik: “Kom Philip, dan gaan we hollen!”

Philip: “Ja! Handje geven!”

En we hollen weg. De rest van de middag blijft Philip vrolijk heen weer hollen, soms met maar meestal zonder papa. Hoezo moe?

Ondergronds - I

Het is zondagmiddag, bijna kwart over één. Ik zit lekker thuis, in mijn studeerkamer. Ik heb comfortabele kleren aan, het is hier goed verlicht en redelijk schoon. Het uitzicht is daarentegen matig: op de grond slingeren allerlei klimspullen, er zwerft allerlei computer-randapparatuur en losse draadjes, en hier en daar staan stapels papieren die ik allang had moeten verwerken.

De studeerkamer is een rommeltje


Wat een verschil met precies een week geleden! Toen had ik een vieze regen-overall aan, en een bijna onaangenaam strakke gordel om mijn heupen en benen. Ik had een paar rubberen tuinlaarzen aan, en een helm op mijn hoofd. Later zou er zelfs water in mijn broekspijpen en mijn laarzen stromen. De omgeving waar ik stond was modderig en stikdonker. Maar als we een lampje aan deden dan was het uitzicht magnifiek. De enige overeenkomst is dat het in beide situaties enige tijd geduurd heeft voor de omgeving deze vorm aangenomen had - hoewel de tijdsschalen nogal uiteen lopen.

Nans klautert


We waren in België in een grot aan het klauteren. Speleologie heet dat. Nans had me verleid om mee te gaan. Ik heb duizenden angsten uitgestaan, nachten niet geslapen, paniekaanvallen met moeite onderdrukt. Ik was er namelijk van overtuigd dat ik in zo'n grot vast zou komen te zitten in een nauwe doorgang en dat ik daar ellendig aan mijn einde zou komen. Als het bij klimmen misgaat dan kan je altijd nog de reddingshelikopter bellen, maar ondergronds lukt dat niet.

Maar ik ben dus toch meegegaan. En het was best wel leuk. De nauwe doorgangetjes vielen ook reuze mee; die waren helemaal niet zo nauw. Ik paste moeiteloos overal doorheen.

vrijdag 7 maart 2008

Nog meer gepruts

Waarom maakt iemand een C-functie van 1561 regels? Is het een vorm van job protection (“ik ben de enige die dit snapt, dus niemand anders kan aan dit programma werken, dus ze kunnen me niet ontslaan”)? Of is het omdat ze nooit behoorlijk hebben leren programmeren? Laat ik het maar op het laatste houden. “Never attribute to malice that which can be adequately explained by stupidity.”

Een voorbeeld? Ok.

Ze willen bepalen of er onverwerkt aanbod is. Dus tellen ze eerst al het aanbod, dan tellen ze het verwerkte aanbod, en als er verschil tussen die aantallen is dan weten ze dat er onverwerkt aanbod is. Maar waarom zou je niet meteen gewoon het onverwerkte aanbod tellen? Hup, daar gaan ruim 20 regels weg.

Nog een voorbeeld? Tuurlijk. 't Wordt nu wel een beetje technisch, hoor.

Ze gaan 't een en ander opzoeken in de database, en wat ze vinden voegen ze toe aan een lijstje. Het vergt in dit geval ruim 60 regels code (van de 1561). Er zit een SQL-query in, en die ziet er er zo uit:

SELECT … FROM … WHERE … AND a.ownerid = :uvb_eigenaar;

(Die :uvb_eigenaar is één van de parameters. Ze voeren dit stukje meerdere keren uit, telkens met andere waarden in de parameters.)

Meteen daarna staat een vrijwel identiek stuk code. Dus weer ruim 60 regels. Het enige verschil is één deeltje van de SQL-query. Die ziet er nu zo uit:

SELECT … FROM … WHERE … AND a.ownerid = 1;

Nu hebben we dus 60 regels teveel. We kunnen namelijk ook een aparte functie maken, die we twee keer aanroepen: eerst met :uvb_eigenaar en dan met 1. We hebben dan weliswaar een nieuwe functie van ruim 60 regels, maar de originele functie van 1561 regels wordt zowat 120 regels korter. En als we die nieuwe functie nou ook nog een mooie naam geven, bv. get_onverwerkt_aanbod(), dan snappen we meteen wat 'ie doet, zonder dat we al die code hoeven te bekijken.

Ik kan nog genoeg andere voorbeelden geven, maar dat zal ik jullie niet aandoen.

woensdag 5 maart 2008

Frustatie

Ik zit op kantoor. Een paar weken geleden heb ik versie 3.0.0 van Spidi opgeleverd. De klant is nu aan het testen. Soms bellen ze op, om een vraag te stellen, of een probleempje te melden. Zonet nog: “Frans, bij het overwerk van persoon 1212 van 3 maart is de SAP-datumcorrectie niet uitgevoerd”. Ojee. Dat is iets dat de prutsers mijn voorgangers niet helemaal goed en compleet hadden ingebouwd.

Zoek, zoek, waar zit dat ook alweer. In ieder geval in een stuk dat in C is geschreven. Ik hou wel van C. Fijne programmeertaal. Maar ook (of juist) in C kan je heel onleesbare code schrijven. Zie bijvoorbeeld The International Obfuscated C Code Contest.

Oja, 't zit in source file sap_interface.sc. In deze file staan 11 functies. Daarvan zijn er 6 die helemaal niks doen. Vroeger deden ze wel wat, maar 't is niet meer nodig. Normaal gesproken haal je dan die functies helemaal weg, maar alleen maar de functie leegmaken is natuurlijk voor de luie programmeur veel makkelijker. Want dan hoef je niet de aanroepen van die functies weg te halen. Prutsers.

Van de overige functies is er ééntje die er echt uitspringt. Functie uvb_verantwoording(). Die is 1561 regels lang (de hele source file is 1871 regels). Is dat erg, zo'n grote functie? Ja, dat is erg. Erg groot = erg onoverzichtelijk = erg grote kans op bugs en erg moeilijk aan te passen. Zoiets hoor je op te splitsen in een aantal kleinere functies. Prutsers.

Om een lang verhaal kort te maken (had ik maar de tijd om dat met die functie te doen… bah): ik ben niet blij. Ik moet eerst moed verzamelen. Een glaasje drinken, wat met een collega babbelen. Roene kijkt naar zijn iPod, en aan zijn gelaatsuitdrukking te zien is er iets niet helemaal in orde. Toen de accu van z'n iPod bijna op was heeft hij de verlichting van de display uitgezet. En nou blijft die uit, ook als je op de knopjes drukt. Maar als de verlichting uit is, dan kan je het scherm dus niet zien. Helemaal niet. De iPod is nu een spiegeltje. Hoe moet hij nou de verlichting weer aanzetten…? Mijn dag is weer goed. Zelfs bij Apple doen ze domme dingen.

Au

Zo'n anderhalf jaar geleden is er ingebroken in huize Rijstveld. De boeven namen een blikken doos mee. In die doos zaten onze paspoorten. Dat was nogal onhandig, vooral voor Lien. Haar nieuwe paspoort moest helemaal uit Laos komen. En dat duurde nogal even.

Die doos bevatte ook de vaccinatieboekjes van de GGD. Die hadden we tot nu toe niet nodig gehad. Tot twee weken geleden. We hadden namelijk een afspraak bij de GGD. Ik was de avond daarvoor het hele huis aan het doorzoeken waar die boekjes nou konden zijn. Tot ik me realiseerde dat ze dus gejat waren. Ojee, hoe weten we dan welke vaccinaties we wel en niet moeten hebben? Het bleek dat de GGD dat zelf ook onthoudt. Het was snel genoeg duidelijk: Lien en Philip moesten geprikt worden. Ik mocht Philip vasthouden; hij kreeg een mooie punk-achtige Wuppie als troost voor de pijn. Eigenlijk kreeg hij twee Wuppies, maar de andere vond hij niet mooi. Lien kreeg geen Wuppies.

En ik? Nou, ik ben een paar keer bij het Havenziekenhuis geweest. En daar hebben ze me ook geprikt, minstens één keer. Maar ik wist echt niet meer waarvoor (of waartegen). Dat betekende dat ik eerst bij het Havenziekenhuis die informatie moest gaan opvragen, en daarna weer naar de GGD moest voor eventuele extra prikken. Ik miste er namelijk twee, volgens de gegevens van de GGD.

Gelukkig bleek dat ik één van die twee al bij het Havenziekenhuis had gehad, en die was ook nog geldig. Dus de tweede keer bij de GGD hoefde ik alleen die andere prik. Wat was ik blij. Een prik is nóg enger dan een nauwe doorgang in een grot.