clojure-norway

teodorlu 2025-10-09T08:20:09.775219Z

goood morn!

leifericf 2025-10-09T09:03:50.045229Z

Morn!

leifericf 2025-10-09T11:09:21.756099Z

Jeg har kviet meg for "vibe-koding" lenge nå og er fortsatt skeptisk. Men jeg har også lært at, når jeg reagerer sterkt negativt på noe, uten å ha noe særlig innsikt, er det et tegn på at jeg bør teste det ut. Nå har jeg "vibe-kodet" to apper fra scratch for å eksperimentere og lære litt. Det har vært en interessant opplevelse! Hva tenker folket om "AI-drevet koding?" Nå sitter jeg og tenker at det kan være et fantastisk verktøy for folk som ikke er så tekniske til å lage kjappe prototyper som de kan vise til "ekte" utviklere for å kommunisere behovene sine. Det er også en lynrask måte å prototype på. Men jeg vikke aldri putta koden i produksjon.

gunnar 2025-10-10T08:14:09.392879Z

Du bruker det til TS. Ville du brukt det til Clojure?

slipset 2025-10-10T11:02:05.416209Z

Bruker det til Clojure også, men mest som en ide-generator.

gunnar 2025-10-10T11:07:03.583379Z

Interessant. Jeg er litt redd for at det generelle kunnskapsnivået vil gå ned ifm AI-generert kode. Spesielt når man skriver i et språk man ikke helt behersker. Det blir da lett å akseptere løsninger som man ikke helt skjønner, men som tilsynelatende fungerer.

gunnar 2025-10-10T11:07:29.593269Z

Dette er bare mine bekymringer, og det er mulig at det ikke er noen endring fra før AI.

slipset 2025-10-10T11:07:37.888609Z

Så jeg kom over denne funksjonen hos oss:

(defn run-query-when-available!
  "Run the query, retrying for a while when we hit the internal limit on nr.
  concurrent queries or when the server is temporarily down."
  ([graph-service ctx permission-boundary query]
   (run-query-when-available! graph-service ctx permission-boundary query 50))
  ([graph-service ctx permission-boundary query num-retries]
   (trace-service/with-span! ::run-query-when-available! nil
    (loop [attempts 0, delay 100, start (. System (nanoTime))]
      (let [res (run-bounded-query! graph-service ctx permission-boundary query {})
            retriable-error? (or (= :ratelimit (:status res))
                                 (:service-unavailable? res))]
        (if (and retriable-error? (< attempts num-retries))
          (do ; retry later
            (util/sleep! (int delay))
            (recur (inc attempts) (* delay 1.07) start)) ; 1.07^50 -> 40s in total, last delay 2.7s
          (do ; success or too many retries
          (when retriable-error?
            (when (= :ratelimit (:status res))
              (metrics-service/prom-inc! metrics-service/registry
                                         ::metrics-service/graph-service-ratelimited-count
                                         {:org (core/ctx->org-label ctx)} 1))
            (log/infof "Too many (%d) failed attempts to run a graph query, over the period of %d ms. Last error: %s"
                       attempts
                       (math/round (/ (double (- (. System (nanoTime)) start)) 1000000.0))
                       (:error res)))
            (cond-> res
                    (pos? attempts)
                    (medley/update-existing
                      :error #(format "Query failed across %d attempts. Last error: %s"
                                      attempts %))))))))))
Når jeg ser på denne ser jeg at det er sånn ca http://circle.ci/wait-for Jeg fikk Claude til å foreslå en impl, som den gjorde omtrent korrekt, bare det at wait-for ikke har støtte for exponential backoff

slipset 2025-10-10T11:09:14.875699Z

Men, jeg syntes at gru-tillegget for å skrive om denne til wait-for var for stort, og det skulle vise seg at det ikke gikk.

gunnar 2025-10-10T11:10:19.890129Z

Jeg kjøper det å bruke AIen til sparring og til forslag. Blir litt som intelligent rubber-duck.

cjohansen 2025-10-10T11:13:06.471619Z

I motsetning til de udugelige kollegene vi ellers må rubberducke med 😂

