Learning (Part 1)

I was an ineffective learner for a long time; my study habits were nonexistent when I started college. Since then, I have been steadily training myself to become a better learner. I’m not sure if I’ll ever become a learning expert, but I’m going to try.

A person on Quora asked me the following question, and it deeply resonated with me. It’s what I would have loved to tell myself a decade ago.


Why can’t I learn anything? Or why do I feel that I don’t learn?

Thoughts On Mental States

From my archives, 2016/01/27:

As of this writing, I have a mild headache and slight motion sickness on board a bus that’s taking me home, and yet I still decided to write. Inconvenient sensations and situations happen all the time to everyone, and it would serve us well to be able to switch between different useful mental states so that we can get things done. I have heard of a football player that was able to play through massive hangovers and extreme pain and win championships for his team. If mental states can be induced at will, then there is extraordinary power here that can be tapped; after all, pain is only a signal to the brain.

Let’s identify some useful mental states first. Jordan Belfort, of Wolf Of Wall Street fame, mentioned in his talks that clarity is an important mental state. I believe that what he was getting at was the state of mind that you, as someone who wants to work towards your goals, would ideally be in. Many of us are hindered by worries, distractions, discomfort, or other limiting factors, and clarity is the state that you occupy if all of those negative factors are stripped away. We’ll keep this mental state in mind while we go through some of the others. Clarity is the state needed for taking in all of your available information and formulating a solid, structured strategy for moving forward.

Another state that I want to be in is the flow state. When experiencing flow, we are naturally in the moment and accomplishing our goals almost effortlessly. Typically it is very difficult to enter flow (because of procrastination), but once we achieve flow we can sustain it with relatively little willpower. Before we master a particular skill or action, it is difficult, or perhaps impossible, to achieve flow, since there is a certain level of detachment that is needed for flow to occur. I believe that the state of flow is distinct from the state of clarity — rather than deliberately steering your mind, you allow your mind to do things that it is already set up to do. If clarity is writing a computer program, then flow is executing the program.

The next state that I’d like to discuss is the state of passion. This is where you’re energized about what you’re doing or communicating. Enthusiasm is invaluable in social contexts and in leadership, so it’s important to call upon it at a moment’s notice. This can also bring about a boost of motivation to allow someone to spring to action, or even generate the energy required to move into one of the more difficult mental states.

Let’s use these three mental states — clarity, flow, and passion — as a starting point. It may be that the benefits of multiple mental states are necessary at the same time. This is where the ability to switch is critical. Similar to how it has been found that humans can’t multitask effectively, I believe that we can’t occupy multiple mental states at once. Each one of these states is meant to resound through the entire brain, and each one’s impact is maximized if applied maximally. The only solution is to switch quickly and totally. Imagine that you have an agent — a thin wrapper for the hardware and software that is your self — and it is the part of you that you assign control of choosing your mental state. The goal is to therefore train this agent to recognize the need for a particular useful state and execute decisively.


From my archives, 2016/07/29:

This week has been hectic, and today was particularly busy. I found that there were tasks, problems, and other people’s schedules that I had to mentally juggle. I knew what I had to accomplish, but the bits and pieces were difficult to optimize in a way that satisfied me. Often I discovered the optimal solution when I was already down another, less optimal path. Clarity arrived too late.

Conventional wisdom states to change your plan as issues arise, since the best path is probably different as a result of these issues. The problem is that when it’s a particularly hectic day, issues are discovered at every turn. I have tried to adjust my plans as soon as something new came in, but I believe that today it resulted in half-assembled, less-than-ideal paths.

At the same time, blind action is clearly not the solution. A day full of busy work with no positive outcomes can hardly be described as productive. At best, you get lucky. At worst, you cost your team and organization valuable resources without any return.

Perhaps the best way to achieve clarity is a two-pronged approach. On one hand, one should practice strategic thinking and modifying memory regularly so that complex plans can be assessed with greater accuracy and fluency. On the other hand, recognize when these strategic and memory skills aren’t strong enough at that particular moment, and work with a combination of regular planning and pure execution.

For instance, instead of modifying plans on the fly whenever new issues arise, simply tally up the issues received in any given hour. During this hour, proceed as originally planned. At the end of each hour, take a good look at the collected issues, and carefully craft an updated plan that takes these new issues into account. Once that is done, proceed to the next hour.

