NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
The Xkcd thing, now interactive (editor.p5js.org)
BoppreH 95 days 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 95 days 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 95 days ago [-]
You don't think AWS is internally built on massive amounts of open source?
sethaurus 95 days ago [-]
That's what it would mean to place them above unpaid developers in the illustration, yes.
sumo89 95 days ago [-]
The shark biting the cable is what gets me
95 days ago [-]
mh8h 95 days ago [-]
skyberrys 95 days ago [-]
Can someone help me understand the single brick at the very bottom under Linux? What is it representing?
rtkwe 95 days 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 95 days 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.
dijit 94 days ago [-]
"most of the world" is doing a seriously large amount of heavy lifting in this sentence.

There are many regions that are served by a single line, more than you think.

Even "well connected" places have fewer cables than you expect, and the frustrating thing is that you don't know that you can route around an issue until you try.

BGP is really resilient, which is great, but if your path is not clear then you'll only realise it when the failover doesn't happen, you'll think there's a redundant path.

rtkwe 95 days ago [-]
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.
drob518 95 days ago [-]
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 95 days ago [-]
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?
huflungdung 95 days ago [-]
[dead]
zahlman 95 days ago [-]
Do satellite networks not move the needle in terms of capacity/reliability now?
fc417fc802 95 days ago [-]
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.

toast0 95 days ago [-]
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.

rtkwe 95 days ago [-]
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 95 days ago [-]
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=1805q6rlePY4WZd8QMO...

gzread 94 days ago [-]
God, those nicknames. The Algo of Power GW (gateway?) the Pew Pew GW? Elon chose these.
rtkwe 94 days ago [-]
It's all so pick me. Like his insistence that he's a top level gamer.
rcxdude 95 days ago [-]
The capacity of satellite networks is minuscule compared to that of undersea fibre optics.
jpease 95 days ago [-]
Plus still have to contend with the space sharks.
roughly 95 days ago [-]
I never understand why questions like this get downvoted around here.
SauntSolaire 95 days ago [-]
They don't, you just have to wait longer than an hour for an accurate rating
CarVac 95 days ago [-]
Undersea cables. With a shark biting one.
apsurd 95 days ago [-]
The cables at the bottom of the ocean.
forrestpitz 95 days ago [-]
Looks like an undersea cable to me
Projectiboga 95 days ago [-]
I like that the hand crank is going counter-clockwise
Nevermark 95 days ago [-]
Crap, I saw it as clockwise. (Furious reversal of effort…)
i-zu 95 days ago [-]
One of DNS pillars should be replaced by BGP.
mhink 95 days ago [-]
And NTP, if I recall correctly.
JeanSebTr 95 days ago [-]
When was that?
ordu 95 days ago [-]
Apparently it is impossible to find the time or place to add them.
rezonant 95 days ago [-]
When was BGP? Or when was NTP?
Sohcahtoa82 95 days ago [-]
I think it was a joke based on NTP being a time protocol.
jibal 95 days ago [-]
whoosh
Sohcahtoa82 95 days ago [-]
The "Whatever Microsoft is doing" bit was always my favorite.
stackghost 95 days ago [-]
The depiction of Microsoft as "angry birds coming to indiscriminately fuck everything up" is absolutely on point for Microsoft in 2025/26
SideburnsOfDoom 95 days ago [-]
given the events of the last few days, one could add a Shahed drone too.
b3lvedere 95 days ago [-]
Oh wow! :)

Thank you for the laughs. I needed that!

jfkimmes 95 days ago [-]
Here's a little more context about the author's motivation: https://mathstodon.xyz/@csk/116162797629337132
zahlman 95 days 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 95 days 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 95 days ago [-]
Oh cool, a product of Waterloo's Craig Kaplan, most famous for his work on the discovery of the einstein monotile
panzi 95 days 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.
pierrec 95 days ago [-]
Come on, HN, you can't let this information stay under the front page for 13 hours and everyone's like "ah yes of course". Please don't register the mousemove event handler on window, that old school hack never really worked and was obsoleted 10 years ago when the pointer API became standard.

Things are much nicer now and the problem is entirely avoided by using pointer events: https://developer.mozilla.org/en-US/docs/Web/API/Element/set...

DaanDL 95 days ago [-]
Was about to comment the same. It's a common mistake/gotcha.
benrutter 95 days ago [-]
Possibly dumb question, but does that still hold inside p5js?
virgil_disgr4ce 95 days ago [-]
p5 is just a wrapper that adds the setup() and draw() functions, so yes
knowtheory 95 days ago [-]
I love that the initial state itself isn't stable.

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

