[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)