😂 2
cjohansen 2025-10-10T11:13:20.995269Z

(Skjønte hva du mente, altså 😅 )

slipset 2025-10-10T11:15:54.858149Z

> In graph_service.clj, there is a fn run-query-when-available! that’s a bit opaque, could you > please explain what it does?

slipset 2025-10-10T11:16:15.899029Z

> Purpose: Resilient query execution with exponential backoff for transient failures. > > Key mechanics: > > 1. Retry logic: Attempts graph query up to 50 times (configurable) when encountering: > - Rate limits (too many concurrent queries per org) > - Service unavailable (Gremlin server temporarily down) > 2. Exponential backoff: > - Starts at 100ms delay > - Multiplies by 1.07 each retry > - Total retry period: ~40 seconds (1.07^50) > - Final delay: ~2.7s 3. Flow: > Run query → Hit rate limit or unavailable? > Yes → Sleep with exponential delay → Retry No → Return result (success or non-retriable error) > 4. Exit conditions: > - Success (query returns result) > - Non-retriable error (malformed query, auth failure, etc.) > - Max retries exhausted (logs failure, updates error message with attempt count, returns error) > 5. Observability: > - Tracks attempts and total time elapsed > - Records rate limit metrics to Prometheus > - Logs detailed failure info when all retries exhausted > > Why it exists: The graph service has per-org concurrency limits (max-runs-per-org: 12) and the Gremlin server can be temporarily unavailable during deployments/pod moves. This function > makes the system resilient to these transient conditions rather than failing immediately.

slipset 2025-10-10T11:20:50.750919Z

Jeg ba den igjen skrive om til wait-for og den kom et stykke på vei, men jeg må nok jobbe med den et par iterasjoner

slipset 2025-10-10T04:41:43.577229Z

Jeg bruker nå Claude daglig. I blant, men ytterst sjelden bruker jeg den til å prototype opp noe. Men det er egentlig ikke “jobben” min. Det jeg bruker den mest til er å editere tekst for meg som jeg synes er plunder og heft i TS, og jeg bruker den til å fikse TS feil når typene ikke alltid går opp. Det er så og si alltid jeg som bestemmer hva som skal gjøres, når det skal gjøres og hvordan det skal gjøres, og jeg lar den sjelden skrive mer enn 10 linjer kode av gangen. Gjør den meg raskere? Jeg er usikker. Gjør den at jeg får startet på oppgaver der det er stort gru-tillegg? Helt sikker.

👍 1
slipset 2025-10-10T04:42:36.151149Z

Claude er også rimelig dyktig på å omsette en bruker beskrevet feil “Når jeg gjør x, y, z så skjer æ, mens jeg forventer ø til en fiks, noe jeg synes er veldig impoenerende.

💯 1
boosja 2025-10-09T05:22:53.576929Z

Morn!

gunnar 2025-10-09T05:30:33.482649Z

Morn! Er på dag fire uten mens jeg venter på reservedeler til kaffekverna. Har gjort det til et lite eksperiment for å se hvordan jeg takler å bytte ut kaffe med te. Resultatet så langt? Ikke noe problem. Og som bonus drikker jeg nå færre kopper per dag.

🔥 1
😱 3
teodorlu 2025-10-09T08:21:25.768019Z

kaffe har blitt en slags del av morgenritualet mitt. Og det er litt rart — det handler mer om å lage den kaffen enn å drikke den første koppen 😂 Jeg tenker noen ganger at "jeg dropper kaffe i dag, hakke tid". Så har jeg i stedet for å lage kaffe kasta bort 20 minutter på tull. Hvis jeg bare hadde satt på kaffen hadde jeg brukt minutter på å lage kaffen og fått kaffe!

😄 1
leifericf 2025-10-09T09:05:09.957429Z

Jeg har faktisk måttet slutte å drikke kaffe på legens anbefaling pga. mageproblemer for å se om det hjelper. Min siste kopp kaffe var på lørdag 4. oktober, så snart en hel uke nå.

gunnar 2025-10-09T09:05:32.517709Z

Huff, det er kjipt

