The Xkcd thing, now interactive (editor.p5js.org)
1074 points by memalign 12 hours ago
BoppreH 11 hours ago
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.
tw04 5 hours ago
AWS definitely lives above unpaid developers. In fact they should probably be the bird flying straight at the unpaid developers as they force yet another company to move to a closed license to survive.
publicdebates 5 hours ago
You don't think AWS is internally built on massive amounts of open source?
sethaurus 5 hours ago
mh8h 4 hours ago
There's a recent update: https://x.com/Hesamation/status/2028289544676630739?s=20
sumo89 10 hours ago
The shark biting the cable is what gets me
i-zu 7 hours ago
One of DNS pillars should be replaced by BGP.
mhink 7 hours ago
And NTP, if I recall correctly.
JeanSebTr 6 hours ago
Sohcahtoa82 5 hours ago
The "Whatever Microsoft is doing" bit was always my favorite.
Projectiboga 10 hours ago
I like that the hand crank is going counter-clockwise
Nevermark 7 hours ago
Crap, I saw it as clockwise. (Furious reversal of effort…)
skyberrys 8 hours ago
Can someone help me understand the single brick at the very bottom under Linux? What is it representing?
rtkwe 8 hours ago
The undersea cables actually connecting the entire internet. Sometimes sharks just take a bite of them, they're reasonable well protected but it's enough damage to cause outages and disruptions.
It's the single pin under everything because there are a limited number of those cables especially in some regions so a single shark can take out the entire internet for some countries.
zahlman 6 hours ago
Hamuko 7 hours ago
CarVac 8 hours ago
Undersea cables. With a shark biting one.
apsurd 8 hours ago
The cables at the bottom of the ocean.
forrestpitz 8 hours ago
Looks like an undersea cable to me
b3lvedere 9 hours ago
Oh wow! :)
Thank you for the laughs. I needed that!
SideburnsOfDoom 9 hours ago
given the events of the last few days, one could add a Shahed drone too.
jfkimmes 10 hours ago
Here's a little more context about the author's motivation: https://mathstodon.xyz/@csk/116162797629337132
zahlman 6 hours ago
> In my online undergraduate P5.js course, students are about to begin the module on motion and physics, including a bit of physics simulation using Matter.js.
When did things get specialized this much?
hendersonreed 3 hours ago
Looking through the website of the course, it's not really a general computer science course - it "explores the use of graphics in art, design and visualization contexts" and is part of the digital art program. Quite a reasonable tech stack, for that purpose I think.
ink_13 6 hours ago
Oh cool, a product of Waterloo's Craig Kaplan, most famous for his work on the discovery of the einstein monotile
panzi 11 hours ago
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.
DaanDL 11 hours ago
Was about to comment the same. It's a common mistake/gotcha.
benrutter 10 hours ago
Possibly dumb question, but does that still hold inside p5js?
virgil_disgr4ce 10 hours ago
knowtheory 10 hours ago
I love that the initial state itself isn't stable.
The world keeps moving around us. Can't choose staying still.
tyleo 10 hours ago
Interesting! It's stable on my machine. I wonder if this is due to floating-point differences.
andai 9 hours ago
On my machine, the initial state isn't simulated. It only begins simulation when I touch it. At which point, the weight causes the bottom blocks to intersect each other significantly.
FireInsight 9 hours ago
tyleo 9 hours ago
rob74 9 hours ago
danhau 7 hours ago
I‘m guessing it‘s somewhat framerate-dependent.
LanceH 9 hours ago
That's the javascript effect.
rtkwe 6 hours ago
Nah that's just the effect of turning on the simulation. The initial version isn't the same as the first steps because there's no weight. If you look closely after you click the blocks overlap slightly.
Something similar happens all the time in games when you go from a static version of something to the higher level of detail version with physics enabled, if the transition isn't handled gracefully or early enough you can get snapping.
arcadianalpaca 8 hours ago
Just like real life. Sit still, touch nothing, and watch everything fall apart all on its own ¯\_(ツ)_/¯
LoganDark 6 minutes ago
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.
tempestn 34 minutes ago
Accidentally discovered you can quantum tunnel blocks through the weak link to shore it up!
PenguinRevolver 9 hours ago
I love that clicking the empty space and just doing nothing at all still causes the blocks to fall apart after some time.
ASalazarMX 6 hours ago
Since it's going to collapse anyway, it's fun to table flip everything using the botton block.
fallingmeat 11 hours ago
oh look at that. removing IBM enterprise apps really doesn’t break anything and the whole stack got lighter. science.
rob74 9 hours ago
Did you actually manage to remove a block without everything collapsing (eventually)? Then you must have an incredibly steady hand, it's nearly impossible to do as far as I can see. Which can also be interpreted as a metaphor for the state of the tech stack, I guess...
zygentoma an hour ago
I love that the thing of itself is completely unstable once you click somewhere to start the simulation … :)
Nevermark 7 hours ago
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.
andyjohnson0 3 hours ago
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.
matzehuels 2 hours ago
love it, integrate it into https://github.com/matzehuels/stacktower please!
jascha_eng 10 hours ago
This is oddly fun to play with. Has that angry birds vibe
aanet 12 hours ago
Too delightful. Like a reverse jenga tower you like to topple over.
Of course, glad to see it was another @isohedral project.
mezod 11 hours ago
this is the best thing internet since the last best thing in the internet
andrewflnr 4 hours ago
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.
throwawayk7h 6 hours ago
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.
seydor 9 hours ago
without touching the block, after a while it begins collapsing, which makes it an even better representation of infrastructure
foltik 7 hours ago
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?
briansm 10 hours ago
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)
cnees 5 hours ago
Challenge: Rearrange the blocks into a stable configuration without losing any offscreen
poolnoodle 3 hours ago
The physics remind me of Little Inferno
louisbourgault 11 hours ago
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).
snalty 5 hours ago
This reminds me of one of my favourite flash games, Fantastic Contraption, for some reason.
1e1a 11 hours ago
It looks like the stroke/border is not taken into account in the physics simulation.
c_hastings 6 hours ago
That was a lot of fun actually. I used one block to wreck all the others. Thanks for sharing.
barddoo 8 hours ago
Increase friction
bbx 10 hours ago
I was expecting it to open the FFmpeg website at the end.
msuvakov 4 hours ago
I had a similar idea inspired by xkcd:
https://suvakov.github.io/vibes/SlidingPuzzleChess/index.htm...
zavg 7 hours ago
I would like to have online multiplayer version of Jenga game based on these mechanics
jasonjmcghee 8 hours ago
Played with it on the phone. So satisfying.
I know the time it takes to get something to feel this good.
Really fantastic work.
AshamedCaptain 8 hours ago
Liked those small Box2D playboxes from decades ago, wonder where all that went.
normie3000 10 hours ago
It's like open source Angry Birds.
BoneShard 8 hours ago
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.
kyle-rb 7 hours ago
Plus "a dev typing real fast" from the XKCD Stack (https://xkcd.com/1636/) is now feasible.
merryocha 9 hours ago
I knew exactly what this would be before even clicking it. Someone had to make it!
rererereferred 9 hours ago
There is so many xkcd things, I didn't know which it would be.
fragmede 7 hours ago
It's 2,347. There's also 927. And 538, and who can forget 386. 936 is also a classic. 1205 is a favorite, although AI changes the scales these days. As does 303. 1838 is another good one for when CC is "thinking". 1425.
Edit oh and Extrapolating out; 605.
garbagepatch 4 hours ago
jibal 2 hours ago
Todd C. Miller – Sudo maintainer for over 30 years https://news.ycombinator.com/item?id=46858577
egorfine 11 hours ago
We absolutely need a "whatever Microsoft is doing" object in that.
venusenvy47 10 hours ago
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.
whackernews 5 hours ago
Im sure whatever’s happening isn’t intended but I did experience jankyness when trying to use the back button on Safari on iOS. It wouldn’t let me go back.
andai 10 hours ago
App?
venusenvy47 4 hours ago
https://play.google.com/store/apps/details?id=com.pranapps.h...
I've been using it so long, I forgot that it is not official.
Telaneo 9 hours ago
There are a few HN readers out there, but none of them are official as far as I know.
9dev 9 hours ago
I hope Randall reads HN and sees this, he’d love it.
mghackerlady 9 hours ago
I'd be surprised if he didn't read HN at least occasionally
lwhi 10 hours ago
Who are the big blocks that survive the collapse though?
latexr 10 hours ago
Some BSD server somewhere which was last rebooted in 1994. No one is really sure where it’s physically located, but it keeps everything running.
raverbashing 10 hours ago
And it still pings, of course
latexr 10 hours ago
shadowgovt 3 hours ago
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.
bitwize 4 hours ago
Ooooh, that's fun to make topple. I kind of want to launch an Angry Bird at it.
lencastre 6 hours ago
needs angry birds version
or not, it’s great as is BTW
inanutshellus 9 hours ago
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.
withinboredom 9 hours ago
The source code is right there ... just change the background image to whatever you want.
inanutshellus 7 hours ago
Ha! ^_^
That text is literally the only thing hardcoded. It's inside a PNG, sourced in.
I get it though. Reproducing that cutesy "hand drawn" text would be a pain in the arse if you didn't just have the font.[1]
[1] https://github.com/ipython/xkcd-fontCivBase 9 hours ago
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.
TonyStr 9 hours ago
One naiive solution could be to cloc the dependency and use the size as the height, and fetch number of github contributors as width
BoppreH 9 hours ago
Ask and you shall receive: https://stacktower.io/
CivBase 7 hours ago
Oh cool. That's a promising start.
I don't know if the "The Nebraska Guy Ranking" this project uses is very useful, though. In particular the "depth" criteria doesn't make much sense to me, since it assumes the more foundational a dependency is, the more robust it must be. This seems to run counter to the point of the original comic where the "Nebraska Guy" piece was the fragile block holding up the entire tower.
This project also doesn't attempt to measure or visualize the complexity of a project. Theoretically a more complex project would require more support than a simple one, so I think that's an important metric to capture.
withinboredom 8 hours ago
bro. it asks for the ability for some random github user to literally take over your private repositories.
matzehuels 2 hours ago
claar 5 hours ago
palad1n 10 hours ago
THIS IS THE BEST THING EVAR!
tobylane 11 hours ago
I'd like a medal for clearing the screen of all debris. What's that you say, some of it is still useful? oh
_nivlac_ 11 hours ago
Now we just need a generated version of this based on a package.json!
westurner 5 hours ago
"The Red Wheelbarrow" (1923) by William Carlos Williams https://www.poetryfoundation.org/poems/45502/the-red-wheelba...
dmitrygr 5 hours ago
I think you may have set friction too low
efilife 11 hours ago
If only it wouldn't collapse by itself after clicking anywhere (clicking seems to activate physics) this would be 10/10
koolba 11 hours ago
> If only it wouldn't collapse by itself after clicking anywhere (clicking seems to activate physics) this would be 10/10
I think that's the other metaphor here.
It's not just standing on the tiny shoulders of one forgotten maintainer. The entire system only appears stable because we're looking at a snapshot of it.
In reality it's already collapsing.
glkindlmann 11 hours ago
but I came here for amusement, not existential dread.
gchamonlive 11 hours ago
upsuper 10 hours ago
And that tiny thing is actually one of the last to collapse...
moebrowne 11 hours ago
Yeah. Seems like there is ~0 friction.
MagicMoonlight 9 hours ago
The blocks feel a little bit too slippery
harvie 8 hours ago
No title text, No respect...
josefritzishere 10 hours ago
This is very real.
JimmaDaRustla 5 hours ago
funny, but poorly coded because there's not friction coefficient it seems - just clicking into the applet, everything eventually just falls over
crokie123 11 hours ago
What’s the Nebraska project?
voidUpdate 10 hours ago
https://www.explainxkcd.com/wiki/index.php/2347:_Dependency has some examples, one of which is actually from nebraska
bddicken 7 hours ago
epic
wink 11 hours ago
the weird physics are mildly infuriating. still funny though
eastbound 10 hours ago
That is the joke, I think. The game is to touch anything and try to not make the rest fall down.
wink 10 hours ago
Not sure. It's not it being unstable, it's small bricks moving bigger stuff to the side and maybe even upward. If I missed the joke I just don't find it funny.
seba_dos1 10 hours ago
Simply clicking on the empty background already makes things fall down.