Maandelijks archief: september 2013

Hugo Raes

Cover van het boek Hemel en dier, van Hugo Raes

Toen ik het overlijdensbericht van Hugo Raes las, moest ik terugdenken aan mijn middelbare schooltijd. Onze leraar Nederlands, van M., had een hele les uitgetrokken om het boek Hemel en dier te bespreken. Het boek bestond uit twee delen, vertelde hij, waarbij het eerste deel zeer erotisch de relatie tussen een vrouw en een man beschreef. Hij had meteen onze volle aandacht. Het tweede deel was echter zeer raadselachtig. Meerdere literatuurdeskundigen hadden zich er al over gebogen om te achterhalen wat daar nu precies gebeurde. Het beschreef de helletocht van een man door een gebied waar de derde wereldoorlog blijkbaar uitgebroken was. De deskundigen waren het er niet over eens of dat nu dezelfde man was als in het eerste deel van het boek. We hingen aan de lippen van de leraar, want wie houdt er nu niet van een goed raadsel?

Toen ik later dat jaar het boek zelf las wachtte me een teleurstelling. Het tweede deel was helemaal niet zo raadselachtig. Met een klein beetje puzzelwerk was het al snel duidelijk wat er aan de hand was.

Een goede leraar kan een spannende les maken van een matig boek.

Eendagsbug

Als programmeur loop je regelmatig tegen problemen aan in de producten of libraries die je gebruikt. Meestal is de oplossing simpel: je typt de foutmelding die je krijgt in bij een zoekmachine, en binnen een paar tellen heb je de oorzaak gevonden. Of je gaat rechtstreeks naar Stack Overflow. Mocht dat niet helpen dan kun je de bugtracker van het product nakijken, of is, in het geval van Java open source, GrepCode je vriend.

Maar soms. Soms loop je tegen een probleem aan dat zich niet zo makkelijk gewonnen geeft. De ergste zijn degenen die ik de one hit wonders noem: je typt de foutmelding in, en precies 1 iemand heeft hetzelfde probleem gehad als jij en heeft er melding van gemaakt in een bugtracker. En dan staat er geen oplossing bij. Of, ook vervelend, er staan alleen 3 reacties van mensen die precies hetzelfde hebben gevonden.

Tegen zo’n bug liep ik gisteren aan. Het voorgaande was een lange aanloop om de oplossing hier te delen, zodat andere mensen er hun voordeel mee kunnen doen.

Bij het koppelen van onze Jenkins build server aan een nieuwe Artifactory server kreeg ik bij elke build job de volgende foutmelding:

FATAL: java.lang.IllegalArgumentException: artifactoryServer cannot be null
java.lang.RuntimeException: java.lang.IllegalArgumentException: artifactoryServer cannot be null
	at org.jfrog.hudson.maven3.extractor.MavenExtractorEnvironment.buildEnvVars(MavenExtractorEnvironment.java:151)
	at hudson.model.AbstractBuild.getEnvironment(AbstractBuild.java:852)
Caused by: java.lang.IllegalArgumentException: artifactoryServer cannot be null
	at org.jfrog.hudson.util.PublisherContext$Builder.build(PublisherContext.java:168)
	... 9 more

Ga op deze foutmelding zoeken, en je vindt welgeteld 1 relevante hit, die verwijst naar de Jenkins Jira: Issue JENKINS-14268. Zonder oplossing, natuurlijk.

Dit verhelpen bleek uiteindelijk simpel: als je de url van een Artifactory server wil wijzigen in Jenkins, doe dat dan door de oude Artifactory server configuratie te verwijderen, en vervolgens een nieuwe Artifactory server configuratie aan te maken. Ik had zelf over de oude url heengetypt, en dat gaf deze foutmelding. De vraag of dit een bug is of een gebruikersfout laat ik aan anderen over.

Thee zetten

Thee zetten is simpel. Je kookt water in een waterkoker (of, als je tijd te veel hebt, in een fluitketel). Je schenkt het water in een theepot, je jast er een zakje een paar keer in op en neer, en je hebt thee.

Maar wat als je er iets meer aandacht aan besteedt? En dan heb ik het niet meteen over bakken geld uitgeven om schijven zeldzame pu-er af te laten zagen, hoewel dat natuurlijk ook mag.

Nee, ik bedoel: kijk als je het water opschenkt eens naar de vorm van de straal die uit de waterkoker komt. En verbaas je over het feit dat gekookt water er bijna net zo uitziet als koud water. Dat je het verschil alleen kunt merken door je hand eronder te houden, wat je niet moet doen.

Voila, je eigen kleine ritueel is geboren.

Marquee Moon

Marquee_moon_album_cover

Omdat veel bandjes tegenwoordig zo retro mogelijk proberen te klinken*, kun je met een gerust hart een album uit de jaren ’70 opzetten zonder dat je het idee hebt dat je naar oude muziek zit te luisteren. Bijvoorbeeld Marquee Moon van Television, uit 1977. Dat klinkt alsof het gisteren opgenomen is door een stel jonge honden die net ontdekt zijn. Met uitzondering van het titelnummer, dat met zijn lengte van 10:39 minuten en zijn eindeloze gitaarsolo wat gedateerd aandoet.

*Normaal gezien zou ik hier een aantal hippe bandjes noemen die retro-muziek maken. Maar zo goed ben ik niet op de hoogte van de hedendaagse muziek. Dat is niet erg, want ik ben geen personage uit een boek van Nick Hornby**, dat aan dat soort kennis zijn eigenwaarde ontleent.

**Ik zou overigens niet weten hoe een personage uit een Nick Hornby-boek zich precies gedraagt, want ik heb nog nooit iets van de beste man gelezen.

De bron

Een collega legde uit dat hij zichzelf niet kan opdelen in meerdere personen zodat hij meer werk kan verrichten.

“Je kunt tenslotte ook niet driehonderd varkenshaasjes uit één varken snijden”, zei hij.

“O ja?”, zei ik, “En waar komen de onbeperkte spareribs dan vandaan?”