Fagnytt
Desember
'25

Her kommer månedens fagnytt, akkurat i det julestemningen glir inn over Oslo. ❄️ Så sett deg godt til rette i stolen, ta frem en Hamar-julebrus (helst med sukker!) og nyt denne oppdateringen av litt av det som har skjedd i november. 🔥

The AI-train 🚂

Nok en måned, og nok en bunke med nye versjoner av LLM-er. Den som nesten har gått helt stille forbi, er releasen av GPT 5.1 – og det er det kanskje god grunn til? 🤔 I det siste har det vært et skifte mot at flere foretrekker enten Gemini eller Claude for tekstskriving og koding. Disse to slapp også hver sin modell denne måneden, noe som ikke gikk ubemerket hen.

Anthropic er jo selve grunnleggeren av MCP-protokollen. De har innsett noen av svakhetene ved protokollen, spesielt et kjent problem hos språkmodeller: "context-bloating". Dette betyr at konteksten til modellen fylles opp med veldig mye unødvendig informasjon. Dette skjer fort om du kobler flere MCP-servere på en modell, og den ender med å bruke opp flere titalls tusen tokens bare for å lete etter tools. 🤯 Derfor introduserer de nå muligheten for "lazy-loading" av tools. Modellen kan da søke etter riktige tools ved bruk av semantisk søk for å spare konteksten. Smart og kult! 🧠

Gemini Pro leverte også noen gode oppvisninger, spesielt på hvor god den er til å bruke rammeverket Three.js – det er virkelig imponerende 3D-grafikk den klarer å lage. Men det som kanskje tok kaka 🎂 denne måneden var Nano banan Pro. 🍌 Fysøren, de bildene er syke! Om du ikke har prøvd det, så er det bare å teste ut. Her har Google klart å fjerne mye av den "AI-glowen" som tidligere fantes i bilder, noe som gjør dem ekstremt naturlige. ✨

Nå som vi er inne på Google: Noe annet man kan diskutere, som setter Google i en veldig god posisjon, er at de har klart alt dette helt selv. Med dette mener jeg at de trener AI-modellene med sine egne TPU-er, hoster dem på sine egne datasentre, og har et økosystem å sette det inn i. De er altså de eneste som har hele koblingen mellom hardware og brukergrensesnitt. Det setter dem i en ganske sterk posisjon i AI-kappløpet. 🏎️ Kanskje det er derfor Apple tenker på å begynne å benytte Gemini i Siri allerede fra mars? Du tenkte kanskje jeg var ferdig med å skrive om Google nå? Å jada, neida – har én ting til: Google slapp jo selvfølgelig også sitt eget AI-coding tool, kalt Antigravity. Det er laget av gutta Google kjøpte ut av Windsurf – aka enda en VS Code-fork med Gemini teipet fast. 🛠️

Andre siden av dammen 🇺🇸

Det er lenge siden vi har snakket om vår venn Elon. Han har jo hatt nok med å styre alle sine selskaper, men nå har i hvert fall styret i Tesla bestemt seg for pakken som forhåpentligvis får Elon til å jobbe mer med Tesla. Altså en pakke som gir Elon mulighet til å hente ut 1 trilliard dollar dersom han øker omsetningen til Tesla nok de neste 10 årene. 💸 Det ligger i potten. Han ser også på muligheten for at Starlink v3 skal bestå av datasentre som flyr rundt kloden, og ikke satellitter slik det er nå. 🛰️ Noen som også ser på dette, under prosjektnavnet Suncatcher, er selvfølgelig Google. De ser jo at det ikke blir færre energiproblemer fremover, så mulighetene for flyvende datasentre er altså ikke umulig. ☁️

Oppdatering fra Microsoft? 💻

