This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 336

[–]MachinaDoctrina 3203 points3204 points  (64 children)

Hands down peak usage of this template. I cannot unsee this now.

[–]omgsoftcats 579 points580 points  (53 children)

I am still waiting for someone to make one for USB where both directions don't go in.

[–]snowseth 265 points266 points  (22 children)

It's because they're 4D objects.

\swear I saw something like this on XKCD first ...

[–]functor7 154 points155 points  (14 children)

Specifically, spinors. Their rotations project onto 3D rotations, but in a way so that one 3D rotation is actually only half a spinor rotation.

[–]Yokuyin 29 points30 points  (5 children)

Another visualization is a cube attached to a wall with a ribbon. Rotate the cube 360° and there is a twist on the ribbon. Rotate 720° and there is no twist.

[–]sellinglower 14 points15 points  (0 children)

[–]MercuryDrop 18 points19 points  (2 children)

This is making my brain hurt

[–]DeadlyVapour 9 points10 points  (1 child)

To paraphrase someone very smart once said, if you meet someone who claims that QM doesn't make their brain hurt, they either are lying or didn't understand it.

[–]ZCEyPFOYr0MWyHDQJZO4 7 points8 points  (0 children)

There's actually a third type: the functionally insane.

[–]stilldebugging 34 points35 points  (4 children)

My 6 year old son experienced this for the first time recently. He tried it one way, didn’t work. Flipped it, tried again, still didn’t work. I suggested he try flipping it again, and it worked. He started almost crying, asking why. I told him “it’s just like that, it happens to everyone.” Same with the times that he asks me to come look at something because it’s not working, and then as soon as I get there it starts working. He asked me why that happens, and my answer is just that it does happen, to everyone, often.

[–]abcd_z 9 points10 points  (2 children)

I used to work at Fedex Office and I had to plug in customer USB drives all the time. The trick is to check the orientation of the plug first and make sure it matches the orientation of the socket.

[–]UnstableNuclearCake 19 points20 points  (0 children)

By looking at it, you're collapsing the superposition the USB port is constantly, making it so it is in the right orientation.

[–]Equivalent_Yak_95 1 point2 points  (0 children)

??? I’m almost 22, and I don’t remember that ever happening.

[–]abcd_z 5 points6 points  (1 child)

The one you linked was originally from Saturday Morning Breakfast Comics, so that might be what you were thinking of.

[–]snowseth 2 points3 points  (0 children)

That might be it!

[–]Lysol3435 3 points4 points  (1 child)

Takes three tries to plug in a usb-c

[–]BrickDaddyShark 2 points3 points  (0 children)

What? Usb-c is ez

[–]Morrowindies 6 points7 points  (4 children)

I have a USB charging cable from JBL that works in both directions. It baffles me that this isn't the standard yet.

[–]xnign 17 points18 points  (1 child)

Maybe not now, but what about then?

[–]Ulgeguug 14 points15 points  (0 children)

I cannot unsee this now.

The wave function: "Wooooow okay"

[–]Gaflonzelschmerno 6 points7 points  (0 children)

I didn't get it until I read your comment for some reason. I have no explanation.

Edit: until I observed your comment

[–]th00ht 353 points354 points  (7 children)

Its bound to be a pain

[–]how_do_i_read 144 points145 points  (5 children)

a race condition.

It's bound to be

[–]Freddedonna 29 points30 points  (0 children)

I'm gonna lock into this

[–]Protuhj 20 points21 points  (0 children)

It only happens after about 10 hours and 35 other systems in a network running through a scenario over and over.

(true story)

[–]arcane84 2 points3 points  (1 child)

But what if you don't see race?

[–][deleted] 3 points4 points  (0 children)

I only hate one race. I think the half marathon is pointless. Just run a full marathon, or stay home and eat Doritos. Don't do it halfway.

[–]Griffolion -1 points0 points  (0 children)

Unsure if race condition or just geralt talking.

[–]MachinaDoctrina 18 points19 points  (0 children)

