Fork me on GitHub
#off-topic
<
2022-05-18
>
quoll14:05:28

https://clojurians.slack.com/archives/C02BJCKN0R4/p1652882743622499?thread_ts=1652803384.925029&amp;cid=C02BJCKN0R4 This should not be polluting the #gratitude channel (which has a focused an important objective), but I just want to say that this is the kind of content I am here for! 🙂

clojure-spin 2
quoll14:05:44

I would love to see more of this kind of code 🙂 Then again, I’m a fan of APL, so what do I know?

plus_one 1
adi14:05:59

I love that demo! Here is the codfns page with other surfaces to place the GoL on: https://dfns.dyalog.com/n_life.htm

adi14:05:26

Also, apropos the "way of APL", here is one of Aaron Hsu's relatively less incendiary talks :) https://youtu.be/v7Mt0GYHU9A

adi14:05:20

And here Aaron live-codes the "parallel by construction" tree manipulation concept that is at the heart of his co-dfns compiler https://youtu.be/lc4IjR1iJTg

quoll14:05:53

I have the “Mastering APL” textbook, and have been highly tempted to get a keyboard… https://www.dyalog.com/uploads/images/Business/products/us_rc.jpg

yes 1
lightsaber 1
adi14:05:37

I was pleasantly surprised by how quickly I picked up the "backtick -and- keypress" mnemonics for most of the symbols in the Dyalog APL IDE.

adi14:05:01

The 20% that I can't type, I don't remember the use for either :D so I just mouse-point and click. Even mouse-only typing is faster than writing the equivalent tens (or hundreds) of lines of clojure 😅

quoll14:05:34

Dyalog claims that this happens. Similarly, they claim that people learn the functions very quickly (I haven’t spent enough time in the language for this to happen for me)

adi14:05:04

I can report this rang true for me (no affiliation with Dyalog).

quoll14:05:22

The reason I think that APL appeals to Clojure devs (some of us, anyway) is twofold: • Using common data structures for everything • A high degree of composability

1
adi14:05:32

Corollary: any language that allows me to incant Clojurish spells appeals to me, shell scripts included (or any system for that matter ... very many things can be viewed as "it's just data", after all :D)

adi14:05:33

But I learned how that mindset can quickly become dangerous in APL. Because the similarities disappear very fast (modeling + operating on n-D arrays is a very different beast). Also thinking in terms of FP Lisp-style functions and recursion is a trap!

quoll14:05:56

Apparently, I need to spend more time in APL then

quoll14:05:48

When I first started with APL, I was translating to equivalent Clojure, so the n-dimensional array operations were all via core.matrix

adi14:05:16

The Dyalog APL problem solving contest is a great way to tackle real-world questions. I attempted a couple of years in the before times. Apparently the 2022 edition is on as we speak! https://contest.dyalog.com/?goto=welcome

adi14:05:56

> translating to equivalent Clojure, so the n-dimensional array operations were all via core.matrix I didn't use core.matrix here, but the difference in solutions is stark: https://www.evalapply.org/posts/dismal-arithmetic-dyalog-apl-clojure/

Stuart15:05:43

Had a bizzare interview just now. It was for a C# job, and I don't think he was prepared all that well

Stuart15:05:02

His questions were so vague, "tell me about C# "

Stuart15:05:21

What do you want to know about C# ? His reply was I want to know about C# in quite some detail... How do you answer that ?

p-himik15:05:32

"C-sharp is a note that's half a step higher than C"... :) But overall, sounds like he wanted you to recite the wiki article on C#.

😂 3
Stuart15:05:21

I tried to ask him to ask specific questions, without sounding rude, and thankfully he did and I was able to answer them. But yeah, it felt like I should have just started reading either the wiki or reciting more advanced random chapters from a C# book

NoahTheDuke15:05:15

lol i hate when interviewers do that. it's nice to be given space to answer a question, but completely open-ended questions like that provide basically no information to either party

Martynas M18:05:23

Maybe he simply wanted to have a good time? Maybe he was bored? You could've explained getters&setters in the most interesting voice 😄 Missed opportunity... https://www.youtube.com/watch?v=8FmE_-QXg3Y (I'm actually watching this rn. Turns out that getters&setters add security. That's something that I didn't know I knew... 😄 )

mjw21:05:35

I’d say at least 40% of the reason I don’t want to change jobs is because the interview process just sounds awful to me.

winsome16:05:26

Recommendations for a Clojure/script http client?

winsome16:05:52

Actually, is there a curated list of Clojure/script libraries? I often find myself looking for something that works in browser, node, and jvm.

dvingo16:05:22

it's listed on that page, but https://github.com/funcool/httpurr was the only one i found that works on node

dgb2317:05:22

Just to note, nodejs has an inbuilt http client. It would be relatively straight forward to use it with interop.

p-himik17:05:22

Same with browsers. :) But the API is not uniform across all platforms (assuming that's a requirement at all).

dgb2317:05:54

That's right.

dgb2317:05:31

If you are running on node 17.5+ then you can already use the fetch API (same as in browser)

dgb2317:05:48

maybe that alleviates some of the concerns

winsome17:05:59

That seems easier than hunting for something that does it all