Microsoft har endelig rullet ut .NET 10 og C# 14, så nå får faktisk Tore og Endre noe å juble for de også! 🎉 Den store snakkisen er at C# tar et realt oppgjør med boilerplate: Vi får nå "Extension everything" (som betyr at du kan hekte på både properties og statiske medlemmer på eksisterende typer!), og det etterlengtede field-nøkkelordet gjør at vi slipper å manuelt deklarere private backing-fields.

I tillegg har .NET blitt mer script-vennlig; du kan nå kjøre enkle .cs-filer direkte med dotnet run og importere NuGet-pakker rett i toppen av fila uten en prosjektfil. På backend-siden har Minimal APIs fått innebygd validering, og EF Core har endelig lært seg ekte LeftJoin og RightJoin i LINQ, slik at vi kan pensjonere de gamle hackene våre en gang for alle. 🙌

Tradisjon og tro ⛪️

Dette må jo sies å ha blitt en litt uheldig tradisjon: Ny måned, ny cloud-provider som går ned. Denne gangen var det nok en gang Cloudflare som gikk i bakken. Denne gangen skikkelig, og nok en gang var det deres egen feil. 📉

En av Cloudflare sine viktigste funksjoner er å sjekke requester som treffer deres DNS for å se om det er en bot eller ikke. Dette er en relativt komplisert prosess som må være ganske dynamisk, siden oppførselen til bots endres raskt. Dette er vanligvis en funksjon som har rundt 60 features. Bot-nettet til Cloudflare er skrevet i Rust, og for å øke hastigheten er det satt mange begrensninger på størrelser på filer og slikt. Det som skjedde her, var at noen genererte en litt feilaktig config-fil med litt for mange features – nærmere 200 features. 😵

Denne ble pushet ut til bot-nettet og propagerte så gjennom nettet. Det som skjedde da, var relatert til at man i Rust har noe som heter .unWrap. Dette er som en assert: "Jeg stoler på denne verdien, den er trygg". I dette tilfellet var ikke verdien trygg fordi filen var større enn det programmet var laget for, noe som førte til en chain av slike bot-sjekker som krasjet. Veldig uheldig, og noe som skapte lang nedetid for Cloudflare. Det skal sies at dette ikke er et eksempel på "ikke bruk Rust", da det ikke er så mange som hadde løst dette på en bedre måte enn Rust. 🦀

Men man burde kanskje løst det som vår gode venn JS, og sluttet å gjøre narr av JavaScript for at NaN er et «tall» som ikke er lik seg selv. Det er faktisk en misforstått maskinvarefunksjon fra 1985 (IEEE 754), designet for å hindre at fly styrter når det oppstår en divisjonsfeil. ✈️

I stedet for å få programmet ditt til å eksplodere som en drama queen (ja, Rust, jeg ser på deg 👀), fungerer NaN som en «zombie»-verdi som forplanter seg gjennom regnestykkene dine for å varsle om feil uten å drepe hele prosessen. 🧟‍♂️ Så ikke skyld på JS for denne særheten; skyld på prosessoren som prøver å redde deg fra dårlig kode.

Småsnacks 🍬

Annet gøy som har skjedd: GitHub Releases har endelig blitt immutable. Altså kan du ikke lenger slette/endre på assets og tags som har vært med i releasen – ganske nice for å slippe uforutsette bugs! 🪲

Kanskje det morsomste er at noen endelig har begynt å ta i bruk 402-statuskoden, koden som har blitt holdt av i flere tiår for "future purposes" mtp. betaling. Nå er det altså noen som ønsker å gjøre det lettere og billigere å håndtere betaling gjennom en åpen protokoll som kalles X402. 💳 Tanken er at serveren skal returnere 402 for betalte endepunkt, og så må brukeren svare med et paymentToken som bevis på gjennomført betaling. Dette muliggjør agentisk betaling – kanskje vi ikke er så langt unna at det er AI-modellene som løper løpsk på Black Friday? 🛍️🤖

Siste godteribiten for denne gang var Apple, som glemte å skru av sourcemaps i releasen av sin nye App Store, og dermed lekket hele repoet til allmennheten. Good Job! 👍