It's amazing how much a technique like rubber ducking[1] helps to work through issues. The number of times I've felt like I have no idea how to solve a problem until the moment after I ask someone else is incredible. I think the act of thinking how to explain the problem to someone else really helps trigger the problem solving side of the brain. That and the number of times taking a 10 minute walk has been more productive than hours of debugging time is frankly mind boggling.
When asking for help solving a problem, I start writing a question to ask someone, and then as I start explaining what I've tried (to try to be respectful of their time and them not have to repeat anything I've done) more and more things to try occur to me. By the time I've tried all the things that occur to me while describing the problem, I've solved the problem. That's the way it works out more often than not.
On more than one occasion I've started typing my question on stack overflow. I try to do my due diligence so I don't look like an idiot on the internet, and usually as I am anticipating responses I end up trying something that solves my problem.
This. I've gotten a new appreciation for Stackoverflow in the past year or so.
Half of the drafts I write do not end up as published questions, just because the writing process itself is often helpful in figuring out what ever problem I have with my code.
I have this experience. If I am struggling with something and can’t find an answer on the web I will write down a stack overflow/cross validated/math question. More often than not simply formulating the question well will help resolve the problem. If I still can’t figure it out I post and come back in an hour. Again, even if no one answered rereading the question after making some space often helps answer the question to myself.
Yes! I've lost count of the number of times I've started a ticket on GitHub and through the process of typing it all out solved my own problem without ever submitting the ticket.
This is a really nice presentation of these ideas.
However, I think that the Decision Matrix idea is too complicated: specifically the part where he advocates adding a weighting to each factor being considered to arrive at a numerical score.
At Microsoft, some of us use a system that I like to call the "Abolade decision making framework." It's the same idea, but instead of assigning weights to factors, we simply rank them. Additionally, the factors are expressed as positive attributes and an option either has that factor or it doesn't. A factor could be "Has vibrant colors" or it could be "Less than $10" for example. The type of a factor is Boolean :)
The goal is to generate a table with the options presented as columns and the factors presented as rows. You spend a lot of time as a group figuring out what the factors are, and then you spend a lot of time ranking them. Once you have agreement, you start working on the options. The winning option is one where you have the longest continuous line of check marks for each factor starting from the top.
Smart people, of course will try to game this system to choose their preferred outcome ... you need to be vigilant about this :)
There is a book titled "Thinkertoys: A Handbook of Creative-Thinking Techniques". The last edition was published in 2006, so it's fairly dated by now. I found it very interesting back then, but it wouldn't have much about more recent tools or ideas.
This is a good one to -
"The Thinker's Toolkit: 14 Powerful Techniques for Problem Solving" by Morgan D. Jones, ( techniques as used by the CIA no less! :-) ).
TRIZ (https://en.m.wikipedia.org/wiki/TRIZ) “theory of the resolution of invention-related tasks”. It was invented in Soviet Union. TRIZ is basically a toolset to analyse and solve engineering problems; it can help with “inventing“ tasks.
Lovely idea and presentation! Will come very handy at times.
Something I feel like is missing: Statecharts. Very powerful to be able to reason about state changes without having to deal with the explosion of states that state machines often ends up with. Sometimes also called hierarchical state machines.
Carl Gustav Jacob Jacobi was a German mathematician famous for his maxim
"Invert, always invert". He believed that the solution of many hard problems can
be clarified by re-expressing them in inverse form. Inversion forces new ways of
thinking and helps uncover hidden solutions.
The tools on the linked website are very basic which are used on a daily basis:
"Issue trees": Write your problem down
"First principles": 5-whys, which you do e.g. in a post mortem
"Second-order thinking": think of mid- and long-term consequences
"Connection circles": side-effects
You maybe think about mental models of which there are a lot (https://fs.blog/mental-models/) and there are some cargo cults and fancy words around them.
They have their right to exist though, e.g. I really like to end a meeting early because of the law of diminishing returns. :)
Outliners are definitely missing, such as https://github.com/rochus-keller/crossline/. You can structure your thoughts while you type, even while you're talking to other people. And you can make cross-references and make appear thoughts (or action items and such) in other places using translucent active links. Or copy/paste structured text from the web or aggregate links with notes, etc.
"An important aspect of learning about strategies is the conditional knowledge of when and why to use them appropriately" (Krathwohl et al.)
I wanted to compile a similar list of strategies myself, however I couldn't quite understand when to apply them. After some research, my view is that to understand when to apply these general thinking/problem-solving strategies, one needs to know the goal of the task and the cognitive processes involved i.e. it requires conditional knowledge which is part of metacognition.
To be fair, a notebook and a pen are fantastic thinking tools. You maybe could argue that the tools provided here are not that useful but thinking tools in general are a necessity, Daniel Dennet makes some compeling arguments for this.
"You can't do much carpentry with your bare hands, and you can't do much thinking with your bare brain". — Bo Dahlbom
Ohh...I love this. I have a handful of these internal tools that I picked up over these years, but I never knew where to find more (or really, consciously thought to look for more). Now I have a bit of a roadmap.
The ones I do have are so valuable that even if I get one more effective one off this list, it will be one of the best things I do this year.
One important aspect of human thinking is the need to form narratives to make sense of the world.
We don't live or think in abstract algebra or abstract heuristics. We live and think in a world-view in which problems arise and for each problem, we have a set of potential solutions, often unconscious.
This website has good information - it just doesn't do a good job of organizing them into a coherent narrative.
It's not enough to know what probability is, if you never think to use it to ask the question what are the chances one religion out of thousands that all claim they are the only true religion, is actually the true religion?
One of the big issues of modern society is people being taught/given disconnected bits of information, without a guide on how to fit them into a coherent narrative. This isn't done by accident and a lot of people have given it a great deal of thought - some call it post-modernism.
I like the concept, I see many sites like these. However, who actually uses these in a day to day situation? It feels like these thinking models need to be internalized in more than just a superficial way to get any real use out of them, and I wonder if a book or course wouldn't integrate better with one's mind.
You should get into the habit of actually checking the network requests. The site looks minimal but it's 1.1MB w/o Google analytics. It's what Maciej Cegłowski(https://idlewords.com/talks/website_obesity.htm) would call Chickenshit Minimalism.
does anyone know a simple app that allows hyperlinking within notes? I want to create a roam-style knowledge base, but most tools are too heavy for my purposes. I prefer to keep things cross-compatible and future proof with .txt or .rtf, but to my knowledge, neither allow hyperlinking to documents
If you do not mind a bit of setup, I have found Vim in combination with VimWiki (https://github.com/vimwiki/vimwiki) a very good fit for this scenario.
It supports markdown formatting, does hyperlinks pretty well (even jumping back and forth is quite nice), is as cross-compatible as Vim and stores the notes in future-proof .md files.
Hm that's hard to accomplish with simple text files. You can checkout Emvi [1]. That's not exactly what you're looking for but you can link everything using the @ key and export to HTML and markdown.
Sometimes it's been useful for me to use the tool used to state the problem as a guidance framework during the thought process.
So you could try to state the problem in a very structured way (say, a spreadsheet) and at the same time in a visual way (say, a presentation slide deck). Of course some people are better using one type than the other but that's where the trick relies: forcing yourself to think in a way that is not your "natural" way of thinking.
If this sort of thing appeals to you, you might enjoy Poor Charlie's Almanack, which can be found on archive.org right now for the low, low price of free:
So an "iceberg model" is about trends and patterns over time? That's adding a dimension to the iceberg's ocean and I think the analogy breaks. Usually icebergs are to describe partial occlusion.
Also alarming is that in the example for that model QA is something that happens post-release. If so, I expect quality to be a looming iceberg.
Just meditate, please do not load more pain to head. The article shares some good techniques, use the same techniques using pen and paper and it is healthier.
P.S. Its a personal preference, I'm not trying to put down the tool, its great and can be used as a training material for better thinking.
This is great. I find I often do these things at work (such as second order thinking) but have never attempted to encapsulate it or differentiate from other ways of looking at things. Thank you for sharing.
Whenever I see something like this or other "mental model" tools, I just think: soon this will be obsolete, as the human who used to make decisions in a given job is replaced by AI.
shahbaby|5 years ago
I used to be the type who asked a lot of questions until I realized that formulating the question was often more important than getting the answer.
typicalbender|5 years ago
[1]: https://en.wikipedia.org/wiki/Rubber_duck_debugging
dathanb82|5 years ago
doctoboggan|5 years ago
Pandabob|5 years ago
Half of the drafts I write do not end up as published questions, just because the writing process itself is often helpful in figuring out what ever problem I have with my code.
cjsawyer|5 years ago
ivalm|5 years ago
drcongo|5 years ago
izzle49|5 years ago
KrishMunot|5 years ago
hyperpallium|5 years ago
localhost|5 years ago
However, I think that the Decision Matrix idea is too complicated: specifically the part where he advocates adding a weighting to each factor being considered to arrive at a numerical score.
At Microsoft, some of us use a system that I like to call the "Abolade decision making framework." It's the same idea, but instead of assigning weights to factors, we simply rank them. Additionally, the factors are expressed as positive attributes and an option either has that factor or it doesn't. A factor could be "Has vibrant colors" or it could be "Less than $10" for example. The type of a factor is Boolean :)
The goal is to generate a table with the options presented as columns and the factors presented as rows. You spend a lot of time as a group figuring out what the factors are, and then you spend a lot of time ranking them. Once you have agreement, you start working on the options. The winning option is one where you have the longest continuous line of check marks for each factor starting from the top.
Smart people, of course will try to game this system to choose their preferred outcome ... you need to be vigilant about this :)
khimaros|5 years ago
inetsee|5 years ago
There is a summary of the book here https://www.ethos3.com/books/thinkertoys-a-handbook-of-creat...
chadcmulligan|5 years ago
https://www.amazon.com/Thinkers-Toolkit-Powerful-Techniques-...
seesaw|5 years ago
playing_colours|5 years ago
The system is well developed and quite sophisticated with a variety of techniques and approaches. I found this book to be a good introduction: https://www.wiley.com/en-us/TRIZ+for+Engineers%3A+Enabling+I...
petra|5 years ago
diggan|5 years ago
Something I feel like is missing: Statecharts. Very powerful to be able to reason about state changes without having to deal with the explosion of states that state machines often ends up with. Sometimes also called hierarchical state machines.
tonyarkles|5 years ago
Highly recommend this book: https://www.state-machine.com/doc/PSiCC2_Excerpts.pdf
OctopusSandwich|5 years ago
Self-help is good but sometimes I wonder if people who yap about all these tools all the time even get anything substantial out of it.
doomjunky|5 years ago
Carl Gustav Jacob Jacobi was a German mathematician famous for his maxim "Invert, always invert". He believed that the solution of many hard problems can be clarified by re-expressing them in inverse form. Inversion forces new ways of thinking and helps uncover hidden solutions.
https://twitter.com/fermatslibrary/status/114459774698642227...
https://fs.blog/2013/10/inversion/
https://en.wikipedia.org/wiki/Carl_Gustav_Jacob_Jacobi
Jakob|5 years ago
"Issue trees": Write your problem down "First principles": 5-whys, which you do e.g. in a post mortem "Second-order thinking": think of mid- and long-term consequences "Connection circles": side-effects
You maybe think about mental models of which there are a lot (https://fs.blog/mental-models/) and there are some cargo cults and fancy words around them.
They have their right to exist though, e.g. I really like to end a meeting early because of the law of diminishing returns. :)
kevindeasis|5 years ago
some of them might be helpful in rare situations
Rochus|5 years ago
mrtrombone|5 years ago
[1]: https://medium.com/disruptive-design/search?q=tools%20for%20...
satoshikenzo|5 years ago
I wanted to compile a similar list of strategies myself, however I couldn't quite understand when to apply them. After some research, my view is that to understand when to apply these general thinking/problem-solving strategies, one needs to know the goal of the task and the cognitive processes involved i.e. it requires conditional knowledge which is part of metacognition.
Wonderful list though!
koolhead17|5 years ago
adrianN|5 years ago
HourglassFR|5 years ago
"You can't do much carpentry with your bare hands, and you can't do much thinking with your bare brain". — Bo Dahlbom
enchiridion|5 years ago
I think a fair amount of problem solving ability is at the boundary of the internal and external.
Of course this is imprecise scientifically, but hopefully the idea is clear.
ggregoire|5 years ago
wintermutestwin|5 years ago
arcticfox|5 years ago
The ones I do have are so valuable that even if I get one more effective one off this list, it will be one of the best things I do this year.
w4tson|5 years ago
https://fs.blog/mental-models/
vajrabum|5 years ago
alexashka|5 years ago
We don't live or think in abstract algebra or abstract heuristics. We live and think in a world-view in which problems arise and for each problem, we have a set of potential solutions, often unconscious.
This website has good information - it just doesn't do a good job of organizing them into a coherent narrative.
It's not enough to know what probability is, if you never think to use it to ask the question what are the chances one religion out of thousands that all claim they are the only true religion, is actually the true religion?
One of the big issues of modern society is people being taught/given disconnected bits of information, without a guide on how to fit them into a coherent narrative. This isn't done by accident and a lot of people have given it a great deal of thought - some call it post-modernism.
cercatrova|5 years ago
x32n23nr|5 years ago
raspyberr|5 years ago
M5x7wI3CmbEem10|5 years ago
jpitz|5 years ago
cmehdy|5 years ago
[0] https://news.ycombinator.com/item?id=23324598
rukuu001|5 years ago
I use it as an outliner, to link to documents (using org-roam), and liberally sprinkle TODOs among the notes, which the agenda picks up.
Took a while to get comfortable with it, but it's totally worth it.
mrshu|5 years ago
It supports markdown formatting, does hyperlinks pretty well (even jumping back and forth is quite nice), is as cross-compatible as Vim and stores the notes in future-proof .md files.
I suggest you give it a shot.
marvinblum|5 years ago
[1] https://emvi.com/
simantel|5 years ago
codemac|5 years ago
jxy|5 years ago
flarg|5 years ago
cryptonode|5 years ago
Enginerrrd|5 years ago
gexla|5 years ago
Takch|5 years ago
ddelt|5 years ago
Another great resource for folks who like reading about these: https://fs.blog/mental-models/
I've actually read the mental models series of books put out by the above author, and I also highly recommend those for a deeper dive.
rememberlenny|5 years ago
[1]: https://mindnode.com/
Jestar342|5 years ago
pantulis|5 years ago
So you could try to state the problem in a very structured way (say, a spreadsheet) and at the same time in a visual way (say, a presentation slide deck). Of course some people are better using one type than the other but that's where the trick relies: forcing yourself to think in a way that is not your "natural" way of thinking.
_theory_|5 years ago
https://archive.org/search.php?query=poor%20%20charlie%27s%2...
drewcoo|5 years ago
Also alarming is that in the example for that model QA is something that happens post-release. If so, I expect quality to be a looming iceberg.
nickjj|5 years ago
Here's an example of how that can be applied to tech decisions: https://nickjanetakis.com/blog/would-socrates-use-docker-tod...
juliend2|5 years ago
blackrock|5 years ago
VSCode has a nice plugin for it. And so does a few other editors.
It’s simple, and easy to use. Pure text, and allows you to do some formatting. Especially, the code preview.
This allows me to brainstorm, and just type out random things at will. And I can reorganize it later.
And when I want to read it, then I switch on the viewer, and all my text is nicely presented.
mosselman|5 years ago
imvetri|5 years ago
P.S. Its a personal preference, I'm not trying to put down the tool, its great and can be used as a training material for better thinking.
Hoasi|5 years ago
amjd|5 years ago
I don't reckon it gets updated much, though.
awill88|5 years ago
paulorlando|5 years ago
timhigins|5 years ago
uk_king|5 years ago
modzu|5 years ago
foobar_|5 years ago
[deleted]
jiujitsunews|5 years ago
[deleted]