Building your brain

The human brain maybe the most complex thing in the universe. That is fucking crazy. There are 100 trillion connections in the human brain. While AI is moving closer every day, as of writing, this it is still not three yet.

The human brain is an amazing pattern finding machine. It can learn patterns that we can't always put into words and describe. That is because often language is a poor medium for the things that the human brain can learn and capture from the world.

I think this is one reason there are so many beginner books. Beginner books are easy because there is a clear skill or pattern to describe. Most of these deeper patterns are very difficult to explain. There is a term called expert bias, where you stop seeing the world in the same way. As we develop our brains, the early layers of scaffolding fall away, and so we can't see them anymore. You probably can't explain how you tie your shoes. You just do, and with time you can build your brain to do the same things.

Our goal is to find ways of teaching our brains those deep patterns.

Here is how I break it down.

  • Survey the domain
  • Learn tools/techniques
  • Explore and experiment
  • Practice synthesizing them in order to find new rules
  • Use challenges, constraints and challenges to push ourselves and build our mental models

Learn tools/techniques

Surveying the domain

This journey never ends, but especially at the beginning, we need to survey and learn our domain. We are explorers setting out and drawing the map as we explore the terrain. There are a ton of skills and techniques that could be learned, but it is not always possible to learn everything. We need to survey and try our best to pick skills that will be useful for our goals. Especially to start.

In many video games, there is a tech tree of things that can be researched. What would a tech tree of skills look like for your craft?

Building the substrate

A fox knows many things, but a hedgehog knows one important thing. - Isaiah Berlin

Once we surveyed you need to build a foundation and master the fundamentals of your craft. There is a constant discussion of if you should learn one thing or many things even in one craft or art. The master of non paradox. You do you, but here is my advice. When starting out, I think it is good to survey as best as possible and then pick one aspect to master. Maybe this changes a bit early on, but I think it is really too helpful to master some aspect of your domain.

This would be a middle ground to the master of none or master only one thing. What our goal is to go deep on one thing to have a substrate or a grounding we can fall back on and a base to contrast new things with. It is effortless to just pick up new things. Now maybe when you have picked up a ton of new things, perhaps you reach a certain level. It could be. In my experience though, even people that know many different things, and I think this is helpful, still have a solid base in something.

In programming terms, there is this constant temptation to learn multiple languages. I would recommend mastering one to start, then branching out. There is something about getting to a highly skilled level in one aspect that I think you just don't get by jumping around. For difficult skills, you need to push to reach new levels, while to be honest, being a beginner is easier.

It is easier to get to intermediate in say a bunch of foreign languages, then it is to be able to speak near native level in just one language.

  • What are the key techniques in your field?
  • What are the large areas of study?
  • If you could, what would a map of all the key areas be?

Synthesize Techniques

In learning an instrument, you practice scales. The goal is not to play those scales in your music because they sound boring, but to build up dexterity and speed to build on that to make new music and melodies.

Having numerous techniques or tools allows you to rework them in new ways to achieve your goal.

In the Little Book of Talent this is described as a soft skill vs hard skill. 1

Hard skills are something that is more or less clearly defined. In playing guitar, there is a technique called bending where you bend the string to raise the pitch of the note. You have heard this countless times in guitar solos.

You can train that as a hard skill, where you work to make sure when you bend you are actually hitting the next note. Then you can practice the soft skill of soloing, where you bring in bending and other techniques to create a new solo.

When people are at that intermediate step, the question is: What should I learn next?

When you are evaluating what to work on next, the question becomes, is this a task that forces me to synthesize many techniques or create new ones to achieve the result? Or is this a technique that would be useful to know, to synthesize for the former?

Again though, be wary of too much technique

It is very easy to confuse the essence of what you are doing with the tools that you use - Gerald Jay Sussman

Internalize

Another aspect of building our brain is having our brain internalize more and more of our craft and domain. We will talk about how to do that in the Three C's section, but before want to highlight a couple of aspects or goals that we are aiming for.

Chunking (New)

There is a theory called chunking theory which tries to explain how experts like chess masters can remember so many different games and positions, where us mere mortals can't.

Most people can only keep between 5 and 9 things in their head at any give moment, but chess masters seem to defy that, and can quickly be shown a board of chess positions and easily recall it even though it may contain many more than 9 pieces. 2

