Fork me on GitHub
#clojure-norway
<
2023-11-03
>
slipset06:11:18

God morgen!

slipset06:11:50

Litt syting, eller no Jeg har så lyst til å ta meg to uker ferie for å få gjort alt jeg har lyst til å gjøre på jobben 🙂 Det høres kanskje ikke så ille ut, men denne uken hadde jeg 13 timer møter i kalenderen min. Mandag/tirsdag er basically back to back møter fra kl 10 til utpå ettermiddagen en gang. Neste uke ser litt bedre ut med kun 11 timer 😕

😔 2
😅 3
teodorlu06:11:24

Sabbatical?

cjohansen06:11:51

Dette er et mer systematisk problem så ikke bør løses med å bruke ferietid på å faktisk få jobbet 😅

4
cjohansen06:11:07

Veldig lett å fylle tiden sin med møter - jeg merker det selv, og jeg er kun et par måneder inn i ny jobb

cjohansen06:11:31

Det er så mange interessante ting man kan delta på, og som er kjipt å gå glipp av.

slipset06:11:45

Nei, jeg ville ikke brukt ferie tid på det, men jeg har i perioder veldig lyst til å gå til sjefen for å si at jeg tar en to ukers sabbatical.

cjohansen06:11:53

Men @U04V5VAUN har nok en stilling med noe mindre valgfrihet på en del møter ville jeg tro

cjohansen06:11:27

Da jeg jobbet i Tine så var det kun lov å booke møter med utviklerne på tirsdag og torsdag. Da ble de dagene nødvendigvis litt fucked, men de tre resterende var strålende jobbedager.

cjohansen06:11:45

Ellers syns jeg hjemmekontor er en fin anledning til å få tida fri til å bare konse på progging

slipset06:11:04

Men det som er litt kult og litt skremmende er at med en litt velfungerende kodebase, er det utrolig hva man får gjort på veldig kort tid bare man får brukt litt tid til å tenke seg om.

💯 1
slipset06:11:03

Hjemmekontor er bra. De siste ukene har jeg vært mye på kontoret, noe som har gitt meg mange morsomme ting å tenke på. Derfor dette ønsket om å få sitte litt i fred å gjøre ting.

cjohansen06:11:37

Ser den 🙂

leifericf07:11:29

Bortsett fra daglig standup (5-10 min) har jeg kun hatt 3-4 møter totalt siden jeg byttet avdeling og rolle i februar, 99% koding hver dag 😁 Før det (i min forrige rolle) var det 99% møter hver dag.

cjohansen07:11:43

For min del er det mange ting jeg ønsker å ha en fot med på - designsystem, "tech lead forum" (diskusjoner på tvers av team), omgang med fagfolkene vi jobber med, hjelp og diskusjoner med andre team, osv

leifericf07:11:58

Før jeg fikk barn ville jeg kun jobbe hjemmefra, men nå er jeg på kontoret hver dag og foretrekker det. Det blir for mange forstyrrelser hjemme (selv om vi har åpent kontorlandskap på jobb).

cjohansen07:11:01

Med litt for mye iver kan det fort bli mye møter bare av sånt - som alt i utgangspunktet er interessante greier.

💯 1
leifericf07:11:01

Jeg får heller ikke mer enn 1-2 e-poster i måneden 😂 Før fikk jeg minst 20-30 daglig. Men mye har gått over på DMs via Teams.

cjohansen07:11:24

Ja, det vet jeg ikke om er en entydig god ting 😅

cjohansen07:11:53

DM i corporate-sammenheng er egentlig litt av en uting (men jeg gjør det sjæl)

leifericf07:11:12

Jeg synes DMs er mye bedre enn e-post. Men face-to-face eller video call er best.

leifericf07:11:25

Men det spørs litt på formålet når jeg tenker meg om. E-post er kanskje bedre på formelle HR-aktige greier og viktigere ting som man ikke må gå glipp av, eller dyptgående tekniske detaljer (men da er kanskje et fysisk møte bedre).

