Hacker News new | past | comments | ask | show | jobs | submit login
Tools for Better Thinking (untools.co)
1092 points by mmoez on May 28, 2020 | hide | past | favorite | 135 comments

I've found that the most underrated problem solving tool is simply typing out my thought process.

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.

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.

[1]: https://en.wikipedia.org/wiki/Rubber_duck_debugging

I was stuck debugging a chip for a day until I finally decided to write to the FAE. I sit down, write my problem in the simplest possible language, list all the tricks I tried and asked for a solution. Then I'm reading my email to make sure everything is in order and voila - one last thing to try. and that step worked.

What does FAE mean in this context?

Or do you mean ‘fae’ as in fairies?

Edit: speeling

field application engineer (usually a customer facing engineer from semiconductor companies)

Ah right, I see, thanks.

They call it the Einstellung effect[1]. It's a recommended strategy to take time away from the problem to let your brain subconsciously work on the problem.

[1]: https://en.wikipedia.org/wiki/Einstellung_effect

How is this different from the Innovators Dilemma?

The hours of debugging were still a critical part of the process. It “loosened the jar lid” so to speak. (It’s not like long-distance walkers are some of the best debuggers.)

But once you’ve put in some substantial effort, taking a break and a walk (or a sleep) is often the critical last step.

I've heard this concept called the cardboard colleague - you explain the problem to a cardboard cutout representing a colleague instead of an actual person. Of course it remains a concept, I don't think anyone would go so far as make one :-)

You can use an actual colleague.

