Live data from Hacker News

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

news.ycombinator.com

211–220 of 946 posts

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

#212

Domain Driven Design. The book by Eric Evans lays out a bunch of concepts and as a developer that had not owned the architecture of a big domain, it was hard for me to see exactly where they fit. But after reading the book a couple times, and then encountering a few tricky domain modeling challenges, I started to see where these patterns add value. Also, as I started trying to describe the cohesive domain architectur…

It's a solid book. I was chugging through it a bit at a time, until I discovered Scott Wlaschin's Domain Driven Design Made Functional. I've dropped the Evans book (as it's mired in mid-00's Enterprise Java patterns) and am enjoying this one quite a bit more.

Both books are great. Read whichever one aligns with your practice best.

I recommend Wlaschin's book for anyone curious about FP, without hesitation. He's great at explaining things from first principles, without veering off into "monad tutorial" territory.

https://pragprog.com/titles/swdddf/domain-modeling-made-func...

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

#214
post #205

Computer networks. For years I was dumbfounded how IP addresses, VPN, ports, etc, all worked and tied together. Then, when I was interning as a software developer a fair while ago, a colleague drew the analogy of "IP address" = house on street, "port" = something you ask for when you knock on the door of a house. Then it all just clicked. I still remember that day all these years later. Other notable mentions, in no…

> Then, when I was interning as a software developer a fair while ago, a colleague drew the analogy of "IP address" = house on street, "port" = something you ask for when you knock on the door of a house.

Hey thanks for sharing! Can you maybe expand on this in any form? I'd love to get that kind of analogy. Maybe you have a blog post about it? That'd be amazing!

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

#215

Earlier quoted context omitted.

Yep, I think mocks are mostly a smell. The "functional core" of a module should be entirely or almost entirely unit testable with (possibly fake) dependencies passed in. The glue code ("imperative shell") should be tested at a higher level - "integration" or "end to end" or whatever you want to call it - which looks at the externally observable effects of running the code (database changes or API responses or whateve…

Amen. I have been frustrated at many jobs where developers were so proud of endlessly writing mocks and spending more time on their tests than on core functionality. Over time I have favored very basic unit tests and leaning in more on automated integration and regression tests. I know the theory of unit tests catching things earlier, I just don’t think it matters in practice.

I think in practice unit tests are both the most and least useful tests. Unit tests of code that just generates output as a function of input are the most useful, and unit tests of code that just glues together a bunch of side effects are the least useful. I like to find ways to structure things so that it is mostly comprised of the first kind of code, and has so little logic in the second kind of code that it's easy to justify not unit testing it.

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

#216

Earlier quoted context omitted.

Any good resources that do it the right way?

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...

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

#217

I'd have to say... Linear Algebra & SQL. SQL is something that is a permanent journey for me. It is a domain-specific language, so the nature of its use depends almost entirely on how the domain was modeled in the first place. Much of my interest has been drawn towards the modeling aspects and how we can arrive at schemas that business experts can tolerate. Linear algebra properly clicked for me when I started gettin…

Something in linear algebra clicked for me when I realized the infinite dimensional case is different from the finite dimensional case.

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

#218
Taking the point of view of others, and learning to view a situation from a "perspective-less perspective."

It's easy to think you have people skills because you listen to others and repeat their point of view back to them before telling them they're wrong. And unfortunately you can get quite far in the business world simply by being good at demolishing other people's positions.

As a mental exercise, a few years ago in meetings I started deleting the names from the running transcript I keep in my head. "Joe said X and Jane said Y and then I said Z" was replaced with "we said X, then Y, then Z." It was a remarkably effective device to rise above the "who's going to win?" attitude and instead think about the best way for everyone to proceed as a group. I suddenly started to get what people say about meditation and removing the "I" perspective from your life. If instead of being you, you're a quadcopter hovering near the person you call yourself, it's so much easier to get your ego to shut up and start listening for once.

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

#220
Learning history / literature in school is important.

I was a total STEM math nerd in school. I used to frequently complain how I don't get what's the point of it, or how it's a waste of time and I'm learning nothing. I still think the emphasis of school was off, but I get the point of it now.

Stories are like code for humans. You can't tell someone what it means to be good or bad, or to give them a course in philosophy and they will become good people. But you can tell them a good story, that engages with them emotionally, and it will change their perception. And history shows that in fact, those stories being told and repeated aren't just interesting minor curiosity, but they have shaped the direction of humanity and they are driving it. A single person with a single story can change history in such a way that it would be completely different without it. And some stories about stories need to be told as a warning so that people will not fall for those kinds of stories again.

Post reply on HN