cjohansen07:11:34

90% av DMs burde gått i åpne kanaler

👍 2
leifericf07:11:39

Ah! Når jeg sa "DMs" så mente jeg "Teams meldinger." My bad! Nesten alt går i åpne kanaler, ja.

Jakub Holý (HolyJak)21:11:15

Ift det Erik sa - jeg begynner å skjønne at jeg ikke kan være en tech lead, project manager, people manager, og utvikler samtidig. Noe må gå...

cjohansen21:11:15

Utvikler for life ❤️

teodorlu06:11:33

Dagens dusjtanke, kom (faktisk) nettopp ut av dusjen; Du har infix-notasjon i clojure. Men den er ikke hardkodet i en presedenstabell. Du trekker den fram når du vil ha den! I form av -> og ->>.

(-> 100 (+ 3) (* 0.4))
Påstand: med dette får du at du trenger av goodies man kan få fra infix-operatorer. Du må bare velge om du skal skrive operatorer (funksjoner) som funker fra med -> eller ->>. Fordeler: 1. Du trenger ikke huske en presedenstabell (Haskell 😠) 2. Du kan bruke alle funksjoner som infix-operatorer Er du enig? Uenig?

😄 2
cjohansen07:11:59

Definitivt enig i at det er digg å slippe å huske presedenstabeller!

cjohansen07:11:47

Morsom observasjon. Jeg har mange ganger laget en pipeline som ender med å gange opp med en faktor, eller legge til et tall - men jeg har aldri stilt det opp som du nettopp gjorde og sett at det blir infiks 😄

😄 1
teodorlu07:11:50

Du har jo selv sagt til meg noen ganger at du foretrekker lineær kode over let :)

cjohansen07:11:30

Hehe, sant. Men jeg threader stort sett nedover, og har ikke sett det på denne måten.

oddsor09:11:20

Sa noen “presedens”? Elixir provides! Her har jeg laget en liten funksjon som multipliserer alle elementene i en liste med seg selv (power):

defmodule Testing do               
 def exp_xs(xs) do               
   Enum.map(xs, fn x -> x * x end) 
  end
end
Eksempel:
> Testing.exp_xs [1, 2, 3, 4]        
[1, 4, 9, 16]
Gjett så hva som skjer når jeg prøver å incremente alle verdiene i listen ved å pipe til map inc !
> Testing.exp_xs [1, 2, 3, 4] |> Enum.map fn x -> x + 1 end
Svaret er selvfølgelig……:
warning: parentheses are required when piping into a function call. For example:

    foo 1 |> bar 2 |> baz 3

is ambiguous and should be written as

    foo(1) |> bar(2) |> baz(3)

Ambiguous pipe found at:
  iex:8:29

[4, 9, 16, 25]
Merker at jeg har irrasjonelt mye hat for at man har laget syntaks for å slippe å skrive parenteser, og dermed klart å lage en situasjon hvor piping omtrent fungerer motsatt av hvordan man ser for set at det skal fungere 🙈 Fikk meg til å bounce av Elixir helt, som er synd siden jeg syns Erlang-økosystemet er fascinerende

😔 1
😄 1
cjohansen09:11:34

Det der husker jeg Ruby. Savner det IKKE 😂

oddsor09:11:15

Får kanskje bare lære seg erlang i stedet om man vil leke seg med BEAM’en, syns det er trist at det var et språk med Ruby-syntaks som fikk fotfeste som “det moderne alternativet” der 😅

leifericf07:11:02

I dag har jeg gjorte noe veldig anti-Christian. Jeg ble bedt om å fjerne 5 endepunkter fra en tjeneste, som brukes av kassasystemet, som brukes av ca. 16.000 personer hver dag i butikkene og på kundesenteret. Jeg er litt stolt av å ha utført det uten noe nedetid eller feil 🙂

teodorlu07:11:48

