[HN Gopher] The Xkcd thing, now interactive
___________________________________________________________________
The Xkcd thing, now interactive
Author : memalign
Score : 1062 points
Date : 2026-03-03 10:56 UTC (12 hours ago)
(HTM) web link (editor.p5js.org)
(TXT) w3m dump (editor.p5js.org)
| aanet wrote:
| Too delightful. Like a reverse jenga tower you like to topple
| over.
|
| Of course, glad to see it was another @isohedral project.
| efilife wrote:
| If only it wouldn't collapse by itself after clicking anywhere
| (clicking seems to activate physics) this would be 10/10
| koolba wrote:
| > 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 wrote:
| but I came here for amusement, not existential dread.
| gchamonlive wrote:
| Nobody expects ~the Spanish inquisition~ existential dread
| moebrowne wrote:
| Yeah. Seems like there is ~0 friction.
| upsuper wrote:
| And that tiny thing is actually one of the last to collapse...
| panzi wrote:
| 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 wrote:
| Was about to comment the same. It's a common mistake/gotcha.
| benrutter wrote:
| Possibly dumb question, but does that still hold inside p5js?
| virgil_disgr4ce wrote:
| p5 is just a wrapper that adds the setup() and draw()
| functions, so yes
| fallingmeat wrote:
| oh look at that. removing IBM enterprise apps really doesn't
| break anything and the whole stack got lighter. science.
| rob74 wrote:
| 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...
| mezod wrote:
| this is the best thing internet since the last best thing in the
| internet
| crokie123 wrote:
| What's the Nebraska project?
| voidUpdate wrote:
| https://www.explainxkcd.com/wiki/index.php/2347:_Dependency has
| some examples, one of which is actually from nebraska
| 1e1a wrote:
| It looks like the stroke/border is not taken into account in the
| physics simulation.
| tobylane wrote:
| 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_ wrote:
| Now we just need a generated version of this based on a
| package.json!
| louisbourgault wrote:
| 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).
| BoppreH wrote:
| 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.
| sumo89 wrote:
| The shark biting the cable is what gets me
| Projectiboga wrote:
| I like that the hand crank is going counter-clockwise
| Nevermark wrote:
| Crap, I saw it as clockwise. (Furious reversal of effort...)
| b3lvedere wrote:
| Oh wow! :)
|
| Thank you for the laughs. I needed that!
| SideburnsOfDoom wrote:
| given the events of the last few days, one could add a Shahed
| drone too.
| skyberrys wrote:
| Can someone help me understand the single brick at the very
| bottom under Linux? What is it representing?
| apsurd wrote:
| The cables at the bottom of the ocean.
| CarVac wrote:
| Undersea cables. With a shark biting one.
| rtkwe wrote:
| 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.
|
| http://www.mirceakademy.com/uploads/MSA2024-6-6.pdf
| Hamuko wrote:
| I feel like having them as a single brick is a bit
| hyperbolic, since undersea cables are pretty redundant in
| most of the world. Get rid of one and traffic just routes
| around it. Ships have been routinely destroying cables in
| the Gulf of Finland and the Baltic Sea in the past couple
| of years without causing significant disruptions.
| drob518 wrote:
| The whole Internet was designed for precisely this use
| case. If there is an outage, the distributed system will
| try to find another path. No actual central point of
| failure. As you say, the single brick is hyperbolic. But
| yea, those sharks can certainly be disruptive at times.
| rezonant wrote:
| Well that depends on how much traffic that cable was
| supporting, how much free capacity is available on other
| cables heading to the same area, how much additional
| latency the rerouting will add and how sensitive to
| latency the rerouted traffic is doesn't it?
| rtkwe wrote:
| Only mildly. There's not huge amounts of dark capacity
| just sitting around waiting to take over so if a major
| fiber connection goes down the remainder will get
| congested with the extra capacity. It won't cascade like
| a power outage but the remaining lines will slow down.
| zahlman wrote:
| Do satellite networks not move the needle in terms of
| capacity/reliability now?
| rtkwe wrote:
| No. They're not setup to be a principal route between two
| nations and most satellite networks until very recently
| didn't even route messages through other satellites but
| instead retransmitted them to a ground station with
| access to hardline internet. Even Starlink mostly does
| this still because it's way cheaper and easier.
| rtkwe wrote:
| You can see an unofficial tracker [0] of the Starlink
| downlink network and see how outside of some rural areas
| your data is only moving a few tens of miles away most of
| the time before it's sent down to a ground system. Their
| sats have 3 200 Gbps laser communicators for intra
| constellation routing which is pretty small for the task
| of replacing fiber optic links.
|
| [0] https://www.google.com/maps/d/viewer?mid=1805q6rlePY4
| WZd8QMO...
| roughly wrote:
| I never understand why questions like this get downvoted
| around here.
| toast0 wrote:
| Only a little bit. Just clicking around, a new Hawaii
| cable is supposed to have 24 Fiber Pairs and 18Tbit per
| Fiber Pair at the end of this year. If you lose several
| tbits of bandwidth, you're going to have a hard time
| making it up with satellite.
|
| For small island countries and such, satellite capacity
| may be sufficient; and it is likely helpful for keeping
| international calling alive even if it's not sufficient
| for international data. But when you drop capacity by a
| factor of 1000, it's going to be super messy.
| fc417fc802 wrote:
| Conceptually, it's the difference between your wifi
| versus running a single fiber to each room in your house.
| The difference in bandwidth is multiple orders of
| magnitude.
|
| This is never going to change because from a physical
| perspective free radio is a shared medium while each
| individual fiber (or wire) has its own private bandwidth.
| forrestpitz wrote:
| Looks like an undersea cable to me
| i-zu wrote:
| One of DNS pillars should be replaced by BGP.
| mhink wrote:
| And NTP, if I recall correctly.
| JeanSebTr wrote:
| When was that?
| rezonant wrote:
| When was BGP? Or when was NTP?
| Sohcahtoa82 wrote:
| I think it was a joke based on NTP being a time protocol.
| jibal wrote:
| whoosh
| Sohcahtoa82 wrote:
| The "Whatever Microsoft is doing" bit was always my favorite.
| tw04 wrote:
| 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 wrote:
| You don't think AWS is internally built on massive amounts of
| open source?
| sethaurus wrote:
| That's what it would mean to place them above unpaid
| developers in the illustration, yes.
| mh8h wrote:
| There's a recent update:
| https://x.com/Hesamation/status/2028289544676630739?s=20
| wink wrote:
| the weird physics are mildly infuriating. still funny though
| eastbound wrote:
| That is the joke, I think. The game is to touch anything and
| try to not make the rest fall down.
| seba_dos1 wrote:
| Simply clicking on the empty background already makes things
| fall down.
| wink wrote:
| 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.
| egorfine wrote:
| We absolutely need a "whatever Microsoft is doing" object in
| that.
| knowtheory wrote:
| I love that the initial state itself isn't stable.
|
| The world keeps moving around us. Can't choose staying still.
| tyleo wrote:
| Interesting! It's stable on my machine. I wonder if this is due
| to floating-point differences.
| andai wrote:
| 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 wrote:
| For me, bottom blocks stay still while those on the very
| top fall down.
| Hamuko wrote:
| If I open it, click on the background to activate the
| physics and just keep the tab open, pretty much all of
| the blocks that can collapse do eventually collapse.
| smikhanov wrote:
| The Nebraska guy's block remains surprisingly stable,
| even when the whole thing above it collapses. Very
| symbolic.
| tyleo wrote:
| Maybe that's what I'm seeing.
| rob74 wrote:
| One more pedantic nitpick: when a block gets wedged between
| two blocks at an angle, it gets slowly pushed out, although
| there is a lot of weight resting on the top block. That
| would be realistic only (maybe) if the blocks were made of
| ice, but not for other materials...
| withinboredom wrote:
| Another reason not to let ice on the internet.
| clickety_clack wrote:
| Coefficient of friction is way too low.
| danhau wrote:
| I'm guessing it's somewhat framerate-dependent.
| LanceH wrote:
| That's the javascript effect.
| rtkwe wrote:
| 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 wrote:
| Just like real life. Sit still, touch nothing, and watch
| everything fall apart all on its own -\\_(tsu)_/-
| normie3000 wrote:
| It's like open source Angry Birds.
| lwhi wrote:
| Who are the big blocks that survive the collapse though?
| latexr wrote:
| 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 wrote:
| And it still pings, of course
| latexr wrote:
| Of course.
|
| https://bash-org-archive.com/?5273
| jascha_eng wrote:
| This is oddly fun to play with. Has that angry birds vibe
| briansm wrote:
| 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)
| jfkimmes wrote:
| Here's a little more context about the author's motivation:
| https://mathstodon.xyz/@csk/116162797629337132
| ink_13 wrote:
| Oh cool, a product of Waterloo's Craig Kaplan, most famous for
| his work on the discovery of the einstein monotile
| zahlman wrote:
| > 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 wrote:
| 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.
| josefritzishere wrote:
| This is very real.
| bbx wrote:
| I was expecting it to open the FFmpeg website at the end.
| palad1n wrote:
| THIS IS THE BEST THING EVAR!
| venusenvy47 wrote:
| 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.
| andai wrote:
| App?
| Telaneo wrote:
| There are a few HN readers out there, but none of them are
| official as far as I know.
| venusenvy47 wrote:
| 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.
| whackernews wrote:
| 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.
| CivBase wrote:
| 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 wrote:
| 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 wrote:
| Ask and you shall receive: https://stacktower.io/
| withinboredom wrote:
| bro. it asks for the ability for some random github user to
| literally take over your private repositories.
| claar wrote:
| Yeah, if it weren't for that, I think this would blow up.
| Plus, even if you get past that, if you try a larger
| project, it times out after 1 minute and gives up. But it's
| a pretty awesome idea!
| matzehuels wrote:
| hey! I built this, I know its really scrappy, I just
| don't have enough time currently to make right by users.
| I'm on it though... stay tuned
| matzehuels wrote:
| You're 100% right to call that out. The current GitHub
| OAuth scope is too broad
|
| I'm changing this ASAP to least-privilege and I'll publish
| a clear explanation of scopes + data handling. In the
| meantime: please run the local/CLI path if you want zero-
| trust.
| withinboredom wrote:
| Damn dude. That's awesome! I saw the permissions it
| wanted out of every org I'm a part of (including some big
| open source orgs) -- I'd probably find myself booted out
| of those orgs if I accepted that. They def get a
| notification on every authentication like that and take
| potential impersonation seriously.
| CivBase wrote:
| 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.
| MagicMoonlight wrote:
| The blocks feel a little bit too slippery
| inanutshellus wrote:
| 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 wrote:
| The source code is right there ... just change the background
| image to whatever you want.
| inanutshellus wrote:
| 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-font
| 9dev wrote:
| I hope Randall reads HN and sees this, he'd love it.
| mghackerlady wrote:
| I'd be surprised if he didn't read HN at least occasionally
| merryocha wrote:
| I knew exactly what this would be before even clicking it.
| Someone had to make it!
| rererereferred wrote:
| There is so many xkcd things, I didn't know which it would be.
| fragmede wrote:
| 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 wrote:
| And it's all a meta commentary on 915.
| seydor wrote:
| without touching the block, after a while it begins collapsing,
| which makes it an even better representation of infrastructure
| PenguinRevolver wrote:
| I love that clicking the empty space and just doing nothing at
| all _still_ causes the blocks to fall apart after some time.
| ASalazarMX wrote:
| Since it's going to collapse anyway, it's fun to table flip
| everything using the botton block.
| jasonjmcghee wrote:
| Played with it on the phone. So satisfying.
|
| I know the time it takes to get something to feel this good.
|
| Really fantastic work.
| harvie wrote:
| No title text, No respect...
| AshamedCaptain wrote:
| Liked those small Box2D playboxes from decades ago, wonder where
| all that went.
| barddoo wrote:
| Increase friction
| BoneShard wrote:
| 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 wrote:
| Plus "a dev typing real fast" from the XKCD Stack
| (https://xkcd.com/1636/) is now feasible.
| foltik wrote:
| 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?
| zavg wrote:
| I would like to have online multiplayer version of Jenga game
| based on these mechanics
| Nevermark wrote:
| 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.
| bddicken wrote:
| epic
| c_hastings wrote:
| That was a lot of fun actually. I used one block to wreck all the
| others. Thanks for sharing.
| throwawayk7h wrote:
| 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.
| lencastre wrote:
| needs angry birds version
|
| or not, it's great as is BTW
| snalty wrote:
| This reminds me of one of my favourite flash games, Fantastic
| Contraption, for some reason.
| dmitrygr wrote:
| I think you may have set friction too low
| westurner wrote:
| "The Red Wheelbarrow" (1923) by William Carlos Williams
| https://www.poetryfoundation.org/poems/45502/the-red-wheelba...
| JimmaDaRustla wrote:
| funny, but poorly coded because there's not friction coefficient
| it seems - just clicking into the applet, everything eventually
| just falls over
| cnees wrote:
| Challenge: Rearrange the blocks into a stable configuration
| without losing any offscreen
| msuvakov wrote:
| I had a similar idea inspired by xkcd:
|
| https://suvakov.github.io/vibes/SlidingPuzzleChess/index.htm...
| andrewflnr wrote:
| 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.
| bitwize wrote:
| Ooooh, that's fun to make topple. I kind of want to launch an
| Angry Bird at it.
| shadowgovt wrote:
| 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.
| andyjohnson0 wrote:
| 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.
| poolnoodle wrote:
| The physics remind me of Little Inferno
| jibal wrote:
| Todd C. Miller - Sudo maintainer for over 30 years
| https://news.ycombinator.com/item?id=46858577
| matzehuels wrote:
| love it, integrate it into
| https://github.com/matzehuels/stacktower please!
| zygentoma wrote:
| I love that the thing of itself is completely unstable once you
| click somewhere to start the simulation ... :)
| tempestn wrote:
| Accidentally discovered you can quantum tunnel blocks through the
| weak link to shore it up!
___________________________________________________________________
(page generated 2026-03-03 23:00 UTC)