Fork me on GitHub
#clojure-norway
<
2022-11-03
>
msolli07:11:40

God morgen.

augustl08:11:42

god morgen 🥳

magnars08:11:16

Morn morn, ja 😊 ☀️

teodorlu09:11:04

Jeg proever meg paa aa skrive paa amerikansk layout i dag. Og "bare loese det i Emacs".

(defun teod/insert-norwegian-letters ()
  (interactive)
  (let* ((s (delete-and-extract-region (mark) (point)))
         (s (s-replace "noe" "noESCAPEe" s))
         (s (s-replace "oe" "ø" s))
         (s (s-replace "ae" "æ" s))
         (s (s-replace "aa" "å" s))
         (s (s-replace "noESCAPEe" "noe" s)))
    (insert s)))
Saa -- (1) skriv tekst med oe, ae, aa, (2) marker teksten, (3) M-x teod/insert-norwegian-letters, (4) lim inn der teksten skal ende opp, (feks her i Slack) hvis den ikke skal bli i Emacs. > Jeg prøver meg på å skrive på amerikansk layout i dag. Og "bare løse det i Emacs". Så langt: tror ikke dette er en god ide, særlig ikke for norsk tekst. Og jeg har fremdeles en bug med "noe" som blir "nøSCAPEe". Så her er v2:
(defun teod/insert-norwegian-letters ()
  (interactive)
  (let* ((s (delete-and-extract-region (mark) (point)))
         (s (s-replace "noe" "no!ESCAPE!e" s)) ;; burde vel heller fikset regex enn aa jobbe rundt
         (s (s-replace "oe" "ø" s))
         (s (s-replace "ae" "æ" s))
         (s (s-replace "aa" "å" s))
         (s (s-replace "no!ESCAPE!e" "noe" s)))
    (insert s)))
Men jeg venter jo bare paa neste ting som brekker 😅

slipset11:11:54

På mac’en har jeg amerikansk tastatur, men eks Option (den til venstre for cmd) a gir å. Funker som fjell, i alle applikasjoner

cjohansen12:11:13

Jeg skjønner ikke fascinasjonen med amerikansk layout. Norsk FTW!

magnars12:11:01

