The Xkcd thing, now interactive

(editor.p5js.org)

779 points | by memalign 6 hours ago

42 comments

  • BoppreH 4 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.

    • sumo89 4 hours ago
      The shark biting the cable is what gets me
    • i-zu 1 hour ago
      One of DNS pillars should be replaced by BGP.
      • mhink 30 minutes ago
        And NTP, if I recall correctly.
    • skyberrys 2 hours ago
      Can someone help me understand the single brick at the very bottom under Linux? What is it representing?
      • rtkwe 2 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.

        http://www.mirceakademy.com/uploads/MSA2024-6-6.pdf

        • Hamuko 1 hour ago
          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.
      • CarVac 2 hours ago
        Undersea cables. With a shark biting one.
      • apsurd 2 hours ago
        The cables at the bottom of the ocean.
      • forrestpitz 1 hour ago
        Looks like an undersea cable to me
    • Projectiboga 3 hours ago
      I like that the hand crank is going counter-clockwise
      • Nevermark 1 hour ago
        Crap, I saw it as clockwise. (Furious reversal of effort…)
    • b3lvedere 3 hours ago
      Oh wow! :)

      Thank you for the laughs. I needed that!

    • SideburnsOfDoom 3 hours ago
      given the events of the last few days, one could add a Shahed drone too.
  • c_hastings 3 minutes ago
    That was a lot of fun actually. I used one block to wreck all the others. Thanks for sharing.
  • jfkimmes 3 hours ago
    Here's a little more context about the author's motivation: https://mathstodon.xyz/@csk/116162797629337132
  • panzi 5 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 5 hours ago
      Was about to comment the same. It's a common mistake/gotcha.
      • benrutter 3 hours ago
        Possibly dumb question, but does that still hold inside p5js?
        • virgil_disgr4ce 3 hours ago
          p5 is just a wrapper that adds the setup() and draw() functions, so yes
  • knowtheory 4 hours ago
    I love that the initial state itself isn't stable.

    The world keeps moving around us. Can't choose staying still.

    • tyleo 3 hours ago
      Interesting! It's stable on my machine. I wonder if this is due to floating-point differences.
      • andai 3 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 3 hours ago
          For me, bottom blocks stay still while those on the very top fall down.
          • Hamuko 1 hour ago
            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.
        • rob74 2 hours ago
          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 2 hours ago
            Another reason not to let ice on the internet.
        • tyleo 2 hours ago
          Maybe that's what I'm seeing.
      • danhau 22 minutes ago
        I‘m guessing it‘s somewhat framerate-dependent.
    • LanceH 2 hours ago
      That's the javascript effect.
    • arcadianalpaca 2 hours ago
      Just like real life. Sit still, touch nothing, and watch everything fall apart all on its own ¯\_(ツ)_/¯
  • Nevermark 48 minutes 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.

  • PenguinRevolver 2 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.
  • fallingmeat 5 hours ago
    oh look at that. removing IBM enterprise apps really doesn’t break anything and the whole stack got lighter. science.
    • rob74 2 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...
  • foltik 1 hour 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?
  • zavg 1 hour ago
    I would like to have online multiplayer version of Jenga game based on these mechanics
  • seydor 2 hours ago
    without touching the block, after a while it begins collapsing, which makes it an even better representation of infrastructure
  • mezod 4 hours ago
    this is the best thing internet since the last best thing in the internet
  • aanet 5 hours ago
    Too delightful. Like a reverse jenga tower you like to topple over.

    Of course, glad to see it was another @isohedral project.

  • jascha_eng 3 hours ago
    This is oddly fun to play with. Has that angry birds vibe
  • BoneShard 1 hour 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.

  • briansm 3 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)

  • jasonjmcghee 1 hour 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 1 hour ago
    Liked those small Box2D playboxes from decades ago, wonder where all that went.
  • louisbourgault 4 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).
  • 1e1a 4 hours ago
    It looks like the stroke/border is not taken into account in the physics simulation.
  • bbx 3 hours ago
    I was expecting it to open the FFmpeg website at the end.
  • barddoo 1 hour ago
    Increase friction
  • merryocha 2 hours ago
    I knew exactly what this would be before even clicking it. Someone had to make it!
    • rererereferred 2 hours ago
      There is so many xkcd things, I didn't know which it would be.
      • fragmede 1 hour 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.

  • normie3000 4 hours ago
    It's like open source Angry Birds.
  • harvie 1 hour ago
    No title text, No respect...
  • 9dev 3 hours ago
    I hope Randall reads HN and sees this, he’d love it.
    • mghackerlady 3 hours ago
      I'd be surprised if he didn't read HN at least occasionally
  • egorfine 4 hours ago
    We absolutely need a "whatever Microsoft is doing" object in that.
  • lwhi 4 hours ago
    Who are the big blocks that survive the collapse though?
  • bddicken 45 minutes ago
    epic
  • inanutshellus 3 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 2 hours ago
      The source code is right there ... just change the background image to whatever you want.
      • inanutshellus 54 minutes 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-font
  • CivBase 3 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 3 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 2 hours ago
      Ask and you shall receive: https://stacktower.io/
      • CivBase 40 minutes 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 2 hours ago
        bro. it asks for the ability for some random github user to literally take over your private repositories.
  • palad1n 3 hours ago
    THIS IS THE BEST THING EVAR!
  • _nivlac_ 4 hours ago
    Now we just need a generated version of this based on a package.json!
  • tobylane 4 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
  • efilife 5 hours ago
    If only it wouldn't collapse by itself after clicking anywhere (clicking seems to activate physics) this would be 10/10
    • koolba 5 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 5 hours ago
        but I came here for amusement, not existential dread.
        • gchamonlive 4 hours ago
          Nobody expects ~the Spanish inquisition~ existential dread
    • upsuper 4 hours ago
      And that tiny thing is actually one of the last to collapse...
    • moebrowne 4 hours ago
      Yeah. Seems like there is ~0 friction.
  • MagicMoonlight 3 hours ago
    The blocks feel a little bit too slippery
  • josefritzishere 3 hours ago
    This is very real.
  • crokie123 4 hours ago
    What’s the Nebraska project?
  • wink 4 hours ago
    the weird physics are mildly infuriating. still funny though
    • eastbound 4 hours ago
      That is the joke, I think. The game is to touch anything and try to not make the rest fall down.
      • wink 3 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 4 hours ago
        Simply clicking on the empty background already makes things fall down.
  • evolextra 32 minutes ago
    [dead]
  • venusenvy47 3 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.
    • andai 3 hours ago
      App?
      • Telaneo 3 hours ago
        There are a few HN readers out there, but none of them are official as far as I know.