Ask HN:

"What concepts have you never truly understood?"

Is there a specific topic, concept, etc.. that no matter how many times you try to wrap your head around, you can't ever seem to get it? If you were in this situation, what would you do?
πŸ‘€jportetπŸ•‘3yπŸ”Ό85πŸ—¨οΈ179

(Replying to PARENT post)

No one seems to be answering the second question, so I'll take a crack at it:

When something just isn't clicking in my brain I move on from it! Then some time later (not a fixed time) I happen across it and read through it again with a fresh mind.

This has happened too many times for it to be a coincidence, that the 2nd attempt ALWAYS makes things click very naturally. It has happened with probability concepts such as Bayesian networks or HMMs, optimization algorithms like EM, Monte Carlo sampling, bootstrap, functional programming concepts like monads, C++ move semantics; the list goes on.

Whenever you're stuck, just take a break! And not a 30 minute coffee break but still at the back of your mind kind of break - completely forget about it and come back in a few days, a few weeks or even a month or 2 later

πŸ‘€CornCobsπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Still don't have even the vaguest beginnings of a clue what the fuck a monad is, after reading 50 articles promising to make it simple, as well as their accompanying 500-comment HN threads. I suspect the real problem is that, as a C/C++/C#/ASM programmer, I lack concepts that are strict prerequisites, and people underestimate the importance and/or existence of those prerequisites.

What I did was I gave up and no longer click those articles.

πŸ‘€psycπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

- How type theory can prove mathematical theorems. I can limp through the first exercises of Software Foundations, but eventually realize I'm just "making it work" instead of knowing how it works. Only made it halfway through My Little Typer and even implemented STLC and used it to prove simple propositions with implications. But I still couldn't tell you how dependent types magically make it possible to prove real theorems.

- How opamps work and how they're used to make a differentiator.

- How quantum computing works. I want understand it to understand why factoring and discrete log fall to QC but not the post-quantum algorithms. I never make it past the intro chapters.

- What exactly makes cryptographic hash functions have desirable properties like collision resistance? Bits go in, bits go out, why can't full observation of the process not yield a method to construct inputs for a target output? Similar questions for block ciphers. It is much easier to "see" the impossibility in public key schemes because you can play and experiment with the math. In symmetric algorithms it looks like just a bunch of arbitrary bit operations.

EDIT:

- Relativity. I accept things like time dialation and nothing can go faster than the speed of light. But I have no idea why you would experience less time passing than me after a high speed rocket trip when, from your perspective, you saw me on a high speed planet trip. Or what prevents a rocket in space with 3m/s^2 acceleration from reaching the speed of light after 100,000,000 seconds.

πŸ‘€lwerdnaπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Inflation.

Everybody talks about how increasing the money supply means increased demand, which drives prices up. But nobody explains how does this *practically* happen. Prices don't go up on their own, it's the retailers who increase them at some point. So if the retailers' perception of the reality is not accurate (Suppose for example that money was printed "secretly", or that the increase in demand wasn't very apparent) prices won't magically go up, no?

There is a common knowledge component in all those equations that's missing and nobody talks about it. Maybe it's too obvious that I'm overlooking it.

πŸ‘€yamrzouπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

OOP.

I’m a self-taught programmer, so have probably missed lots that might help, but every time I come across anything OO, it always seems unnecessarily complicated and awkwardly structured. It always seems (to me) that everything could be done more simply procedurally. I don’t get why.

Further, while I can follow OO code that others have written, as a beginner, how to structure something simple I’m writing de novo in an OOP style has a very steep learning curve.

πŸ‘€mft_πŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Atomic theory after about 1960. I had no trouble at all getting down to photons, neutrons, electrons, protons, etc and how both fission and fusion works. But when it came to quarks, mesons and spin, I could never work it out to my satisfaction.
πŸ‘€simonblackπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I can't reliably figure out the Big O notation of an algorithm for the life of me. I can compare two implementations and tell which is better/worse, but actually calculating it? Not gonna happen.
πŸ‘€sparker72678πŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I dont get why people say (with reason, Im not contesting) time passes slowly for a fast-moving object. Since there is no fast moving object since its all relative. My (wrong) understanding is that when you observe a fast moving object (relative to you then) then you should perceive this object as moving slowly in time. And my understanding is that we all go to the speed of light, since its all relative (which would explain why e=mc2).

There is a bit I dont get in there. Namely, its relative but its not. I also have to admit I never tried hard to learn more about it.

