clojure-norway

cjohansen 2026-02-11T08:44:10.328879Z

Morn!

eaj 2026-02-11T09:20:43.956919Z

God morgen!

teodorlu 2026-02-11T09:43:04.605809Z

morn!

Sardtok 2026-02-11T09:55:13.605179Z

Morn!

teodorlu 2026-02-11T12:49:53.303899Z

Mathias og jeg stirret på en bug i dag. Etter over to timer kom vi fram til at det sikkert var Replicant sin feil. Var det Replicant sin feil? Ånei. Det var (1) at rekkefølgen i sets ikke er garantert, og at (2) rekkefølgen (via hash-funksjonen) er forskjellig på JVM Clojure og Clojurescript! One of those days.

emil0r 2026-02-11T13:36:36.806699Z

Klassiskt 🙂

emil0r 2026-02-11T13:42:33.630099Z

Du har en annan implementationsdetalj som kan bita dig, och det är maps där du itererar på nycklar. Med väldigt få nycklar så är det en PersistentArrayMap, där det är en array som ligger under. Över en viss gräns (väldigt låg gräns), så blir det en PersistentHashMap där ordningen på nycklarna kan bli olika beroende på storleken på din hashmap

🎉 1
emil0r 2026-02-11T13:44:38.112949Z

Det är ju också lite som att göra en select i SQL och inte ange ordningen. I postgres så får du då tillbaka i ordningen det blev inlagt om jag minns rätt. Gör du sedan en import från en db till en annan, så kan den ordningen ändras

teodorlu 2026-02-11T13:54:47.722809Z

jepp! Først gjør vi antagelser. Så blir vi forvirret 🙈

gunnar 2026-02-11T14:54:07.284429Z

Jeg har kastet bort mye tid på feil antakelser i feilsituasjoner 😄

slipset 2026-02-11T15:25:07.430789Z

Hva blir output av dette:

user> (def a (transient {}))
;; => #'user/a
user> (doseq [i (range 10)] (assoc! a i :a ) (println (count a)))

slipset 2026-02-11T15:25:15.623119Z

Og hvorfor

teodorlu 2026-02-11T15:33:37.840019Z

du skal vel ikke bruke transients sånn? transienten skal vel oppdateres og sendes videre underveis i loopen, før man kjører persistent! på den til slutt?

slipset 2026-02-11T16:19:08.889059Z

Helt riktig, men det «virker» opp til åtte :)

teodorlu 2026-02-11T17:56:18.814369Z

Haha, sant!

hypirion 2026-02-12T06:48:08.699389Z

I Postgres er rekkefølgen per definisjon udefinert. Den avhenger av når du sist oppdaterte radene, og hvilke indekser som blir brukt. Skal faktisk snakke litt om det og rekkefølge på elementer under Kodemakers åpne fagdag i dag 😄

🎉 2
gunnar 2026-02-12T07:14:57.396899Z

Det er lett å gjøre antakelser om slike ting som rekkefølge basert på observasjon. Lærdommen, etter min erfaring, er alltid å lese dokumentasjonen.

👍 1
👍🏻 1
Sardtok 2026-02-12T08:11:51.204969Z

Forrige uke hadde vi en nedtrekksmeny for kommuner og fylker. Hver gang du huket av en kommune, så flyttet alle kommunene seg rundt. Fylkene hadde vi sortert før visning, da. (Dette var mens vi holdt på å lage og teste komponenten, så det var ikke noe brukerne så.

hypirion 2026-02-11T05:53:24.538749Z

Morn!

boosja 2026-02-11T05:56:39.848809Z

Morn!

mokr 2026-02-11T06:41:21.884419Z

Morn!

2026-02-11T06:58:53.781349Z

morn

msolli 2026-02-11T07:31:59.488389Z

Morn!

emil0r 2026-02-11T07:53:53.733979Z

Morn