Rich selv sier jo selv noe ala > bakoverkompatibilitet er for når du ikke har kontroll på API-konsumentene dine. Hvis du skriver backend og Jens skriver frontend, kan dere bli enige om å endre ting. Først fjerner Jens avhengigheten på koden til Leif. Så sletter Leif koden. Fra Maybe Not tror jeg

👍 2
leifericf08:11:21

Aha, det gir mening. Ja, her er det kun én konsument av API-et, og utviklerne av den appen sitter rett her. Og det var nøyaktig den tilnærmingen vi brukte.

cjohansen08:11:52

Det er fredag, så jeg innvilger meg en selv-sitering 😂

😂 1
cjohansen08:11:59

(som egentlig bare parroter Rich)

leifericf08:11:04

Da var jeg kanskje ikke så anti-Christian (eller anti-Rich) som jeg trodde, da!

2food09:11:13

Viktig å fremheve denne forskjellen tror jeg. Man hører ofte folk si "aldri gjør ditt... alltid gjør datt", mens de snakker i kontekst av bibliotekskode og ikke applikasjons-/domenekode. Da er det ikke alltid de samme prinsippene gjelder.

1
👍 1
cjohansen09:11:57

Nei, noen ganger er det det motsatte som er riktig 😅

😄 1
leifericf11:11:19

Ja, det er et godt poeng! Og det er mange lib forfattere her inne på Slack, og prosjekter på GitHub. Det er ikke like mange "vanlige Clojure prosjekter" (ikke er biblioteker) som en kan bruke til referanse.

leifericf08:11:14

Finnes det en enklere måte å gjøre dette på? (subs content 0 (min 150 (count content))) Jeg henter ut de første 150 karakterne fra en blog post for å lage en "blurb."

cjohansen08:11:27

Enklere og bedre: Skriv blurben for hånd 🙂

😅 1
leifericf08:11:16

Sikkert ikke dumt det, nei!

leifericf08:11:24

Suggestion adopted.

teodorlu12:11:06

Markdown-clojure-map-formatet deres, altså! 😍 Jeg har selv operert med én fil Markdown og én fil EDN når jeg har villet ja metadata + markup selv. Men det var skikkelig deilig å se alt på ett sted.

teodorlu12:11:49

Liker særlig følgende: • Gode, beskrivende navn på egenskaper (:blog-post/tags) • Støtte for EDN på samme linje • Støtte for vanlig Markdown.

teodorlu12:11:57

Har dere vurdert noe som likner mer på Pollen? Pollen løser kanskje mer generelle problemer dere ikke har? (ref maksimal fleksibilitet er ikke alltid best, fordi det kan bli vagt) https://docs.racket-lang.org/pollen/

cjohansen12:11:14

Kjenner ikke til Pollen

teodorlu12:11:17

Pollen minner veldig om deres format for markdown og Clojure maps. Men Pollen er laget for å støtte vilkårlig kode, og vilkårlige markup-formater. Jeg synes konseptet er veldig kult. Flere Racket-biblioteker er dokumentert med Pollen eller Scribble (likner på Pollen). Og mye av den dokumentasjonen er megabra. Tenk et som støtter både markup (som mardown) og Clojure-kode direkte. Men til deres bruk tenker jeg egentlig at deres bibliotek er bedre egnet. Mye lettere å skjønne hva som foregår. Tipper dere har bedre ytelse. Og det er lettere å skjønne formatet deres, kun markdown og EDN, trenger ikke forklare hvordan escapes funker sammen med lozenge (◊). I tillegg — når jeg jobber med Clojure, foretrekker jeg en god editor og en god REPL-opplevelse. Skulle man laget en god Pollen-opplevelse til Clojure, tror jeg man måtte laget seg en ny major-mode. Det finnes en Clojure-port av Pollen, men jeg har ikke prøvd den. https://github.com/JeremS/prose

cjohansen08:11:35

OpenGraph-beskrivelser croppes av en del tjenester på 200 tegn eller noe sånt. Hvis jeg ikke blir helt fornøyd med hva jeg får til på 200 tegn lager jeg en litt lengre en til forsiden vår.

💡 1