This is the only one new strategy; I’m sure that there are some other techniques that can be tried out. For instance, multiple good paths with different goals can be identified at the start of the day, and work can be performed for all of these without concerning oneself with inevitable blocking problems.

The ultimate goal is to have the ability to hold massively complex mental models for executable action plans while being able to deliberately and confidently modify this plan in a robust way whenever new issues arise. Gaining the ability to do this takes discipline and experience, but I am willing to put in the work to acquire it.

Of course, it could simply be that I’m not being patient with myself and that I failed to take time to regularly reflect. I definitely felt like I was doing nothing but taking action. Perhaps my doctor’s breathing exercises can help here.

Okay, time for some action steps. I will investigate techniques for improving strategic and decisive thinking. I will also figure out how other successful people manage to lead complex organizations and consistently make enormous decisions correctly. And finally, it may be time to make regular meditation happen again.

Small Talk

There’s a certain default template that typical (American) small talk follows: name, place of origin, college/university, occupation, drilling deeper. Even when I read Reddit or watch The Art of Manliness videos, the conversation topics are pretty standard. There’s a certain sense of comfort that comes with this template — both parties are familiar with these topics, and both can rattle off the answers “like a real human being” without too much mental strain. That may be why the template is so attractive and irresistible.

Here’s a fun strategy for turning this interaction on its head. Instead of launching into this template after asking for each others’ names, one might suggest to the other that no one should mention the typical items in the template — no talk of work, school, or origin. These topics are completely off-limits until later in the conversation. At this point, let the other party know that real creativity is needed to get this moving, and that the goal is to truly know each other better, rather than hear a set of standard forgettable facts. Suggest that they bring up things about themselves that are truly memorable, such as unique triumphs, substantial failures, and incredible comebacks. Ask them about what is surprising about them, and this could be a skill, an experience, or a little known fact. See if they can teach something about an unfamiliar topic. When a shared experience or interest comes up (again, unrelated to one of the template topics), revel in this discovery and help each other open up and share more.

This naturally brings up this possible problem: what if the other party does not wish to go along with it? The simplest way to rectify this issue is to leave gracefully. If they somehow still wish to continue this conversation, it’s a little harder (since you effectively took the default topics off the table) — but still doable. The venue and event is a great starting place, since that is a shared experience. Discuss similar events and your intentions to attend others like it. When a natural exit from the conversation is found, graciously thank the conversation partner and move on.

While it is important to have a goal for each conversation, it is equally important to remember that conversations must always have reciprocal value exchange. Hounding someone because you need a deal, a job, or some other urgent need is a poor way to execute a conversation. If something of value can be provided in return, then the other party will be more receptive to requests during a conversation. Your value could simply be the novel way that you approach and have conversations with strangers, which can be refreshing and entertaining. The best conversationalists add to a discussion only when the other party is receptive, and are patient and curious whenever the other party needs to have their say. I believe that striking the right balance and providing value is the way to attain goals in social situations.

On Programming

From my archives, 2016/03/05:

Today’s introspection will focus on my approach to programming. I should note that I’ve only been working at a software job for about half a year, so a lot of this will undoubtedly change. In fact, at my level of experience, change is necessary.

I have unfortunately had to write code very hastily in response to tight time constraints. This has resulted in code that is challenging to maintain and difficult to adapt to particular needs.

I will try my best to do the following from this point forward:

Firstly, I will conceptualize and outline my coding projects, starting from desired input and desired output and filling in required blocks. Each block will then be analyzed to see if those need to be broken down into still more blocks. This has been challenging before; since I didn’t have a lot of practice with scripting before (particularly in Python), I had a very tenuous grasp of what’s possible, what’s expected due to established conventions, and what kinds of code architecture is the easiest to follow. Now that I have some degree of practice under my belt, I believe that I’m at a stage where I can reasonably create decent programming outlines.

Secondly, I will properly modularize my code. Each plotting event will have its own method or function, each repeated instance will have its own class, and I will have no more than 2 nested loops in any one code module. Modularity means that new functionality can be easily added or modified, and individual modules can even be called all by themselves if needed.

And finally, I will keep in mind the user experience. I should try to make the tools I develop to be easy to use. If possible, the user should not have to open up the script’s text file and make modifications to be able to reasonably use the script. Furthermore, the documentation and help files should make the purpose and usage of the script perfectly clear.