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 →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 og Bash: Debian, virtualisering og shell-verktøy
Å forstå hele stacken fra operativsystem til shell-scripting — slik bruker jeg Linux i praksis.
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 og FastAPI: Når JavaScript ikke er nok
Python er ikke hovedspråket mitt — men for datapipelines og raske API-er er det vanskelig å slå.
Les mer →Java: Systemtenkningen jeg tok med meg videre
Java er ikke et språk jeg bruker — det er en tenkemåte. Om interfaces, DI og arkitektur som fungerer på tvers av språk.
Les mer →SQL: Å forstå hva databasen faktisk gjør
Databasen er ikke en svart boks. Om EXPLAIN ANALYZE, indeksering og å lære seg å lese query plans.
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
Sikkerhet er ikke en sjekkliste — det er en tenkemåte. Om RLS, audit trails, og å lære av feil.
Les mer →Teknologi og filosofi: Hvorfor begge trengs
Å jobbe alene tvinger deg til å tenke bredere enn bare kode. Om beslutninger, trade-offs og hvem du bygger for.
Les mer →Nyhetsbrev
Få nye innlegg rett i innboksen.