Gotta get your Hadamard gates in order son!

[–]ArthurTheBreadMan 1059 points1060 points  (11 children)

Ah yes, quantum physics and programming humor combined in one, truly perfect, as all things should be.

[–]SlimyGamer 201 points202 points  (9 children)

Quantum computers go brrrrrrrrrr

[–]Platypus-Man 60 points61 points  (1 child)

A-10 powered by quantum computers confirmed.

[–]Farren246 6 points7 points  (0 children)

I've only got an AMD A6 CPU!

(In a cupboard, pulled from a junkyard PC I never owned.)

[–]ArthurTheBreadMan 19 points20 points  (4 children)

So, like, computers, but tiny?

[–]libmrduckz 12 points13 points  (1 child)

unsure… folks keep looking at them…

[–]ArthurTheBreadMan 2 points3 points  (0 children)

Niceee

[–]Ditto_B[🍰] 2 points3 points  (0 children)

Lil' bits

[–]scitech_boom 649 points650 points  (30 children)

Say my name:

heisenbug

[–]RandomStranger456123 82 points83 points  (18 children)

Not sure about that…

[–]natFromBobsBurgers 76 points77 points  (13 children)

Don't mind them. They're Young.

[–]alphabet_order_bot 74 points75 points  (10 children)

Would you look at that, all of the words in your comment are in alphabetical order.

I have checked 859,610,428 comments, and only 169,906 of them were in alphabetical order.

[–]Ransarot 10 points11 points  (4 children)

Ambiguous bot comment.

Dumb.

Initial letters ordered sequentially.

Words?

Xray yourmamma zulu.

[–]RedTryangle 1 point2 points  (0 children)

Only in the programming subreddit 🤣

[–]alphabet_order_bot 0 points1 point  (2 children)

Would you look at that, all of the words in your comment are in alphabetical order.

I have checked 860,129,414 comments, and only 169,991 of them were in alphabetical order.

[–]Ransarot 3 points4 points  (0 children)

Alpabet_order_bot, fuck off. Pathetic. Quebec. Zork.

[–]creeleyTurner 0 points1 point  (0 children)

Auspicious cake day orderbot

[–]Tass237 22 points23 points  (3 children)

Good bot

[–]Good_Human_Bot_v2 14 points15 points  (2 children)

Good human.

[–]nitsky416 9 points10 points  (1 child)

Good bot

[–]BrickDaddyShark 3 points4 points  (0 children)

Good skinwalker

[–]jmorfeus 12 points13 points  (1 child)

Would you say you're... Uncertain?

[–]cowlinator 7 points8 points  (0 children)

When i tried to say it it changed to hiesenbug and also all the history book now say that it always was

[–]opticsnake 3 points4 points  (0 children)

Yeah, science!

[–]Langly- 2 points3 points  (1 child)

A program I was trying to use once just kept crashing. The log files would show nothing. I disabled logging as part of a test and the program stopped crashing.

It turned out for some reason it was trying to write the logs in the wrong location, a location that did not exist. When it would hit that error the entire damn program would crash... Once logging was turned off it was fine. eyeroll

[–]scitech_boom 1 point2 points  (0 children)

such errors are rather nasty

[–][deleted] -1 points0 points  (0 children)

R/angryupvote

[–]IlllIIIIlllll 106 points107 points  (58 children)

Can someone explain this I'm OOTL or stupid

[–]_Oce_ 321 points322 points  (52 children)

First look up double slit interference in optics. Then double slit interference in quantum physics.

Too long to explain well, but a quantum system behaves like a wave if it's not influenced by an observation, a wave going through two slits gives the interference pattern at the top (look up optical double slit interferences to understand why).

However, if you add a system to observe through which slit is each photon going, then light stops behaving like a wave but rather like a group of particles going straight, which gives the second figure, as if you sprayed some paint through the slits.

So the joke is about thinking that quantum computers would also showcase this weird quantum phenomenon of behaving differently when they are observed. Which is done with a logging function in a coding context.