Many years ago when I was designing and programming embedded controllers (early '80s) I worked alongside, but not with, another engineer who was building devices using the same fundamental components (6520, PIA, etc.) In our tea breaks we would explain our problems to each other. Neither of us suggested any solutions to the other or responded with anything other than simple platitudes and sympathy for each other's troubles. It was remarkable how many problems had simply vanished by the end of the tea break.

Rubber duck debugging is extremely useful to unblock. I very rarely use an inanimate object, though — for me, the real help is the first or second (apparently very basic) question that the other person poses to me. That key question usually comes at what would seem the beginning of my explanation, but there lies the magic.

Rubber ducks don't ask questions.

>That and the number of times taking a 10 minute walk has been more productive than hours of debugging time is frankly mind boggling.

I can't keep track how many times I has an idea that got me unstuck while peeing in the bathroom.

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.

Exactly this. What is really weird, though, is that I have occasionally tried to promote this approach to people that ask my help, simply by asking them to write the request to me instead of calling. Also, getting the help request in written helps me to think the case and open issues in my own pace uninterrupted by discussion.

The weird part? I have a strong feeling that more and more often (luckily not too often yet) my request seems to be considered outright hostile and it causes significant irritation. I wonder if anyone else has noted the same or am I just getting old and grumpy...

That sounds like a tricky message to deliver:

1. It could easily come across as "my time is more important than yours". 2. Depending on what they are asking for and how urgently they are treating it, they might not want a lesson in solving their own problems. They just want help fixing the problem. 3. A lot of people are self-centred. Of course their problem should be your top priority and you should drop what you're doing! /s

...So yeah, I'd be surprised if it didn't get a bad reaction sometimes. Perhaps seek to promote this approach when their problem is resolved. I would imagine they would be more receptive then.

> 1. It could easily come across as "my time is more important than yours".

Well yes, if someone comes to me to ask for help, that means they weren't able to solve it by themselves, but expect me to have the skills, knowledge or experience to help them solve it. So my time working on this problem is obviously more valuable than theirs, because I'm expected to fix something they weren't able to.

So I think it's fair to ask them invest the time to provide a proper description of the problem, before I invest time to help them.

This happens all the time. This might sound cynical but it's impossible to change the attitude of some people. Any tips to avoid them without being quoted as "not a team player".


I’ve asked people to not give me dimensions for a work request over the phone because it leads to potential for transcription errors and mis-hearing...

If you type it out and send it to me, or write it down and send a photo / scan, and it’s wrong... that’s your fault.

And they seem genuinely put out by me not wanting to be responsible for a mistake.

If them being put out causes you trouble, may be best to take them, then send the follow up email requiring the confirmation.

Humans need handling.

One thing I've learned is that many coworkers really struggle with writing. They are amazing talkers - they work in sales most of the time. But they rarely write anything more than bullet points in a powerpoint deck.

It's a bit sad, but understand that people have different backgrounds and education. Perhaps their schooling, back in the 1960's / 70's, did not prioritize writing skills? It's just really odd to me because every single job I've ever applied for always said "must be able to excel in written communication", so why should the standard for my colleagues be different?

This raises an interesting point.

Maybe excels at written communication is how everyone else is doing it (bullet points, spelling and grammar mistakes) and we are the aberration.

I usually to write in short sentences instead of long paragraphs.

I find that it improves clarity. It also seems the readers respond well to that.

With that in mind, why are bullet points so bad ? they seem like a simple technique to simplify writing.

I've written a bullet point message to a client once. He was pieved because it sounded like I was enumerating his failures instead of genuinely asking questions. I find that bullet points are only good if you enumerate what you've done, or something neutral. But nothing in regards to what somebody else needs. It's really aggressive.

I've found that bullet points come off as really aggressive in communication.

Maybe in some cases it is helpful (for both parties) if it is written down. However, in my experience, a conversation can often be very helpful as well - you can ask clarifying questions etc. It becomes more of a brainstorming together. Has helped me many times (on both sides of the conversation).

I find the instant messaging is even better(for informational conversations).

It gives you time to think, can decrease miscommunication and the psychological element of conversation(giving more clean space for the informational element) and increase the depth and details of a conversation.

Completely the opposite for me. What would be a couple of minutes of conversation is stretched out to an hour or more. And no point starting something different while waiting for the next message.

hab ich auch weilse sonst zu viel abgeben teilen ornen und wiedergutmachen müsseb denke ich. linke menschen muss man aufs Brot haben!

What I do then is record that in my journal. Usually I never look at it again. But sometimes it's incredibly useful to be able to go back and revisit my thought process, especially in the face of a bug.

There's a name for that: rubber-duck debugging :)

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.

Stackoverflow is the best rubber duck because the anticipation of that fear is quite real. And I know that on many occasions I will end up submitting that question

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.

Sometimes I wonder how big a tragedy it is that many well-written questions are simply dismissed because the author found his solution in the process. I'm sure many of those questions are high quality and would get edits, upvotes and answers had the author just pressed the submit button.

Actually it's acceptable to answer your own question, as long as it's a useful contribution, so it might be worth it to just post the question after all.


You can’t answer the question until it exits!

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.

Yep I have been doing the same too, writting out and drawing out things to get it out of my head and onto paper seems to help quite a bit.

The universe has all the answers, what matters is the questions you ask


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 :)

Is there somewhere I could read further about the Abolade framework? I can't seem to find any good resources from a quick web search.

I don’t think there’s anything public about this. Not that there is anything particularly secret about this at all. It’s very straightforward and I’ve described its salient points above.

+1, I would love to read more about this, particularly around how it scales to multiple (possibly overlapping) options.

> Additionally, the factors are expressed as positive attributes and an option either has that factor or it doesn't.

This is very intuitive for binary decisions, where the "pros" of one option are the "cons" of the other. How do you scale it to multiple options though? (e.g. if I am deciding between internet providers, speed is clearly an important factor, but I may have 3 options with low/medium/high speed respectively)

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.

There is a summary of the book here https://www.ethos3.com/books/thinkertoys-a-handbook-of-creat...

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! :-) ).


+1. I found one in my local library few months back. It breaks down the process to solve a problem and lists different approaches. It is a good read.

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.

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...

Have you found it useful to non-mechanical problems?

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.

I just started digging deep into this for a project this week and I am already in love.

Highly recommend this book: https://www.state-machine.com/doc/PSiCC2_Excerpts.pdf

Neat! Thanks for sharing that!

I made another comment about statecharts a while ago, listing some more resources and other comment threads on HN containing bunch of useful experience, resources and general information, starts here: https://news.ycombinator.com/item?id=22747409

Do any of these tool actually help people in everyday life?

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.

