Ho there wanderer 🧙. Welcome to my slice of the web where I express my digital self 🤸👨‍🚀🏄‍♂️, log experiences 💾 and share knowledge 🧶.

Filesystems are weird

God morgon IT-bransje, me må prata om apartheid og folkemord

Notatar frå lokallagskonferansen til Palestinakomiteen 2024

Erfaringar frå bruk av Whisper til teksting av video

Divesting from Github and going self-hosted

How I self-host my git projects with Forgejo

Boknotat: Håp er det du gjør av Hanne Lossius og Marthe Valle

Discourse user guide: How to setup two factor authentication (2FA)?

Boknotat: Teknodiversitet av Yuk Hui

Frog and Mouse on Centralized Services

Boknotat: Why I Write av George Orwell

Access control design: Avoiding a labyrinth of unknown-unknowns

Boknotat: Hverdagshelter av Eva Joly

Celebrating 8 years of self-hosting Mail-in-a-Box

Frå Netlife Bergen til Builder Heart

Guide: Korleis sjå film eller TV med nokon som brukar høyreapparat

Poetry for programmers, an experimental workshop

Var dei siste ti åra med JS-rammeverk bortkasta hype?

Guide for setup av IPv6-delegering med OpenWRT og Altibox

Meir fart og mindre snork med CustomEvent i JavaScript

PHP er ikkje så halvgale (ikkje så verst)

Helseklage må bli ein læringsressurs for helsesektoren

Maksimer brukbarheit og haldbarheit med utleding av komponent-APIer i ReactJS og TypeScript

Deploying over 393000 URLs under 26 seconds using Hugo and Netlify on-demand builders

Innovating beyond libraries and frameworks

Building and hosting a workshop on web components

Guide: Localizing Sanity CMS with the Intl Input Plugin

Accelerate: Ei forfriskande forskingsbasert bok om programvareutvikling

Mozilla Festival 2021: Reflections on my first MozFest

Intro til web komponenter i React komponenter: Korleis og kvifor?

Discussing software ethics on the podcast Greater Than Code

Real Rebels Pay Their Taxes

The Minimalist Magician's guide on how to format GraphQL queries using Prettier

Tida renn ut for Smittestopp-appen

Smittestopp-appen kan bli god butikk

Om Smittestopp-appen var eit fly så ville eg ikkje satt min fot ombord

Min fyrste rekursive type i Typescript

Debugging database size, searchindex and revisions table bloat in Craft CMS 3

Adios, finally deleting my Twitter and dev.to accounts

Case study: Archiving an old multi-site WordPress instance

Let us make 2020 a year of empowerment and decentralization

Managing the Google Cloud Platform: On deprecation notices and pricing policies

Case study: Archiving web sites with wget and puppeteer

Why I switched from Ubuntu to Debian: Exiting the shopping mall

Confessions of a laptop window shopper

How to connect to a MySQL database server over SSL with Node.js

Nils printer e-post, eit påskeprosjekt

Sysadventures: Getting started with the Raspberry Pi 3 Model B+

How to add the Highcharts Editor to Sanity, or how to insert an octagon shaped block into a hexagon shaped slot?

Ansible+Git: My search for a build server setup that can last years

Recipe: Wrapping the default input widget in Sanity CMS

How to create access tokens with domain-wide delegation in GSuite using Node.js

Facebook-skandalene har stått i kø i 2018. Kva med å teste noko anna?

How to implement domain-wide delegation in GSuite using Node.js

Auth0 OpenID Connect compliant login: How to add app_metadata to id_token using custom claims?

What if you drew a map of the apps you visit?

Real Internet with Kodepoeten

Measure twice, code once: Hardcoding dangerous scripts

Debugging complex GraphQL queries with shortlinks to GraphiQL

Effective Hapi: Lessons learned leveraging the web-server framework

How to enable layout mode for Handlebars.js in Hapi.js

Slow days are nice

Hugo: How to add support for responsive images trough image processing and page bundles <3

How to build command line tools on shifting sands

mysql-parse og hamstr, to brukervennlege terminalprogram

Still alive, still social

Leaving Facebook

Spring cleaning code: Or deleting code that was actually important

How good code dies

Thunki er lagt ned og ei fin historie ligg igjen

Besting a time thief using Applescript

Craft CMS: How to persist logins in Redis between redeploys

E-commerce for alle penga

Talking code, breathing air

Ein introduksjon til NAV sine IT-systemer og IT-arkitektur

Getting wiser about Craft CMS caching (version 2.6)

Craft CMS, and the Need for Speed

Haskell, initial thoughts

Sysadventures: Switching from Android to iPhone

Film til folket

SysAdventures: 18 months of running my own mail server

git insticts

Blood as a debuggable data set

Lessons learned designing and redesigning an API