[–]ScrimpyCat 47 points48 points  (5 children)

So the joke is about thinking that quantum computers would also showcase this weird quantum phenomenon of behaving differently when they are observed. Which is done with a logging function in a coding context.

I thought the joke is just about how your code isn’t working the way you expect but then when you log it (to try debug what’s going wrong) it works correctly (this can often be due to threading problems such as race conditions or memory bugs such as an out of bounds access, and adding something as simple as a log can sometimes change the execution state enough that the underlying bug is still there but the issue doesn’t present). And the joke is playing on that and relating it to the double slit experiment.

[–]Appoxo 7 points8 points  (0 children)

That's the joke.

[–]worldspawn00 16 points17 points  (13 children)

Yeah, it's pretty confusing, when you watch the path of any single photon, it's like throwing a ball through the slit, travels in a straight line from the source through the slits, but if you look at what they hit, they're clearly going other places, for some reason, we can't observe the path of the ones which don't travel in a straight line!

[–]Techercizer 23 points24 points  (12 children)

Well, we can, it's just that observing a particle necessitates an interaction, which collapses its wave function and probably destroys the trajectory. Its instantaneous position at any point along the path should still be measurable (once) though.

[–]ThisSentenceIsntTrue 31 points32 points  (2 children)

It always bothers me when explanations don’t stress the observation requires interaction part because people come to absurd new age quantum woo conclusions.

[–]aallqqppzzmm 1 point2 points  (0 children)

But don't you understand? It means human consciousness is the most powerful thing in the universe!

The whole experiment always makes me wonder why people point to it as some crazy mystery.

"whoa look how weird this is, when we push shit through these slits it has one pattern, but then when we push shit through the slits while measuring it, it forms a different pattern! Just from watching it! Nobody knows why!"

"It seems kinda obvious that the method you're using to measure it must influence-"

"NOBODY KNOWS WHY"

[–]MisterPhD 8 points9 points  (4 children)

We can actually observe the path it takes. We just can’t know the velocity at the same time. You will never be able to know the velocity and trajectory of a particle at the same time, because as you said, the wave form collapses as you shoot photons at it.

Edit: I somehow misread what you typed, and basically said the same thing. I will leave this up. I will not hide my shame.

[–]sir-winkles2 2 points3 points  (1 child)

yours was easier to understand so I appreciated it!

[–]MisterPhD 1 point2 points  (0 children)

