Byggde in en QR‑kodare — Reed‑Solomon över GF(256), fast modullayout, åtta maskmönster — på 522 rader i stället för att ta in ett tredje körtidsberoende, och verifierade den genom att läsa tillbaka den färdiga matrisen med en oberoende skriven avkodare.
Arbetet utfört: augusti 2026
522 rader QR‑kodare, i stället för ett tredje beroende
Situation. Dokumenten behövde en QR‑kod som länkade till onlineversionen. Varje tillgängligt bibliotek klarar det, och att ta ett av dem hade lagt till ett tredje beroende vid körning i ett projekt som avsiktligt hade hållit sig till två — en mallmotor och en PDF‑renderare — med argumentet att en dokumentgenerator fortfarande ska gå att installera om flera år.
Uppgift. Antingen måste beroendet godtas eller formatet implementeras, och implementationen måste verifieras som korrekt snarare än att bara producera något fyrkantigt och svart.
Handling. Kodaren är på 522 rader och implementerar de delar av specifikationen som användningen faktiskt kräver: kodning i byteläge, felkorrigering med Reed‑Solomon över Galoiskroppen med 256 element, där generatorpolynomet byggs med den grad som krävs, den fasta modullayouten med dess positionsmönster, tidsmönster och justeringsmönster, format- och versionsinformation, samt alla åtta datamaskmönster, som utvärderas mot specifikationens fyra regler för straffpoäng så att masken med lägst poäng väljs i stället för en fast mask. Verifieringen är den del som gjorde det försvarbart. Att testa en kodare mot dess egen logik bevisar ingenting, så den färdiga modulmatrisen läses tillbaka av en avkodare som har skrivits oberoende utifrån specifikationens läsordning, och testet säkerställer att den avkodade strängen är lika med indata. Det gör ”den producerar en rimlig bild” till ”den producerar en kod som avkodas till rätt URL”, och det kontrolleras vid varje körning i stället för en gång med blotta ögat och en telefon.
Resultat. Antalet beroenden vid körning stannade på två, och kodaren är den enda komponenten som projektet bär med sig i sitt eget källträd. Det ska sägas rakt ut att detta inte är en allmän implementation — den stöder de lägen och versioner som dokumenten använder och ingenting annat, och den ärliga motiveringen är beroendebudgeten snarare än något påstående om att resultatet är bättre än ett moget bibliotek.
Se tillbaka på Aktiverade varje regel i Python‑lintern på felnivå och arbetade igenom 1 815 fynd ned till noll, där vart och ett av de få undantagen har ett skriftligt skäl och två av dem backas upp av en kontroll i stället för en kommentar. Läs vidare: Repeterade CI‑hooken på forge‑sidan och hittade två fel som inte gick att se genom att läsa filen: en reservväg som lade ett argument som inte gick att lösa upp i hookens indata, och en miljövariabel från git själv som följde med grinden in i utcheckningen och gjorde 19 tester röda. Eller ta en titt på hela portföljen.
En del av en längre historik — och den finns i sin helhet här.
Varje post är skriven på samma sätt: situationen, uppgiften, vad vi gjorde och vad som förändrades.