Here's a little more context about the author's motivation: https://mathstodon.xyz/@csk/116162797629337132
Register the mousemove event handler on window, then you will still get the events when the mouse moves out of the window/frame while dragging and it won't be that buggy.
I love that the initial state itself isn't stable.
The world keeps moving around us. Can't choose staying still.
I love that clicking the empty space and just doing nothing at all still causes the blocks to fall apart after some time.
Accidentally discovered you can quantum tunnel blocks through the weak link to shore it up!
oh look at that. removing IBM enterprise apps really doesn’t break anything and the whole stack got lighter. science.
I noticed that when I drag an object, the force appears to originate from the object's center of mass rather than from my cursor. So it feels a little weird.
I love that the thing of itself is completely unstable once you click somewhere to start the simulation … :)
As entropy increases, the stack rises.
But then, when trapped in a local maxima prohibiting growth, pressure builds as too many new layers attempt to shim themselves under existing layers, until inevitably the stack collapses somewhere.
Then new layers can restart generating new apex baby layers on a now higher foundation of fertile fragmented but compressed and stable new-legacy rubble. Another point-oh age begins.
And sometimes, the stack just falls apart because.
In between those extinction events, layers that spawn the most layers, and form opportunistic bridges over lateral layers, dominate and thrive.
Occasionally, some layers try to reorder themselves to optimize future growth. Or tunnel down to achieve stronger footing. But like the tower of Hanoi, the more layers involved, the more intractable the replanting and reordering. Meanwhile, other growth routes around them. Yet, many instances of these failed structures can be found in the depths.
This is wonderful.
The gravitational constant is maybe a little low for my taste, but I like that I can fling a block vertically up off the top of the frame and it reappears even 5+ seconds later. Things don't get ignored out of existence. Neat.
This is oddly fun to play with. Has that angry birds vibe
love it, integrate it into https://github.com/matzehuels/stacktower please!
Too delightful. Like a reverse jenga tower you like to topple over.
Of course, glad to see it was another @isohedral project.
this is the best thing internet since the last best thing in the internet
If you just let the simulation fall apart under its inherent instability, the thanklessly maintained project is often one of the last things to fall. That seems poetically correct.
I would add some lerp-smoothing to the position of the cursor/touch, since it's a bit rigid. Click-drag-release often doesn't result in a fling but rather a sharp drop.
Lovely idea by the way.
without touching the block, after a while it begins collapsing, which makes it an even better representation of infrastructure
Very satisfying. I ripped out the load bearing piece and everything stayed standing except for the tiny pieces at the very top. Doesn't seem so bad according to the simulations, maybe we could use a good shakeup?
Just to mention the original was cited in the most recent Veritasium video:
"The Internet Was Weeks Away From Disaster and No One Knew"
https://www.youtube.com/watch?v=aoag03mSuXQ
(at about the 9:50 mark)
Challenge: Rearrange the blocks into a stable configuration without losing any offscreen
The physics remind me of Little Inferno
Really cool! To be honest, when I clicked on this I had a hope that it would be possible to add things to the stack like the ongoing memes of just putting different things in there (maybe live with other people as a collaborative editor).
It looks like the stroke/border is not taken into account in the physics simulation.
This reminds me of one of my favourite flash games, Fantastic Contraption, for some reason.
That was a lot of fun actually. I used one block to wreck all the others. Thanks for sharing.
Increase friction
I was expecting it to open the FFmpeg website at the end.
I had a similar idea inspired by xkcd:
https://suvakov.github.io/vibes/SlidingPuzzleChess/index.htm...
I would like to have online multiplayer version of Jenga game based on these mechanics
Played with it on the phone. So satisfying.
I know the time it takes to get something to feel this good.
Really fantastic work.
Liked those small Box2D playboxes from decades ago, wonder where all that went.
It's like open source Angry Birds.
On an unrelated note, AI completely changed economics of https://xkcd.com/1205/
Previously I'd postpone some tooling since I'd lost more time on it (unless it's something I wanted to learn anyway), but now I'm all in.
I knew exactly what this would be before even clicking it. Someone had to make it!
Todd C. Miller – Sudo maintainer for over 30 years https://news.ycombinator.com/item?id=46858577
We absolutely need a "whatever Microsoft is doing" object in that.
Is this website intended to break HN on Android? I've never had a website lock up the HN app like this. I couldn't back out, and I was stuck in a loop when the app restarted on the same page.
It's adorable. One small criticism: instead of being stored as initial conditions with no internal forces, if the tooling allows for it it should be stored as the "relaxed" state with internal forces. As it stands, the first interaction with it causes the whole model to 'bump' because everything is actually just kinda hovering in space with no physics simulation happening and only the first interaction causes physics calculations to start.
Ooooh, that's fun to make topple. I kind of want to launch an Angry Bird at it.
needs angry birds version
or not, it’s great as is BTW
Feature request - be able to change the text and re-share it.
Half the fun of this xkcd is referring to it in context of whatever just went haywire.
It'd be really cool (and probably useful) if someone could figure out a way to generate diagrams like this for any software project.
You'd first need to figure out a way to generate a complete dependency tree. For each box, I interpret its height as a measure of its complexity and its width as a measure of the support it receives. The hardest part would probably be figuring out a way to quantitatively measure those values.
THIS IS THE BEST THING EVAR!
I'd like a medal for clearing the screen of all debris. What's that you say, some of it is still useful? oh
Now we just need a generated version of this based on a package.json!
"The Red Wheelbarrow" (1923) by William Carlos Williams https://www.poetryfoundation.org/poems/45502/the-red-wheelba...
I would suggest adding the /r/ProgrammerHumor version too: https://www.reddit.com/r/ProgrammerHumor/comments/1p204nx/ac...
The AI crank always cracks me up.