đ€Ż Massive Tanker i 2025 đ€Ż
Et Är er gÄtt og jeg har brukt Clojure pÄ jobben pÄ fulltid i Team Servering. I tillegg har jeg sett litt pÄ programmeringssprÄket Zig.
I anledning av Ärsskiftet om noen fÄ uker kommer jeg her med en oppsummering av det jeg har brukt noe av tiden min pÄ i 2025.
Bloggposter
FĂžlg dopamin-hitsene
12. desember 2025
Ekspert pÄ utviklerverktÞyet ditt
21. oktober 2025
Git repo â En analyse
18. juni 2025
Terminal kos
22. februar 2025
Ă animere transisjoner mellom statiske sider
5. februar 2025
Clojure
Chipper Chapâs Chateau Github
En variant av Tripp-trapp-tresko i diverse dimensjoner skrevet i ClojureScript og Replicant.
Ungandr Github
Et uferdig eksperiment i Ă„ skrive et spill i terminalen med Babashka. Les mer i Terminal kos.
Du er Ungandr, et avkom av den legendariske Gormungandr, og har blitt vekket av brÄket fra gravearbeidet til et massivt kompleks. I blindt raseri stormer du inn i komplekset og forÄrsaker havari.
Repolyzer Github
Les in git-historikken til et prosjekt i en datomic-database og lag spĂžrringer for Ă„ vise dataene i diverse diagrammer. Les mer i Git repo â En analyse.
Jeg har ogsĂ„ gjort et lite stykke arbeid pĂ„ et D3-bibliotek i ClojureScript, men det er et godt stykke igjen fĂžr (eller hvis đ ) det blir ferdig.
Zig
I sommer fikk jeg lyst til Ä lÊre meg et lav-nivÄ-sprÄk for Ä prÞve ut minne-manipulering, spill-utvikling og skrive native applikasjoner. Jeg landet pÄ Zig og fÞlgende er resultatet:
zlides Github
Et slideshow som kjĂžrer i terminalen skrevet med Zig. Tar en tekst-fil som input og genererer et enkelt slideshow du kan navigere deg rundt i.
zansi Github
Zansi er et forsÞk pÄ Ä forenkle bruk av ANSI escape koder via hiccup.
[:bold " bold " [:fg/blue " blue "]]
;; =>
\x1b[1m bold \x1b[34m blue \x1b[39m\x1b[0m
Biblioteket sprang ut av zlides-prosjektet, som inneholder en basal syntaks highlighter for Zig-kode.
Zigme Github
Kjenner du til Make a Lisp? Det er en guide som hjelper deg med Ä skrive din egen lisp i hvilket som helst sprÄk. Zigme er lispen min jeg tukler med iblant.
Emacs
Da jeg startet pÄ Team Servering i januar byttet jeg til Emacs med configgen til Christian og Magnar. En tÞff og hard overgang, men jeg fÞler meg nÄ mer bekvem og effektiv enn noen gang fÞr, og jeg har til og med lagt til flere forbedringer til glede for meg selv og ikke minst teamet.
Keybindings
Les mer i Ekspert pÄ utviklerverktÞyet ditt.
C-c C-M-s
Pretty-printer verdien til top-level def.
C-c M-w
Evaluerer og kopierer resultatet til utklippstavlen.
C-c C-M-w
Evaluerer top-level form og kopierer resultatet til utklippstavlen.
C-c P
Magit er en pakke som gir deg et git-interface i Emacs. C-c p lar deg legge
til én medforfatter pÄ committen. En feature Magnar har lagt til. Da jeg begynte
i januar var vi plutselig mange pÄ teamet, og vi satt noen ganger tre eller fire
sammen og parprogrammerte. Jeg la derfor til C-c P som lar deg legge til
flere
medforfattere
pÄ committen.
Ekstra features
Print with e->map wrapped
I Matnyttig jobber vi veldig mye med entiteter fra Datomic-databasen. NÄr man
printer ut datomic-entiteter fÄr man noe liknende pÄ {:db/id 12345678}. For
enkelt Ă„ kunne printe ut verdiene i tillegg, har vi e->map som sĂžrger for
dette, men pÄ en mÄte sÄ vi unngÄr sykliske lÞkker.
Etter 11 mÄneder med Ä manuelt wrappe entiteter med e->map, fikk jeg heller
Emacs til Ă„ fikse dette for
deg.
Helt automagisk!
FĂžrste-klasses konsepter
I Matnyttig har vi mange fĂžrste-klasses konsepter som kan identifiseres med et
keyword. For Ä lettere kunne navigere rundt i koden vÄr og finne definisjonen pÄ
fĂžrste-klasses konseptene, utbygde jeg Emacs til Ă„ gjenkjenne
disse.
NÄ kan vi bruke goto-definition-funksjonaliteten i Emacs pÄ keywords som er
identifikator pÄ et fÞrste-klasses konsept.