πŸ‘€quadcoreπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I have a very poor understanding of mathematical operators and how they relate in formulae. How I have phrased that might even suggest how poor it is. I have learned 'what to expect' from operators, like exponents/log will graph curve-ily etc, but I have never felt a solid sense of understanding that meant I could see any formula containing beyond +-*/ and feel confident that my solution would be close to right.

I recently tried to implement a basic compound interest calculation to graph something and understanding the formula did not come easily. By that, I mean that exactly what the terms represent and what each operation is achieving was something I really had to focus on. Being a dev, most of my counterparts have always seemed very comfortable with this stuff and I'm usually 30s behind.

I'm really astounded when I see complex formulae - I just can't imagine ever understanding them, let alone coming up with them in the first place. It's easiest for me to just imagine that I didn't develop a brain that's good at this stuff. It seems ironic to me because one of the enjoyable parts of writing code for me is modelling scenarios, assigning responsibility, laying out entities, etc which seem (to me) like activities that exist in the same 'abstract thinking' kind of space that math is in. Maybe that's another thing I don't understand :)

πŸ‘€throwaway_au_1πŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Most anything mathematical. Monads, kalman filters, algebra, calculus.

Also, how people are able to practice and improve at something, like practicing guitar and eventually being able to hit every note, or being able to never leave their wallet behind, or stopping at every stop sign and never forgetting which pedal is the gas.

The fact that people are capable of developing true "skills", where they can do every detail of something, every time, rather than just the vague familiarity a modern programmer needs to get by, just amazes me.

I don't think I've ever truly acquired a new skill in the sense people usually talk about. I can't draw, paint, carve, drive, juggle, dance, etc. I can't cook without a timer, unless I stay in the room and don't do anything else.

If something has a way to fake it with more tech, I'm pretty good at that. As long as I can hide behind the screen with my undo button, where my ability with my own hands is irrelevant, I'm fine.

But there's nothing I can just do without thinking.

I never know where I am. I run into tables all the time. It must be super cool to be able to just do stuff without planning every moment, and still succeed most of the time.

Practicing and actually getting better just by doing something, rather than through research and accumulating a library of patterns, is a totally foreign idea.

πŸ‘€eternityforestπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Certificates, certificate chains, certificate installation. In theory the concepts sound easy and there are numerous guides and instructions online. Once you try to become your own CA the challenge becomes real. Trying to write an automated solution cross-OS feels like running a marathon on your hands.
πŸ‘€austincheneyπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

"Modern" devops (and kubernetes). It seems to me that people want to avoid human error and dependence by replacing human operators with complex networks of dozen of services, each of which can fail in isolation or in conjunction with others. How do we measure the costs and benefits of putting in all that extra complexity in our stacks, how do we ensure that the friction they cause will not be a greater detriment than the previous situation they aim to improve? Are we in a situation where the solutions to existing problems have so many problems themselves that they need solutions of their own, thus creating an infinite tower of ever more complex software?
πŸ‘€gnuvinceπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Functional programming (and how it is even useful)
πŸ‘€yoloyoloyoloaπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

The three forms of heat are radiation, convection, and conduction. I see how radiation is different. But how are convection and conduction different? Conduction is heat transferred when things are touching. Convection is heat transferred via a gas or liquid---but isn't that just a special case of conduction, applied transitively (from a solid A to a gas/liquid B to a solid C)? It doesn't seem like it's genuinely something different.
πŸ‘€pjungwirπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I've never been able to fully grok parsers. I can write them, but can't make a functioning programming language out of them. I've read books, some of my favorite programming books ever (hat tip to Robert Nystrom). I've read papers, some of my favorite papers ever. But I never can quite seem to get it all to stick.
πŸ‘€JohnDeHopeπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Bell's theorem.

I did an whole B.S. in physics and I could just never get it.

πŸ‘€disambiguationπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

git. Even if I understand the codebase well, I always manage to get my working branch into a merge conflict.
πŸ‘€perrygeoπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

jportet says:

>"Is there a specific topic, concept, etc.. that no matter how many times you try to wrap your head around, you can't ever seem to get it? "<

Yes, <edit>Russian political thought patterns</edit> Make that 'Political thought patterns' or hell, maybe just "Thought."

>"If you were in this situation, what would you do?"<

Go to war? Kill the enemy?

