This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-09-18
Channels
- # announcements (10)
- # babashka (21)
- # beginners (99)
- # biff (66)
- # catalyst (3)
- # cherry (1)
- # cider (11)
- # clojure (38)
- # clojure-austin (3)
- # clojure-dev (23)
- # clojure-europe (21)
- # clojure-hungary (10)
- # clojure-nl (2)
- # clojure-norway (57)
- # clojure-uk (2)
- # clojurescript (9)
- # cursive (6)
- # fulcro (5)
- # hyperfiddle (14)
- # integrant (4)
- # introduce-yourself (3)
- # lsp (24)
- # off-topic (14)
- # reagent (12)
- # reitit (13)
- # releases (8)
- # sci (16)
- # shadow-cljs (8)
- # solo-full-stack (1)
- # spacemacs (5)
- # squint (3)
- # xtdb (14)
Uten å flagge alt for klart hvor jeg står, ei heller for å bringe for mye politikk inn i kanalen, men: Det påstås at man kan effektivisere offentlige virksomheter ved å privatisere dem. Gitt at man sjelden bytter ut dolka på gølvet når man privatiserer, burde man kunne trekke slutningen at folk blir mer effektive når man jobber i det private enn når man jobber i det offentlige. Da må man også kunne slutte det motsatte, at å gå fra det private til det offentlige medfører mindre effektivitet. Jeg lurer derfor på om @christian767 og @magnars, som nå vel har jobbet en måned(?) i det offentlige kan kommentere? Har dere blitt merkbart mindre effektive siden dere begynte i det offentlige?
Det er nok for tidlig å konkludere, men hittil har jeg ikke hatt så mange laid-back dager på jobb.
Det har altså kun gått to dager, og foreløpig har det vært mye læring, så i antall kodelinjer er det hittil noe mindre effektivt, men la oss ta opp tråden om en måned.
Sa erfaring etter to dager er at antall linjer kode har gått ned. Hypotesen styrkes altså.
Jeg tror kanskje til og med at det er på tide a konkludere med at mattilsynet må privatiseres
Det jeg kan si er at min nye, statlige arbeidsplass har den mest fremoverlente produktorganisasjonen jeg har sett. Disse menneskene forstår og tar autonome team på alvor i langt høyere grad enn noe annet selskap jeg har vært i - inkludert en god slump private selskaper.
Jeg klarer ikke helt å bli begeistra for Polylith https://clojurians.slack.com/archives/C06MAR553/p1694925153126529. Jeg er usikker på om det er NIH som slår til, eller at det faktisk er sånn at det ikke løser problemer for oss.
Jeg har ikke satt meg inn i hele greia, men tok ham på ordet og leste akkurat den siden. Følte det stråmanna valgmulighetene veldig.
Jeg synes @christian767 har et godt poeng når han stiller spørsmålet om hva Polylith er, er det en arkitektur eller et verktøy. Jeg tror at jeg muligens liker arkitekturen (klart adskilte komponenter med klare oppgaver) men er ikke begeistret for hverken implementasjonen (et tomt interface
ns som bare delegerer til impl) eller verktøyet, som er mer eyecandy enn annet.
Jeg tror videre at jeg kanskje liker muligheten for å bare kjøre tester for de tingene som er relevant, men vi har løst det (dyrt) gjennom å kjøre alle tester hele tiden fordelt over (for tiden 34 bokser i Circle)
Jeg er også skeptisk til ideen om å “bare innføre Polylith på denne big-ball-of-mud-greia-vi-har og håpe at interface’ene bare dukker opp. Det vanskelige er å finne/definere/rendyrke interface’ene, det lette er å innføre nok et verktøy.
Hvor mange tester har dere @slipset? Og typisk hvor lang tid tar det å kjøre dem lokalt?
Jeg har allerede en løsning for å kjøre relevante tester etter en endring, det kalles et REPL. Når ting skal bygges ønsker jeg aktivt at absolutt alle testene kjører.
Ser ut til at vi har 1942 tester, mesteparten av dette er integrasjonstester, dvs treffer api’et og snakker med databasen (vi kan ha en separat diskusjon rundt denne strategien):
(deftest scenario-crud-test
(ardoq/as :org-admin
(testing "scenario-creating"
(let [scenario (:scenario (api/create-full-scenario {:name "my-scenario" :componentIds [] :referenceIds []}))]
(is (core/id? (:scopeId scenario)))
(is (core/id? (:branchId scenario)))
(is (api/scenario-in-sync? (core/id scenario)))
(is (= scenario (api/scenario (core/id scenario))))
(is (= [scenario] (api/scenarios)))
(is (= "updated-scenario" (:name (api/update-scenario
(assoc scenario :name "updated-scenario")))))
(api/delete-scenario (core/id scenario))
(api/has-status? 404 (api/scenario (core/id scenario)))))))
Å kjøre alle disse nittenhundreoghvitkål testene lokalt gjør jeg aldri, det lar jeg Circle gjøre for meg.Å kjøre en test lokalt tar ikke lengre tid enn at det er verdt det, men det er helt avlyst å kjøre alle testene for et ns på save, sånn som dere gjør i zombie.
Mest tiden brukes på å starte Systemet (ift Stuarts Component), og en del av den tiden går til å opprette DB koblinger og kanskje kjøre migrasjoner og så rydde DBen etter testene. Da vi byttet fra å gjøre dette for hvert test til for hvert ns så ble destene mye raskere - men også mer “fragile” pga interaksjon mellom testene, so vi gikk tilbake til per test. Om vi bare hadde Datomic… 😭
Vi hadde også mange integrasjonstester som traff databasen på Fortum, men det var ikke verre enn at det helt fint lot seg gjøre å kjøre et namespace lokalt.
Min praksis har vært å evaluere en og én test mens jeg jobber, og så evaluere hele namespacet når jeg er i mål med en endring, gjerne med kaocha i terminalen (for å avdekke om jeg har tilstand i REPL-et som lurer meg)
Nei, vi pleier å like å ha dette på rundt 5 min, også tar vi en titt når det blir over 10 min for å få det ned til 5 igjen.
Så akkurat nå er det da tydeligvis sånn midt mellom raskt og treigt, men ikke treigt nok til at noen gidder å bruke tid på å fikse det.
Men jeg ser at Circle har et fint dashboard som viser oss hvilke tester som er treige.
> test-workspace-ids->subgraph > Classname: > ardoq.graph.tmp.subgraph-test > File: > Source: > test > 1m 47s > 93 > 100%
Hmm, @leif.eric.fredheim jobber i det private (selvom han sikkert vil si at han er på pappaperm) og stempler inn kl 0912, mens @christian767 og @magnars jobber i det offentlige og har allerede vært flere timer på jobb.
I mitt forsvar var jeg på kontoret kl. 08:46 i dag, men var litt treig med å komme meg inn på Slack 😂
god morgen! Apropos politikk, i dag har jeg (inspirert av @christian767) abonnert på VG+, for å finansiere at de fortsetter å røyke ut innsidehandlerne en etter en
Jeg stod opp kl. 05:30, men… baby… hund… frokost… oppvask… etc.
Regnværsdager er verst med denne krølltoppen her. Han blir så skitten! Det tar tid å dusje og tørke hunden med hårføner 😅

