Morning!
Where my Belgians at (if you can read this you are now an honorary Belgian) https://twitter.com/drGerlant/status/1315997215152799747
yeah it does bother me that this is dutch/french/english, while official languages in Belgium are dutch/french/german, but to be fair most belgians understand English, most don't understand German
I don't really speak any French, but I can read this with out too many problems
It's all Indo-European to me
glad I passed the informal test, especially since I am now a citizen 🙂
I think I might be 1/3 Belgian 😉
Morning
Did some maths with one of my ten year olds this morning, as one does. Anyways, we ended up in some term rewriting. Like 2 + 3 is just 1 + 1 + 1 + 1 + 1. In order to do this, you need (AFAICT) three things. You need to be able to add one, subtract one, and check if something is zero. Which leads me to Clojure. I’ve sometimes wondered why we have inc, dec, and zero? And I guess a reason for this is that these are the three building blocks for arithmetic. And good morning!
I must confess that I realized only until miday that this was actual multiple languages. And I don’t even speek dutch(?). Lol. I was missing some german sprinkled in though. Awesome text.
@slipset you don’t even need subtraction, just the concept of peno numbers: 2 + 3 = S(S(0)) + S(S(S(0))) = S(0) + S(S(S(S(0)))) = 0 + S(S(S(S(S(0))))) = S(S(S(S(S(0))))) = 5
Based on S(a) + S(b) = a + S(S(b))
Ah, nice! I'll have to introduce her to Peano numbers next time we do maths 🙂
Bonjour !
დილა მშვიდობის!
@slipset Maybe you can also teach them integer overflow, then you can simulate subtraction with only addition?
does this count as a non-euclidean thing? presumably the jump from MAX_INT to MIN_INT is not considered to be smooth
dunno, maybe it is, depends on your frames of reference
so the ints are basically represented in a ringbuffer 🙂
Doesn't make sense in maths as you need the concept of an infinite number of, well, numbers.
Someone just said IDEA and my first thought was "ugh, intellij". But then I realized that they were not a programmer and they just had an idea they were excited about...
lol
haha
Integers forma quotient ring so techincally addition is enought.
Ring don’t need to be infinite.
I think it’s also a monoid ring
Btw, did you know that addition has an identity element (zero), but subtraction doesn't.
Don’t most developers refer to the software as “IntelliJ” (which is also misleading)
I doesn’t? :thinking_face:
(- 0 1) != (- 1 0)
no wait, that’s commutation
(- x 0) = x
so 0 is the neutral element
yes, but for an identity element it should also hold that (- 0 x) = x
hmmm
I see!
this is why (-)
doesn't work in Clojure
That’s why I don’t like -
but (+)
does
And why accountants avoid subtraction until the very last moment
add all the assets
add all the liabilities
If your really fances then maybe(!) take the difference. But only if absolutely necessary :)
Cursive
also works...
none of their other products are named intellij though, so the Idea
part has always seemed superfluous
and indeed confusing
Jet Brains
usually makes me think
> Vulnerable to Seagulls
we're all vulnerable to the seagulls in our life
they swoop in, steal your food, flap, squawk, shit everywhere and then leave
@otfrom that sounds like a manager I once had!
A Flock Of Managers
seagull management! almost as bad as Mushroom management.
I had to google that one
or rather ddg
omg, there is actually this <https://en.wikipedia.org/wiki/Seagull_management>
> "Seagull managers fly in, make a lot of noise, dump on everyone, then fly out."
the only thing missing from the prior apt analogy is the steal your food
bit
that would be what I was referencing
🙂
Once had a manager whose style was described as “Management by Crocodile”, but I am not sure if it’s translatable. “He’s surfacing, gapes his mouth wide open (meaning: talking loudly and a lot), and submerges again”.
ooh, that sounds like me 😉
Suprisingly, in german it would be… shorter: “Auftauchen, Maul aufreißen, abtauchen”
oohh.. I hadn't heard of that one. Mushroom management is. Keep everyone in the dark, throw lots of sh*t over them and as soon one of them sticks it head out you chop it off.
lol
Any way... a Clojure (related) question....
Clojure? Get out of here!
I have a flamegraph... performance measurement.... but what do I do with it now?
I know, shocking. Clojure, so 1959 this Lisp thing.
😛
What was your goal of creating one? Was there a performance issue you are trying to debug?
yes, I am getting more latency then the reference implementation.
So I was wondering what could cause that
what are you using to create your flame graph?
clojure-goes-fast/clj-async-profiler
but I think I begin to understand it....
ok, I know that you shouldn't do swap!
on the fast path... but what is a good workaround for this?
@thomas using volatile!
and vreset!
might help if you don't need thread safety and watches
ok ta, let me have a look at that.
that might do the trick... let me try.
and maybe not... as I have one big atom
holding state for all the clients and I need to update it for each client on each interaction with the client.
maybe partition it into multiple atoms for each client?
yes, I was thinking about that.
morning