Hvem er du, og hva holder du på med?
Jeg heter Theodor (Eller “Theo” her i Danmark) og har nylig hatt en identitetskrise som har gjort at jeg har flyttet fra min koselige konsulentjobb sammen med fine folk i Blank, til et helt nytt land.
I januar flyttet jeg til København og jobber nå i DR (Danmarks Radio!) som udvikler på deres nyhetsapp. Appen er skrevet i React Native og vi jobber også tett på de andre teamene som bygger dr.dk og infrastrukturen rundt (CMS, cache, etc). For øyeblikket lærer jeg meg litt C# siden vi er i en prosess i å ta over en ny service som håndterer push notifikasjoner i appen. På siden prøver jeg sakte, men sikkert å lære meg C, fordi jeg føler jeg aldri fikk gjort det ordentlig. Har også som mål om å komme med på lufta på DR sin P3-ekvivalent, men har ikke infiltrert redaksjonen helt ennå 😣
København er en utrolig fin by, og jeg elsker å sykle rundt i byen. Det er så ufattelig mange bodegas, pubber og restauranter på nesten hvert eneste hjørne som gjør at jeg tror danskene spiser og drikker ute nesten hver dag.
Skal innrømme at mitt personlige alkoholkonsum også har steget deretter :). Ellers så prøver jeg å lære danskene verbet “å pilse” og konseptet at noe er “harry”. Sistnevnte er overraskende vanskelig å forklare!
Etter en fullført master i Datateknologi i 2022 har jeg skrevet mengder med Typescript og egentlig kost meg med det. Matt Pocock sitt “Total Typescript” gjorde virkelig at jeg føler meg som en “Typescript Wizard”. Utrolig glad for at teamet jeg jobber i bruker det og kan egentlig aldri se for meg å skrive noe “vanilje”-javascript med det første.
Typescript er et helt utrolig prosjekt og selv om det er litt som å putte sminke på en gris, synes jeg det er gøy å leke med typesystemet. Anbefaler å sjekke ut Branded types og “template literals”! De kan være praktiske og gjør det tryggere å jobbe med strenger i mange tilfeller.
Ellers samler jeg på hobbyer. For øyeblikket så er det løping (Support your local Park Run), sjakk og vektløfting. Prøver også å legge ut litt ting på bloggen min, shitposte litt på Mastodon (og motvillig litt på Twitter, Bluesky er kanskje neste?). Nylig har jeg fått dilla på Osu og Mario Kart igjen.
Jeg har også blitt obsessed med Grundtvig kirke som bare er så utrolig fin og ligger rett i nabolaget:
Hva slags hardware og dingser bruker du? 🪚
I studietiden min brukte jeg for det meste Manjaro Linux med i3 som “tiling” window manager. I tiden min hos Blank rocket jeg en Thinkpad med Ubuntu (Arch/Manjaro ble litt for cutting edge for en jobbmaskin følte jeg).
Nå som jeg lager apper for iOS er jeg nødt til å ha en Mac (😔). Jeg hadde store håp med å bytte til Mac, men må innrømme at jeg er skuffet. Selv med en fullspeccet Mac (M3 Pro) får jeg fortsatt en del graphical glitches og treg maskin. Jeg tror maskinen sliter med en del thermal throttling som jeg ikke helt forstår.
Misfornøyd med Mac-en: – Vifta går altfor ofte og bråker veldig
Jeg synes også at MacOS mangler litt på poweruserfronten. For eksempel window management er ganske dårlig. Jeg vet det finnes flere tiling window managers til MacOS, men har ikke kommet meg rundt til å teste det ennå.
Nylig har jeg gått til innkjøp av et svindyrt split-keyboard. Det heter ZSA Voyager, har low profile switches, er ortholinear og har kanskje litt for få taster (52 vs 72 på min Macbook). Det har to thumbclusters og uendelig med konfigurasjonsmuligheter. Det tar en god tid å bli vant til, men det er deilig i bruk. Spesielt ortholinear var litt vanskelig, men jeg nærmer meg 100 wpm hvor jeg vanligvis er oppe i 120 wpm på Macbooken. Jeg valgte også blanke keycaps for maksimal hackefaktor. Kommer det til å gjøre meg mer effektiv? Mest sannsynlig ikke, men det er veldig gøy!
Siden tastaturet har så få taster, prøver jeg noe som heter “homerow mods”. Med dette er de fleste modifer keys (Ctrl, Alt,Cmd,Shift) tilgjengelig fra “homerow”, altså på ‘asdf’ og ‘jklæ’. (Fun fact, den eneste forskjellen mellom et dansk og et norsk tastaur er rekkefølgen på ‘æ’ og ‘ø’ på tastaturet). Jeg er f.eks nødt til å holde inne “f” eller “j” for å få Control.
Jeg legger ved en lenke til konfigurasjonen for de spesielt interesserte. For øyeblikket er homerow mods bare en ekstra kognitiv last, men jeg er optimistisk om at det skal bli effektiv til slutt🤞. Legg merke til at jeg kan bytte til et av de andre “lagene” for å få enda flere taster med den ene tommelknappen på venstre hånd. Jeg har også et tredje lag som gjør at jeg kan styre musepekeren med tastene.
Ellers er jeg glad i løpeklokka mi fra Garmin. Eneste er at jeg mister laderen hele tiden 🙃
Og hva slags software? 💾
Jeg har hatt perioder med obsession over “tastaturorientertarbeidsflyt” (som vi sier på godt norsk). Derfor bruker jeg også Neovim med 50+ plugins og det personlige git-repoet med flest commits er såklart dotfilene mine.
Som editor har jeg brukt Vim/Neovim til nesten alt de siste 5-6 årene. Når jeg har blitt tvunget over til noe annet, for eksempel til Java/Kotlin/Scala eller C#, så må jeg ha Vim keys til å fungere.
Interessant nok bruker den raskeste utvikleren jeg kjenner (Hei, Freddy) vanilla VScode, så jeg vil ikke alltid si at det står på verktøyet for å raskest konvertere løsning du har i hodet til kode. For meg har det blitt mer en hobby og jeg liker utrolig godt å fikle med oppsettet mitt for å få det akkurat som jeg vil.
«Jeg liker utrolig godt å fikle med oppsettet mitt for å få det akkurat som jeg vil.»
Jeg kunne skrevet flere paragrafer om alle de custom konfigurasjonene jeg har gjort, men vi holder oss til Neovim for denne gang. Alle dotfilene mine kan du finne på github.
For øyeblikket har jeg 53 plugins og circa 650 linjer med config. Med alle disse pluginsene får jeg full LSP, copilot, Git-integrasjon, databasebehandling og mye mer. Alt med praktiske keybindings så jeg slipper å bruke musa. En av favorittene er Neogit som gir en Git-klient som fungerer veldig likt som Magit for emacs. Oppsettet er ikke helt stabilt og kanskje ikke superpraktisk, men funker utrolig godt for meg.
Jeg har også en keybinding for å enkelt få opp en terminal med tmux. Jeg er glad i terminalen (sjokk!), så jeg fortrekker ofte cli-verktøy over GUI. Mye av muskellminnet måtte jeg dessverre gi opp når jeg fikk nytt tastatur, men det kommer seg! Jeg har to blogginnlegg som dekker noe av dette. En om plugins og en om configurasjon av skallet i terminalen (de er dog litt utdaterte).
– Hver gang jeg kjøper en f**kings ovn vil den på nett
Hva er drømmeoppsettet ditt? 💭
Kort sagt: Mac Hardware + NixOS + Voyager + 1 stk 4K 27 tommer skjerm.
Jeg drømmer (og muligens romantiserer ideen) om å ha et helt vilt Nix-oppsett. Jeg har prøvd hvert fall 5 ganger å lære meg Nix, men har stoppet opp hver gang. Tanken om å ha tekstfiler som beskriver akkurat sånn jeg vil ha maskinen, virker veldig lovende. Fortsatt stolt av min lille commit i Nix som fikser noe dokumentasjon. (Hvor godt kjent er DU med “->” som en boolsk operator??).
Jeg skulle gjerne hatt sånn 1 år til å forbedre Neovim-oppsettet mitt. Muligens bidratt til noen plugins og gjort hele editor-opplevelsen super “comfy”. Personlig har faktisk Lua vært en terskel for meg for å gjøre mer custom ting.
Men jeg er virkelig spent på hvordan editor-landskapet ser ut om et år nå som det kommer så tett LLM-støtte i mange editorer.
Personlig så ser jeg en stor verdi i å ha det tilgjengelig i editoren når man lærer noe nytt og som en smartere autocomplete. Det hadde tatt meg så sykt lenger tid å komme i gang med C# og C alene hvis jeg ikke hadde hatt Claude/ChatGPT tilgjengelig. Og i mitt daglige arbeid sparer jeg en del unødvendig tenking og tastetrykk som gjør at jeg raskere kan fokusere på den viktige og interessante delen av oppgavene. Jeg har testet en LLM-integrasjon for Neovim (Avante.nvim), men det er fortsatt veldig WIP og har litt oppstartskostnad.