The Inversion Methode:

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. :)

Like the pareto principle, there's a small amount of mental models that you'll find really useful in a recurring basis.

some of them might be helpful in rare situations

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.

Fantastic toolset. I found the posts by Leyla Acaroglu [1] an excellent introduction to systems thinking and many of these concepts

[1]: https://medium.com/disruptive-design/search?q=tools%20for%20...

"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.

Wonderful list though!

Reading autobiography of Benjamin Franklin makes me feel we don't need tools but willingness within. He had a notebook and pen with him.

Just because some people can multiply large numbers in their head, that doesn't mean that other people won't benefit from a pocket calculator.

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

I think this speaks to the idea of rubber ducking.

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.

No direct relation but reminds me of https://datavizcatalogue.com/search.html (which is great btw!)

That link is incredibly helpful! Only slightly non-sequitur...

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.

You might enjoy this then


I always liked that stuff too. Here's a few more systems ones you might enjoy. https://www.systems-thinking.org/arch/arch.htm

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.

Side note: Also, nice minimal site. Refreshing to see well-designed, clean sites this days.

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.

You're right - spoiled by the internet connection. I guess I was referring more to the UI.

I'm just happy that the homepage mostly zooms the way it should.

Nothing in the modern web pisses me off more than a developer trying to decide how my zoom behavior should work for me. Zoom is a very basic concept, I want to make the whole page larger or smaller. For some reason people insist on messing with that to make some menu, banner, or image popup appear the way they think I (or they) want it to when I try and zoom in or out, rather than just let me zoom as I please.

This site still manages to fuck it up when I click on one of the images though.

Thanks for the link, a great talk

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

Fair bit of warning: TiddlyWiki is the opposite of heavy, which means it's a bit shallow on the surface by allow custom data types/pages. I love this, makes you basically be able to build your own content systems on top of TiddlyWiki, but people expecting it's just "notes you can link together" might have to readjust their expectations.

Another great thing about TiddlyWiki is that the content can be stored in barebones files that you can read/parse outside of TiddlyWiki, and you can also run the frontend client offline with just a single index.html, if you want to. So fits what M5x7wI3CmbEem10 pretty nicely.

So thumbs up for TiddlyWiki but it can be a bit... Tiddly to fickle with sometimes.

Yesterday there was a Show HN about Obsidian[0] which you might be interested in.

[0] https://news.ycombinator.com/item?id=23324598

you need an account for it though, right? meaning they have access to your stuff. and because they use unique formatting such as `![[filename]]`, it may not be easily cross-compatible

No account needed. It just works off local markdown files.

No account needed. They don't have access to your stuff—it works on local files—but appear to be working on a cloud option. They claim to support Commonmark and Github Flavored Markdown. [[filename]] is just a shortcut for [filename](filename), but in any case "Export to standard Markdown links" is on their short-term roadmap.

You might also check out Zim.

I believe in yesterdays thread there was mention of the app storing all files locally in a portable Markdown format

Have you heard anything about Joplin? I believe it behaves similarly.

Not that great since it lacks Latex support.

I just wanted simple hyperlinking.

Hate to be that guy but... org-mode :)

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.

I'm concerned because the emacs community is significantly smaller than the vi community. Do you happen to know anything about vim-org?

I tried vim-org previously (I’m a Vim user at heart) and didn’t have any success, but I hadn’t grokked org-mode at that point anyway. So definitely worth trying it out.

citation needed

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.

I suggest you give it a shot.

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.

[1] https://emvi.com/

it's unfortunate that just being able to link documents is difficult within text files

org-mode allows linking within notes.

still a bit too heavy for my purposes, but it looks like it may be the only option. I was trying not to resort to `.md` files, but that may be a more future-roof option to be honest.

org is as future proof as anything else

if you do decide to check out emacs, look at org-roam. My experience with it has been amazing so far.

how is it compared to org-zettelkasten or vim-org?

Use acme from plan9port. Every file is automatically a link.

zim desktop wiki

Take a look at https://www.notion.so

notion is a proprietary format, unfortunately. I also want to keep things in local storage for security reasons

Depends what you mean by "heavy", and what platform you're looking for. Vimwiki maybe?

