Fork me on GitHub
#clojure-europe
<
2024-04-26
>
slipset06:04:34

Morn

šŸ‘‹ 1
simongray06:04:48

I was about to start a new project led by a researcher who had all these big ideas based on various buzzwords heā€™d picked up through the years. For example, he wanted the project to be grounded in IIIF. I thought this was an interesting opportunity to learn about something new, but after having another meeting with him where we went through requirements in more detail, IIIF really doesnā€™t seem like a great fit for the project after all, so I had to shut it down and offer him a more pedestrian solution even though I really wouldnā€™t mind working with IIIF. Made me feel like the adult in the room :P

šŸŖØ 1
šŸ˜‚ 1
schmalz07:04:43

Morning all.

thomas07:04:12

TGIF!!!

yes 5
šŸš€ 1
teodorlu07:04:32

@simongray did feeling like an adult feel good? Or feel bad?

šŸ˜‚ 3
simongray08:04:09

Bothā€¦

šŸ˜„ 2
teodorlu08:04:44

I recently participated in rewriting a Clojure app to a JavaScript app - and for the team in question, I found that to be the right decision. I also had mixed feelings about that. And I felt like a grown-up. šŸ˜„

šŸ˜¬ 1
thomas08:04:15

what was the reason for the re-write?

thomas08:04:28

any pro's/conns?

simongray09:04:00

Iā€™d be interested in knowing that too. I guess the team wasnā€™t really too excited about the prospect of using Clojureā€¦?

teodorlu09:04:18

We had decided to introduce browser testing (eg with Playwright or Etaoin) for our team. The team has little to no Clojure experience (except from me and one other developer). Other ā€œnearbyā€ teams have a lot of Javascript knowledge, so Javascript is familiar. --- We wanted to use the browser testing first for monitoring. We had experienced that parts of the system failed without anyone noticing, and we believed we could catch those errors with browser tests. I did a first ā€œspikeā€ to learn Playwright myself. I started with Clojure, since I know Clojure and the REPL is awesome for exploration. After a while I felt like I knew what Playwright was about. Then I wanted to see how the same code looked in Javascript, since I knew there was always a chance the team would not be comfortable maintaining Clojure. We have a technology radar, and Clojure is on ā€œtryā€. We observed: 1. Interacting with a running web browser through a REPL is amazing 2. Translating the Playwright Java API docs required some mental juggling ā€” and the only person kind of comfortable writing java interop in Clojure was me 3. The Playwright API is object oriented, and I found myself missing data oriented APIs. There is a pure clojure webdriver implementation (https://github.com/clj-commons/etaoin), and Iā€™d probably try that next time. 4. Writing Playwright tests using the Node/typescript API was a really smooth experience. Itā€™s well documented, and thereā€™s a ā€œtest recorderā€ that works smoothly. We are also experimenting with using Clojure for another problem, where Clojure is more suited. I prefer to keep new technologies we as a team are trying out to a limited place, so that the code can be deleted if we decide to back out of the experiment. So I was happy to continue with the Javascript/Typescript Playwright code, and leave the Clojure code.

teodorlu09:04:44

In short, context is relevant, and we want to write code that we are comfortable maintaining.

simongray09:04:48

yup, that makes sense. Still, so many devs seem stuck in that JS/TS mindset these days (or Python, in my own domain) and I canā€™t help but feel a bit sad at the homogenisation of software developer jobs. I guess itā€™s always been like this, though,

teodorlu09:04:19

Yeah ā€” Iā€™ve faced the ā€œwhat I know represents all there isā€ attitude a lot, and it just makes me mad.

teodorlu09:04:45

I feel like we should encourage new developers to learn more than one language. One reason is not to get stuck in that mindset. Another is to build confidence and courage. Show them that they can learn new languages, that itā€™s not impossible.

āž• 3
reefersleep08:04:12

I have cursory experience with Playwright and Etaoin and while Etaoin is nice from a sexp juggling perspective, there's stuff built up around js Playwright that you don't get for free with Etaoin, like the recorder you mention, and other niceties. Apart from the immediate language difference (syntax and such) in a decision making scenario like yours, there's also the language community, and the tools and knowledge that come with it, to consider. It sucks in a way, because it reinforces the homogenisation loop.

šŸ‘ 1
teodorlu08:04:23

> It sucks in a way, because it reinforces the homogenisation loop. ā€œReinforces the homogenisation loopā€ in the sense that Clojurians keep on using Clojure tools, and Javascript-folks keep using Javascript things?

reefersleep13:04:20

In the sense that more people are drawn to the popular solution, and that is both more workforce and incentive for that workforce to create tools for the popular solution, leading to even more draw towards the popular solution which now has more fancy tools, and so on and so forth

šŸ‘ 1
plexus08:04:43

Happy Friday!

šŸŽ‰ 1
Ben Sless09:04:28

I had a weird dream about Erlang

šŸ”„ 1
Ben Sless09:04:36

It was a sort of reckoning we should have built everything using it, we hadn't and now we're doomed

daveliepmann15:04:33

Sounds like we should repent

Ben Sless15:04:00

I woke up feeling very conflicted

pez08:04:36

Heck, Iā€™m feeling conflicted now!

teodorlu09:04:12

Did sleeping on it another night make it better or worse?

Ben Sless11:04:28

What is this thing you speak of? This "sleep"?

šŸ˜‚ 1
šŸ‘½ 1
teodorlu12:04:33

While I respect that certain beings don't need much sleep, I think there's value in keeping up the illusion for the sake of earthlings!

šŸ™ƒ 1
simongray09:04:11

weird good or weird bad?

daveliepmann09:04:53

both concurrently, one must assume

šŸ˜¹ 9