Morn!
Morn!
Morn!
Morn!
Morn!
God morgen!
Morn
kan umulig stemme at det bare er litt over 8000 utviklere i Noreg? (Via https://www.nrk.no/norge/lonnssjekken_-dette-er-vanleg-a-tena-i-yrket-ditt-1.17785212)
De fleste har byttet til "orkestrator"
Ja er ikke det bare Skatteetatens IT-avdeling? đ
Har du husket Ä bruke en av de 64 andre titlene utviklere har? Om jeg ike husker feil, fÄr du dÄrligst betalt nÄr du kaller deg programmerer.
det ser ut som de har slÄtt sammen et eller annet, fÄr samme tall uansett hvilke av de 15-20 ulike titlene for utvikler
25 000 menn og 9000 kvinner har tittelen systemutvikler i den lĂžsningen.
ah, hva er forskjellen pÄ en systemutivkler og en programmerer, mon tro
Det ene er en gruppe som fÄr dÄrligere betalt fordi de ikke har lÊrt seg corporate speak
Hmm, i denne oversikten er det motsatt fra andre lĂžnnsundersĂžkelser jeg har sett fĂžr.
Det var ikke sÄ stor forskjell pÄ de to i denne undersÞkelsen. De fleste jeg har sett fÞr har mye stÞrre forskjell basert pÄ hvilken tittel du har prestert Ä fÄ.
Tekna skiller kun pÄ bransje, og der faller vi inn under "IKT (data/it)"
jeg er CTO nÄ, gleder meg til milliardene skal renne inn
egentlig litt kleint, har det i e-postsignaturen mest sÄ folk vi snakker med vet hvem de skal hendvende seg til om tech-spÞrsmÄl
Ja, jeg er litt misfornÞyd med Tekna der, for de er mer detaljert pÄ ingeniÞrfag enn de er pÄ IT.
Kode24 har mer detaljerte tall basert pÄ rolle, men sÄ er det jo et spÞrsmÄl om de har nok svar til at den er god. https://kodejobb.no/lonn
God morgen!
morn đŽ
Teaser: NĂ„ skal dere snart fĂ„ se hvor galt det kan gĂ„ nĂ„ Leif vibbekoder i Clojure đ
NÄ er jeg i gang med Ä analysere hele Clojure repoet med toolet mitt som en stÞrre test. Hvis det funker, skal jeg kjÞre toolet pÄ Linux Kernel.
Jeg har fÄtt ned token spend til et nivÄ hvor det faktisk er mulig.
Og jeg har nÄ implementert: 1. Et bedre CLI for Clojure-brukere (og AI-agenter) 2. En JAR-basert release pipeline for ikke-Clojure-brukere 3. En innebygget MCP server
Her gÄr det unna!
Ja, hehe! Har ogsĂ„ gjort en stor opprydning i koden, sĂ„ nĂ„ ser det litt mindre jĂŠvlig ut, men fortsatt ganske slumâŠ
Da gjenstÄr det "bare" masse manuell testing, bugfiksing og dokumentasjon.
Ser det er noen bugs i analysen av Clojure jeg mÄ fikse.
Men har ordna sĂ„nn at hele oppleget er idempotent og kan kjĂžres pĂ„ nytt for Ă„ analysere kun de bitene som feilet đ Et av flere token-sparings-fikser.
kult!
hvordan fungerer analysen. Er det ved hjelp av clojure-verktĂžy?
Jeg skal dele hele repoet snart pĂ„ GitHub đ Men her er koden som gjĂžr selve AI-analysen đ«Ł
@gar: Det er utrolig kult Ă„ se AI-agenten bruke REPL av seg selv for Ă„ teste/verifisere ting mens den utvikler. Veldig godt tips! Tusen takk.
Jeg har faktisk ikke testet dette selv. Bare fulgt med pÄ ai-kanalen med nysgjerrige Þyne. Det blir spennende Ä hÞre om erfaringene dine med dette fremover!
Dette begynner Ă„ bli et ganske voldsomt prosjekt, merker jeg đ Jeg la til en post-processing-jobb etter analysen, fordi AI-agenten ikke var i stand til Ă„ se pĂ„ tvers av filer spesielt godt i store prosjekter. SĂ„ jeg har en jobb som kjĂžrer etterpĂ„ for Ă„ finne alle dependencies mellom filer og legge dem til i Datomic-modellen ogsĂ„.
SÄ nÄ er det 4 datakilder: ⹠Git-historikk ⹠Mappe/filstruktur pÄ disk ⹠AI-basert analyse per fil ⹠Post-prosessering med language parsers Alt gÄr inn i én Datomic database.
Tror jeg skal si vi er "feature complete" nÄ. Bare gjÞre en ny runde med refactoring, bug-fiksing og testing, sÄ gÄr den ut som et "WIP/eksperiment-prosjekt" pÄ GitHub.
Blir interessant Ă„ teste đ
SĂ„nn gĂ„r det nĂ„r man sheller ut til claude via concurrent Clojure kode med custom sub-agenter for Ă„ analysere et Git repo med 90K linjer kode đ
Men nĂ„ har jeg fĂ„tt pĂ„ plass GLM som en modell for utvikling for Ă„ spare Claude credits, samt fĂ„tt pĂ„ plass en del token-sparingsmekanismer. SĂ„ nĂ„ bĂžr det gĂ„r bedre neste gang đ€
Hva er GLM?
Ah! Det er en annen LLM som jeg bruker fordi den er billigere og har ingen hard limits. Den gÄr bare treigere hvis man bruker den for mye. https://z.ai/subscribe Men det er en open-source LLM som man ogsÄ kan kjÞre gratis lokalt da. Jeg har bare ikke rask nok maskin til Ä gjÞre det via f.eks. https://ollama.com.
Jeg mĂ„tte le litt for meg selv her nĂ„. Selv AI-en "klager" over "for mange parenteser." Det begynner Ă„ bli litt for realistisk nĂ„r den ytrer samme klager som de fleste kollegaer đ
Opus og Sonnet (av Anthropic) er mye raskere og produserer bedre resultater enn GLM, men de er ogsÄ mye dyrere Ä bruke. SÄ jeg bruker GPT Codex (av OpenAI) og GLM (av Z.ai) til dev/testing, og sparer mine Opus tokens til produksjon.
Har du testet med clojure-mcp / clojure-mcp-light? De fikser balansering av parenteser.
Nei, det visste jeg ikke om! Takk for tips!
Ah, nice!
Det er skrevet opp og ned i mente om det i #ai-assisted-coding. Sikkert greit Ä gjÞre et sÞk der inne pÄ erfaringer (det har skiftet endel mellom clojure-mcp og clojure-mcp-light og av og til ingen av delene)
Jepp! Helt klart. Jeg har ikke fulgt med der pÄ en stund.
En liten teaser fra prosjektet mitt: Command:
set -a && source .env && set +a && clj -M:run agent "How many files are in this repository and what are the largest ones?" ring --provider glm
Respons:
{:answer "The repository contains **117 files** with a total size of **367,665 bytes** (~359 KB).\n\nHere are the largest files by byte size:\n\n1. `ring-jetty-adapter/test/ring/adapter/test/jetty.clj` â **44,292 bytes** (12.0% of total)\n2. `CHANGELOG.md` â **21,256 bytes** (5.8% of total)\n3. `ring-core/test/ring/middleware/test/cookies.clj` â **13,648 bytes** (3.7% of total)\n4. `ring-core/test/ring/middleware/test/multipart_params.clj` â **11,650 bytes** (3.2% of total)\n5. `ring-core/test/ring/util/test/response.clj` â **11,359 bytes** (3.1% of total)\n\nOther notable large files include:\n- `SPEC.md` â 11,664 bytes\n- `ring-core/test/ring/middleware/test/session.clj` â 9,416 bytes\n- `ring-core/src/ring/util/response.clj` â 10,989 bytes\n- `ring-core/src/ring/middleware/cookies.clj` â 6,950 bytes\n- `ring-core/src/ring/middleware/multipart_params.clj` â 8,321 bytes", :status :answered, :usage {:input-tokens 25127, :output-tokens 2777, :iterations 8}}Kult!
Jeg lager en "sĂžkemotor" for AI agenter som de kan bruke for Ă„ navigere og sĂžke i store kodebaser mer effektivt.
ah, det er jo faktisk veldig kult
Den er bygget pÄ Datomic.
Det begynte med at jeg ville slÄ rekorden pÄ https://longbench2.github.io
Jeg har basically bygget en "knowledge graph" i Datomic ved Ă„ parse alle Git commits + analysert alle filer i repoet via LLM-er og putta det i samme Datomic database.
Og laget et "tool" som LLM-er kan bruke for Ä effektivt autogenerere Datalog queries pÄ mÄfÄ for Ä mer effektivt lese/forstÄ kodebasen og svare pÄ spÞrsmÄl.
hvordan bruker llm'en den? er det som en mcp?
Jeg fikk idéen etter Ä ha lest https://arxiv.org/pdf/2512.24601.
Nei, det er ikke en MCP (enda). Men god idé! Det kan jeg sikkert fÄ til.
P.t. er det 100% "Clojure-basert integrasjon" via shell og HTTP.
Hovedproblemet er at det er satan sĂ„ dyrt Ă„ analysere et stort repo đ
SÄ jeg har holdt pÄ med "token-optimalisering" nÄ i det siste.
kanskje verdt Ä ta en titt pÄ nucleus fra Michael Whitford? Har ikke helt grep om hva det er han lager, men det er vel strengt tatt en slags context-compression.
Thanks! Det mÄ jeg gjÞre.
Hele prosjektet var egentlig en "test case" for https://github.com/leifericf/claude-code-toolkit.
Men det ser ut til Ă„ funke ganske bra! Overraskende nok.
Interessant!
Koden ser helt jĂŠvelig ut da.
Christian, Magnar og Erik vil banlyse meg.
Funker som jernet! NĂ„ har AI-en tilgang til REPL.
Det jeg driver med nÄ er enten idiotisk eller genialt. Mest sannsynlig idiotisk.
Jeg gjorde en bug og brant alle Calude Code tokens pĂ„ 5 min đđ„ SĂ„ da ble det brĂ„stopp og ventetid.