Michael Odden

Selvstendig utvikler


Hvem er du, og hva holder du på med?

Heisann! Michael her. Så hyggelig å få kunne snakke litt om meg og mitt! Dette kan bli langt, så beklager på forhånd.

Av yrke så er jeg utvikler, og for tiden driver jeg som selvstendig konsulent.

Av utdanning har jeg fagbrev i IKT-driftsfag far 2005, og en bachelor fra (den gang) Høgskolen i Buskerud innen dataingeniør-linjen “Simulering og spillutvikling” fra 2011. Mesteparten av mitt yrkesaktive liv siden har jeg jobbet med safetykritiske sanntidssystemer, men har vært innom et knippe ulike teknologier og domener; web, desktop, embedded, spill, forsvar, maritimt, statlig… Men det har vært lite metallnær utvikling i oppdragene de senere årene, så det er en kløe jeg enn så lenge fortsetter å stille på andre plan.

I oppdraget jeg er i nå så hjelper jeg primært kunden (middels stor statlig institusjon) med å bygge opp en overvåkningsløsning for deres IT-infrastruktur og applikasjonsportefølje.

I regi av eget selskap så går det i utvikling av spillkonsepter, nytteverktøy (ihvertfall for meg!) og sære one-offs / nisjeapplikasjoner:

Det kan være greit å nevne at spesifikke særheter ved meg innen fagfeltet og dens utøvelse er at jeg er spesielt glad i kontroll, enkelhet og ytelse.

Hva slags hardware og dingser bruker du?

Generelt er min filosofi at jeg ønsker å være kapabel til å gjøre en størst mulig mengde jobb på ethvert vanilla PC-oppsett. Dette medfører at jeg aldri har gått til noen ekstremiteter hva gjelder produktivitets-grep og fryktelig sære konfigurasjoner. Jeg liker generelt sett singel-skjerm og QWERTY-tastatur.

Allikevel har jeg jo akkumulert en del ting over tid… I praksis så har jeg 3 oppsett det kan være kjekt å skille på:

  • Hjemmekontor-oppsettet som primært er koblet opp mot laptopen jeg bruker i det gjeldende oppdraget
  • Stasjonær PC med litt mer guffe som brukes til å teste/jobbe med ting som er mer ressurskrevende
  • Frittstående laptop brukt til storparten av intern-utvikling

Videre så tar jeg meg den kunstneriske friheten å gå for all hard-vare mer enn kun elektronisk maskinvare, og på den måten inkludere noen analoge aspekter av oppsettet mitt også. (Jeg sa jo at dette kunne bli langt…)

Først av alt; hva jeg strengt tatt må ha for å kunne trives:

  • Laptop - jeg har de siste ~15 årene tydd til MacBook Pro. Men entusiasmen der har begynt å dvale. Jeg er egentlig veldig gira på en unnskyldning for å kunne kjøpe meg en Framework laptop.
  • Notatblokk (helst svakt rutet) og blypenn (0.5mm / 0.7mm)
  • Et ålreit headset - arbeidshesten over lang tid har vært Beyer Dynamics DT770, de siste årene komplementert av noen AirPods pro.

Alt annet jeg har videre her er kun mindre forbedringer, nice-to-haves osv.

Vel! La oss dykke ned i den faktiske materien her.

“Hjemmekontoret”
Hjemmekontoret
“Compute-heavy”
Den kraftige maskinen
Frittstående laptop
Laptopen
  • MacBook Pro (mid-2018)
Felles/flytende ekstrautstyr
Diverse annet jeg har i skuffen eller hengende rundt omkring
Kafferiggen

Og hva slags software?

Operativsystem: macOS, Windows 10, NixOS

Jeg har så langt vippet i favør macOS, men må si at jeg setter pris på mye ved NixOS. Skal ikke skryte på meg å være på toppen av alt der - men den har gjort det overkommelig å spesifisere opp et rimelig ressurseffektivt miljø hvor jeg står fritt til å fokusere på det som betyr noe.

Editorer: vscode, neovim, nano

Ofte i løpet av dagen, og ihvertfall igjennom uka så beveger jeg meg innom et godt sett ulike teknologier, så det er viktigere for meg å ha en konsistent opplevelse heller enn å ha supertett integrasjon med hva-nå-enn. Multi-cursor og god regex søk/erstatt er mine venner.

Jeg har i en periode brukt vscode som utgangspunkt. Kanskje mest av latskap. Men, blodtrykket mitt har ikke godt av dette lenger, så jeg er på aktivt søkende etter en vei vekk fra den. En OK konfigurert neovim (tester ‘nvchad’-distroen nå) ser så langt ut til å være en grei vei. Tiden vil vise!

Terminal m. tilbehør

Jeg er stor fan av terminal. Det er noe av det som gjør at jeg kan gjøre mye av jobben min effektivt på tvers av maskiner, miljøer, nettverksgrenser og teknologier. Ofte kan jeg leve med standard-emulatorene til OSene jeg er i, og ellers har jeg Alacritty på lur når jeg trenger en litt mer effektiv løsning. Jeg har dessverre opplevd en del ustabilitet med Alacritty, så det er ikke udelt elsk der.

Men, viktigere er vel hva jeg kjører i terminalen, og noen gjengangere hvor enn jeg beveger meg er da: tmux, watchexec, hyperfine og prosit, og iblant også sapt.

Språk / compilere

I disse dager så er det en fordeling mellom C#, Python + diverse web-relatert på ene siden (oppdrag) og Zig og C på andre siden (interne prosjekter).

Notater / nytteverktøy

Jeg brukte lenge Evernote, men har en god tid vært på søken etter en bedre ytende, mindre forstyrrende og mer stabil løsning, som i tillegg lar meg selv ha full kontroll over mine notater.

I en periode kjørte jeg standard editor med Markdown-forhåndsvisning mot et dedikert git-repo, før jeg så fant Obsidian som bare gjorde det mye bedre. Hadde de bare hatt native applikasjoner så hadde den vært så godt som perfekt!

Hva er drømmeoppsettet ditt?

Oi. Det er et godt spørsmål. Jeg har vel ikke egentlig noe klart fastsatt mål her, og justerer bare litt og litt etterhvert som jeg finner muligheter. Om noe kunne jeg tenkt meg større bordplass, med dedikert plass til tegnebrett mm. Kanskje noe ala slik arkitekt-pult med skråstilt arbeidsflate?

Skulle vi tatt det lenger så hadde det selvsagt ikke vært å forakte å ha en skjermet hytte i skogen. Kanskje ved en innsjø til og med.