I can keep things on local storage and preferably in `.txt` or `.rtf`

Why not Roam?

Roam is closed-beta and a proprietary format.

I get that. But I'm also skeptical of any product / service which attempts to bolt on Roam-like features.

Note taking apps have been around for a long time, and now all of a sudden it's a hot new thing to add bio-directional links?

The developers talked about starting out not knowing what they would end up with but that they would know when they saw it. That process took them two years (?) of exploration and development to get to what they have now. That's worth tipping them at least a few months subscription for anyone looking for a note taking app with Roam features. Throw these guys a bone for getting us past the stagnation.

Also, anything Roam-like is still going to be half-assed. If they aren't furthering the thread, then they're just copying. If they're just copying, then they don't have the understanding of the problem that the Roam developers have. If I feel Roam brought value to the world, then I should follow those developers who delivered rather than the copy cats.

Granted, Roam didn't create the idea of of linking notes. They didn't create the idea of the bullet blocks. They did create the interface which made it all work on a screen though.

Hell, even if they had straight up invented backlinks I wouldn't be willing to deal with an application that costs $15 per month and gives me absolutely no control over my data. The possibility that an outage could cause me to lose work alone prevents me from ever giving it a shot.

And the idea that even though the copycats deliver to me the superior product, I should still give what amounts to charity to Roam because they designed a nice interface just strikes me as absurd. I don't see the point in being overly concerned about supporting new research since we already have a mechanism for that: patents. If Roam truly believes their work is revolutionary, they should have just applied for a patent.

> The possibility that an outage could cause me to lose work alone prevents me from ever giving it a shot.

They have an excellent data download option in the app. You can download in Markdown or JSON and then restore. The JSON format restores everything. The Markdown format restores syntax. I download both with every session.

> And the idea that even though the copycats deliver to me the superior product, I should still give what amounts to charity to Roam because they designed a nice interface just strikes me as absurd.

Where in my comment did I mention Roam being inferior? Right now it's the opposite. Copycats are offering bolt-on roam-like features which don't work the same. The developers don't have the same understanding of the problem that the Roam developers have.

Why is Roam blowing up right now when it's just another note taking app? People are seeing something in it that they haven't seen in other apps. Bolting on copy-cat features isn't going to capture whatever magic Roam is doing. People are doing themselves a disservice by looking for a Roam alternative. If you tried Roam and believe it sucks, then you aren't looking for an alternative, you're just looking for something with links (Roam does way more than that though.)

I have no personal stake in the app. I'm just amazed at the reviews that Roam has got. I have seen loads of people say that Roam has changed the way they take notes. Some even say it has been life changing. The service has been blowing up.

There is an export to markdown, and the developer has specifically said he is going to continue to allow that. There is a converter for tag/highlight/todo from Obsidian.md

jDownloader vielleicht ....

I love reading about and visualizing about mental models. This site is great for quickly and concisely internalizing them! Thank you for making it!

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.

The tree-like mind maps from these are made in MindNode [1].

[1]: https://mindnode.com/

Oh wow. Mac/iOS only. When was this a thing?

For as long as Mac's have existed? Some developers prefer to focus on one ecosystem, Omni Group for example.

FreeMind is FOSS and cross platform (Java) although I haven't used it in years and it doesn't appear to have had a new release in quite some time. (Wikipedia says the fork Freeplane is active?)

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.

Very cool idea but I was disappointed that Socratic Questioning wasn't included.

Here's an example of how that can be applied to tech decisions: https://nickjanetakis.com/blog/would-socrates-use-docker-tod...

It is mentioned in "First principles": https://untools.co/first-principles

I use markdown.

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.

Did you even look at the link?

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.

Here is a trove of similar thinking tools to generate ideas, for those interested: http://creatingminds.org/tools/tools_ideation.htm

Similar website that was posted a few months ago, for those interested: https://www.mentalmodelsbox.com/

I don't reckon it gets updated much, though.

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.

Good list. You might also like this one focused on thinking about systems: https://unintendedconsequenc.es/

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.

Looks fantastic! I like the Iceberg model.

the scientific method

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact