Fork me on GitHub
#clojure-norway
<
2022-09-21
>
msolli07:09:30

Morn! I dag er det Clojure-lønsj igjen. 🍛

cjohansen07:09:31

Morn! Jeg kom fra utlandet i 2-tida i natt, så orker ikke tur til byen i dag 😢 kos dykkan!

cjohansen07:09:30

Booster sier du? Kanskje noe å tenke på. Godt tilbud @slipset hadde vært en kul kombo

slipset07:09:05

Jeg kunne liksom vært oppvarming for dere 🙂

teodorlu13:09:31

ref "haskell kan være fint det óg" Jeg fant en fibonacci-implementasjon på bloggen til @augustl (https://augustl.com/blog/2019/amazing_lazy_data_structures/, fra desember 2019):

; Clojure uses long by default, so make it use 
; bigdec for arbitrarily sized numbers
(defn fib
  ([]
   (fib (bigdec 0) (bigdec 1)))
  ([a b]
   (lazy-seq (cons a (fib b (+ a b))))))

(time (last (take 100000 (fib))))
; "Elapsed time: 299.1678 msecs"
; 1605285768272[...20880 digits (yes,
; really) cut for brevity]790626M
Denne haskell-implementasjonen dekker godt ting jeg liker med haskell (https://wiki.haskell.org/The_Fibonacci_sequence):
fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
Ting jeg liker: 1. : som infix-operator unngår nesting med cons 2. her er "lazy som default" faktisk nyttig (generelt foretrekker jeg "default eager, opt-in lazy" som i clojure) 3. automatisk currying av +

teodorlu13:09:25

kuriositet: bloggen til August er første treffet for "LOOK AT ALL THE THINGS I'M NOT DOING" for meg. Prøvde egentlig å finne den Rails-demoen 😄

teodorlu13:09:57

Satte pris på at du referete videre til youtube-videoen 🙂

augustl13:09:47

😂 haha, det er jo faktisk helt fantastisk at jeg er på toppen av Google for det sitatet! Har det med i Kotlin-boka og, elsker det sitatet der

❤️ 1
teodorlu13:09:24

jeg óg! Veldig glad i å slippe å tenke på ting 💯

augustl13:09:25

er ikke så mange som har omtalt det sitatet kanskje, men for meg har det surret rundt i hodet mitt uten å betale leie siden 2005

teodorlu13:09:28

For meg formulerer det veldig fint hva jeg liker med Clojure 🙂 "mindre herk" liksom

augustl13:09:55

meta-artig at det brukes nokså annerledes av DHH i 2005, for å si det mildt

teodorlu13:09:52

han ... "skyfler litt greier inn under teppet" føler jeg litt

cjohansen13:09:22

Jeg misliker det sitatet for jeg forbinder det mest med å skjule detaljer med implisitte greier, som jeg ikke syns er en god ting

👍 1
augustl13:09:46

whoops 😄

teodorlu13:09:56

Hvilke tre bøker ville du anbefalt en fersk utvikler å lese?

teodorlu13:09:05

Mitt svar: Extreme Ownership (Jocko Willink), Empowered (Marty Cagan) og The Art of Unix Programming (Eric Raymond). Lenker og motivasjon: https://play.teod.eu/welcome-knowledge-worker/ (flytter ut av tråd)

cjohansen13:09:49

Har såvidt kommet igang med den, men jeg mistenker at Grokking Simplicity hører til på lista

👍 2
teodorlu13:09:16

du er fornøyd så langt?

cjohansen13:09:20

Jeg er nok ikke helt i målgruppen, men det virker som en amazing bok for relativt ferske folk og/eller folk som har lite til ingen erfaring med funksjonell programmering/tankegang

👍 1
cjohansen13:09:32

Den er godt skrevet og flink til å holde fokus på idéene over koden

👍 1
cjohansen13:09:38

Kommer fra nogenlunde samme konseptuelle sted som “data driven development”, men man merker at Eric Normand har solid erfaring med å undervise, for å si det sånn 🙂

1
cjohansen13:09:08

Jeg har som sagt ikke kommet så langt, så har ingen klar dom ennå, annet enn at jeg blir veldig overrasket om jeg ikke ender opp med å like den svært godt

👍 1
augustl13:09:12

høres ut som en bok som kan gjøre samme nytta som “clean code” gjorde på 90-tallet eller når den kom ut

teodorlu13:09:31

hmm, tror du kan ha rett der

teodorlu13:09:29

(caveat usikkerhet, prediksjoner, folk lærer fremdeles OO på universitetet, ....)

teodorlu13:09:51

"en praktisk guide for å komme i gang med functional core, imperative shell+++"

cjohansen13:09:25

ja, og en god, praktisk primer i hvordan man designer software ved å analysere problemområdet med tanke på side-effekter osv

cjohansen13:09:33

En vinkling jeg ikke har møtt på tidligere i bokform

1
cjohansen13:09:02

jeg er usikker på om clean code noengang var en god bok egentlig, men tror ikke jeg orker å lese den på nytt for å få det bekreftet 😅

cjohansen13:09:47

Mistenker at det er mye dogmatisk bullshit uten særlig respekt for kontekst

teodorlu13:09:58

Jeg prøvde litt, men ... den var så veldig "hvordan kode i C#" at jeg kanskje tenker at "Clean C#" hadde vært en like god tittel

teodorlu13:09:11

jeg fikk mye ut av The Pragmatic Programmer

cjohansen13:09:14

å, er det C#?

cjohansen13:09:22

Da ble jeg usikker på om jeg har lest den i det hele tatt 😄

cjohansen13:09:26

jeg har den ihvertfall, haha

cjohansen13:09:15

Jeg leste nylig den oppdaterte audible-utgaven av The Pragmatic Programmer. Da jeg leste den for 15+ år siden var det en dannelsesreise, men nå syns jeg den fremsto litt datert, selv etter å ha vært oppdatert i 2020.

👍 1
teodorlu13:09:37

Min feil! Jeg tenkte på feil bok. Jeg tenkte på denne:

cjohansen13:09:38

den bærer veldig preg av to lange karrierer primært innen objektorientert programmering

1
cjohansen13:09:27

den var oppdatert med noen nikk til funksjonell programmering her og der, men det var litt halvhjertet, og en del av problemene de tar for seg er nokså OO-spesifikke

cjohansen13:09:46

Så jeg tror egentlig det hadde vært bedre å kose seg med minnet av den første gjennomlesingen 😄

😄 1
cjohansen13:09:21

Ikke dårlig altså, og mye bra for folk som ikke har lest det før osv, men mindre punchy i 2022 enn i 2005. “Du må bruke versjonskontroll” er mange ganger mer “DUH!” i dag enn det var da.

teodorlu13:09:49

kapitlene i The Pragmatic Programmer om kodegenerering og tekst var til stor hjelp for meg. Men føler også at det .. er mindre aktuelt når man skal tenke "det er bare data". Jeg har brukt en del tid på generering av makesfiles i sommer. Her er en generert https://github.com/teodorlu/play.teod.eu/tree/d21fe02fed72eee67db950bd18f9684489e83914/Makefile. Ooog nå holder jeg på å innse at jeg egentlig bare kunne hatt litt data og noen funksjoner i stedet. Jeg har jo kommandoer og avhengigheter som data.

👍 1
cjohansen13:09:45

make makefile passe meta 😄

teodorlu13:09:15

jepp 😄 Med litt uflaks i skriving lager du deg selv problemer!

cjohansen13:09:36

Vi har også noen Makefiles som ser sånn ut, men som er håndskrevet, og neste gang vi skal gjøre noe betydelig med det systemet så blir det edn og clojure 😅

cjohansen13:09:22

men det handler ikke bare om Makefile-en, men at vi har detaljer om byggene våre spredd rundt i edn/Makefile/og kildekode

teodorlu14:09:01

ja, ikke sant. Synes ofte en Makefile er en god, enkel løsning. Men i mitt tilfelle blir det bye surr med å gå fram og tilbake mellom makefiles, data i tekst / edn og kode.

🎯 1
cjohansen14:09:35

De er en god, enkel løsning når de er en god, enkel løsning 😅 Når man etterhvert får mer komplekse systemer med data på flere steder så slutter de å være like attraktive

😄 1
cjohansen14:09:14

Vi har noen systemer hvor Makefiles fortsatt er helt nydelig, hvor bygget i sin helhet er beskrevet i dem. Da er det fint.

👍 1
teodorlu14:09:22

Har du sett https://github.com/babashka/fs/blob/60aea913a99a39b430a3666b7f5d116463c640c4/src/babashka/fs.cljc#L878-L887? Det er den borkdude bruker til å modellere makefile-avhengigheter i egne script. Han skrev om det for en stund siden: https://blog.michielborkent.nl/speeding-up-builds-fs-modified-since.html

teodorlu14:09:51

da får du makefile-liknende build caching, men det er bare en funksjon.

1
cjohansen14:09:09

Ser veldig snedig ut

teodorlu14:09:38

det er den jeg har lyst til å bruke for å kutte ut Makefile hos meg.