så deilig å ha ( ,`{` og [ på samme knapp 👌

augustl12:11:01

IDE-operatører kan få litt ut-av-boksen-trøbbel. Er en del shortcuts i IntelliJ som ikke funker på norsk tastatur f.eks, pga kombinasjonen med modifier keys som må til for å treffe det symbolet

teodorlu12:11:04

jepp - motivasjonen min var egentlig ikke amerikansk layout, men https://nuphy.com/products/air75 jeg gjorde en tid tilbake. Trådløst 70%-tastatur med mekaniske brytere. De røde (som jeg bruker nå) er stille nok til å brukes i rom sammen med andre folk, og tastaturet er lite nok til at jeg får plass i den lille sekken min. Alle andre tastaturer jeg har er nok layout..

slipset12:11:36

Jeg skjønner ikke facinasjonen med å trykke alt-gr shift whatever for å få ]

msolli13:11:12

Det er bare tastetrykk. Programmering er så mye mer enn å flytte fingre over taster. Jeg har aldri forstått fascinasjonen med å mikrooptimalisere akkurat denne delen av jobben.

slipset13:11:01

Jeg er i og for seg enig, men jeg ser ingen grunn til å gjøre ting mer tungvindt enn det behøver å være. Alle språk er turingkomplette, lissom, likevel prog’er vi Clojure og ikke java 🙂

cjohansen13:11:42

fascinasjonen @slipset ligger i at høyrehånda alltid trykker på de samme knappene

magnars13:11:18

Forøvrig er mennesker veldig glade i å representere sine vaner som objektivt bra, når de bare er vaner. Hvor på et tastatur man trykker er i høyeste grad inkludert her.

🎯 3
magnars13:11:17

For å stille spørsmålet Hickey-style: Er det enkelt (objektivt bedre), eller lett (nærliggende, en vane)? Jeg tror vi kan klare å bli enige om at akkurat valg av tastaturlayout i all hovedsak faller ned på "dette er jeg vant til, og derfor er det bra greier." 😅

cjohansen13:11:03

helt klart. jeg har ikke engang prøvd engelsk layout, så jeg skal ikke skryte på meg noen vitenskapelig tilnærming

augustl13:11:29

selv Dvorak-layout, med alle sine objektive argumenter, er vel snake oil iirc

cjohansen13:11:35

Jeg skriver mye norsk, og tror vanskelig tilgjengelig æøå ville kosta meg mer tid enn bittelitt bedre [{()}]

slipset13:11:31

Jeg skriver nesten bare engelsk og liker å tro at jeg koder en del, selv om det blir mindre for hver dag som går.

😢 2
emil0r14:11:40

Är ju enkelt att ha två layouts och byta mellan dem med en tangentkombination

teodorlu14:11:56

I blant synes jeg det er vanskelig å skille på hva som er objektivt bra, og hva som "bare er bra for noen gitt en kontekst". Jeg synes fremdeles https://www.zombieclj.no/s02e00.html var den kuleste - fordi jeg fikk med småting som hvilke biblioteker som var i bruk, hvordan dere setter opp dev/user.clj, hvordan dere skiller mellom navnerom for spillet og frontend, etc. Og ikke minst hvorfor dere tok valgene dere gjorde. Jeg klarer ikke helt å skille mellom preferanser og "objektiv kvalitet" i Zombieclj-oppsettet. Er det bare vanene til Magnar og Christian? Eller er det objektivt bedre enn andre clojurescript-kodebaser? Er det objektivt bedre enn typescript og react på vitejs? Her kan man få mange forskjellige svar fra folk. Digresjon - jeg er usikker på om vi egentlig kan sette kvalitet i bås som objektivt eller subjektivt. "folk er enige om at dette er en bra ting" er en mulig definisjon, en form for "https://en.wikipedia.org/wiki/Intersubjective_verifiability kvalitet". David Deutsch argumenterer for at "gode forklaringer er objektivt gode" (se https://www.ted.com/talks/david_deutsch_a_new_way_to_explain_explanation?language=en eller https://en.wikipedia.org/wiki/The_Beginning_of_Infinity). For eksempel, er vitenskap bra? Hvordan svarer vi på det spørsmålet? Er religion bra? Er religion dårlig? (jeg er visst i det filosofiske hjørnet i dag)

cjohansen14:11:41

Interessant! Når det gjelder tekniske løsninger så kan man ihvertfall sette kvalitet på en slags akse mellom subjektivt og objektivt bedre/dårligere. Jeg kan jo redegjøre for noen objektive pros and cons med løsningene vi har valgt, men helt objektivt er det selvfølgelig ikke.

teodorlu14:11:51

ja, det er jo veldig tydelig for meg at i noen kodebaser får jeg ikke gjort noen verdens ting (eller veldig lite), men i andre tilfeller er jeg effektiv.

teodorlu14:11:40

"Tar det en time eller tre uker å løse et domeneproblem?" er jo ganske tydelig.

cjohansen14:11:51

Det har nylig gått en relevant laaaaang tråd på #clojure som toucher inn på disse tingene

👀 1
cjohansen14:11:46

Ikke like filosofisk akkurat, men

teodorlu15:11:02

den tråden var i alle fall spennnende lesing.

augustl15:11:22

interessant poeng med at typesystemet enabler kompleks struktur, siden du kan endre på en type og instant se alle stedene i koden endringen påvirker

👍 1
slipset07:11:28

Akkurat det poenget er noe jeg har strevd med å si noe om i lang tid. Jeg liker liksom å tenke at måten jeg koder på gjør at jeg ikke trenger typer, og så lurer jeg på hvorfor det er slik. Det beste jeg har kommet opp med er at når data reiser langt så er det fint med typer, men da bør man si så lite som mulig om data’n. Kanskje det går an å gjøre en sammenligning med f.eks TCP. Der spesifiserer vi ikke hva payload’en er vi bare spesifiserer at det er en payload, mens om TCP var implementert i et statisk typa språk skulle det ikke forundre meg om man hadde hatt en type a la:

type TCPPacket<T>
Hvor T kan være en JPeg eller what not, og at alle som på veien gjør noe med pakka må vite om JPeg

👍 1
slipset08:11:11

Og hvis jeg da introduserer en ny ting jeg har lyst til å kunne sende over TCP, så må jeg inn over alt for å sørge for at alle case-statements over alt også kan håndtere denne nye tingen.

teodorlu08:11:34

> Det beste jeg har kommet opp med er at når data reiser langt så er det fint med typer, men da bør man si så lite som mulig om data’n Liker denne formuleringen. Jeg hadde en sommerjobb i 2014 på https://www.focus.no/produkter/focus-konstruksjon-3d/. En ganske stor C#-kodebase. og det var en ting som irriterte meg. De hadde delt inn i moduler. Og det som ble sendt mellom modulene var bare Object. Ikke en spesifikk type. Ikke en spesifikk klasse. Det synes jeg var rart, jeg hadde jo ikke lært at det skulle være sånn da jeg hadde objektorientert programmering på universitetet. Jeg hadde jo lært om generics av en grunn! Hvorfor må jeg drive og caste til typen jeg vet jeg får inn, liksom? Men det at de sendte Objects rundt omkring muliggjorde jo løs kobling. Da kan man skrive generisk funksjonalitet for å sende ting rundt, og de som tar imot kan velge å gjøre noe med meldinger de kan gjøre noe med. Litt som at jeg føler at vi gjør i Clojure.

augustl11:11:57

så til tusenkronerspørsmålet: vil du ha kode som du må forstå for å kunne endre, og som er delt opp fint? Eller vil du ha helt OK typet kode som er lettere å gjøre tankeløse endringer i, fordi OK kode er vel så bra for en business som superamazing kode?

augustl11:11:29

du vil ikke ha kode som er så dårlig at det hindrer fremgang i prosjektet. Men eneste alternativ til det er ikke amazing superperfekt kode