If you know the address, it is a matter of figuring out directions. But if you do not know the address, no directions may be discovered. How do you figure out the address?
If you cannot determine what needs doing, you cannot determine how to do it. How do you determine the what?
The answer is in the problem statement, but first you need the problem statement. How do you get to the problem statement?
It is easier to follow orders than it is to determine what the orders ought to be. How does one determine the orders?
How shall we live?
A solution is a response to a question asked within a context of presuppositions and facts. But this is not necessarily a one-directional process in practice. In practice, we do not know the context entirely and in the needed resolution. Thus, we often learn from our attempts at a solution that something in the presuppositions is amiss. And indeed, this is how science functions and how Socratic dialogues proceed. A critical experiment can reveal that something is wrong, but it cannot tell us necessarily what. The needle in the stack of theories, and common or philosophical or merely technical presuppositions, is not necessarily in the theory being tested, though that it where we begin for economical reasons.
You need prudence, the heart of practical reason, to know what to do.
I've been struggling with wrapping my head around asynchronous programming with callbacks, promises and async/await in JS, however I think it's finally clicking after watching these YouTube videos and creating a document where I explain these concepts as if I'm teaching them to someone else:
Edit... I've been rewatching these videos, reading the MDN docs, the Eloquent JavaScript book, javascript.info, blogs about the subject, etc. This further proves you shouldn't limit yourself to a single resource, and instead fill up the laguna with water from different sources if you will.
I'm too lazy to write a blog post about this at the moment, so here's a quickie reply:
1. An estimate is better than a guess. An measurement is better than an estimate.
Feedback from my mentor at a silly presentation of mine that convinced no one. I added data (as suggested) and it killed.
2. It's never the money. (They will always say it is, but it's not.)
I had trouble selling software. The customer said it was too expensive. That wasn't the real reason. This comment from my mentor taught me to find the real reason.
3. Never let anyone eat your lunch.
From an early mentor who kept noticing others take advantage of me (easy when you're in I.T.) without me fighting back. He taught me that sometimes, going along is worse for everyone in the long run.
4. The best time to turn it on is before it's ready. You'll get plenty of data to finish it faster.
I.T. (in its typical "pass the buck" mode) refused to turn on the Production Work-in-Process module of our ERP system because the base data (standards, routings, recipes, etc.) was so inaccurate and incomplete that "the shop reports would be worthless". To which my mentor responded, "What better way to fix them? The people responsible for fixing the data will be much more motivated because they want better reports." Great advice I've used 100 times since then.
5. The only good Powerpoint slide is evergreen. If it's not, it's already obsolete.
Powerpoint presentations are almost always boring and "powerpointless". UNLESS they're real truth (like most good comedy). The best truths are evergreen. And the slides can be used over and over again.
6. Your positive mental attitude makes up for most of your shortcomings.
From a mentor who saw something no one else saw (including myself). Once I knew "I had PMA", everything changed forever.
7. Learning the difference between an issue and a detail is half the battle.
Almost every corporate dick fight I've ever witnessed was over nothing. Asking the question, "Is this a detail or an issue?" refocused 90% of my attention to what really mattered. And helped me help others do the same thing.
8. Avoid introducing new jargon. It's already hard enough to understand.
I got fancy with new terminology in a sales presentation years ago. It failed miserably. This was why. I'm glad I asked. I've never failed because of that again.
9. Isolate. Isolate. Isolate.
First mentor, our tech lead, about debugging. VERY evergreen.
10. If it's not written down, it's not.
From another mentor. So obvious but so elusive. Born of a stupid argument about building something where no one remembered anything vocalized before.
11. The reason everyone we work for sucks is because those who don't suck never call us.
My cofounder's remark when I was super frustrated dealing with so much suckiness at our customer. Really set me right.
12. If you set aside something urgent to go to Happy Hour, how will our annual report differ? (Hint: It won't.)
My mentor wanted to talk about very important stuff over beers. I resisted. This question was how he got me to see things differently.
Urgent is short-term and tech based. Happy Hour is long-term and people based. Both are necessary.
13. What's the good news? (No matter how bad things are, never hesitate to answer.)
My mentor and boss always focused on the positive, no matter how elusive. I've adopted this philosophy. Sometimes I think that might have been the best thing I ever did.
14. A degree in business is a degree in nothing.
From a professor in my MBA program. Put everything into perspective before I encountered all those silly suits over my career.
15. The answer to any question is "Who wants to know?" (See https://news.ycombinator.com/item?id=1084127)
See the link. I've been talking about this for years.
16. No project ever dies but many are abandoned.
One of my mentors liked deadlines for simple urgent projects but hated them for complex important projects. Took me a while to grok this, but has become much more important over the years.
17. Self praise stinks!
From my mother when I did my touchdown dance after building something. Great advice (although I still dance once in a while when something works the first time. Sometimes I just can't help myself.)
18. If someone can do something once, they can do it again.
The underlying principle (provided by my mentor) for a cost absorption system I wrote and implemented in a human based production shop. If they're not doing what they have done before, there must be a reason. Our job is to find that reason." This applies to all of us. I've even used it to "debug myself' many times.
19. Almost anyone can do almost anything.
Hard to grok, but so true. The main reason people fail is that they just give up before they succeed. Again, provided by a mention when I was frustrated by junior programmers weren't coming up to speed fast enough.
And my favorite: 20. Ultimately, go with your gut.
Really important for a right-brained person like me. It reassures me that left-brain thinking is not only OK, but often essential.
Fun question! I would suggest the following (in no particular order), subject to the proviso that you do need to be sat next to them to help manage frustration, especially in the beginning (although my personal take is that they shouldn’t be left to play by themselves at all at that age) - particularly as they learn the controller, general video game conventions, and the specifics of each game:
- Breath of the Wild
- Animal Crossing
- Stardew Valley
- Minecraft
- Super Mario Odyssey
- Super Mario 3D World
- Rayman Legends
- Ratchet & Clank
- It Takes Two
- Slay the Spire
- Journey
- Spiderman and Miles Morales
My son’s favourite superhero - far and away - is Spiderman, in large part thanks to the PlayStation games. Pretty great role model. Kids find swinging through the city utterly exhilarating.
It Takes Two was such a fantastic, memorable experience for both of us - he still talks about it months later. It does require quite a lot of a kid, though - better for when they’ve got a year’s experience.
And trying to catch all the insects and fish in Animal Crossing kicked off a passion in him for the real things, to say nothing of what it taught him about animals generally, time and seasonality.
A Nintendo Switch is probably a good place to start, although as he gets older I’m encouraging him to move more over to the PlayStation (partly because it’s so much cheaper over time!).
Switch Joycons are great for small hands, too, although most kids seem to be able to manipulate a full-size controller by age 4-5.
If you cannot determine what needs doing, you cannot determine how to do it. How do you determine the what?
The answer is in the problem statement, but first you need the problem statement. How do you get to the problem statement?
It is easier to follow orders than it is to determine what the orders ought to be. How does one determine the orders?
How shall we live?
A solution is a response to a question asked within a context of presuppositions and facts. But this is not necessarily a one-directional process in practice. In practice, we do not know the context entirely and in the needed resolution. Thus, we often learn from our attempts at a solution that something in the presuppositions is amiss. And indeed, this is how science functions and how Socratic dialogues proceed. A critical experiment can reveal that something is wrong, but it cannot tell us necessarily what. The needle in the stack of theories, and common or philosophical or merely technical presuppositions, is not necessarily in the theory being tested, though that it where we begin for economical reasons.
You need prudence, the heart of practical reason, to know what to do.
And then you need to actually do it.