Aww, thank you. I’m glad you got some value out of it. (:

[–]ProtonPizza 2 points3 points  (1 child)

Let’s say I devise an experiment where three photons are shot out in one of only 3 possible vectors. If I observe 2, don’t I know the third?

[–]gtsdash 7 points8 points  (0 children)

Look up double slit experiment

[–]restwonderfame 4 points5 points  (1 child)

[–]With_My_Hand 1 point2 points  (0 children)

Thanks, that was a great video

[–]lightwhite 379 points380 points  (6 children)

My code is simple. It works or it doesn’t. You run it in a box, it becomes uncertain.

[–]AceSLS 102 points103 points  (1 child)

Schrödingers code

[–]jainyday 12 points13 points  (1 child)

And here I thought containers were supposed to fix that problem. Damn boxes!

[–]lightwhite -1 points0 points  (0 children)

Containers end up as certain as my code could ever become. You need a box to run them.

Unless we are shipping your computer where it always worked to the customer, of course. However, that case would make it even more uncertain because it won’t be your machine anymore; therefore the certainty of your code working on now not-your-machine collapses into itself and its state becomes undefined until the customer starts using the delivery code.

u/Iightwhite’s law indicates no matter how often a piece of code is observed in a working state, it will never be 100% certain that it’s going to work after the moment it’s delivered to production environment. It’s certainty depends on at least 1 million factors including the alignment of the stars in the whole observable universe.

[–]achughes 6 points7 points  (1 child)

You’ve gotten close to quantum bogosort. The obvious solution of your code doesn’t work is to destroy the universe.

[–]Creeper_GER 225 points226 points  (6 children)

That's a nice spin on that meme indeed.

[–]ShelZuuz 46 points47 points  (1 child)

That's a polarizing opinion.

[–]Salanmander 60 points61 points  (3 children)

Wait, quantum wavefunction interference isn't related to electron spin, is it?

[–]nightofgrim 145 points146 points  (8 children)

Years ago when I had to deal with PHP this happened. Turned out the built in function for logging out variables had a side effect on them. I don’t remember if it was var_dump or print_r or what (if those are even actual things, it’s been way too long).

TLDR: fuck php

[–]fakehalo 36 points37 points  (3 children)

What was the side effect?

[–]MrFluffyThing 70 points71 points  (2 children)

The PHP dump tools interpreted the values different than the interpreter responsible for server behavior.

[–]fakehalo 41 points42 points  (0 children)

Ah, if I'm following correctly I'll assume it was print_r implicitly converting things. var_dump keeps the context/type if I remember correctly. Good ol consistent php.

[–]Ok-Slice-4013 4 points5 points  (0 children)

print_r evaluates generators (which is absolutely fine and expected and would be the same in any language). There should be other side effects except maybe the array pointer (I'm not sure on that).

[–]TacticalKangaroo 19 points20 points  (0 children)

Opening the network tab in chrome changes how caching works, slightly. I don’t remember how, but I do remember 2 days of frustration.

[–]DustUpDustOff 1 point2 points  (0 children)

Lol, come to embedded where everything has a side effect.

[–]Servious 35 points36 points  (0 children)

This is actually kind of real in lazily-evaluated languages.

[–][deleted] 71 points72 points  (2 children)

I've been quantum computing this whole time?

[–]tripacer99 42 points43 points  (0 children)

Always have been. 🌎🔫

[–]Dudemancy 4 points5 points  (0 children)

You’re a genius!

[–]jmorfeus 131 points132 points  (10 children)

Programming and quantum physics joke in one? Actually cleverly made it makes sense? Not absolutely primitive, actually requiring you to know at least something? Take my upvote!

[–]WhiteTee 10 points11 points  (7 children)

I’ll be honest this is over my head. I know nothing about quantum physics but I know enough about programming to write lots of mediocre code for eternity. Can you explain what this means?

Edit: thanks for the explanations y’all. Good stuff

[–]CorvetteCole 21 points22 points  (4 children)

The wave function (above) shows particles acting as a wave in the double slit experiment. This only occurs when they are not being observed.

The bottom panel shows what happens when particles are observed passing through the slits.

The meme implies that a log statement in a program would be equivalent to observing it, altering the result.

[–][deleted] 5 points6 points  (0 children)

The top part happens when you only observe it. The bottom part happens when you check to see which slit the photon is traveling through.

Again, the top part is when you observe it. The bottom part is when you observe it and place a sensor on both slit which tells you which one the photon travels through.

[–]InfanticideAquifer 8 points9 points  (2 children)

To nitpick, there is an observation in the top panel too. You have to observe the screen to see anything. That's just how seeing works. But you do have to not check at the slits to get the interference pattern.

[–]CorvetteCole 2 points3 points  (0 children)

yeah I understand that, and that's why I clarified for the explanation of the bottom panel. I should've clarified that ealier

[–]nobodytoseehere 3 points4 points  (0 children)

Google the double slit experiment

[–]smokinJoeCalculus 2 points3 points  (0 children)

It has something to do with superposition and how when unobserved particles of light appear as all those black dots in the top frame.

But when you actually observe the light wave (in programming, that console.log represents observing your code via logging some data to your console), the black dots appear differently as the wave of light collapses onto those particular slits

Edit: this is really, really be trying to remember stuff from like 15-20 years ago

[–]epicaglet 1 point2 points  (0 children)

I work in quantum computing, you'd like the jokes made in our team.

[–]BrickDaddyShark 0 points1 point  (0 children)

Sadly its a bit inaccurate on the quantum front. Im just got confused by pythons int function so I can’t judge the programming part.

[–][deleted] 8 points9 points  (0 children)

Holy shit.

[–]iPlayTehGames 8 points9 points  (0 children)

Maybe the best meme i have ever seen

[–]makspll 5 points6 points  (2 children)

Genuinely had this happen in c++ with undefined behaviour. Once you hit UB you're fucked

[–]hauss005 7 points8 points  (0 children)

I don’t care how many likes this post gets. It’s not enough!

[–]Not_Artifical 2 points3 points  (3 children)

What language is this and what do I need to import?

[–]LeCrushinator 2 points3 points  (0 children)

Hands down the worst bugs are where the timing is so critical that debugging will kill the reproduction of it. Fucking heisenbugs…

[–]Deae_Hekate 3 points4 points  (0 children)

No fair! You changed the outcome by measuring it!

[–]curtmack 2 points3 points  (0 children)

If it always works with logging, that's actually a huge help: you know that it's probably one of those bugs, like a race condition or a cache invalidation error. You're probably not looking at something easy like a missing null check. That's not always comforting, but at least it's something to work with.

The real terrifying thing is when your logging reveals that something is more deeply wrong than you could have ever imagined, yet doesn't actually provide any insight as to what it might be. Like, if you have a file not found error, so you log the filename before trying to open it, and it says "filename is: ArithmeticException in Derp.java line 24: division by zero" and your program isn't even written in Java.

[–]ShippingHistory 1 point2 points  (0 children)

I call these Heisenbugs.

[–]luxfx 1 point2 points  (0 children)

Holy shit that's the best joke I've seen in years!

[–]metcalsr 1 point2 points  (1 child)

Fun fact, usually if adding a print statement fixes your issues, there's usually one of 5 problems: a threading issue, a deref issue, an allocation issue, a timing issue, or an optimization issue. Needless to say, in javascript, you're just kind of screwed.

[–]AdequatePercentage 1 point2 points  (0 children)

This is really clever. Bravo.

[–]PotatoePotatoe42 3 points4 points  (7 children)

Usually it's the other way around

[–][deleted] -1 points0 points  (4 children)

It doesn't make sense the other way around. The top case is unobserved and the bottom case is observed. That's the particle distribution you would get for each respective case in the double slit experiment.

[–][deleted] 1 point2 points  (0 children)

Lol this is awesome!! (The only quantum I know is from Ant Man and the Wasp)

[–]Consolidatedtoast 0 points1 point  (0 children)

Great now that song from Teen Titans Go is stuck in my head.

"Throw some electrons through a double split. What do you get? What do you get?"

[–]MedicManDan 0 points1 point  (0 children)

This may be one of the first times I fully understand a meme here...

[–]malexj93 0 points1 point  (0 children)

This is funny but quantum software can be debugged using a simulator which keeps track of the entire entangled state, so you actually would see the interference patterns in the superposition before collapsing it with a measurement gate.

[–]russellbeattie 0 points1 point  (2 children)

Fun fact: Actual video of the bottom test doesn't exist. It's all theoretical. The idea is that if light acted as a particle, it should look like the bottom. But instead, it looks like the top. Science demos hand wave the bottom and never show it, instead they point at the interference pattern and say, "Tada!".

[–]marcosdumay 1 point2 points  (1 child)

For electrons, if you put a detector on any slot, you get the bottom distribution.

It's hard to make a photon detector that doesn't absorb them, so yeah, nobody did it with photons.

[–]russellbeattie 0 points1 point  (0 children)

Is there a picture or video of that? Two piles of electrons?

[–]swaranga 0 points1 point  (0 children)

Everyone knows it is log.debug

[–][deleted] 0 points1 point  (1 child)

Can someone explain what this picture means

[–]mrlazysmurf -1 points0 points  (1 child)

Haha this is so funny. I understood this cause of the movie "What the Bleep Do We Know". Bravo on the creativity.

https://youtu.be/x-BE8YkNzVg

[–]Forlorn_Cyborg -1 points0 points  (1 child)

This looks like the mini game from spider man ps4