Bygde inn en QR‑enkoder — Reed‑Solomon over GF(256), fast moduloppsett, åtte maskemønstre — på 522 linjer i stedet for å ta inn en tredje kjøretidsavhengighet, og verifiserte den ved å lese den ferdige matrisen tilbake med en uavhengig skrevet dekoder.
Arbeidet utført: august 2026
522 linjer med QR‑enkoder, i stedet for en tredje avhengighet
Situasjon. Dokumentene trengte en QR‑kode som lenket til nettversjonen. Alle tilgjengelige biblioteker gjør dette, og å ta inn et av dem ville ha lagt til en tredje avhengighet under kjøring i et prosjekt som bevisst hadde holdt seg til to — en malmotor og en PDF‑renderer — ut fra argumentet om at en dokumentgenerator fortsatt skal kunne installeres om mange år.
Oppgave. Enten måtte avhengigheten godtas eller formatet implementeres, og implementasjonen måtte verifiseres som korrekt i stedet for bare å produsere noe firkantet og svart.
Handling. Koderen er på 522 linjer og implementerer de delene av spesifikasjonen bruken faktisk trenger: koding i byte‑modus, Reed‑Solomon‑feilretting over Galois‑kroppen med 256 elementer med generatorpolynomet bygd med påkrevd grad, den faste plasseringen av moduler med posisjonsmønstre, tidsmønstre og justeringsmønstre, format- og versjonsinformasjon, og alle åtte datamaskemønstre vurdert mot spesifikasjonens fire strafferegler, slik at masken med lavest poengsum velges i stedet for en fast maske. Verifiseringen er den delen som gjorde det forsvarlig. Å teste en koder mot dens egen logikk beviser ingenting, så den ferdige modulmatrisen leses tilbake av en dekoder skrevet uavhengig ut fra spesifikasjonens leserekkefølge, og testen slår fast at den dekodede strengen er lik inndataene. Det gjør «den produserer et plausibelt bilde» om til «den produserer en kode som dekodes til riktig URL», og det sjekkes ved hver kjøring i stedet for én gang på øyemål med en telefon.
Resultat. Antallet avhengigheter under kjøring ble værende på to, og koderen er den eneste vendorede komponenten i prosjektet. Det bør sies rett ut at dette ikke er en generell implementasjon — den støtter modusene og versjonene dokumentene bruker og ingenting annet, og den ærlige begrunnelsen er avhengighetsbudsjettet, ikke en påstand om at resultatet er bedre enn et modent bibliotek.
Se tilbake på Slo på alle reglene i Python‑linteren på feilnivå og arbeidet seg gjennom 1 815 funn ned til null, med en skriftlig begrunnelse for hvert av de få unntakene og to av dem sikret av en kontroll i stedet for en kommentar. Eller ta en titt på hele porteføljen.
Ett stykke av en lengre oversikt — og den ligger i sin helhet her.
Hver oppføring er skrevet på samme måte: situasjonen, oppgaven, hva vi gjorde, og hva som endret seg.