What chunking theory and experiments show, is that they suffer the same limitations as everyone but there brain has chunked things in a way that larger groups of items become a chunk, then they are operating on that. 3

When experimenters showed chess masters boards where the rules of chess were not followed, meaning they would never occur in actual play, their memory fell apart and they did no better than novices.

Their brains had baked in the rules of chess and when the rules were gone, they were forced to just rely on rote memory. Then they were just using the standard 5-9 working memory.

We can do the same thing with our own domains. On our of goals in building our brains is building those chunks so we can hold more of our domain in our heads.

Finding Abstractions

Abstractions are just chunks that we can name. Well, there is more to it than that. I think this definition by one YouTuber is pretty spot on. 4

(The) technique of removing specific details to reveal an underlying structure is called abstraction - Eyesomorphic (YouTuber)

What we care about in a good abstraction is that it hides details we don't care about and highlights the parts that we want to leverage.

In the awesome book Salt, Fat, Acid, Heat by Samin Nosrat she breaks down cooking into those 4 abstractions.

The idea is to stop looking at an ingredient or even a technique as standalone but to see it instead as an abstraction, or in the case of cooking, what role does that ingredient or technique play?

Most cookbooks contain recipes, but learning a recipe is different from learning to cook. So instead of thinking about does this recipe use lime, lemon, or vinegar. You can learn about acid, one of our most basic tastes, the mouth-watering one.

By understanding that food often tastes better with some form of acid and then learning that things like lemon and lime or vinegar can be abstracted as an acid, then you can just think about it in those terms.

There is an episode of Top Chef where a team was making mac'n cheese out on a ranch and somehow didn't have all-purpose flour to thicken the mac'n cheese. This was a problem and the dish would be ruined without. Luckily, another chef had xanthan gum, which is this food additive that can be used as a thickener. Mac'n cheese is not normally made with it, but it worked, and that dish was a part of the winning team.

Instead of saying I need AP flour, and understanding that abstraction, you really need a thickener, and now you have tons of options.

Track vs file

One note on the possible pitfall of abstractions.

They can start to block the reality or a better view of a thing. This happens too often in software, where people get blocked by the abstraction.

Abstractions are like rules or a view of something, it is only useful if it helps you achieve a goal, but don't get locked into it.

I once worked at a startup building security video systems. Most of the team where these old video heads and there abstraction of choice was the track. In recording pre digital, you had physical grooves in the record where who record sound. Then you could have multiple, say when recording an album, one for the vocals, one for the drums, etc. After vinyl, multi-track recorders used tape, but the term track came along for the ride.

My task at this startup was to build a storage system for all the video recordings. In meetings though we kept butting up against this abstraction of the track because it was often limiting there thinking. A track was an abstraction that came with certain "rules".

Like that it was like a tape or physical media that it had to be read sequentially like tape had to be. But this was all digital and the "track" would be just files. File is a better abstraction in this case because you drop all the limiting ideas of a "track" must be. It could be multiple files, and they could be broken up in various was and there are a ton more operations that you can do with a file that you can when you think of your recording as a track of sequential bytes.

Grokking

To understand. Connotes intimate and exhaustive knowledge. When you claim to ‘grok’ some knowledge or technique, you are asserting that you have not merely learned it in a detached instrumental way but that it has become part of you, part of your identity. - Eric S. Raymond(The New Hacker’s Dictionary)

Wissen/Kennen German has two verbs for "to know" because, of course, it does.

Wissen is to know a fact. Kennen is deeper knowledge, more to have experience of something. You can know of something, or know that facts (Wissen), kennen is to be familiar, to have person experience with something.

In software there a similar idea, called grokking. As the quote states, it is a deeper form of knowledge. Let's say you can do basic things in Calculus, but that is it, you can operate and solve Calculus problems. Grokking is that the ideas in Calculus like rate of change, limits becomes part of your general thinking. It is like breathing, it stops being a conscious exercise but something you just exhale.

References

1

The Little Book of Talent: Daniel Coyle

2

https://www.scientificamerican.com/article/the-expert-mind/

3

https://onlinelibrary.wiley.com/doi/10.1111/j.1553-2712.2008.00227.x

4

https://www.youtube.com/watch?v=DrldYpmwN5s&list=PLoCKNPo3VR0I2wqT2wemCNIlpjdy_Ry_q&index=1