Advent of Code 2021

Iets waar ik ieder jaar naar uit kijk is de Advent of Code. Vanaf 1 december wordt iedere dag een nieuwe puzzel uit twee delen vrijgegeven. Deze puzzels worden omkaderd door een verhaal, waarin je iedere dag een situatie moet oplossen die redelijk lastig is.

Het verhaal is dit jaar dat 1 van de elfjes per ongeluk de sleutels van de slede van de kerstman in de oceaan heeft laten vallen. Deze moeten ze nu zien terug te vinden met een kerst-onderzeeër.

Lees verder …

Tot heden moesten we controleren hoe snel de oceaanbodem dieper werd, voor als de sleutels zo ver erin gevallen waren. Vervolgens moest je met de onderzeeër steeds verder de oceaan in en uitrekenen waar je dan terecht gekomen was.

Op dag 3 begint de onderzeeër steeds meer te kraken, je moet controleren of alle systemen nog goed werken (energieverbruik, zuurstof en CO2).

Dag 4 moet je bingo spelen tegen een reuze octopus, maar de octopus speelt met een kaart in elk tentakel (ca 100!). Jij moet uitzoeken welke kaart gewonnen heeft en zorgen dat je zelf verliest (je wil de reus immers niet boos maken).

Rondje bingo

De dag daarna moet je om vulkanische rookwolken navigeren, zeker als ze dikker worden:

Rookwolken

Dit alles doe je door een oplossing te programmeren in welke programmeertaal dan ook, ze zijn enkel geïnteresseerd in het antwoord. Dit is erg leuk om te doen, je moet nadenken over de vraag en hoe je dit gaat doen en dat vervolgens gaan proberen in uitvoering te brengen. Je leert er veel van!

Mijn bouwsels vind je hier: https://github.com/CZero/Advent-of-Code-2021

Wat het nog veel leuker maakt is dat een aantal bekenden het ook doen, zodat we na het oplossen kunnen kijken hoe de anderen het hebben aangepakt. Soms hebben ze hetzelfde gedaan, maar soms ook totaal anders dan jij. En dat is erg interessant, want soms vind je en leer je zo hele slimme dingen.

Je kan elkaar vragen stellen en dingen uitleggen, wat het leuk en sociaal maakt. Andere jaren deed ik dit samen met Joost, dit jaar doen ook een aantal collega’s mee: Rob, Ruben en Johan.

We kunnen de groep hier volgen in een verzamel overzicht. https://adventofcode.com/2021/leaderboard/private/view/792151?order=stars

Gedeelde frustratie is halve frustratie, de herkenning brengt ook veel plezier 😉.

Hier bijvoorbeeld een momentje van Ruben dat ik meer dan een beetje herkenning had:

Sommige puzzels zijn waanzinnig moeilijk. Vaak gaat er ergens iets mis, maar voor je begrijpt of gevonden hebt wat dan, kan het je ooit bijna tot waanzin drijven. Ruben vond er dit pakkende plaatje bij, welke ook mijn emotie bij dag 3 en 4 goed pakkend opsomde.

Des te groter is overigens het vreugde moment als je het ineens snapt, als je het echte “JAAAHH DIT MOET HET ZIJN!!!!"-moment hebt waarop alles ineens klikt en je een worsteling van veel tijd achter je kan laten.

Ik heb bij dag 4 héél veel tijd verkwist door 2x keer achter elkaar een fout te maken die in geen van de door de bedenker en door mij bedachte voorbeelden aan het licht kwam, enkel in de uitvoering zelf. Dan zit je met de situatie dat je uit alle voorbeelden de goede antwoorden haalt, de echte puzzel zonder foutmeldingen uitvoert en vervolgens gewoon “Fout antwoord” van de site terugkrijgt wanneer je het invult. En gezien de schaal van de puzzels is het vaak een flinke uitdaging te ontdekken wat of waarom er een issue is met je antwoord en waar dat dan ontstaat. En juist die analyse, het begrijpen waarom, is het meeste van de tijd de echte uitdaging: waarom heb ik het fout, wat doe ik verkeerd dan? En waarom bij de voorbeelden niet?

Dit zijn de momenten dat je leert problemen oplossen en analyseren. Je schrijft steeds beter om het daarna te kunnen vlooien en fixen.

Ik sta nu iedere morgen rond 5:30 uur op om de puzzel te gaan maken. Ik heb dan nog tijd voor Aeron of Elias erbij komt zitten en heb ook niet de hele werkdag het gevoel dat ik nu liever met de puzzel van vandaag bezig zou willen zijn. Idealiter is hij dan voor 8:00 uur af.

Meestal houd ik deze puzzelwedstrijd 4 tot 7 dagen vol. Op een moment komt er een puzzel waar ik niet meer uitkom, meestal vlot nadat de puzzels recursief worden. Dan lukt het me niet meer om dezelfde dag of zelfs week tot een antwoord te komen. Die puzzels neem ik vervolgens de rest van het jaar mee. Als ik zin heb ga ik ’s avonds een keer zitten werken aan een van die onopgeloste puzzels. Het is mijn versie van een grote puzzel van meer dan duizend stukjes, ik kan er dan zonder haast van genieten.

Ik verwonder me ieder jaar over mensen die deze puzzels op bizarre manieren oplossen en of visualiseren. Als ik dan zie hoe ik mijn best moet doen, en dan dat er dit soort mafkezen zijn, dan heb ik nog veel te leren 🙈

Samengevat: Veel plezier. Ik ben benieuwd hoeveel dagen ik het dit jaar volhoud!

Adding content to the end of the web.

Previous