@slipset Privat kontra offentligt. Intressant diskussion. Vänstern i Sverige gapar alltid om vinster i det privata när det gäller sjukvård, men vill aldrig prata om svinn i det offentliga som aldrig behöver bekymra sig om vinst, utan kan alltid hämta mer pengar ifrån skattebetalarna. Tror jag gärna hade sett en bättre diskussion om svinn i det offentliga, då de (i princip) aldrig tillåts gå i konkurs. Tror också det är ett misstag att låta vissa offentliga institutioner gå från statliga institutioner till att efterapa det privata. En institution har tyngd och upprätthåller standarder över tid. Gravitas, om man så vill. Det privata ändrar sig ofta efter tidens anda, och när det offentliga efterapar det privata för mycket, så saknas bärkraft över generationer. My2c 🙂
Forrige uke har jeg holdt på å fikse noen Pipelines i Azure DevOps for en tjeneste som ikke har blitt endret og redeployet på tre år 😅 To steg frem, ett steg tilbake. Det føles lite produktivt.
Det er veldig interessant å ha deg her @leif.eric.fredheim, fordi du på en måte representerer “gutta på gølvet” og hengemyra de sliter med. Samtidig ser vi på https://www.linkedin.com/feed/update/urn:li:activity:7108184801152557057?updateEntityUrn=urn%3Ali%3Afs_feedUpdate%3A%28V2%2Curn%3Ali%3Aactivity%3A7108184801152557057%29 at det går så det griner fra et litt høyere utsiktspunkt.
Det er ikke så ille som det kan høres ut "på gølvet" egentlig, men det høres kanskje sånn ut fordi det er de negative tingene en ofte trenger hjelp med, eller få ut frustrasjon om. Det er mye positivt med IT-avdelingen her, spesielt på det menneskelige plan, hvor vi satser på omskolering av ansatte til utviklere, og ansetter folk som er i ferd med å omskolere seg, etc. Men det har vært mye tung utvikling under modningsprosessen, og vi har gått fra veldig høyt konsulentbruk til å satse på interne utviklere med de utfordringene det medfører. Men generelt vil jeg si det er et ganske godt miljø her. Nå jobber vi mest med å nedbetale teknisk gjeld som har bygd seg opp over lang tid.
Hvilke verktøy bruker man i Clojure-verdenen for CI/CD forresten? :thinking_face: Jeg har tidligere brukt Team Foundation Server, Jenkins, TeamCity, Bamboo, Azure DevOps og GitHub Actions. Er det noen av disse som er mer "Clojure/JVM-vennlige?" I Funcom hadde vi et 100% hjemmelaget build- og deployment system, men det var før disse "hyllevarene" fantes.
Vi bruker CircleCi av gammel vane, har vurdert å bytte til GA. Uansett er vel alt sånn skybasert basert på docker og sånt, så jeg tror ikke det spiller noen rolle.
Privat vs offentlig: Min mening er privat funker bra når det er lett å prise det som lages. Feks grønnsaker, datamaskiner eller biler. Det er typisk flere som kan produsere produktet, og flere aktuelle kjøpere av samme produkt. Så har man enkelte ting som er vanskelig å prise. Hva er et bibliotek verd? Hva med en skolegang? Hva er en skolegang? (vanskelig å definere en vare). Veier, togskinner, helsevesen, global oppvarming, luftkvalitet, kultur. Synes det blir rart når folk tenker at man "bare må prise det", så er ting løst. Programvare synes jeg er vanskelig å prise. Programvare lages både av det private og det offentlige. Men når programvare lages privat, selges typisk ikke programvaren, men produkter eller tjenester :thinking_face:
Kanskje vi burde bruke offentlige midler til å lage open source programvare? Det er det jo mange som mener. Programvare har mye til felles med kunnskap. Gratis å kopiere. Vi har forskningsrådet og universiteter som "lager kunnskap", de bruker vi mye offentlige penger på.
på musikkhøyskolen fikk jeg høre at teknisk sett kunne hvem som helst komme inn på min ukentlige en-til-en spilletime, siden all undervisning på høyskoler og universiteter er åpent for alle. Stemmer det? :thinking_face: Kan hvem som helst dra på hvilken som helst forelesning på Blindern?
På NTNU var det aldri noen som sjekket hvem du var i døra. Og på dagtid var alle dørene åpne. Så du hadde fint klart å snike deg inn i alle forelesninger jeg var på i Trondheim. Gjetter at det ikke er noe strengere på UiO!
For å ta ekseamen må du melde deg opp. Men da må jo noen sørge for at det er plass til deg.
Apropos åpen kildekode så har ihvertfall @magnars og jeg som ambisjon å lage alt vårt så åpent som mulig.
har første pr klar, hvis du trenger noe å starte med 😄
(condp >= tilsynsgrad
0 "🙁"
5 "😐"
10 "😄")
Hot take: dette feltet bør være public: https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentArrayMap.java#L34
Jeg tror det @augustl viste ovenfor kan være sant. Jeg var på et prosjekt i det siste der jeg synes objekter var bra, det var en rapport generator med layout, tegning, osv. Men ja generelt liker jeg mere data.
Mest tiden brukes på å starte Systemet (ift Stuarts Component), og en del av den tiden går til å opprette DB koblinger og kanskje kjøre migrasjoner og så rydde DBen etter testene. Da vi byttet fra å gjøre dette for hvert test til for hvert ns så ble destene mye raskere - men også mer “fragile” pga interaksjon mellom testene, so vi gikk tilbake til per test. Om vi bare hadde Datomic… 😭