learning to learn
The most important skill you should've learned in school yet was never taught is learning how to learn. The current school system is archaic and desperately needs an update to harmonize with the current technologies.
The first thing to learning is to find something you are curious about. If you don't have the curiosity then it doesn't matter what you are learning because your mind won't be receptive enough to absorb the information. Since learning how to learn is a skill and learning any new skill takes time and practice, you will want to pick something you are interested in to begin the process. And then eventually you will be able to use this skill and apply it to anything you wish to learn whether for necessity or curiosity.
The next step is to actually type in what you would like to learn into Google. Essentially you are asking a super computer named Google what you are curious about. It doesn't even need to be a question, Google will know the intent behind your query so you can just input the key words.
For instance, let's say you want to know how to convert your ebook file format from
This is the reason why Google is one of the most valuable companies in the world. They have made a hugely profitable business based on finding the answer to any question each user is asking. Before the Internet, information was locked up in the confines of each individual's mind or inside the cover of each book. But the sum of human knowledge is vast so how can we disseminate the necessary information to teach the young ones?
You start from a centralized source to filter out what they deem as "necessity" and educate the young masses from that filter. This is the reason why school teaches subjects through rote memorization based on the book's content. It makes the lives the teacher easier through the standardization of the learning content and grading of standardized tests. But how much of that information are actually useful to our lives? For me, hardly any if at all.
Never let formal education get in the way of your learning. - Mark Twain
My real learning didn't begin until I had left the formal education system. It wasn't until I had finished the formal education did I start taking interest in reading books seriously. I had never enjoyed reading books assigned to me for classes. I thought they were a chore instead of actual learning. The reason why I felt that way was because the teacher never explained why we needed to read those books nor did they explained if there was any practical application in the real world for using what we had learned in those books.
After college, I started to take interest in business and self-improvement books because I wanted to improve those areas of my life. More and more of my time was spent reading and digesting the materials I was curious about. This brings the next step to learning how to learn: read.
You need to become a voracious reader. Reading is just like any other skill, you need to practice in order to become good at it. The whole goal of reading is to understand what the author is trying to communicate. The end goal is your complete understanding of the message or intent by the author. The more you read the faster you begin to digest the words of each passage. The faster you digest the words the faster you begin to learn what you want.
This ties back to the search query on Google. Once you get the answers back from Google, you need to read and disseminate all the websites Google gave you. Most likely if your query was on point then you will find what you are looking for in the first few top results. You will need to go to those websites and understand the content. Maybe that's the end of your learning but usually the findings from your initial search turns into more questions. This becomes an iterative process as you keep searching on Google to find your answers.
The engine behind Google is an algorithm powered by AI or machine learning. The goal of that engine is to get the user off of google.com as quickly as possible with the fewest searches. That is the end objective because this means the user has found what he/she was searching for. Hence why usually the top results on the first page are correct.
Now you would think this is pretty easy if the process ended here but that's not the case. The hard part of the process is to sift through all the newly gathered information relevant to the subject of your interest. There are tons of websites out there with the subject you are curious about but how do you know which website has the "correct" information? How do you identify spam websites? How can you tell which websites are high quality and which are low quality? How do you trust the author or poster?
All of them are valid questions and unfortunately that is also a part of the learning experience. You will encounter all of those scenarios for every subject you want to learn in. Through your learning journey, you will begin to identify patterns on what you think trustful information looks like. You will get a feel on what a high quality website is and identify a few key trust sources in the subject field you are interested in.
This is one of the drawbacks of a freely accessible information world. Before the Internet, you had to be an expert in your field to publish a book in order to be sold in bookstores. There is a sense of trust because the author had been vetted by the publisher. Now anyone can publish a website or self-publish a book. This empowered the individual creator and artist and shifted to responsibility of information dissemination to the end user. So it's up to you to properly digest any information into your mind.
The final step is to put your learning into action. After you had acquired the new knowledge you should put it to use. This not only strengthens your muscle memory of taking mental action but you are also training your mind to build confidence into further learnings. Action completes a virtuous learning cycle. When you feel a sense of accomplishment after successfully completing a project based on the learning you had just acquired, you will become more confident to tackle bigger projects or harder subjects.
repeat until done
Learning to learn is like playing a role-playing game where the character you had chosen to play has different innate abilities and skill sets from other playable characters. Each time you learn a new skill you are slowly leveling up your character. As you acquire the beginner skills for your character you begin to unlock intermediate skills and eventually expert skills. Soon enough you will become addicted in ways to acquire new items and skills for your character.
This whole process should be fun. If at anytime you become frustrated with the process, it's a good idea to step away for a while and let your mind digest what you had learned in the background. Let your mind wonder without your conscious awareness and then come back to it. Sometimes that's all it takes to unlock a new path for you to explore. Enjoy learning :)
I'm going to provide an example of learning to learn in action as it was a learning experience for me to setup this website.
The idea to setup this site came to me when I browsed another person's blog and saw how minimalistic his site was. I saw it had
Powered by Ghost slogan at his footer. This made me check out the open source software ghost. I didn't want to pay the $9/mo fee so I opted to try to set it up myself. Plus I wanted to see how easy it was to setup this software.
First I cloned ghost from github locally on my laptop to play around with it. After that I needed to see how I can set it up online. I already had in mind that I wanted to use linode as my hosting because I liked how simple their interface was compared to aws. All I needed to do was to google "setup ghost linode" and this guide came up. You can see it's the official guide from ghost themselves so it's definitely trustworthy. In the guide, it listed out exactly the specs of the server needed. And then it pointed out the exact steps of installation for ubuntu. The guide was clear and up to date so I had zero issue setting everything up. And within fifteen minutes or so I had my site up and running.
The next step was to point my domain's DNS to this server's ip address in order to get the routing to this domain to work. Since I had to use an uncommon domain registrar for
.hu domain, they don't have the easy of use interface that some of the nicer ones have. Later in the side quests section, I explored the option to use cloudflare as a proxy for custom DNS because of some issue with MX record for routing emails. In any case, once I pointed to domain to the ip address of the server I had a working website within a few minutes.
Ghost has a nice and easy to use interface so I didn't have any issue setting up the basic pages like about and contact. The things I wanted to change were to get rid of the social media icons as well as the powered by ghost message. It was easy enough with the searches "ghost remove social media icons" and "remove powered by ghost". The answers both came from users from the ghost forums.
I wanted to forward emails from [email protected] to my real email so I googled around for "forward emails service" and found two comparable services - forwardemail.net and improvemx.com. I eventually picked the latter but somehow it wasn't working. I had to debug to figure why it wasn't picking up the change I had entered at my domain registrar. I found out that there is a bug with the domain registrar where it's putting their own MX record before the ones from improvemx.com. This made me to switch to a custom DNS service like cloudflare where there is much more options.
Another tiny thing I wanted to fix - turned out to be much more complicated - was another powered by ghost icon on the bottom left corner after you click the subscribe button on the home page. I had assumed it was an easy fix but after I googled around and found one detailed post describing this particular issue on the ghost forum. One particular user gave a detailed guide on how he had solved the issue by changing and overwriting a file on the server. He had to create a new file
portal.js in assets and recompile it with it. I tried it his way but it didn't work out exactly the way he had written in his post as there was some ambiguity in his writing. I had to tinker around in order to get it to work. That took me a whole afternoon to fix but it was worthwhile learning experience as I got to find out the inner workings of ghost.
The last thing I wanted was to setup the emails for notification. Through googling around for different email services, I had learned there were two different kinds of emails -
bulk. Transactional emails were notifications for new account or lost password while bulk emails were notifications for a new post published to send to all subscribers. Prior to knowing that I had chosen sendgrid as my email service since they had a free plan but it turned out the only option ghost uses for sending bulk emails was mailgun. Mailgun had a free option before and now after their acquisition they had stopped it altogether. This presented another issue I needed to solve.
It took me about a day to figure out why the server wasn't able to send any emails. I had tried every config available for sendgrid to use with ghost and then tried it with aws ses but to no avail. It was only after numerous google searches with different queries was I able to find an obscure site that one poster had mentioned that linode automatically blocks the smtp ports on new servers as a prevention for spams. This was the key for me to solve the issue at hand which was automatically fixed after I had opened a ticket with linode.
Now that I can send emails from the server I needed to figure out a solution to send bulk emails after a new post was published. I knew ghost had webhooks available so checked out the docs on what's available and how to set them up. I tried to test the webhooks locally but was having a difficult time setting everything up. Eventually I came upon a solution from googling around "test webhooks" and found a website that does exact that. This made the testing way easier and I was able to see the data from the webhook's response.
From that point, I needed to setup an api gateway on aws and connect it to a lambda function to trigger the send email function provided by aws ses. This whole process also took about half a day for me to figure out as both of those services were relatively new to me. I had to generously google around each particular issue I had encountered as well as tinker around with my own prior knowledge to figure out the exact outcome I wanted. It took a lot of trials and errors but eventually I successfully figured out the solution to send emails after a new post was published. I felt that sense of accomplishment after I made a test post and an email was delivered to the fake account I had setup.
So you see the whole learning process isn't just a straight line to the end goal. It is a journey colored by numerous obstacles and detours. But those obstacles and detours are actually where you will learn and grow the most. Enjoy the learning journey wholly by itself and temporarily relish the sense of accomplishment at the end.