Let the junior handle it

Software is never done

Figuring out the error: “Detached entity passed to persist”

Fight the fear of being in production

Commented code is a code smell

Hørt på kjøkkenet

Lenovo: Cancellation right

Investing in a keyboard

Current status: 1-day “homecation”

Buss til Arboretet i Bergen

How to install ireport on Ubuntu

Why choosing a tech stack is about picking your battles

Sayonara Instagram

And then the day was over

Choice. The problem is choice.

Iceland: The arrival

Removing digital ceremony

Program for maintainability

Sysadventures: Escaping the Google (matrix)

Sysadventures: The one about desktop tweaking

How to learn web development

Sysadventures: Setting up mail-in-a-box

SysAdventures: The one about dual booting Windows and Linux

Tilbud til gründerar som saknar eit kontor

Community & programming: Some talks I’d like to share

Current status

Lederskap og frivillig arbeid: Tre råd

Å finne balansen i eit forhold

Meeting our first potential customers

Food comes to those who love doing a craft

$ gem uninstall hairball

Building presentation skills

Tips: Lag ein gjestekonto for powerpoint presentasjoner

Traveling to the Gathering and back: A nerd’s tale

Hvordan sette opp web server bak Altibox

EVE Online, realistic sci-fi war economics

Achieving an alternative to capitalism

Privacy is dead, long live privacy

How to build a thriving community

Those little lifehacks

Digital humanitarian work [seminar notes]

The big stories.

Current status

TEDxBergen impressions

sick week

Machine beauty: Organizing 88gb of photos

Current status: A postponed master thesis

Best of creative mornings

Kvite busser til Guantanamo?

Draum: Havanna Bergen

Entreprenørskap og LOTR, ein draum

Current status

Med klima på tanken(e), eit svar til Jarle.

Folk som tar til ordet [Videoer]

Forskningsbasert viljestyrke

Unngå overvåkning, tre tips

Den dekadente ytringsfrihetsøvelsen

Hacking Away a Sunday Night

The business party, a live action roleplaying event by Immaturus [Pictures]

A deed well done: Recovering some data

Å vere den ein er, i korte trekk

Konsulentrefleksjonar og statleg pengebruk

You don’t get to 11 million likes without a little friendly forcing

Mikael og Nils mimrer om sukkerpop

Gode steampunk vibber på Virtual Reality verksted

Invitasjon til medlem frå Spillmakerlauget til å teste LookingForGroup

App idea: Open file on tablet from computer remotely

Norwegian government and current hunger strikes in Guantanamo

My server revisited: Preparing for easter :)

For those who want to start a Pils & Programming

Booster2013 conference notes: On coding dojos & advice for student developers

Ein vellykka fagkritisk dag – Informasjonsvitenskap 2013

Ein rask tanke: Mediekalender

Mikael og Nils synser om hipsterar

Late night sysadmin’in: Repurposing my old laptop to serve up my master’s project

Programutvikling som teaterproduksjon

I’m wondering if I should try and start a tech cooperative (eit teknologisk samvirke)

Livstilshacking: Korleis bli kvitt facebook reklame og skilje vener frå bekjente

How reading-understanding, information searching and critical reflection should be core curriculum

Radio: Kan ein ta seg råd til kultur- og humaniorafag i framtiden? Ja, det trur eg.

Pils & Programming bør utdanne produktlederar

“My name is Nils, I procrastinate.”

A super yay for a super list of super dance videos. :)

DoingDo no. 1, bli ein e-post champ på 1,2,3

Some stuff I did, spring 2012

Masterliv: Har Facebook devaluert ordet ven?

Ide: Kva om SIB spelte SRIB?

Avspenningstimar hos SIB, o lykke! :)

Freebie: Nøkkelen til ein produktiv kvardag

Løsningsforslag: Veit du kor mange informasjonskonsulentar som jobbar på UiB?

Forslag til løsning – Rusavhengige og social gaming i Bergen

Masterliv: Ranting about where to upload my memories

Masterlife: ÜberCute

Masterliv: Managing time & attention

Tidbits: To have a foundation, a cube, a starting point

Tidbits: A teaching generation

2012: Året der me gjekk lei av Facebook, og tok nettlivet seriøst?

Masterliv: Tankar rundt eit kontantlaust samfunn

Masterliv: Sosialt påfyll

Å velga seg eit språk

Masterliv: Om produktivitet og sjakk

Class discussion of novel artifacts: Nekomimi – Pure possibilities

Masterliv, inntrykk i frå fyrste månaden.

Då Stoltenberg tok ein Obama

Poverty came knocking

Nyanga – 02

Nyanga – First day

The undertaking

“This country is running away from responsibility like a headless chicken”

Touching down in Cape Town

Sosialt entreprenørskap