all caps and mistyped spelling
@SuricrasiaOnline "COMPUTERS ARE FLATTENED SAND WITH LIGHTNING INSIDE"
UIm Cakcling!!!
@SuricrasiaOnline wow you put a lot of effort into compiling the data for this one :o
dedication!
@SuricrasiaOnline wow!!! there are things here i didn't know!!! thanks :D
@SuricrasiaOnline yo this owns
typo fix: PHP's fractal of bad desgin -> bad design
@Patashu fixed!
@monorail @SuricrasiaOnline i will prove that this ethernet cable will fry anything you plug into it, but in a way that doesn't let you know anything about it or replicate that proof to anyone else
@SuricrasiaOnline oh i just realized i didn't think of "monads are like burritos"
@SuricrasiaOnline notable for not actually being a real analogy the author was making
Apparently, you can enrage a Haskell programmer by saying, "Monads are just a hack to get the compiler to run a bunch of instructions in order."
@clacke changed it to "numbers that start with zero are interpreted as octal"
@SuricrasiaOnline there is some extremely good shit in here.
@SuricrasiaOnline "fractional bits"
u fuckin wat.
@SuricrasiaOnline oh oh I've actually had to deal with GPS maximum speed in real-world applications?
it wasn't missiles.
it may have been... missile-adjacent.
@SuricrasiaOnline Also I think I missed whatever you did for topic collection/sorting?
@SuricrasiaOnline to be fair "I no longer trust the constants" is a valid case
@SuricrasiaOnline okay this is just my reading backlog now
@SuricrasiaOnline nice!
@SuricrasiaOnline Wha
I need to know all of these
@SuricrasiaOnline ok 100% f this for reminding me of the existence of hotjava, I needed those neurons for literally anything else
@SuricrasiaOnline I’d forgotten about nasal demons. It’s good to see them again
@SuricrasiaOnline wait how is "moth jammed in a relay" all the way down in the abyss here? I thought literally everyone knew that story??
@aeonofdiscord the joke is the assertion that it's the only true bug
@SuricrasiaOnline oh of course sorry
@SuricrasiaOnline though of course moths are in the order lepidoptera rather than hemiptera, and thus not,, taxonomically,,, "true bugs",,,,,,,
Moving online webserver using public transport:
https://www.youtube.com/watch?v=vQ5MA685ApE
@SuricrasiaOnline god i wish I could click on each of these and it would bring up details of each I could spend hours here
@Nine You can! It's all in the HTML version also in the original post: https://suricrasia.online/iceberg/
@mDuo13 oooo!!! That wasn't working on my pc yesterday!
@SuricrasiaOnline I kinda want links to read up on those I don't already know 😆
@SuricrasiaOnline This is awesome. I will gift our engineering slack channel at work with this image. :-)
@SuricrasiaOnline "Basilisk numbers" subtle!
@SuricrasiaOnline@cybre.space i'm sorry MAGIC THE GATHERING IS TURING COMPLETE????
@SuricrasiaOnline did you forget to push that update?
@halcy try refreshing a few times
@clarjon1 done
@SuricrasiaOnline @clarjon1 thank you!
One of my first thoughts looking a the page was ‘if these were all links I’d probably spend half a day on this page’
@fruchti you're welcome :3
@SuricrasiaOnline i just did a lot of reading on a lot of things that my brain is not large enough to understand
@SuricrasiaOnline this is an amazing resource, thank you. I will be spending a lot of time on this.
@SuricrasiaOnline oh fuck yeah I spent my morning yesterday looking some of those up thanks!!
@SuricrasiaOnline Reading about "OpenOffice doesn't print on Tuesdays" reminded me of "You can't code PHP in Turkish" https://bugs.php.net/bug.php?id=18556
@SuricrasiaOnline I just spent like two and a half hours delving the iceberg with my partner who knows much more CS than I do.
And I learned so so many things.
But the NIST publishing pre-broken crypto -- and folks being suspicious that they'll do it again -- is gonna haunt my ass forever.
@SuricrasiaOnline it took me longer than I'd like to admit before I realised this...
@SuricrasiaOnline This is absolutely fantastic, and also cursed.
@SuricrasiaOnline "number redefinition" is possible also via Java reflection. Maybe drop "python" (but keep the link)?
Y'know, it occurs to me that the implementation of Smalltalk looping probably belongs here.
Smalltalk does loops via methods of lambda objects. So a while loop is:
[ a < 10 ] whileTrue: [a := a + 1].
(Square brackets are lambdas; everything is an object; whitespace is a method call delimiter. So the above calls method 'whileTrue:' on the left block with the right block as an argument.)
This is not the cursed part.
(ctd)
If you look up the source code for 'whileTrue:', it'll look like this:
whileTrue: aBlock
^[ self value ]
whileTrue: [ aBlock value ].
Method 'value' invokes a block and returns its value. 'self' is a block because whileTrue: is a method of Block (i.e. lambda).
So how does this work?
The first time I saw it, I was in a hurry so I just wrote it off as a recursion thing and didn't think too hard about it.
Needless to say, I was wrong.
(ctd)
While Smalltalk doesn't have flow control structures (it's all done with lambdas and method resolution), it turns out that the underlying bytecode does. And the compiler takes advantage of this by optimizing away the lambdas and method calls into straight gotos when that's possible. In fact, my first example would end up like that, probably.
(ctd)
And that's what happens to the body of the 'whileTrue:' method: the compiler converts the outer loop into conditional gotos which do what you expect.
The loop conditional and body both call their respective counterparts when they need to so it all still works as expected.
As an aside, 'if' conditionals actually make sense but they still get optimized away this way sometimes and you can sometimes trick the compiler into doing the wrong thing as a result.
@SuricrasiaOnline not sure if omission of polyglot files was oversight or just not weird enough
@phooky ugh yeah that should've gone in, forgot about it
@SuricrasiaOnline Almost got a Bingo. Only missing square was "66-way Cthulhu merge".
UPDATE: ALL THE ITEMS HAVE A LINK TO CONTEXT/AN EXPLAINER PAGE!!