Live data from Hacker News

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

news.ycombinator.com

201–210 of 946 posts

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

#202
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 getting into writing my own 3d rendering software. Systems of linear equations are absolutely everywhere. I didn't really tie together their use in control theory, DSP and graphics until I was forced to learn them "for real" to achieve my project goals.

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

#203
It felt like my understanding of pointers was a bit vague until I learned assembly. I think programmers would benefit from starting off with a simple virtual machine that runs a tiny set of instructions with everything presented cleanly in a visual format which can be inspected and stepped through.

The biggest a-ha! moment I've experienced was in my Comptuer Architecture course when it finally clicked how you could build up a bunch of logic gates into a real modern computer.

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

#204

Fourier Transform. I'd been writing DSP code in C and MATLAB during undergrad while thinking I knew every possible aspect thanks to the deep study we had as part of coursework across all the transforms methods in our ECA & Communications coursework in India. Also, dad was a self-taught hands-on Analog electronics whiz whose day job was in Telecommunications Training, and I had uncles and aunts in the Telecom/Electron…

Interesting, Fourier transform has never been an issue for me but Laplace never clicked. I know it's kind of similar (convolution, exponential and all that) but I miss the connection with the frequency domain that is there for Fourier.

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

#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 particular order:

* Perfect is the enemy of good enough. Did n't really appreciate this idea until around 2 years into my career.

* How to be professionally displeased at something. Early on my career I would get way too angry at incompetent colleagues peeing in the pool, e.g. bad code, design, management, etc. I would complain quite a bit! It only clicked ~2-3 years later into my career when I figured that one's displeasure at a situation should be a function of both how bad the situation is and how able you are to improve it. When you offer constructive solutions to incompetence (suggest alternative algo, management style, library, tool, etc) whilst not actually mentioning what is wrong, instead of just fruitlessly reminding people of what they did wrong, people become far more cooperative and receptive, etc.

My tin-foil-hat pet-theory is that the relatively recent tyranny of low expectations and "participation award" society has on average made younger people much more sensitive to negative comments about their work. The extension of that is that people end up robbed of more detailed reasoning about what they did that was wrong.

People are interesting!

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

#206

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…

How are mocks a smell if "unit testable with (possibly fake) dependencies" is okay? That's what mocks are. Or do you mean specifically "expecting" interactions with those mocks? Because I agree that's usually not that valuable.

Basically what Cyph0n said, fakes and mocks aren't the same thing.

But it isn't quite as smelly when I see a mock (or "stub" more typically) used as an expedient way to create a fake to pass in as a dependency.

Like you said, it is asserting on the interactions with a mock that is what primarily smells bad to me. I very rarely (honestly I think maybe never) see this done in a way that isn't just rewriting the implementation of the method as expectations in the test.

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

#207
That Pareto is everywhere and, when applied to knowledge, a comprehensive study plan, like courses or a book, for most subjects, tend to obscure what's the meat.

Waking call:

https://sive.rs/kimo

Corollary: a place where there's a fat-ass book of "best practices" has probably lost its focus.

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

#208
1/2) Trusting Institutions

Institutions such as Police, Universities, NHS, Scouts, MsF, Religions, Churches, YCombinator et alia have a hierarchy of internal loyalties in strict precedence:

* The Staff Member

* The Staff Member’s Family

* The Friends of the Staff Member

* The Colleagues of the Staff Member

* The Group within the Institution the Staff Member belongs to

* Wider Groups in the Institution

* The actual powerbrokers within the Institution

* The acknowledged Leadership of the Institution (may be different to actual powerbrokers)

* The actual goals of the Institution

* The acknowledged goals of the Institution (may be different to actual goals)

* Helping YOU in accordance with what the acknowledged goals of the Institution are…

Only when all the loyalties in that list are satisfied is there the slightest chance you may get anything positive from the Institution.

Despite the long list of higher precedence loyalties it is still frequently possible to have positive outcomes…

But because it is a long list of loyalties far more important than helping YOU, there are often breaks.

And because people and families and relationships are involved they can change at any moment.

So trusting Institutions to do the best for you or act honourably needs to be carefully weighed against the likelihood that will happen

2/2) Mortgages

How mortgage repayments change over time as you pay off some of it (YMMV)

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

#209
post #86

The power of an outline when writing. Over the past few years, I've been teaching myself how to write better. I'm not talking about elementary syntax or grammar. I'm not talking about writing the traditional, American English five paragraph essay. I'm talking about writing longer pieces of prose, articles or blog posts or short chapters with word counts ranging anywhere between 1500-3000 words. On this journey of imp…

This summer I read "On Writing Well" by William Zissner which was an eye opener for me. I'm far from an expert in writing clear texts, but I am definitely noticing more text which are just... big balls of blurb that don't actually say anything. All because of that book. It sounds dumb, but this year it clicked for me how big of a difference a poorly written text compares to a well written text. Hope your training pay…

This is the first book I recommend to anyone who wants to improve their writing. With Minto's Pyramid Principle as a follow-on.

My top 3: 1/ Edit ruthlessly. Every single word is reduced to its simplest form and pulls its weight--it has a damn good reason for being there. 2/ Aspire to write at a third-grade reading level. Readers prefer simple writing even when reading deeply technical content. 3/ Start your most important conclusions up front, not at the end. You're not writing The Sixth Sense. Do your reader a favor and tell them the big reveal first. You can then follow through and persuade the reader why your conclusions are right.

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

#210
For me it was lambda calculus. I remember in high-school going through the motions of beta-reduction but having no idea what it meant. Much later I think I finally saw an implementation of natural numbers and addition using bare lambda calculus and it clicked that you really can represent any computation with just variables, abstraction, and application.
Post reply on HN