Fork me on GitHub
#clojure-europe
<
2021-03-02
>
dharrigan07:03:02

Good Morning!

ordnungswidrig07:03:46

Today is a good day, I found a well fitting place to use my favourite function juxt :rolling_on_the_floor_laughing:

agigao08:03:20

Feel ya! Had a similar day once 😄

reefersleep08:03:45

I use it fairly often! It’s great for point-free programming (though that kind of terseness can become a bit unfriendly towards readers)

reefersleep08:03:08

But it’s fun to try to do things point-free

agigao08:03:25

დილა მშვიდობის!

reefersleep08:03:46

Godmorgen 🙂

benne08:03:37

moin moin

reefersleep10:03:47

Er du sønderjydsk?

joelkuiper09:03:10

Goedemorgen 🙂

reefersleep10:03:16

Nice, wide representation we got going, it seems! Nation-wise. Still mostly a bunch of white, middle aged men, it seems.

reefersleep10:03:14

No offence to anyone, btw, just an observation 🙂

orestis10:03:38

I take offence at the middle aged 😄

😆 1
👴 1
otfrom10:03:04

I completely fall into that description

orestis11:03:53

Joking aside, Europe is full of white people. And in my job postings I got 1-2 women in total applying out of 100 or so candidates. I've no idea of the underlying distribution to see if the kind of applicants I get are representative or not, and I want to do better. Any pointers or information welcome!

reefersleep12:03:31

I’m surprised to hear that you had women/woman! That’s great. I’ve been fortunate enough to work directly with 3 female developers so far in my career, and it’s been awesome. Hope you get to see more female applicants later on. I’m aware that there’s a difference between distributions of white people in e.g. Denmark and the US, where these issues tend to flare up more 😉 Sometimes the excitement spills over into Denmark, like with the recent Black Lives Matter thing, and people forget that while there are problems of that kind here, too, it’s a completely different country in so many regards.

orestis12:03:20

I’m ashamed to admit it, but I was like 20yo when I first saw a black person in a suit up close (in London). Up until then the only black people in Greece were unlucky African immigrants who got stuck. I’ve been working hard on my biases since :)

👍 1
reefersleep13:03:37

Similar thing for me. I’m not really ashamed, those were just the circumstances I grew up in - mostly white people, few suit wearers in general 🙂 Think about my biases often.

orestis17:03:22

I think I'm mostly ashamed of how ignorant I was back then, but yeah given the environment it was kinda unavoidable...

slipset10:03:50

So, the last couple of many days, I’ve spent my time trying to make data.json work as fast on reading json as cheshire does. One might ask why do this, and I might answer, why not? One of the reasons is simply because data.json does not depend on anything but Clojure. It’s been a bumpy ride, with a lot of help from http://clojure-goes-fast.com, reading tons of decompiled java code and also trying to make the Clojure compiler emit the java code that I think is the fastest. So, where am I at? For certain structures, I’m now faster than cheshire, but, but the bottleneck seems to be at parsing Strings (which is a big part json). The “hot code” is right here https://github.com/slipset/data.json/blob/no-dymic-vars-only/src/main/clojure/clojure/data/json.clj#L135 and as far as I can see there are several reasons why I can’t make this faster: 1. I haven’t figured out how to have an unsynchronized-mutable int. This is problematic because every array lookup now calls RT.intCast because java-arrays must be looked up with ints and not longs 2. The Clojure compiler doesn’t seem to be very interested in the fact that chars are native types, so it doesn’t want to emit fast, native based code when dealing with chars, only when dealing with int ’s So, if anyone has any tips in these areas, I’d be super happy 🙂

👍 1
👏 1
javahippie10:03:18

This won’t help you right now, but this made me wonder how much potential there is, once the Value Types / Inline Types from Project Valhalla are available.

borkdude10:03:55

Rewrite parts in Java. IMO doesn't make sense to spend a ton of time optimizing non-idiomatic Clojure code which is just a few lines in Java

👍 2
reefersleep10:03:03

I thought the same as @U04V15CAJ (I have no experience in that level of optimization, though)

borkdude10:03:09

httpkit (client + server) and jsonista do this too: core in Java, API in Clojure

slipset10:03:26

Ha!, just by writing this, I solved one of my problems 🙂

🦆 4
borkdude10:03:42

@U04V5VAUN Nice idea though, it would be nice to have a minimal and fast JSON lib in pure Java + Clojure a la httpkit

reefersleep10:03:46

Quack quack, then! duckie duckie duckie

borkdude11:03:41

The point of slipset's exercise is to have a JSON lib that only depends on clojure. Both cheshire and jsonista depend on Jackson

joelkuiper11:03:28

right, was just as a point of comparison or inspiration maybe 🙂