Magnus Rundberget

Systemutvikler

Magnus er en ringrev som er like engasjert (om ikke mer) i faget sitt nå, som da han skrev sin første Othello implementasjon på høgskolen. Han er analytisk av natur og nøler ikke med å brette opp ermene for å sørge for at rikig ting blir levert så fort som mulig med så høy kvalitet som mulig.

Med sin bredde og erfaring kan Magnus ta mange forskjellige roller i et prosjekt. Han passer nok aller best i team med fokus på hyppige leveranser og kontinuerlig forbedring. Læring er noe som er veldig viktig for Magnus og han er like opptatt av å dele kunnskap som han er av egen utvikling.

Drømmeprosjektene til Magnus er der han får være med å på hele reisen med å løse problemer og realisere ideer i fungerende kode. Når Magnus jobber med videreutvikling av eksisterende løsninger, er han alltid opptatt av hvordan man kan gjøre ting bedre. Magnus bidrar ofte med å sette opp eller forbedre CI/CD prosesser, komme opp med tiltak for redusering av teknisk gjeld eller med å ta grep for bedre brukeropplevelser og smartere prosessautomatisering.

Magnus har i de siste årene blitt svært opptatt av funksjonell programmering både med og uten sterk statisk typing. Programmeringsspråk som ClojureScript og Elm og deres underliggende ideer, har gjort at han har kastet seg over frontendutvikling med stor entusiasme.

I perioder er Magnus svært aktiv med å bidra til OpenSource. Motivasjonen for å gjøre det er drevet av ønsket om å lære, følelsen av å gi noe tilbake samt å dele kunnskap.

Teknologi

Favoritter for tiden:
Bruker på jobben:
Elm, Kotlin og XML
Vil lære mer:

Magnus' anbefalinger

Inventing on principle
Tooling og Design

Fantastisk foredrag av Bret Victor. Programmering er et kreativt yrke. Det er antageligvis mye lettere å være kreativ dersom man kan ta, se, observere og endre helt fritt og dynamisk på et kjørende program. Hadde det ikke vært digg å kunne spole tilbake det du nettopp gjorde i appen din, endre noen parametere og så kjøre på nytt. Kanskje tom for å sammenligne. Dette foredraget var bl.a med på å inspirere mye av tankene rundt verktøy som Light Table og programmeringspråket Elm

Se foredraget
Let's be Mainstream

Evan Czaplicki (forfatter av Elm) forsøker å få med hardcore funksjonelle programmerere (med en hang for typer) til å begynne å kommunisere med utenforstående på mer forståelige termer. Etter å ha sett denne fikk jeg endelig lyst til å kikke på et typet funksjonelt språk.

Se foredraget
Test-driven JavaScript Development

Dette foredraget av Christian Johansen var en grunnene til at jeg i stor grad kastet jQuery-scripting på båten. En inspirerende og lærerik testdrevet sesjon hvor man lager en autocomplete-komponent.

Se foredraget

Magnus snakker gjerne om

Fluefiske

Du går langs en deilig elv omringet av flott norsk natur. I sidesynet ser du plutselig en liten uregelmessighet i vannoverflaten. Du stopper for å kikke. Etter en liten stund ser du en ørret som forsiktig stiger til overflaten og slurper i seg en liten døgnflue. Pulsen stiger, du skifter flue og navigerer deg forsiktig i posisjon for å kaste …

Bloggposter

Snasen rutehåndtering i Kotlin med Arrow.kt

Kan du få rutehåndteringskoden din til å ha robust feilhåndtering og være lettlest/lett å vedlikeholde? Kanskje?! Vi tar en titt på hvordan man kan bruke Arrow.kt som et hjelpeverktøy når man implementerer rutehåndtering i Kotlin.

Les artikkel
Deklarativ validering av json i TypeScript

Du validerer vel json fra rest-kallene dine før du slipper dem løs i den nydelige typesikre domenemodellen din? Kanskje du ikke gjør det, eller bare delvis, fordi det er skikkelig tungvint?

I denne bloggposten ser vi på hvordan biblioteket Zod kan hjelpe deg over kneika, slik at du virkelig kan begynne å stole på typene dine.

Les artikkel
Lage ditt eget websocket-bibliotek som en tilstandsmaskin?

I jula som var satt jeg og nerdet litt innimellom all julekosen. Jeg prøvde å finne et lite bibliotek for enkel håndtering av websockets i en nettleserapplikasjon. Nå følger det jo med en standard WebSocket implementasjon i alle nettlesere, men jeg ville også at den skulle ha støtte for automatisk gjenoppkobling og pulskontroll mot server. Etter å ha søkt litt på npm som seg hør og bør, fant jeg ikke noen som helt fristet å dra inn. Kanskje jeg skal lage et lite bibliotek selv da? Hva om jeg implementer det ved å basere meg på en Finite State Machine i bunn? Det hadde vært digg om biblioteket hadde en funksjonell kjerne og at sideeffekter håndteres separat. Her er det bare å brette opp armene å se hva vi kan få til.

Les artikkel

Foredrag