But seriously, I'm completely flummoxed by human group behavior vs individual behavior [i.e., the crowd vs the individual]. We have no meaningful way of extrapolating from one to the other. The closest complete model is thermodynamics, which is so primitive as to be useless in this context.

πŸ‘€giardiniπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I've never been able to understand how matrices like 3D transformations relate back to the idea that a matrix represents a set of linear equations. What set of 4 equations are 3D matrices representing?
πŸ‘€prewettπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I understood Incompleteness Theorems for about five minutes 15 years ago.
πŸ‘€pyuser583πŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

How to start a successful SaaS business.
πŸ‘€throwthereπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

- how mathematicians reason about proof space, when obtaining any metamathematical property of a statement - such as proof complexity - is formally undecidable

- the mathematical formulation and simulation of relativistic systems and the standard model

- quantum anything

- axiom independence proofs/"forcing"

- the shader pipeline

- historical mindsets that caused religious schisms

- why individual particle decay is truly random

- how to reason about complex electronic circuits

- why it makes sense for countries to artificially devalue their currency

- how the execution of passed laws is organized

- how dna recombination works

- p-values and tests of randomness

- mathematical induction

πŸ‘€7373737373πŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

call/cc in Scheme. I’ve tried a few times to understand it (and I kind of do on a certain level), but still don’t get how to actually use it effectively in my code
πŸ‘€manbartπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I do not understand why the Oberth effect works:

https://en.wikipedia.org/wiki/Oberth_effect

I understand the math, but I cannot form an intuitive understanding of why it works. My brain just insists that it shouldn't matter how fast you're going, you have a certain amount of energy in your fuel, and that's all there is to it.

πŸ‘€ImnimoπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Time; the nature of time itself.

I know that time prevents all things happening at once... but what _is_ time? How does it work? How did it start? Mind-boggling...

πŸ‘€jschulenklopperπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Decorators in Python
πŸ‘€yoloyoloyoloaπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Difference between force and energy? If I hold a kilogram weight it requires me to expend energy. But a magnet can somehow do it for free?
πŸ‘€tomcamπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

How astronomers β€œsee into the past” by looking at dim stars, and how bigger telescopes see farther back in history?
πŸ‘€audiometryπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Eigenvalues. I can do the math for them but don't quite understand what their intuitive meaning is - if any.
πŸ‘€george_ciobanuπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

The halting problem hegemony. I can tell if a program would exit eventually or not. At some point there must be a subset of all possible programs we can tell, can stop, and can tell would stop under x,y,z conditions. So the whole problem thing always felt like a strawman.
πŸ‘€gxtπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Still don't understand dew point/vapour/condensation. When I read/watch about it it sounds trivial, but if you asked me to explain it right now, I'd say "I don't know". So I don't really understand it.
πŸ‘€tra3πŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

How gravity and mass and time interact.

I get the description of planets in gravity wells and can understand the basic technical explanations.

But it still just doesn't make rational sense on any level to me since I view time and gravity as static concepts from my experiences.

πŸ‘€edmcnulty101πŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Haskell. Not a concept exactly.
πŸ‘€tonethemanπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Best trick that I have ever learned is to build resilience or β€œstick-with-it-ness”.
πŸ‘€9wzYQbTYsAIcπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Covariance and contravariance
πŸ‘€peter-m80πŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Why we say nothing can't go faster than speed of light when on the other hand we have quantum entanglement which shows otherwise.

I knows this is a dumb question but please pardon me as my knowledge of physics is very limited.

πŸ‘€thyroxπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I'm a 5 year web developer and I can't understand what web3 is, after spending about 15 minutes trying. Good luck to those senators who try to understand or pretend to understand it.
πŸ‘€ZYinMDπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

I don't understand why x^n+y^n=z^n has no integer solutions for n > 2. I tried to understand it for a long time but it was too difficult so I gave up. :)
πŸ‘€bjourneπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Basic explanation for hawking radiation. Maybe the concept is too complicated to be explained in simpler terms.
πŸ‘€MAMAMassakaliπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Redux (including Thunks, and Sagas)
πŸ‘€gedyπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

React hooks
πŸ‘€tipiiraiπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Space-time
πŸ‘€gtirloniπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

leasing a car
πŸ‘€Brian_K_WhiteπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

Entropy.
πŸ‘€entropicgravityπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0

(Replying to PARENT post)

trigonometry
πŸ‘€magusdπŸ•‘3yπŸ”Ό0πŸ—¨οΈ0