Et år hvor jeg lærte meg selv hvordan nettverk virker
Andre året på videregående. Etter året med OS-internals gikk jeg inn i nettverk på samme måte: ved å lese standardene og deretter bygge små verktøy som testet hver krok av dem. Det jeg endte opp med å lage, var mindre interessant enn pensum jeg ga meg selv.
Det jeg lærte
- DNS, DHCP, ARP. Protokollene som gjør at et nettverk føles som ett nettverk.
- Captive portals: hvordan de fungerer, hvorfor de noen ganger feiler, og det overraskende antallet lag som er involvert.
- Trafikkforming, pakke-timing og innsikten om at TCP-congestion-control ligner mer på et reguleringssystem enn en protokoll.
- Web-autentisering, og hva en nettleser egentlig stoler på, og hvorfor.
Den ærlige delen
Noe av det jeg bygde dette året endte med å bli brukt inne på skolens nettverk på måter jeg ikke burde ha brukt det på. Jeg ble tatt for det også. Samme type tabbe som året før: jeg ville forstå, og jeg forvekslet forståelse med tillatelse. Jeg forsvarer ingenting av det i dag. Jeg lar siden stå fordi læringen var ekte, men den lever ved siden av en fotnote som sier: det var feil sted å lære det.
Hva det ga meg
En fungerende mental modell av internett. Da jeg skrev UDP-hole-punching-laget for 4G-bilen fem år senere, lærte jeg det ikke fra bunnen. Jeg grep etter noe jeg allerede hadde forstått. Det samme gjelder hver gang jeg må feilsøke et ustabilt API-kall, eller resonnere om hvorfor en tjeneste ikke når en annen i et produksjonsmiljø.
Det er også året som befestet interessen min for systemer, ikke bare kode. Nettverk, OS-er, maskinvare, ML-pipelines. På et visst nivå er de samme greie: tilstand som beveger seg gjennom lag, og noen må vite hva lagene gjør.