Live data from Hacker News

Ask HN: Concepts that clicked only years after you first encountered them?

news.ycombinator.com

381–390 of 946 posts

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#381

It took a couple years in college for me to understand entropy. Entropy in classical thermodynamics is presented in a mysterious way that leads to confusion. Entropy in statistical thermodynamics, however, is logical. Once one understands basic statistical thermodynamics, entropy isn't mysterious. The book in my statistical thermodynamics class was An Introduction to Thermal Physics by Daniel Schroeder, which is an e…

For me, it was approaching it from the information-theoretic perspective. E. T. Jaynes' paper was what made it all click for me: https://bayes.wustl.edu/etj/articles/theory.1.pdf

Edit: but that was only after I had grokked Shannon's paper on information theory, which I felt was pretty intuitive.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#382
In my case, almost everything has been like that.

1) I learn rote.

1.1) Almost no improvement.

2) I "get it."

2.1) My development in that area suddenly explodes.

This has happened with almost every software concept, from calculus, to Structured Programming ("Whatever will I do without my precious GOTOs?"), to Object-Oriented Programming, to Design Patterns, to Protocols, etc.

It usually only takes weeks or months, but I suspect some have taken years.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#383
post #365

Tensors. Years ago, I would read the Wikipedia page about them every so often, and completely fail to understand what they were. Then one day I was modeling something in a spreadsheet, and I thought to myself "you know, what I really need here, is 3rd axis to this spreadsheet". And for a few minutes, I thought I had invented a new form of spreadsheet/structure, and was considering trying to build a 3d spreadsheet pro…

It sounds like you are describing a multidimensional array, which can be used to represent a tensor, but is not conceptually the same thing. A tensor is an element of a tensor product.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#385
post #252

Earlier quoted context omitted.

I had the exact opposite reaction to this book. It seemed like great stuff when I first read it, but over time, I realized it's really misguided in a lot of ways: - Aggregates are too heavy. You need to make the decision about what is or is not an aggregate way too early in the design process. Boundaries are fuzzy. - Actual concepts don't exist in nicely packaged bounded contexts. Concepts overlap a lot. You need to…

Fair enough; YMMV. I've not found that Aggregates need to be designed at the beginning; I've found it works fine to define an Aggregate after you start seeing performance issues with query patterns (i.e. define an Aggregate and forbid direct access to sub-objects when you see pathological access patterns/deadlocking). Personally I've found Repositories to be a good way of enforcing that N+1 queries DO NOT happen. For…

I suspect these different design "paradigms" all look somewhat similar when done really well and thoughtfully, but tend to have different gotchas and failure modes. Happy vs. unhappy families and all that. The worst design decisions we've seen are very salient in our minds, and these bad decisions are more shaped by the paradigm than the good ones are, so they look like the fault of the paradigm. Therefore we tend to compare paradigms based on how they go wrong, and people see bad design and think "wow we need a new paradigm". In that sense: YMMV indeed, and if DDD works for you, go for it. It's definitely worth learning, even if only so you can disagree with it! There are a lot of good smaller points in the DDD book even if you disagree with the larger paradigm.

As an example, when I think "Repository", I think a class with methods like "GetEmployee(employeeId)" that hit the database immediately, and probably call other GetSingleThing methods in other repositories, possibly in a loop. That's how you get SELECT N^2s and up. That is, of course, their worst possible use, and you can have much better-thought-out services and still call them "repositories".

That all being said, there are some near-universal "good ideas" I've learned, but they probably don't make a good textbook, and they certainly don't make a singular "paradigm" to follow. Things like: make decisions as late as possible (but no later). Do less, plan more ("do" meaning something with a side effect; planning is side-effect free). Work with sets instead of individuals. Separate identity from data. Raise the ceiling (empower smart people), not the floor (don't design for stupid people), but also realize that everyone is both sometimes. I use these general rules to evaluate paradigms, and I think DDD strongly fails the "make decisions as late as possible" rule, and doesn't tend to foster the "do less, plan more" rule unless you really reinterpret a lot of its directives.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#386

Earlier quoted context omitted.

> inspired by seemingly superficial things This seems similar to adding an addictive drug to food. It will certainly appeal to a lot of people, but does it add value? Getting more consumers of your product should not be the end goal if we want a healthy, high trust society. Developing a good product should be. > Only people already interested in the project on its own merits were following along Isn't this what we wa…

save these goals for your non-profit the rest of us want revenue. there is no build it and they will come, its appealing to people's sentiments, and the people have to know its there at all.

Ah, questioning the morality of exploiting human nature is for non profits. Got it.

There is a right way and a wrong way to achieve success.

Profit is not the only thing that matters in life.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#387

Matrix multiplication. First encountered it in high school, where the textbooks presented matrices without any real motivation, and matrix multiplication just seemed like a weirdly-defined operation. Once I got to linear algebra in college and matrix multiplication was presented as the way to compose linear transformations, it made a lot more sense.

Matrix multiplication is the first example that came to mind for me too. I learned it as compositions of linear transformations (the professor “taught” it through a question on the take-home final) but it felt abstract to me and took years to become intuitive to the point where I could actually explain it from scratch.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#388

Earlier quoted context omitted.

I've been using Punkademic and I'm very happy with it.

Looks like I have to pay before I can see what "Tools you will need to learn Music Theory quickly and efficiently". https://www.punkademic.com/course/music-theory-comprehensive...

That's how a paid course works?

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#389

"The road to hell is paved with good intentions.", "Perfect is the enemy of good", and more generally idioms that sound like either paradoxical assertions or obvious platitudes. It wasn't until late teens/early twenties that lots of those piece of wisdom went from "cliché phrases you've heard all your life", to (often) deeply impactful aspect of human conditions. The "road to hell" idiom explicitly didn't click until…

I never remember the right "direction" for these platitudes. I feel like "good is the enemy of perfect" is just as valid as "perfect is the enemy of good". Meanwhile, the road to heaven is also paved with good intentions. Good paving material, it turns out, but asphalt is cheaper.

Re: Ask HN: Concepts that clicked only years after you first encountered them?

#390

1. Everyone is the main character in their own story. This manifest in all sorts of ways - from people not being there when you need them the most, from friends dying off as soon as proximity changes, to how and why get people get promoted in jobs. This isn't necessarily bad, but if you don't know how to navigate this it can be quite painful and confusing. 2. Representation matters. I knew this for a long time, but i…

Interesting interplay between 2 and 3. Why does representation matter so much if these are just human-created constructs? Genuinely interested to know how the same person had both of these epiphanies.
Post reply on HN