Your brain is like a computer. Most computer languages use functions or methods to simplify common problems. Rewriting the same code every time you want to process how a button is clicked or a data is written would take forever. Functions simplify the code by having a template process that is flexible enough to handle different inputs.
Brains have functions too. These are little processes for routine cognition. Here are just a couple different types of ‘functions’ your brain utilizes to think:
- Habits – Routine actions are hardwired in.
- Metaphors – New ideas are filtered through existing understandings.
- Heuristics – Novel problems are broken down and use simplified tools to solve pieces of them.
- Lenses – Information is sorted according to functions of what the brain expects.
- Creativity – Information is mixed and blended in ways to create novelty.
Libraries of Thought Functions
To save time, many programmers find libraries of common functions. Why reinvent the GUI? Experienced programmers often save there own functions and classes from program to program. This allows them to have a personalized approach but it doesn’t require new effort for each application.
This is similar to how people think. We adopt functions of thought from other people to save time. We also store routine functions that we have built. Our little tricks for solving problems, our personal hacks for daily life and the lenses that we use to filter the world.
If you want to be an effective programmer, you need a large library of premade functions that you understand. These functions become your hammer and saw when constructing a program.
If you want to be an effective person, you need a large library of premade thought functions that you know how to use. Thought functions become your tools for effectiveness in life. Having a large base of functions helps you solve problems, understand the world and make you happier.
Finding New Functions
How do you build a thought function library? I believe the answer has two parts:
- Itemize your current functions.
- Collect and refine new functions.
Itemizing Current Functions
It is likely that you don’t even realize the functions you already have. It has only been in the last several months for myself that I started becoming aware of the methods I was using. Before that I often solved problems, absorbed new information or executed habits without thinking.
Start by noticing when you run functions…
- In your thinking. Does your thinking get caught in infinite loops of negativity? Poorly written functions can cause bugs in software. If your thinking functions can’t handle emotional problems they can spin out of control. Notice your flow of thinking when happy or sad. There are functions that create patterns.
- In problem solving. Do you solve problems through intuition? Experimentation? Logic? Seeking advice? All different functions. Recognizing your approach can reveal limitations.
- In behavior. How do you wake up? Eat? Talk to others? Are you organized or messy? Behavior has thousands of functions and habits. See them even if you feel you can’t change them.
- In perception. This is a bit trickier, but try to notice what you notice. What information do you look for first? What functions are you using to prioritize the data to your brain? Do you look for similarities with your current opinions? Differences? Do you look for details or the whole?
When I started programming, I had access to a library of functions, but I couldn’t reprogram them. Functions that automatically did things I didn’t want, becoming a burden. It took practice and time, but eventually I learned to reprogram functions I didn’t like. Creating my own libraries and modifying existing ones I finally had functions that worked for me.
Reprogramming your brain is a lot harder than reprogramming a computer. It takes a lot of skill, and unfortunately there are few tutorials. Become aware of the patterns you run. Label and explore these little functions. It may not be enough to change them, but it is a start.
Creating Your Thought Function Library
Once you start noticing your own functions, it is time to refine them. There are two ways you can build a thought function library. Steal functions or build your own.
When building your library, there are several types of functions you should be on the lookout for:
- Metaphors. Metaphors are a learning function that compress information. A good metaphor can compress a complex subject into a simpler one. Great metaphors are also highly linked so that you can explore the simple topic to understand the complex one. This article is based on giving you a new metaphor.
- Heuristics. Harder to find but still available. These are new methods of solving problems. Before I discovered the journaling heuristic, I had difficulty organizing my thoughts to solve problems. Since then I’ve found many heuristics from the specific to the abstract that help me think.
- Lenses. Different ways of viewing the world. The YouOS likes lenses less than Windows likes iTunes. Sometimes you need to force it in. I make a point of collecting different outlooks on problems and life.
How to Steal Functions
The world is filled with pieces of functions. All you need to do is watch and integrate it into the You Operating System. Stealing functions is like rummaging through a flea market. You are going to get a lot of crap, but when you find a gem it won’t cost you much.
- Read voraciously. It’s no secret I read a lot of books. I believe books are one of the best ways to pick out new functions. Right now I’m reading the Hindu holy book the Bhagavad-Gita. Why? Because it has unique lenses, metaphors and heuristics I wouldn’t otherwise find.
- Model others. Strip functions from other people. I frequently thief others heuristics and lenses. Whenever I see someone who is good at something I study closely and, when they aren’t looking, grab their functions and integrate them into my own.
- Ask for advice. Strangely, some people are actually giving away their functions for free. Find these people and ask for some functions. Only one of them has to be useful for the interaction to be worthwhile.
- Go to classes. A tad more expensive, but University courses offer tons of good functions. I was happy with the new collection I got last year. My psychology class offered specific heuristics such as operant and classical conditioning and some broader lenses I’ve found useful.
- Force novelty. Don’t get stuck in the same routine. I’ve picked up public speaking, weight lifting, dancing, writing, programming, painting, cooking and even a bit of music. Those experiences offered many heuristics I could adapt to my life.
Refining Your Own Functions
Thieving has its limits. The next step is to refine and build your own functions. The line between what you steal and what you make is blurry. Although I’ve programmed some basic GUI code, it has never been so radical I can’t claim some inspiration from classic interfaces. Building and stealing are often one in the same.
- Link ideas. Holistic learning is the metaphor of linking concepts and ideas together to create understandings. It also creates new functions.
- Retool your habits. Behavior functions have been a source of refining for myself for the past couple years. Recently I wrote an e-book documenting exactly how I do it.
- Experiment. Trial and error does produce results. Occasionally you’ll land on a great function.
- Generalize. A good macro-heuristic is to generalize specific functions. This means that whenever I see a function being applied in one setting, I try to strip away the details so it can be usable in other settings. I’m doing it right now with generalizing programming to everyday life.
- Label metaphors. When you find a new explanation or metaphor, label and explore it. When I started relating the processes of quick learners to building interlinking webs of information, I made a point of labeling this metaphor ‘holistic learning.’ This doesn’t mean the idea is entirely original, but labeling the metaphor made it easier to refine and explore later.
Debugging the Library
Most software has bugs. Glitches and errors that ruin performance. Refine your functions, seek out new ones and compare. Linux users often scoff that people still use Windows, despite the obvious flaws. Don’t let the same thing happen with your brain.
Image courtesy of flickr.