this post was submitted on 27 Mar 2026
409 points (99.0% liked)

Today I Learned

28966 readers
731 users here now

What did you learn today? Share it with us!

We learn something new every day. This is a community dedicated to informing each other and helping to spread knowledge.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must begin with TIL. Linking to a source of info is optional, but highly recommended as it helps to spark discussion.

** Posts must be about an actual fact that you have learned, but it doesn't matter if you learned it today. See Rule 6 for all exceptions.**



Rule 2- Your post subject cannot be illegal or NSFW material.

Your post subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Posts and comments which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding non-TIL posts.

Provided it is about the community itself, you may post non-TIL posts using the [META] tag on your post title.



Rule 7- You can't harass or disturb other members.

If you vocally harass or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.

For further explanation, clarification and feedback about this rule, you may follow this link.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here.

Unless included in our Whitelist for Bots, your bot will not be allowed to participate in this community. To have your bot whitelisted, please contact the moderators for a short review.



Partnered Communities

You can view our partnered communities list by following this link. To partner with our community and be included, you are free to message the moderators or comment on a pinned post.

Community Moderation

For inquiry on becoming a moderator of this community, you may comment on the pinned post of the time, or simply shoot a message to the current moderators.

founded 2 years ago
MODERATORS
 

Programmers often discover solutions while explaining a problem to someone else, even to people with no programming knowledge. Describing the code, and comparing to what it actually does, exposes inconsistencies. Explaining a subject also forces the programmer to look at it from new perspectives and can provide a deeper understanding.

top 50 comments
sorted by: hot top controversial new old

Not a programmer but at my last job I couldnt count how many times I would walk into our engineers office and start explaining a problem only to stop mid sentence and say "wait, I'm an idiot" then walk back out. Sometimes talking about it is all you need to make the pieces fit.

[–] MoonRaven@feddit.nl 5 points 8 hours ago (1 children)

This is why I put rubber ducks at all desks of my it colleagues. It helps.

[–] MoonRaven@feddit.nl 8 points 8 hours ago

It might have escalated a bit after that though. There are hundreds of rubber duckies all around the office now...

[–] doesit@sh.itjust.works 4 points 8 hours ago

I used to teach design. Before a presentation, I always asked my student to explain their project to someone with no knowledge on the subject, like their grandmother or so. Mainly to discover the logic flaws in their presentation.

[–] voodooattack@lemmy.world 10 points 10 hours ago

It’s all fun and games until the duck talks back.

[–] fibojoly@sh.itjust.works 3 points 8 hours ago (1 children)

A corollary to this is that it's often very difficult to explain what's wrong because if you could explain it clearly, you would probably be fixing it already.

[–] RavenofDespair@lemmy.ml 1 points 2 hours ago

it is the process of explaining how your code works (or should work) to someone that you realizes the errors or solution.

[–] cows_are_underrated@feddit.org 3 points 8 hours ago

While I havent explained my code to a rubber duck I did find The solution to my Problem just because I started to write it down in order to get help in a forum.

[–] becausechemistry@piefed.social 138 points 18 hours ago (11 children)

Now, hear me out: what if the rubber duck burned tons of energy, poisoned the water and air, caused a global shortage of computer parts, was built with material without the permission of creators, made it easy to make nonconsensual sexual images of people, and lied to you?

[–] oce@jlai.lu 38 points 17 hours ago (1 children)

You forgot:

[–] halcyoncmdr@piefed.social 7 points 15 hours ago* (last edited 15 hours ago) (1 children)

exploit and traumatize developing country workers to filter nsfw/nsfl

I've always felt like there's a place in there for the early internet users through millenials (and maybe some early Gen Z) who spent a lot of time getting tricked by places like 4chan to see nsfl stuff and developed a tolerance to that sort of crap.

I'm sure there are a lot of people that already gave up on humanity years ago and have the psychological damage/callouses to deal with that more than a random selection of a population that hasn't been affected yet. Let the already damaged use that ability, like a super power, to save those who haven't experienced enough to the point where they've given up yet.

[–] oce@jlai.lu 3 points 8 hours ago

I don't think they care as much for minimizing trauma as they care for cheap labor from a developing country. I doubt there are a lot of 4chan users there.

[–] shrugs@lemmy.world 11 points 13 hours ago

Yeah, but it always tells me my ideas are good and he is wrong. So there is that

[–] Cellari@lemmy.world 2 points 11 hours ago

You can fix the world by putting an AI into the rubber duck without electricity and expensive parts and it still works!

AI enhanced by that smile and those eyes and quiet posture helps solve problems :)

[–] 4am@lemmy.zip 7 points 16 hours ago (1 children)

It’s a moron detector.

Most of us would avoid it like the plague, but morons will let it write their code in the first place.

[–] hperrin@lemmy.ca 2 points 14 hours ago
load more comments (7 replies)
[–] nutsack@lemmy.dbzer0.com 14 points 13 hours ago (1 children)

this is one reason I type questions out before asking them

[–] kSPvhmTOlwvMd7Y7E@lemmy.world 3 points 9 hours ago (1 children)