Screencasts

Sideprosjekter

Light Table

Etter å ha vært en ivrig bruker av Light Table i 1,5 år, bestemte jeg meg sommeren 2015 til å ta steget opp å joine opensource teamet til Light Table for å forsøke å gjenopplive prosjektet. Det er nok å ta tak i for å si det sånn !

Bidrag til fri programvare

  • TypeScript WebSocket Machine - Klientbibliotek for websocket-kommunikasjon i nettleser. Bygget rundt en tilstandsmaskin med støtte for automatisk gjenoppkobling og pulskontroll.
  • Elm Bootstrap - Elm bibliotek for å lage responsive webapplikasjoner med Twitter Bootstrap 4.
  • Elm Light Table Plugin - Light Table plugin for Elm. Syntax-highlighting, repl/inline eval, elm reactor integrasjon mm
  • rewrite-cljs - ClojureScript port av rewrite-clj. Bibliotek for traversering og omskriving av Clojure/ClojureScript/EDN- kode
  • Clj-Light-Refactor - Plugin som gir Clojure refactoring support til Light Table
  • AsciiLight - Light Table plugin for live-edit visning av Asiidoctor dokumenter
  • lt-snippets - Snippet/templates plugin for Light Table
  • LightTable InstaBuster - Light Table plugin for BusterJS
  • LightTable-Groovy - Groovy plugin for Light Table. Steg 1 er å lage et langt bedre Groovy Console. Steg 2 er helt åpent. Sky’s the limit!
  • gradle-buster-plugin - Gradle plugin for å kjøre JavaScript tester via BusterJS i jvm prosjekter
  • Har bidratt til node-test-runner, buddy-auth og gradle-ssh-plugin

Prosjekter

Stiftelsen Lovdata
Elm, Kotlin, Solr, MariaDB og GitLab

Lovdata har i en tid arbeidet med å lage en ny versjon av det juridiske arbeidsverktøyet Lovdata Pro. Den nye og kraftig moderniserte versjonen skal være langt mer mobilvennlig, men får også betydelige løft på en rekke andre områder.

Magnus ble opprinnelig leid inn til prosjektet for å tilføre mer ekspertkompetanse på Elm. Han jobber i prosjektet som fullstack utvikler og vil i tillegg tilføre kompetanse på arkitektur og utviklingsmetodikk

The Social Gaming Group
Clojure, Ansible og GitLab

I 2018 var Kodemaker med på å utvikle software for forskjellige spill knyttet til darts. Disse ble lansert ved åpningen av utesteded Oche. Siden deg gang har man utviklet tilsvarende for Shuffle og ekspandert til langt flere installasjoner over hele verden. Kodemaker ble engasjert for å hjelpe til med å effektivisere og strømlinjeforme utrulling av ny software som kan skalere i takt med ønskede vekstambisjoner.

Oppgavene til Magnus omfattet:

  • Oppsett av byggepipelines i GitLab
  • Utvikling av ansible playbooks for oppsett/installasjon av spillsoftware
  • Utvikling av en tjeneste for asynkron installasjon (skrevet i Clojure med en PostgreSQL DB)
FFL AS
Kotlin, Swift, SwiftUI, Google cloud run og Firebase

Fantasy Football sjangeren er et stort og voksende marked. FFL som en ny og ambisiøs aktør, ønsker å ta en ledende posisjon. Det skal utvikles et engasjerende, morsomt og svært brukervennlig spill. Da muligheten for å være med på utviklingen av dette produktet dukket opp, var det to av Kodemakers mest fotballgale utviklere som øynet drømmeoppdraget.

Kodemaker er ansvarlig for utvikling av app, backend og integrasjon mot 3.parts leverandører av data. Vi er også ansvarlig for å etablere rutiner for CI/CD, devops og utvikling av nødvendige verktøy for administrasjon. Selvfølgelig forventes det av vi bidrar med domenekunnskap og kreative innspill/løsninger som bidrar til et best mulig produkt.

Rolle: Fullstack-utvikler, DevOps, Tech Lead

Se flere prosjekter

Referanser

Daniel Haukaas
Produkteier, FFL AS

«Det var både gøy og lærerikt å jobbe med Magnus på fantasy football-prosjektet FFL i 2022. Magnus er flink til å se helheten og tenke nøye igjennom valgene man tar før man begynner å implementere, noe jeg satt stor pris på når vi jobbet sammen. Vil absolutt anbefale Magnus videre.»

Simon Herberg
Architect, Telenor

«Karl Magnus was part of a team that upgraded our JAVA and Weblogic software. In addition he was the driving force behind the replacement of Maven 1.x with Gradle for our build system. He worked well both within the team and on individual tasks.»

Mitul Thobhani
Owner and Co-Founder, Portfolio Software Limited

«Magnus is one of those rare individuals who has the ability to understand a concept at the high level as well as the implementation minutia at the same time. His skills and deep experience in software architecture along with his professional, patient and calm nature allowed me to gain not only the information needed about the project on which we worked, but insights and inspiration in the more general field of software development.»

Se flere referanser