Live data from Hacker News

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

news.ycombinator.com

141–150 of 946 posts

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

#141
Big bang didn't happen in a single point in our space-time like a firecracker, it happened everywhere and was just a uniformly much hotter and denser universe that didn't really explode into anything, but space-time just expanded to make the universe less dense.

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

#143
A lot of the math I learned in high school didn't make any sense until I revisited it in college. The difference between stupidly copy/pasting rules and theorems without understanding them and having to demonstrate them from the ground up before being able to apply them made a humongous difference for me.

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

#144
Dynamic programming made very little sense to me when I first encountered it, then a few years later I read the DP section of Algorithms by Dasgupta, Papadimitriou, and Vazirani and it somehow clicked for me. Now I enjoy dynamic programming problems when I get them in interviews because they are usually pretty easy once you understand the trick.

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

#145

Earlier quoted context omitted.

Another solution is to eliminate classes and only use structs or similar plain objects. Makes mocking and testing functions much easier. At this point I see no reason for OOP whatsoever and consider it a big mistake.

Getting rid of data abstraction and encapsulation is throwing the baby with the bath water. The abstract concept of OOP (messages between complex objects, as defined by Alan Kay) is an attempt at mimicking biological systems. Most modern languages implement data abstraction, but call it OOP, where they encapsulate some functionality with the data it operates on. Really helped with varying data formats in the AirForce…

OOP does not have a monopoly on abstraction and encapsulation. What OOP does, namely object-level encapsulation, is just a very extreme way of structuring code around mutable state. IMO the better alternative is to avoid mutable state as much as possible and keep data and code separate. Code structured as pure functions is easy to test and encapsulation can be done at the module level.

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

#146

Basic music theory. Almost no one I encountered bothered to actually explain anything. They simply regurgitated things and I guess expected me to somehow intuitively understand something or other.

Oh my god. Music and photography are my two pet peeves. They have their own twisted vocabulary for everything that surely exists for historical reasons, but might as well be purpose-built to obstruct polymaths from connecting their concepts to other concepts in other fields.

My single largest goal when I'm teaching, is to find an appropriate analogy to a concept that my student already grasps, and bridge it to the new concept. Some fields make this super easy -- MechE and electronics, for instance, if you understand one, you're well on your way to understanding the other -- and some make it super hard.

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

#147
post #131

Earlier quoted context omitted.

> Most people get hung up on terminology and/or specific interpretations Because terminology matters, and some terms are quite misleading. What some people tend to miss about the "Socialism with Scandinavian Characteristics" that folks claim to like these days is that Scandinavian countries are actually near the very top rankings by economic freedom and lack of excess regulatory burden. I.e. they're actually some of…

I’ve thought for years that the ideal would be a very free market with very little regulation combined with a basic income and a strong social safety net. Let people go wild and try stuff and do whatever but raise the floor up to the point where people can recover from failure and where the less fortunate are not suffering. This kind of “social capitalism” could be freer and less regulated than what we have now.

Sure, but the whole issue is how to get from here to there given the current regulatory environment. Adding even more red tape and wasteful government spending as in the orthodox "socialist"/"anti-capitalist" approach is unlikely to be helpful.

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

#148

Earlier quoted context omitted.

Getting rid of data abstraction and encapsulation is throwing the baby with the bath water. The abstract concept of OOP (messages between complex objects, as defined by Alan Kay) is an attempt at mimicking biological systems. Most modern languages implement data abstraction, but call it OOP, where they encapsulate some functionality with the data it operates on. Really helped with varying data formats in the AirForce…

I believe that combining state and functionality - the root of OOP - is a mistake. Tons of programming patterns and concepts exist to solve this fundamental mistake. When you stop using classes all of your code becomes so much cleaner, easier to reason about, test, debug, and so on. You can never create only pure functions in the real world but you get closer to this ideal. I stand by my statement that OOP is totally…

I don't understand but am intrigued. Can you point to some resources that elaborate on and demonstrate what you're talking about here?

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

#149
post #2

Unit testing and using dependency injection to write test-able code. I'm not sure if it was years, but it wasn't immediate. I just didn't understand why dependency injection was good at first, and not just someone's weird personal code style choice. I thought it was just people being "Enterprisey" which I'd encountered many times over the years. Once I committed to unit testing, I realized how necessary it is. Unfort…

I keep looking for a reason to write software using a proper DI container framework. In talking to Java devs most of them just mention injecting mocks for your database. You don't really need a full DI container for that you could use a service locator instead or some even lighter DI pattern. If you have that particular hammer though and know how to use it, then it becomes easy to achieve and use config to inject your backend.

But that's a long way from glorious full DI containers where you never call 'new' in your code anywhere and all object creation can be dictated by config. I suspect that must be only the kind of thing that people who maintain 1,000,000 line codebases that are at the center of massive bureaucracies.

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

#150

I love this as a research topic. Here are a few examples close to me. 1. The nature of variance in regression methods. The first time I heard about "soaking up the variance" in modifying stat models in brain imaging I had no idea what was going on. Then I spent a few years doing brain imaging and modified models to "soak up the variance" differently. Over the few years I came to grok the concept. I had a electrical e…

I used to work in an office where I only got cell service on cloudy days, I assume it had something to do with the clouds reflecting the signal.
Post reply on HN