Update de revolutie

Drie jaar geleden publiceerde ik (op de geheel willekeurige datum 1 april) een scriptje dat biologische metaforen preciezer maakt. Een van mijn collega’s vond dit, constateerde dat het niet meer werkt, en (omdat ik een smerige backender ben die nog geen javascript-update zou herkennen als het rondjes om me heen fietste op een eenwieler) fixte het. Dank je Niels!

Met een plugin als TamperMonkey kun je dit ook draaien in Chrome.

 

Artist impression

Software maken is creatief in de letterlijke betekenis van het woord. Je maakt iets wat er eerst nog niet was. (Mocht je vinden dat dingen die alleen op computers bestaan niet echt zijn, dan is deze tekst ook niet echt, en wat ben je nu dan aan het doen? Maar dat terzijde.)

Zelf moet je er ook op z’n minst een beetje creatief voor zijn, want doorgaans maak je iets unieks. Ik zie het wel eens als het schrijven van een verhaaltje: ik heb een aantal karakters, en die kunnen dingen, en ze reageren op elkaar, en ze maken allerlei avonturen mee. Om dat een beetje goed te doen is het zaak duidelijk te krijgen wat de onderdelen van je verhaaltje zijn (dat kunnen concrete dingen zijn zoals stoelen en tafels, maar ook meer abstracte zoals het concept meubels of tijd), en hoe ze zich allemaal tot elkaar kunnen verhouden (een stoel kan onder de tafel tenzij de tafel te laag is, en op de tafel tenzij de stoel te zwaar is…). Nu wordt het al snel ingewikkeld. Daarom noemen we de sjiekere programmeurs ‘architect’.

Er zijn ook mensen die zichzelf ‘code poet’ noemen. Maar aangezien poëzie geloof ik bedoeld is als multi-interpretabel, dat juist iets anders probeert over te brengen dan alleen de woorden waar het uit bestaat, zou ik er liever geen in mijn team hebben.

Omdat ik voor verzekeraars werk beginnen al mijn verhaaltjes eigenlijk met ‘Er was eens een polis…’ Zo heb ik de afgelopen jaren geleerd dat polissen heel wat wilde avonturen mee kunnen maken. Al vraag ik me natuurlijk wel eens af wat voor verhalen ik zou tegenkomen als ik een andere hoofdpersoon had.

Accuratere biologische metaforen for fun and (no) profit

Vroeger, toen baby’s nog niet gewoon door de ooievaar werden gebracht, zorgde men voor nageslacht door sperma te planten in een dame en daar groeide dan een baby uit. Bij de Grieken dan. (Bij de Romeinen hadden de vrouwen zelf ook sperma en was het de combinatie waar zich de magie voltrok.)

Enfin, dit idee was vrij populair, niet zo gek als je bedenkt dat onze homies Pythagoras en Aristoteles er fan van waren (ook de grootste genieën praten soms poep, dat blijkt maar weer) en het heeft dan ook tot in de 17e eeuw ons denken doordesemd… en tot op de dag van vandaag onze taal.

Want, lieve mensen, ook wij 21e-eeuwers die beter zouden moeten weten noemen sperma nog steeds zaad. En dat is fout. Het is een scheve metafoor. Als je zo graag een link wilt leggen tussen de plant- en dierkunde is er een overduidelijk functioneel equivalent van sperma, en dat is stuifmeel.

Tja, als je het je eenmaal gerealiseerd hebt kun je het je niet ont-realiseren. En dan is het wel irritant dat iedereen het verkeerd doet. Om dat in mijn eigen wereldje op te lossen heb ik daarom een greasemonkey-scriptje geschreven zodat in mijn browser de metaforen tenminste correct worden toegepast. Dit is het resultaat:

Voor wie het zelf ook wil proberen, dit is het script.

 

Programmeuse

Als ik deze weken twee uur per dag code schrijf is het veel.

Dat is ingewikkeld, want ik had ooit bedacht dat ik code schrijven superleuk vind en het wel erg tof zou zijn als ik iemand over kon halen om me dat de hele dag te laten doen en me daar dan ook geld voor te geven. Dat was gelukt. Hoera! Blije Anna.

Na een tijdje begon ik in meer dan de helft van de gevallen het gevoel te ontwikkelen dat ik enigszins wist waar ik mee bezig was, en toen kreeg ik een groepje fijne collega’s om aan te vertellen waar we mee bezig zijn.

(Ik heb aan m’n teamleider geprobeerd uit te leggen dat hoogstens 1 per 9 maanden toch meer een normaal tempo is, daar was hij niet van onder de indruk.)

Wat heel tof is want het zijn leuke collega’s en ik hoef de saaie dingen niet meer te doen we zijn met z’n allen mooie projecten aan het bouwen. En iets goed uitleggen is minstens zo moeilijk als het uitprogrammeren. En iedereen heeft er begrip voor dat ik nog maar net kom kijken, op het whoa-ik-was-toch-de-junior-hier-waar-komen-al-die-mensen-vandaan-vlak.

Dus het is leuk!

Maar als ik dan ‘s ochtends voordat de rest er is het rijtje bugs op mijn naam aan het platstampen ben denk ik toch… wat is het tof om code te schrijven. En daar geld voor te krijgen.

loopy

Ik heb Programming Praxis ontdekt! Superleuk.

De eerste opdracht die ik tegenkwam was “Schrijf een programma dat een te specificeren karakter uit een te specificeren string haalt, maar alleen als dat karakter los voorkomt, niet als er twee of meer van achter elkaar staan.”

In Ruby ziet dat er zo uit:

 

Ik vind het nog niet helemaal mooi, die extra check voor previous == ” is bijvoorbeeld een beetje jammer. Maar ik heb wel leuke dingen geleerd:

  • de each_char-methode. Zoals zo vaak met Ruby dacht ik “zoiets bestaat vast.” En dat deed het! Cool.
  • Het verschil tussen ==, .equal? en .eql?, hetwelke anders is dan in Java onthoud dit Anna
  • Code plakken in WordPress kan met een plugin. Deze vind ik wel erg zwaar.