the number of times I found the error, while describing the error on stackoverflow ...

[–] cows_are_underrated@feddit.org 2 points 8 hours ago

Is always funny when you wrote 3 paragraphs just to discard them all because you found the error while typing.

[–] HugeNerd@lemmy.ca 12 points 13 hours ago

True for everything I think.

[–] Kolanaki@pawb.social 2 points 8 hours ago

If rubber ducks are a sign of bugs, then I do not want a Jeep.

[–] Semi_Hemi_Demigod@lemmy.world 21 points 14 hours ago

This happens so often with my wife that she’s started saying “quack” when I figure it out

[–] kurikai@lemmy.world 26 points 17 hours ago (3 children)

works even for non programming stuff. its letting our brain process the information in order ans organising it

[–] SlurpingPus@lemmy.world 1 points 8 hours ago

I write a lot of notes, because I can't trust myself to remember details of any project after a day or more of hopping through multiple other tasks and online information onslaught. This particularly concerns any problems on which I get stuck — and whaddayaknow, writing out what specifically doesn't work and how it should work, helps with realizing why it might not work.

[–] cageythree@lemmy.ml 2 points 11 hours ago* (last edited 11 hours ago)

Yeah. I'm no programmer but I've had it often that I couldn't find a solution for a problem myself, said 'fuck it, I'll have to ask the internet', and by writing out what my problem was I figured out the solution so I never even posted the half-written posts lol

[–] WHARRGARBL@lemmy.world 7 points 15 hours ago

I used to tutor college chemistry and calculus. I secretly sucked at both, but I knew what questions to ask students to start them thinking. They got excited to discover the answers while explaining it to me.

[–] resipsaloquitur@lemmy.world 14 points 17 hours ago
[–] LillyPip@lemmy.ca 3 points 13 hours ago* (last edited 11 hours ago) (1 children)

This has a name? I thought this was just how it works. It’s why we think out loud.

eta: thinking + speaking + hearing engages more of your brain. That’s obvious, right? More engagement == more connections?

[–] RavenofDespair@lemmy.ml 1 points 2 hours ago

The Feynman method is another name for it. Thanks to PennyRoyal@sh.itjust.works for this info.

[–] hperrin@lemmy.ca 5 points 15 hours ago

My wife is my rubber duck. She doesn’t mind when I explain the most jargon-heavy stuff to her.

[–] GladiusB@lemmy.world 1 points 10 hours ago (2 children)

Isn't that just brainstorming?

[–] BorgDrone@feddit.nl 9 points 9 hours ago

No. Brainstorming is when you’re with a group and everyone is throwing out ideas unfiltered.

Rubber duck debugging is when you are trying to solve an issue by describing your problem to another person (or a rubber duck) and through the act of describing the problem you gain a better understanding of the issue and often this causes you to get a ‘eureka moment’ where the solution is suddenly clear to you.

[–] Snazz@lemmy.world 4 points 10 hours ago

I’d say brainstorming is what you do before writing code and rubber ducking is what you do to debug code that you’ve already written.

They also work kinda differently. Brainstorming an idea is different from explaining it out loud, detail by detail.

[–] 4am@lemmy.zip 7 points 16 hours ago

Every single popcorn flick from the 80s and 90s has a main character make a big plot-resolving realization while doing early act 3 exposition

If this is such a universal human experience that we wrote it into movies made for general audiences, I think that programmers are not the only ones debugging to their ducks

[–] otacon239@lemmy.world 10 points 18 hours ago

I keep one on my desk just for this reference :)

[–] null@lemmy.org 4 points 14 hours ago (1 children)

I do this, but with my half-naked anime figures.

[–] curbstickle@anarchist.nexus 5 points 17 hours ago (1 children)

I have a few Lego kits my kids have gotten me, and a small toy penguin, which I talk through things with.

Thankfully it looks like I'm just on camera. Though I work from home so it doesnt really matter.

I also treat several coworkers like my rubber ducky. I warn them first though, so I feel like its not as bad.

[–] myster0n@feddit.nl 5 points 16 hours ago (1 children)

Do you squeeze them until they squeak?

[–] curbstickle@anarchist.nexus 5 points 15 hours ago

... Actually one of my coworkers did squeak like one. She figured out why I called about 5 seconds in and just went "squeak", which made me burst out laughing, and honestly it just got my brain where it needed to be even quicker

[–] saltesc@lemmy.world 6 points 17 hours ago* (last edited 17 hours ago)

I do this to my main analyst as a last resort; have since day 1.

"Sorry, I gotta rant this one out." Knowing full-well they have nfi what I'm going on about.

Then eventually, that feeling of a clarity bomb going off followed by a period of dopamine fallout.

[–] PennyRoyal@sh.itjust.works 6 points 17 hours ago (1 children)
[–] RavenofDespair@lemmy.ml 2 points 2 hours ago

thanks did not know this :)

[–] MurrayL@lemmy.world 5 points 17 hours ago

Not quite the same, but sometimes when I’m doing a task I like to talk through what I’m doing out loud as if I was showing someone else how to do it.

load more comments
view more: next ›