tyleo 95 days ago [-]
Interesting! It's stable on my machine. I wonder if this is due to floating-point differences.
andai 95 days 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 95 days ago [-]
For me, bottom blocks stay still while those on the very top fall down.
Hamuko 95 days 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.
smikhanov 95 days ago [-]
The Nebraska guy’s block remains surprisingly stable, even when the whole thing above it collapses. Very symbolic.
rob74 95 days 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...
clickety_clack 95 days ago [-]
Coefficient of friction is way too low.
withinboredom 95 days ago [-]
Another reason not to let ice on the internet.
tyleo 95 days ago [-]
Maybe that's what I'm seeing.
danhau 95 days ago [-]
I‘m guessing it‘s somewhat framerate-dependent.
95 days ago [-]
LanceH 95 days ago [-]
That's the javascript effect.
rtkwe 95 days 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 95 days ago [-]
Just like real life. Sit still, touch nothing, and watch everything fall apart all on its own ¯\_(ツ)_/¯
lIl-IIIl 94 days ago [-]
Someone replied to the thread with a cool improvement. Don't want to spoil it for you, check it out for yourself:

https://chaos.social/@lenaschimmel/116167272004626199

PenguinRevolver 95 days 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 95 days ago [-]
Since it's going to collapse anyway, it's fun to table flip everything using the botton block.
tosti 95 days ago [-]
[flagged]
rtkwe 95 days ago [-]
Turn on JS or check what's causing it to fail to load. It's a little JS physics toy of this XKCD comic. https://www.explainxkcd.com/wiki/index.php/2347:_Dependency
tosti 95 days ago [-]
[flagged]
Sohcahtoa82 95 days ago [-]
The whole "Disabling JavaScript and then pretending to not know why websites don't work and then acting holier-than-thou about it" shtick gets old.

You know sites will break. Could you just cut the bullshit with pretending to not understand broken websites?

rtkwe 95 days ago [-]
Truly baffling, you're voluntarily disabling a critical piece of how websites expect to function and then act shocked when web sites don't cater to the >>0.0001% of users who decline to allow their site to work.
tosti 95 days ago [-]
[flagged]
fallingmeat 95 days ago [-]
oh look at that. removing IBM enterprise apps really doesn’t break anything and the whole stack got lighter. science.
rob74 95 days 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...
CivBase 95 days 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 95 days 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 95 days ago [-]
Ask and you shall receive: https://stacktower.io/
CivBase 95 days 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 95 days ago [-]
bro. it asks for the ability for some random github user to literally take over your private repositories.
matzehuels 95 days ago [-]
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 95 days ago [-]
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.
claar 95 days ago [-]
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 95 days ago [-]
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
jibal 95 days ago [-]
Todd C. Miller – Sudo maintainer for over 30 years https://news.ycombinator.com/item?id=46858577
seydor 95 days ago [-]
without touching the block, after a while it begins collapsing, which makes it an even better representation of infrastructure
Nevermark 95 days 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.

aanet 95 days 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 95 days ago [-]
This is oddly fun to play with. Has that angry birds vibe
mezod 95 days ago [-]
this is the best thing internet since the last best thing in the internet
briansm 95 days 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)

andyjohnson0 95 days 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.

shadowgovt 95 days 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.
nine_k 95 days ago [-]
If I ever end up developing a package / dependency manager, I'll be strongly tempted to call it "jenga".
efilife 95 days ago [-]
If only it wouldn't collapse by itself after clicking anywhere (clicking seems to activate physics) this would be 10/10
koolba 95 days 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 95 days ago [-]
but I came here for amusement, not existential dread.
gchamonlive 95 days ago [-]
Nobody expects ~the Spanish inquisition~ existential dread
upsuper 95 days ago [-]
And that tiny thing is actually one of the last to collapse...
moebrowne 95 days ago [-]
Yeah. Seems like there is ~0 friction.
westurner 95 days ago [-]
"The Red Wheelbarrow" (1923) by William Carlos Williams https://www.poetryfoundation.org/poems/45502/the-red-wheelba...
1e1a 95 days ago [-]
It looks like the stroke/border is not taken into account in the physics simulation.
LoganDark 95 days ago [-]
This can be fixed by:

       for (let re of rects) {
         push();
         translate(re.body.position.x, re.body.position.y);
         rotate(re.body.angle);
    -    rect(0, 0, re.w, re.h, 2);
    +    rect(0, 0, re.w - 1, re.h - 1, 2);
         pop();
       }
