Advent of Code 2018, GDPR en de ontsnapping van Santa Claus

Advent of Code 2018 is weer volop aan de gang! De oplossingen van onze eigen Grote Infi Puzzel druppelen binnen... Help jij ook mee Santa Claus te bevrijden?

Advent of Code puzzel

De nieuwe privacyregelgeving heeft een wel heel bekend slachtoffer geëist: Santa Claus! Het zonder toestemming verzamelen en opslaan van informatie over het gedrag van mensen blijkt toch niet zo’n goed idee…
 
Dit klinkt misschien als de filmplot van een wanhopige regisseur, maar het is het onderwerp van de nieuwe Advent of Code-puzzel van Infi. Net als vorig jaar is Infi sponsor van deze reeks programmeerpuzzels. Dat doen we omdat we de AoC leuk vinden (veel Infi’ers zijn om 6 uur ’s ochtends uit de veren om de nieuwe puzzel te doen) en omdat we graag zichtbaar zijn in de community.
 
Alleen een advertentie op de site vinden we saai en daarom hebben we onze eigen puzzel ontworpen, voor iedereen die een extra uitdaging wil. Dat is makkelijker gezegd dan gedaan. We zochten iets wat we met niet te veel tekst konden uitleggen, maar die ook moeilijk genoeg is om je echt wel even bezig te houden. Op basis van voorgaande jaren van de AoC keken we naar wat voor puzzels wij zelf leuk vonden, waarbij 'iets met grids en pathfinding' hoog eindigde. Dat zijn ook elementen die terug te zien zijn in de uiteindelijke puzzel.

Aan de slag!

Nu we een idee hadden, ging het erom dit uit te werken in een oplosbare puzzel. Wilco ging aan de slag met het maken van een generator en vertelt daarover:

Ik heb al vaker puzzels opgelost, maar het ontwerpen van zo'n puzzel bleek toch heel anders. In plaats van het vinden van één oplossing, moet je goed nadenken over hoe je puzzels maakt. In dit geval ging het om het genereren van een doolhof, en was het uitdagend om een doolhof te maken dat niet te makkelijk is, maar nog wel is op te lossen. Als je veel bezig bent met het ontwerpen van een puzzel, dan ben je al snel geneigd om hem veel te moeilijk te maken.

Tegelijk startte Niels met een schrijven van een programma om de puzzel op te lossen. Dit was een erg belangrijk onderdeel, want de antwoorden die hier uit komen gebruiken we om het antwoord van de puzzelaar op te lossen. We moesten er dus zeker van zijn dat wij ook de meest optimale oplossing vinden. Niels zegt daarover:

Als je een puzzel maakt, moet je hem natuurlijk ook op kunnen lossen. Tijdens de ontwerpfase riep ik nog: 'dit wordt veel te gemakkelijk!', maar die opmerking heb ik met schaamte terug moeten nemen. Uiteindelijk ben ik alsnog bij een kleine, elegante oplossing uitgekomen, maar er zaten wel een paar vervelende addertjes onder het gras.

Ten slotte moest de website er komen waar iedereen de puzzel kan gaan oplossen. Ik stortte me op het maken van een design en – niet onbelangrijk – een werkende website. Dit is een simpele Vue.js-applicatie geworden die praat met de C# backend API. Adolfo wierp zich op om een aansprekende tekst te schrijven voor de puzzel. Hij vertelt:

Toen ik in september bij Infi kwam werken hoorde ik dat er een team bezig was met het ontwerpen van een puzzel voor Advent of Code. Het leek me tof om mee te doen, dus ik heb me erbij aangesloten. Er was toen al een idee over wat voor puzzel het zou worden, maar het was nog niet helemaal uitgewerkt. Dat heeft me ertoe aangezet te helpen verduidelijken wat de puzzel precies inhield. Ik heb een solver geschreven in Rust om er zeker van te weten dat ik het probleem goed begreep. Met die kennis heb ik daarna de uitleg geschreven die nu op de website staat. Ik ben benieuwd naar de oplossingen die we opgestuurd krijgen!

Los de Advent of Code puzzel op!

Of Santa zich weet te bevrijden uit zijn gevangenis, daar kan jij aan meehelpen! Los de puzzel op aoc.infi.nl op en maak kans op een tof Infi T-shirt.

Ohja, trouwens: morgen hosten we bij ons op kantoor Advent of Code Night! Erbij zijn? Dat kan nog: meld je snel aan! 

[Laurens is developer bij Infi]

Wil je op de hoogte blijven van updates over hippe tech, een kijkje achter de schermen, of upcoming events? Schrijf je in voor onze nieuwsbrief!

Ben jij onze nieuwe ontwikkelheld(in)?

› Dit kun je verwachten als jij je aanmeldt.

Wil je iets waarmaken met Infi?

Wil jij een eigen webapplicatie of mobiele app waarmee jij het bij anderen maakt?

Waargemaakt door de nerds van Infi.
Nerds met liefde voor softwareontwikkeling en die kunnen communiceren. En heel belangrijk: wat we doen, doen we met veel lol!

Wij willen het fixen. Laat jij van je horen?

Voor wie heb je een vraag?