leifericf 2025-10-09T09:06:08.180919Z

Dag 2 og 3 var ganske ille med hodepiner og sånt. Jeg fikk kaffe med melk (mest melk) som toåring av foreldrene mine og har drukket kaffe hver dag hele liven siden det 😂

😂 6
2025-10-09T10:00:16.955029Z

podcast science guy sier man skal vente minst 1 time fra man våkner til man drikker kaffe! Så det har jeg begynt med, uten å grave noe videre eller undersøke noe som helst om det har noe effekt i praksis eller er sant i utgangspunktet

gunnar 2025-10-09T10:47:31.665079Z

Best å stole på podcast science guy!

gunnar 2025-10-09T10:48:05.833619Z

Også kommer det sikkert en slik en med morgenkaffe-adapter snart:

2025-10-09T10:48:59.130429Z

tror den teipen over munnen kunne ha reddet meg mange ganger i våken tilstand og...

😅 1
msolli 2025-10-09T13:35:15.512659Z

Apropos kaffe. Kan ikke skryte nok av kaffen og sørvisen til Aya (kona til @leif.eric.fredheim). Vi har bedriftsavtale, og da bare sender jeg en e-post og vi får ekstremt god kaffe levert på døra. Anbefales (igjen)! https://hibikaffe.no/

❤️ 1
🙇‍♂️ 1
👌 2
cjohansen 2025-10-09T14:22:55.646889Z

Podcast science guy selger også athletic greens 😂

cjohansen 2025-10-09T14:24:13.178099Z

Jeg er ille glad i kaffe, men har allikevel et avslappa forhold til det. Kan godt gå en dag uten kaffe uten at det er noe problem, jeg får ikke hodepine osv. Jeg er mest situasjonsavhengig av kaffe. Syns det er ille trivelig med en kaffekopp til datamaskin-arbeid feks. Men en søndag der jeg ikke sitter med laptopen kan jeg fort glemme å drikke kaffe.

cjohansen 2025-10-09T14:24:35.016069Z

Forøvrig får vi også kaffe fra Aya, via @sardtok, rett som det er. Veldig bra 🙂

❤️ 2
🙇‍♂️ 2
Sardtok 2025-10-09T14:25:26.970949Z

@smestad har også kjøpt med seg litt Hibi-kaffe.

❤️ 2
🙇‍♂️ 2
cjohansen 2025-10-09T14:28:21.749209Z

Sorry, jeg er litt uinformert på innkjøpsfronten. Jeg bare drikker det som dukker opp og betaler i ny og ne 😄

leifericf 2025-10-09T14:28:36.774889Z

Hun driver hele sjappa alene og gjør alt selv, og setter stor pris på alle kundene sine. Tusen takk 🙇‍♂️

oms 2025-10-09T14:28:38.065309Z

Ja, den er grom. Spesielt når det er bærtørket fra Etiopia. Det å skippe en dag, føles ikke som et reelt alternativ 😄

👍 1
Sardtok 2025-10-09T14:31:48.419849Z

Det kan godt tenkes at vi skulle hatt bedriftsavtale, men da hadde vi mistet variasjonen når vi kjøper fra forskjellige brennerier. Men godt mulig det ikke er verdt den overheaden med at vi må ordne så mye selv.

👍 1
slipset 2025-10-09T06:32:59.695879Z

Jeg tror jeg er mer psykologisk enn fysisk avhengig av kaffe.

slipset 2025-10-09T06:33:15.727119Z

En morgen uten en bolle med kaffe er liksom ikke verdt å stå opp til.

gunnar 2025-10-09T06:33:56.571969Z

det har vært min hovedmotivator til å stå opp av senga: tanken på en kopp kaffe ☺️

gunnar 2025-10-09T06:34:22.187279Z

Blir alltid glad når jeg tenker på det! Men overraskende nok så går det greit uten

hypirion 2025-10-09T05:35:31.160239Z

Morn!

cjohansen 2025-10-09T05:54:50.780659Z

Morn!

msolli 2025-10-09T06:08:59.860459Z

Morn!

slipset 2025-10-09T06:32:24.957249Z

Mrn