Live data from Hacker News

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

news.ycombinator.com

231–240 of 946 posts

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

#231

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…

This is the book by Eric Evans?

That's the one. (I edited in a clarification to my original post.)

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

#232

Socialism When I got out of my middle class bubble, made friends with people working multiple jobs and struggling to make ends meet, and experienced a period of financial instability; I began to realize that something wasn't working in our current system. Then I started struggling with burnout and other issues and found that corporations were happy to just replace me. I also found that management wanted programmers t…

This is not an attack on you, you are free to your opinion and to voice any or all of it to whom you choose, largely because you don't live on a socialist society.

My opinion, however, is that my parents did the right thing to drag me out of such a system and into a capitalistic one. I am watching my peers suffer.

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

#233

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.

Matrices are funny. You can encounter them as a teenager reading 3D graphics tutorials on the internet, learn that they can compactly represent scalings, rotations, and translations, and that several transformations can be conveniently “stacked” using this thing called matrix multiplication which looks like this… and that’s it, now you can use them for a cool practical purpose, but the tutorials never derive or attempt to justify why mmul looks like that, often because the author doesn’t know either!

Or you can learn about them in school and be given neither a real-world use case nor a rationale or derivation for mmul.

Or you can encounter them in college, and there the experience depends on whether it’s a good or bad kind of a linalg class. But even there – after all the painstaking definitions and lemmas and derivations – it’s easy to end up not grokking how mmul does what it does even if you grasp all the building blocks – vector spaces, bases, how matrices can represent bases and systems of linear equations and linear operations on vectors and how they’re all kinda equivalent.

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

#234
post #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…

Thanks, I hadn't seen that book -- will give it a read. I'm interested to see how DDD gets applied to the functional programming paradigm, as it seems quite deeply ingrained in OOP to me.

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

#235

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…

Any suggested reading for #1 ("learn how to navigate \$THIS.")?

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

#236

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.

What are some applications / examples for the infinite-dimensional case?

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

#237
The power of follow ups (especially in sales)

One thing which held me back for a very long time was not following up with people who didn't show much interest initially.

I wasted so many good leads thinking it is impolite to follow up with people after contacting them once. My whole life changed once I understood the power of follow ups and understanding that most people are so busy that it takes at least 6 reminders before most people will take any substantial action.

The reverse is also true. People say a lot of things and most of the times you never cross the bridge or reach it. Nowadays, I rarely argue about anything and don't act on stuff until a person reminds me once or twice. This small filter can be like a miracle for saving your time and energy.

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

#238

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…

The terminology really turned me off because I found it difficult to comprehend. But I loved the idea of ubiquitous language and always meant to return to the book and give it another shot.

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

#239
post #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…

mine is the opposite, you can't get anywhere in life with the perspectiveless perspective

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

#240

Earlier quoted context omitted.

I've always found OO programming completely natural. n fact, it's the only kind of programming i've ever really done - create a structure with data members, and then create functions to work on that structure. you can (and should) do this in low-level languages such as C and assembler. Of course, if you want to go the whole polymorphic route, i'd suggest using something like c++, but the key ideas are really structur…

I've always had a hard time because I was thinking.. why would I carry the performance hit of instantiating objects for a bunch of stuff?

Why accept the performance hit of copying structs when you could use a reference type?

It's a tradeoff. OOP makes sense for certain types of problems, and functional programming solves other problems. It's very much a case of selecting the right tool for the job.

I recently transitioned from C# game programming to C++ embedded system firmware. Objects don't make much sense for what I'm doing now, and I'm coming to see the elegance of functional programming.

There is no one answer, just a box of tools. What makes a good programmer is understanding each of your tools well enough to decide which one will solve your problem in the way you want.

Post reply on HN