swifton
You aren't trying to create knowledge and put it on the website. You are trying to take your students from one point on the mental landscape to another.
Ding ding. That's a useful way to conceptualize it.
I want to reiterate what I said in the stream, because it is increasingly important we keep this in mind as low-level folks decide on messaging, education, and presentation.
(1)
The low-level stuff is finite: The fundamentals are well-established and following industry progress at the hardware-ish level is easy once you've mastered the basics.
On the other hand, there are endless high-level APIs to interact with, and knowing little beyond function calling and parameter-passing puts anyone at a disadvantage. To be fair, trusting Ruby on Rails with limited understanding saves A LOT of time, and it's productive for many developers,
and we can't deny that. I appreciate why most of us would go this route, and I'm not picking on Ruby devs. My problem with that over-reliance, though, is that Rails may be subsumed by any other framework, and we would probably not be able to implement missing functionality if pressed to do so by managers. Thus—and here's my point—we end up with the situation where an engineer claims it's impossible to add X feature, because the technical constraints "are too high." That may be true, but often it's just lack of lower-level knowledge. And most managers would believe them! Because we're the engineers! And now we're slowing down
actual technological progress.
It would be nice if more and more of us are
capable of at least partially implementing a framework ourselves.
So, I know it's practical to prefer learning an Android SDK plugin over, say, studying PC-relative addressing to compute some effective memory address (actually this is immediately useful for compiler writers, because an ELF relocation entry may specify this type over absolute addressing...). It's the same class of problem people face when they're told to study philosophy and to grapple with abstract concepts over many years, as opposed to just getting life advice from a friend (who may or may not know any better). However, if the person is serious, they may come out ahead. Successful people, and those in power, often cite old philosophers and their ideas as influential.
(2)
Perception Matters: AFAICT the where, how, and when a message is presented is crucial to its acceptance. Handmade Hero succeeded, in part, due to a confluence of Twitch promotion, influential friends, personal expert knowledge, charismatic personality, and a well-packaged presentation. Seeing all of that strike a chord is what allowed an impressive number of people to even recognize that it's OK to peek behind the curtains of software.
So let's say that this is our message:
It would be nice if more and more of us are capable of at least partially implementing a framework ourselves.
How can a community of low-level programmers present that? Once people are convinced, they've been "taken from one point on the mental landscape to another", and we will have succeeded.
(8/30/2018) EDIT: Typos; trivial edits.