Mrn
Morn
morn 🙂
Morn
Mr. N.
"stupid effects, intentful actions" har romstert i hodet mitt i juleferien. Første gangen Christian snakket om det, skjønte jeg hva han mente, men ikke hvorfor. "vi ønsker å ha effektene våre så dumme at de ikke trenger testing". Og at vi gjør det mange nok ganger til at det er helt tydelig at det ikke funker når det ikke funker. I kontrast, når vi modellerer hva en person ønsker å få gjort, gå i motsatt retning: finn intensjonen bak handlingen. Unngå all "tolkning", bare send intensjonen videre. Uten tolkning av effekter ("dumme") og actions ("bare intensjon"), blir effekter og actions mer stabile over tid. Fordi "tolkningen vår" ikke fører til endringer. Logikken for å oversette intensjon (action) til effekter kan vi derimot endre så mye vi vil. Og den logikken kan testes, den transformerer action-data til effekt-data. Sitter og kjenner på at jeg har gjort dette litt dumt akkurat nå. Problemet jeg løser: vi har dårlig komprimerte bilder på Mikrobloggeriet. JPEG-er rett ut av mobilkamera, og PNG for skjermbilde. Fordi jeg ikke har skilt på intensjon og effekter, har jeg endt opp med dupliserting! Jeg skrev først funksjonen som konverterer,
(defn autoconvert
"Convert to webp, and update references to converted files"
[{:as conversion :keys [image referencing-files]}]
(let [quality (compression-quality image)
compressed (str (fs/strip-ext image) ".webp")
image-url (str (fs/relativize "public" image))
new-image-url (str (fs/relativize "public" compressed))]
(try
(convert! image compressed quality)
(doseq [f referencing-files]
(spit f (str/replace (slurp f) image-url new-image-url)))
(assoc conversion
:compressed compressed
:quality quality
:factor (size-factor image compressed))
(finally (fs/delete image)))))
, før jeg endte opp med å skrive samme funksjon igjen bare uten sideeffekter for å få kontroll på hvor mye komprimering jeg egentlig ønsket meg. Hva skal man sette "quality" til? Først hadde jeg 50 (av 100) på alt, så ble jeg irritert over komprimerings-artifacts i PNG-er.
(defn probe
"How much would we gain by compressing this file?"
[{:as conversion :keys [image referencing-files]}]
(let [quality (compression-quality image)
compressed (str (fs/strip-ext image) ".webp")]
(try
(convert! image compressed quality)
(assoc conversion
:compressed compressed
:quality quality
:factor (size-factor image compressed))
(finally (fs/delete compressed)))))
Hvis jeg her hadde skilt mellom actions (ønsket utfall) og effekter, kunne jeg gjort ferdig all preprosesseringen først, og deretter bare sett på resultatet. … og da måtte jeg hatt en type effekt-håndtering. Her tre effekter:
1. Konverter
2. Slett fil
3. Endre referanser i fil
!Gode betraktninger som vil gjøre seg godt som en bloggpost 😊
Du har helt rett. Mindre kaotiak framstilling og litt arbeid med eksemplene ville gjort seg!
Jeg likte det jeg leste, men vil gjerne ha noe bokmerkbart som jeg kan dele med andre ☺️
i dag ble jeg AI pilled, gitt. Junie i IntelliJ driver og refactorer og gjør diverse småtteri på laptopen, mens jeg sitter og jobber med "ordentlige" ting på desktopen. Har fått ryddet opp i noen gamle klasser som finnes i en versjon 2, lagt til noen custom linter-regler, og diverse "hjernedøde" ting. Har snart brukt opp alle 10 inkluderte credits i planen til JetBrains. Here we go!
Spent på å høre mer om dette. Ca hvor stor kodebase har dere? Ps. iOS vil autokorrigere "kodebase" til "kodebamse". Litt søtt egentlig. Ps2. iOS vil autokorrigere "Ps." til "Os."
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
TypeScript 1105 10419 2350 145444
Kotlin 637 10338 1048 83214
SQL 504 2131 268 14681i går fikk jeg den til å skrive om noe fra dynamodb til postgres. Usiker på hvor mye tid spart, måtte følge opp litt. Men sånn det er nå ender jeg opp med å legge til ting i en sånn guidelines.md-fil som i praksis er en fil som koder inn våre mentale modeller til AI-en, så den gjør bedre og bedre jobb ettersom vi bygger opp ting der
bruker også AI-en til å bygge opp den fila. "Basert på endringene jeg ba om nå og endringene jeg gjorde manuelt, oppdater guidelines-fila"
Ja, spørsmålet er om det blir verdt det. Ser at det er flere som sier nettopp det, og sist Nolan Lawson som har vært ganske skeptisk frem til nå. (https://nolanlawson.com/2025/12/22/how-i-use-ai-agents-to-write-code/)
ihvertfall verdt et forsøk!
men dette er egentlig peak take, fra hacker news: > Imagine someone in the 90s saying "if you don't master the web NOW you will be forever behind!" and yet 20 years later kids who weren't even born then are building web apps and frameworks.