Blogg
Tanker om teknologi, arkitektur og filosofi.
Fra vibe-code til hard-code: Hvorfor utviklere fortsatt har en fremtid
Alle kan generere kode nå. Men å forstå den? Det er fortsatt sjeldent — og mer verdifullt enn noensinne.
Les mer →Go: Hvorfor jeg valgte det for Tuli — og når du ikke bør
Trade-offs, arkitekturbeslutninger og produksjonserfaring med Go i Tuli Technologies.
Les mer →TypeScript: Hvordan typesikkerhet endret måten jeg bygger systemer på
Fra JavaScript til TypeScript — hvorfor jeg aldri går tilbake, og mønstrene jeg bruker i produksjon.
Les mer →React: Fra Flutter til React — arkitekturbeslutningen bak Nextbook
Hvorfor vi migrerte Nextbook fra Flutter til React, og mønstrene som gjorde det verdt det.
Les mer →PostgreSQL: Row-Level Security, migrasjoner og produksjonsdata i Nextbook
Slik bruker jeg PostgreSQL i produksjon — fra RLS-policies til migrasjonsstrategi.
Les mer →Docker: Fra utviklingsmiljø til produksjon — slik containeriserer jeg systemer
Multistage builds, compose-filer og produksjonsklare images — fra prototype til deploy.
Les mer →Next.js: App Router, SSR og statisk eksport i produksjon
Slik bruker jeg Next.js for både dynamiske apper og statiske sider.
Les mer →Supabase: PostgreSQL, autentisering og RLS i én pakke
Hvordan Nextbook bruker Supabase som komplett backend — og begrensningene.
Les mer →FastAPI: Rask prototyping med Python og automatisk dokumentasjon
Når Python er riktig valg for backend — og hvordan FastAPI gjør det praktisk.
Les mer →React Native og Expo: Mobilutvikling med webutvikler-bakgrunn
Fra web til mobil — hva som fungerer, hva som ikke gjør, og hvorfor Expo endrer spillet.
Les mer →Node.js: Event loop, streams og når jeg velger det over Go
Node.js har sin plass — slik bruker jeg det for API-er og verktøy.
Les mer →Firebase: Hosting, Firestore og grensene for serverless
Firebase er kraftig for rask deployment — men har tydelige begrensninger.
Les mer →Git: Branching-strategier, rebase og commit-hygiene i praksis
Slik holder jeg git-historikken ren og nyttig — ikke bare en logg.
Les mer →Linux: Debian-administrasjon, virtualisering og shell-verktøy
Fra VMware ESX til Zsh — slik administrerer jeg Linux-miljøer.
Les mer →Tailwind CSS: Utility-first i praksis — ikke bare klassenavn
Hvordan jeg bruker Tailwind for konsistent design uten å miste kontrollen.
Les mer →GitHub Actions: CI/CD-pipelines som faktisk fungerer
Slik automatiserer jeg bygg, test og deploy med GitHub Actions.
Les mer →Swift: Hva jeg lærte av å bygge Skoletime for iOS
Fra webutvikler til iOS — erfaringer med Swift og Xcode.
Les mer →Vercel: Zero-config deploy for Next.js — og begrensningene
Vercel gjør deploy enkelt — men det har en pris.
Les mer →Python: Scripting, data pipelines og rask prototyping
Python er mitt verktøy for rask prototyping og datapipelines.
Les mer →Java: Enterprise-erfaring og hva jeg tok med meg videre
Java lærte meg objektorientering og enterprise-mønstre — nå bruker jeg dem i Go og TypeScript.
Les mer →JavaScript: Fundamentet under TypeScript — og hva du bør forstå
Du trenger å forstå JavaScript for å virkelig forstå TypeScript.
Les mer →SQL: Spørringer, indeksering og ytelse i PostgreSQL
SQL er ikke bare SELECT * — slik tenker jeg om spørringer og indekser.
Les mer →Bash: Automatisering og DevOps-scripts som faktisk virker
Bash-scripts er limet i utviklerverktøykjeden min.
Les mer →Hva jeg lærte av å bygge produksjonssystemer
Refleksjoner om hva som faktisk betyr noe når systemet ditt har ekte brukere.
Les mer →Sikkerhet i praksis: Mer enn bare teori
Hvordan jeg implementerer sikkerhet i reelle systemer — fra RLS til audit trails.
Les mer →Teknologi og filosofi: Hvorfor begge trengs
Tanker om skjæringspunktet mellom kode og menneskelig forståelse.
Les mer →Nyhetsbrev
Få nye innlegg rett i innboksen.