louisbourgault 95 days 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).
alienbaby 95 days ago [-]
Ooh I didn't expect that make me grin and be satisfying at the same time.
foltik 95 days 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?
95 days ago [-]
throwawayk7h 95 days 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.

andrewflnr 95 days 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.
LoganDark 95 days 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.
bbx 95 days ago [-]
I was expecting it to open the FFmpeg website at the end.
msuvakov 95 days ago [-]
barddoo 95 days ago [-]
Increase friction
zygentoma 95 days ago [-]
I love that the thing of itself is completely unstable once you click somewhere to start the simulation … :)
normie3000 95 days ago [-]
It's like open source Angry Birds.
tempestn 95 days ago [-]
Accidentally discovered you can quantum tunnel blocks through the weak link to shore it up!
c_hastings 95 days ago [-]
That was a lot of fun actually. I used one block to wreck all the others. Thanks for sharing.
snalty 95 days ago [-]
This reminds me of one of my favourite flash games, Fantastic Contraption, for some reason.
jasonjmcghee 95 days 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.

cnees 95 days ago [-]
Challenge: Rearrange the blocks into a stable configuration without losing any offscreen
zavg 95 days ago [-]
I would like to have online multiplayer version of Jenga game based on these mechanics
bitwize 95 days ago [-]
Ooooh, that's fun to make topple. I kind of want to launch an Angry Bird at it.
merryocha 95 days ago [-]
I knew exactly what this would be before even clicking it. Someone had to make it!
rererereferred 95 days ago [-]
There is so many xkcd things, I didn't know which it would be.
fragmede 95 days 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 95 days ago [-]
And it's all a meta commentary on 915.
AshamedCaptain 95 days ago [-]
Liked those small Box2D playboxes from decades ago, wonder where all that went.
egorfine 95 days ago [-]
We absolutely need a "whatever Microsoft is doing" object in that.
matzehuels 95 days ago [-]
love it, integrate it into https://github.com/matzehuels/stacktower please!
claysmithr 95 days ago [-]
It's funny even when you touch nothing it still collapses.
BoneShard 95 days 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 95 days ago [-]
Plus "a dev typing real fast" from the XKCD Stack (https://xkcd.com/1636/) is now feasible.
JimmaDaRustla 95 days ago [-]
funny, but poorly coded because there's not friction coefficient it seems - just clicking into the applet, everything eventually just falls over
lwhi 95 days ago [-]
Who are the big blocks that survive the collapse though?
latexr 95 days 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 95 days ago [-]
And it still pings, of course
latexr 95 days ago [-]
venusenvy47 95 days 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 95 days 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 95 days ago [-]
App?
venusenvy47 95 days 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 95 days ago [-]
There are a few HN readers out there, but none of them are official as far as I know.
9dev 95 days ago [-]
I hope Randall reads HN and sees this, he’d love it.
mghackerlady 95 days ago [-]
I'd be surprised if he didn't read HN at least occasionally
dmitrygr 95 days ago [-]
I think you may have set friction too low
MagicMoonlight 95 days ago [-]
The blocks feel a little bit too slippery
poolnoodle 95 days ago [-]
The physics remind me of Little Inferno
tobylane 95 days 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_ 95 days ago [-]
Now we just need a generated version of this based on a package.json!
palad1n 95 days ago [-]
THIS IS THE BEST THING EVAR!
crokie123 95 days ago [-]
What’s the Nebraska project?
voidUpdate 95 days ago [-]
https://www.explainxkcd.com/wiki/index.php/2347:_Dependency has some examples, one of which is actually from nebraska
inanutshellus 95 days 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 95 days ago [-]
The source code is right there ... just change the background image to whatever you want.
inanutshellus 95 days 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
josefritzishere 95 days ago [-]
This is very real.
lencastre 95 days ago [-]
needs angry birds version

or not, it’s great as is BTW

harvie 95 days ago [-]
No title text, No respect...
bddicken 95 days ago [-]
epic
wink 95 days ago [-]
the weird physics are mildly infuriating. still funny though
eastbound 95 days ago [-]
That is the joke, I think. The game is to touch anything and try to not make the rest fall down.
wink 95 days 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 95 days ago [-]
Simply clicking on the empty background already makes things fall down.
evolextra 95 days ago [-]
[dead]
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 16:40:01 GMT+0000 (Coordinated Universal Time) with Vercel.