Read to create
Whenever I felt the need to read a book, I ask myself “What can I write?”
Reading puts my mind into passive mode. It’s spoon feeding my mind.
Writing is creating and it’s not easy to start. I had countless times used books to procrastinate writing my next line of code or blog post.
If I want to learn something new because I’m curious - and not for the sake of creating - I’m procrastinating.
There’s never enough to learn.
Try to write down the problem you’re facing. Write what do you want to know and how you’ll apply it to your problem.
Often times you’ll come up with your own way of solving the problem - just from the writing down your thoughts.
Read for the purpose of creating. Prioritize producing rather than consuming.
Buying a house for investment is a poor choice
I said a house, not houses.
“I bought a house and I’ve to work for another 30 years to pay off the mortgage” is not investment. It’s betting.
If this property crashes, you’re out of the game.
And you’re betting that this property will increase in value compared to the thousands and millions in your city and country.
This applies to investing too.
S&P 500 has 500 companies.
If you can tell me, everyday, which company will be the top gainer for the day, you’re my new religion.
If not, just buy S&P500. You’ll have the average return of 500 companies.
There’s no shame in being average because professionals have trouble beating the average too.
And you won’t be paying huge fees by buying index funds or ETF.
Now, buy more averages.
Average of Brazil.
Average of metal prices.
Average of bubble tea companies.
Why are toilet bowls white
Whenever I hear people giving verbal MTV cribs description of homes, I always wonder..
Is their toilet plunger black and where is it hidden?
A house without a toilet plunger isn’t wise.
Because shit happens.
My hypothesis on the color is this:
Toilet bowls are white because shit tells you about your health.
But if it doesn’t go away after inspection, you better turn off the light and hope your plunger doesn’t glow in the dark.
When times are bad, everyone reaches out for the plunger.
C’est la vie.
The second hardest question your 9 year old will ask you
The hardest question is “Can I have a phone?”
The second hardest is “Can I be a YouTube star?”
Gone are the days where children attend school and wait till university to figure out what to do.
Never in the history where parents had to answer these questions.
And the choices made by parents today will only show results years later.
Can I have a pet ant?
These are ‘occupations’ that we would never imagine be possible in our lifetime - and we’re still alive.
Most sane parents would have said ‘no’ if their child asked to do this 5 hours a day.
I asked for a mice pet when I was 12 and it took me 2 years to convince my parents.
My question to the million parents-to-be who watched Diana washing toy cars:
What will you say if you child wants to have a Youtube channel on chicken eggs?
It’s so mundane that you wouldn’t think having 1 million views is possible - until it happens and covers your child’s university fee.
Or do you encourage them to play Dota v99.1 every night in hopes of hitting the jackpot?
Starcraft: we programmed a world only to be beaten by programs
Put 1000 people to battle Starcraft.
If the 2 players continue to fight the AI, they will eventually face a defeat.
The AI learns from every play. Emotionlessly.
Is the AI cheating? That’s our response when we’re beaten.
But ‘cheating’ has no meaning to the AI.
If the players cheated, the AI will learn the cheats and cheat them back.
The AI had no one to complain.
My career path to e-sport pro is doomed?
Perhaps in the future, e-sport is where humans let their AI battle out.
Chess, Go, Dota…
There’s only 1 goal for everyone in the game - to win.
There are limited moves that one can take. Millions maybe, but not infinite. It’s a closed-loop system.
AI can perform better than human in all closed-loop system.
Here are some closed-loop systems I can think of:
- Finding items in a warehouse.
- Maths problems you learned during the 12 years in school.
- Driving, if the AI has spent enough time in Vietnam.
Problems like “what to eat for dinner” may take longer for an AI to figure out.
Remember e-greeting card you used to receive in your email?
Dancing sheeps with a short note from your friend.
Wonder if those e-cards are still in your inbox?
It’s so easy to text a heart. Sending a postcard takes more steps than putting an elephant in a fridge.
And that’s why it matters.
Slow down and write a postcard
Thought of an old friend? Send them a postcard.
Write to the grandma you stayed with in your last AirBnB. That’ll make her day.
And to your loved ones…
Text history gets wiped off.
Your xoxo are just a scroll away.
Why not write about how good looking they are and quietly throw the postcard into their bag.
It might take days for them to notice your note.
But they’ll remember it for life.
P.s. If you want to randomly receive postcards from me, email me your address. I’ll send you one in my next destination.
A week of typing torture led to 10x editing speed - Vim
It wasn’t fun at first.
Learning Vim was on my new year resolution list for almost 5 years.
The ‘HJKL’ keys replace your arrow keys.
That change alone had me gave up every time I tried to use Vim.
You won’t get anything done when you’re starting to learn Vim.
…until you saw ‘:21,30d [enter][ctrl-o] p’
Those are the keypresses for “Cut line 21 to 29 and paste here”.
My mouse had not moved during the entire time of typing this draft and posting it.
Vim is addictive.
You’ll want to ‘HJKL’ in every program after learning Vim.
I now write, code and browser the internet without touching the mouse.
If you work with text all day, pick a weekend, install Vim and
vimtutor. Treat it like Tetris.
Life principle of finding 'how-tos' online
I was searching for how to brew pu-er tea.
Videos after videos, I was taken down a rabbit hole of tea sets, glass kettle and other shiny tools.
And there’s a guy who said he won’t drink water without a bamboo water filter.
“Oh, this must be life changing. I should look up at it.”
30 minutes later, I snapped out of it.
I don’t need all this. A cup of tea is just hot water and tea leaves.
And there I added this line to my life principles notebook:
Looking to ‘how-to’ advice: Stop the person who says you need to buy stuff to do this. You want to know ‘why’ and ‘how’, not ‘what’.
I don’t need this
Whenever I feel the urge to search something online, I start by repeating “I don’t need this” 3 times.
I also practice this when a question pops in my head and I feel the urge to find an answer.
“Qwerty vs dvorak keyboard”
“Hidden waterfalls in Malaysia” (although I had no plans to visit anytime soon)
I didn’t need to know the answer. I’m fine with not knowing.
Searching “how to meditate” will lead you to the same rabbit hole I went through.
There are apps and Instagram posts of people sitting with two thumbs touching on their knee.
I wonder how many times they opened their eyes and retake the shot.
Soon you’ll be comparing guided meditation apps rather than meditating.
The idea of meditation is to do nothing. To have nothing and be present.
You don’t even need to sit in that posture.
Waiting at a bus stop? Just focus on your breathe and notice things around.
Eating alone? Feel every inch of your taste buds react to the taste and texture.
You don’t need anything to get started.
So, how to brew pu-er?
Right, back to my findings.
- Use 100 degree Celsius water.
- Rinse the tea leaves once to clean and loosen the leaves.
- Steep for 5 minutes.
The amount of leaves or steep time doesn’t matter. I’d sip the tea every minute and taste the difference.
There’s always a better way to brew, but it’s not wrong. Even if I decide to chew on tea leaves, it’s not wrong. The first person who made green tea cake isn’t wrong too.
The first thing to do when learning Japanese...
…is to install a Japanese keyboard in your phone or laptop.
And it’s not by spending days memorizing the alphabets.
I speak from experience of learning Korean in less than 3 months.
Now I’m learning Japanese and I’ll occasionally write my thoughts on language learning.
Why should I learn this way
From a kid, we’ve been taught to follow systematic syllabus.
You were forced to solve the maths problem with the way your school taught you.
Any other shortcut is not permissible - even though you’re right.
Same goes to learning a language.
Alphabet, grammar, vocabulary,…
Is this the sequence to learn quickly and be able to talk to people?
The goal is the chat
You don’t learn Japanese alphabets by writing it multiple times.
Who’s going to reply to your handwritten letter?
With Twitter, you’re able to get into their world and start chatting.
Reply a short “good” to a trending picture in Twitter. A quick search shows one way of saying is “いいね!”
Don’t copy-paste. Type it. That’s how I learned the alphabets without memorizing.
Is that the right word to use? Maybe not. I don’t know and there’s no shame in making mistakes when learning a new language.
There’s no shame in searching and translating words.
It’s okay to rely on autocorrect.
Typo is fine. It’s okay to sound like a child. Even if it’s the wrong word, you might make other people laugh.
The next step isn’t to read a grammar book from page 1 to end.
For me, the next step is to grasp the patterns of Japanese language.
Patterns that will allow me to start tweeting sentences.
When I learned Korean, I used 15 sentences to dissect the language and understood its structure.
I’ll do the same with Japanese and report back here.
Prediction. I rather hear your reaction
Many people got famous on being on the right side of their prediction.
The election result - even though it’s a coin flip probability.
Is the economy bad next year - unless there’s an alien invasion, economy doesn’t turn when you wake up tomorrow. So most of the time, you could sense it.
Some fund managers made their name by making correct predictions.
Some top earners answer “I don’t know what will happen.”
What will you do
I rather hear 2 things:
- What you’ll do when it goes right
- What you’ll do when it starts to turn bad.
I don’t care if your prediction made you millions.
Keep your prediction about the election to yourself.
50% of the world population are guessing correctly.
Nothing glamorous about it.
Toe prints have led to human living longer
Imagine if our feet were smooth.
No ridges to hold our steps.
We’d be walking on frozen lake every day.
More people would fall down and dodo bird might have outlived us.
What can you be grateful of today?
Meditation with dogs
Focus on your breathing.
That’s how guided meditation starts.
Now comes my puppy.
She rubs my ankle, begging for a belly rub.
You might think that this is a distraction to meditation.
On the contrary, I was able to meditate better holding her on my lap.
My mind wonders away less.
The belly rubbing motion didn’t need much attention. It’s like monks fiddling their beaded necklace when praying.
What are you thinking, puppy?
Seeing a dog staring out the window gives me peace.
If you saw me gazing out the window motionless, you would think I have some issues.
“Are you upset about something?”
“Or are you pondering what to eat later?”
Ask your dog these and you’ll hear silence. Chances are her mind is silence too.
Not thinking what time you’ll come back.
Not worrying if it’ll rain later.
Not angry on you not walking her yesterday.
She’s totally present at the moment.
I would believe if someone claims that dogs are Buddha reincarnated.
Except the part where they bark at cats.
Risk-reward in life choices
My years of trading the financial markets have taught me one principal that I apply consciously in life.
Just focus on ‘risk’ in ‘risk-reward’
If you could profit $2 from a $1 investment, that’s a 2:1 risk-reward.
Take that risk every time and you’ll be a millionaire…except if \$1 is 50% of your net worth. That means you could only play this game twice.
If you’re looking for a philosophy to trade the markets, try ‘trend following’. It’s my preferred way to approaching the financial markets.
How does this apply in life
Here’s an example of how you can use this to choose a hotel.
What’s the worst thing that could happen in this hotel?
No hot water? If that’s fine with you, book it.
You’re only setting up for disappointment if you focus on the positives of the room.
Like how you read ‘amazing beach view’ in the review but greeted by construction work.
In other words, become pessimistic?
I’m incredibly optimistic.
Impromptu trips are fun. Unexplored jungles are exciting.
But I’ll first tell someone on my GPS and route, just in case I’m not back in 3 days.
I guess having this kind of worst-case mentality prevents me from skydiving.
How a minimalist choose
Cup vs. flask
A cup is good for coffee and a flask for storing water.
I’ll throw the cup away.
Plus I can use the flask as a foam roller.
To fit everything into one backpack, I’ve been thinking a lot about multi-purpose products.
Jojoba oil, for example, replaces my lip balm, hair oil, body lotion, cleanser, hair regrowth serum…
My jackets can be rolled into a pillow if needed.
The only single purpose item that I keep is my analog watch. It helps me focus by reducing the time I check my phone and realized I spent 30 minutes replying messages and scrolling.
You don’t need it
That’s the first thing I tell myself before I even decide whether to buy a thing.
I don’t need a new phone because the camera is working fine.
I don’t need a new shirt for this dinner because it’s not torn.
Having this baseline eliminates hours of contemplating.
It’s tempting to be hooked on new features.
I’ve been on an ‘app-diet’ by reducing everything down to text files.
Google Keep vs Evernote vs Notion? No thanks, I’ll just type in plain text files.
Project management apps? I use
The benefit of having text file is that this format will still be viewable 10 years later on any device.
And I have full control of the database. I can choose where to store it, how to name it and who to share it.
This applies when choosing a software for a company too.
How I'd teach you programming and get fired on my first day
The first 30 minutes is on basics: syntax, loop, if-else.
Then right way, I’ll give you 100 excel files of student exam results. You’ll need to find the average by gender.
Here’s where the teaching stops.
I’ll not show you the code to solve this.
I want you to know what to ask to work this out. You don’t want to learn how to follow instructions.
And that’s a skill that’ll take you a long way.
You’ll be wondering why you’re paying me if you can find everything online.
So you don’t need a teacher?
Having self-taught languages and programming, you can learn without a teacher.
But if you need to pay to motivate you to learn, do it.
A teacher can shorten your learning phase so you can start conquering the world.
But if you’re not asking the right question, you’ll just be another conveyor belt in a factory.
It’s better if you learn the basics yourself from books or YouTube. The right time to hire a teacher is when you have these 2 things:
- A problem to solve because it’s more interesting to you.
- Your early take on the problem.
I usually teach in 2 sessions:
- We’ll discuss what needs to be done in simplified codes. Coding should be left for you in your own time because we could spend an hour to debug an error only to find out we’re missing a comma.
- A code review session. We’ll look at how to improve and understand why you chose a certain way to code it.
Is 100 excel files too many for a beginner?
If you only had 1 file, you’ll feel that doing on Excel is faster.
And your motivation to learn programming ends there.
But if you finish writing the code, you’ll see that it takes less than 1 second to join and compute all 100 excel files.
Tomato with thorns possible?
Durians have thorns to ward off animals from eating them. Thousand of years ago, durians could have been as smooth as tomato.
If we continue to eat a lot of tomatoes, could tomatoes evolve to have thorns?
Or soybeans becoming poisonous to defend against us.
Sounds silly, but nature always continue to evolve.
It’ll take centuries, but your potato is now scheming to sacrifice its neighbour, yam, to become your fries.
Your puppy might even learn the concept of pet and have a pet ant.
What about you? Are you evolving to survive in this world? Or have you given up?
Do first, read later
“I want to learn French, so I need to attend classes”
What is it that you wanted to say in French? Start with that sentence and then dissect its grammar. You’ll learn faster that way.
“I want be a programmer, so I need to take a 3 years degree”
What is it that you wanted to build? Find a code reference to start writing. Google every syntax you couldn’t understand.
Most ambitions - except flying and surgery - can begin right now. You don’t need to approach it like our education system.
Stop putting off a project because you felt the need to read a book about it first.
Create experiments to learn.
Heck, copy if you need to because great artists steals.
Saying "Google it yourself" is rude
It’s the 21st century way of saying “Get lost.”
Of course I know how to google. But I’m less keen on the correct answer. I’m trying to chat with you. I want to know what you think.
The world would be dead silent if everyone google themselves.
So the next time someone asks you, have a conversation.
Ask “How do you feel?”
Help them to understand by going to first principle.
At the very least, google together and laugh at the suggested search.
Expired medicines are fine
Some people including doctors say it’s okay to take medicines that expired 2 years ago.
Some would even think it’s poisonous and could cause death.
It’s not worth to get into fights on which is correct. There’s none.
You could spend hours googling and you thought you found an answer, you didn’t.
You just found enough reasons to believe what you believe.
Just buy a new medicine if you don’t believe.
Explaining chatbots to 4 groups of people
“I make chatbots.”
People gives me blank stares when I say that. It’s unlike the response I get if I say “I make websites.”
This is my script to explain what I do to 4 different groups: Child, adult, business owner and techie.
Explaining chatbot means nothing if they don’t how it can help them. So here’s what I try to do.
We’re talking right now, yes?
I can read you a story. Or I could tell you why cats can’t swim.
Just like you, many people ask me lots of questions.
I want to help everyone, but I only have two hands.
So I built a robot that can think and talk like me. The robot is called a ‘chatbot.’
Sometimes it’s easier to ask your friends than googling.
And you text them. Not call.
So why can’t you text your hairstylist for an appointment? Or text the cafe to make a reservation?
It’s **because it’s pricey to hire someone to reply thousands of messages. And we need to sleep.
Today we have chatbots - robots that are trained to understand our language and answer naturally.
You can text a company to get quick answers. You don’t need to wait long because a single chatbot can talk to thousands of people at the same time.
It could even understand if you type:
“Large pepperoni 🍕 pls. Thx 👍.”
If your business takes reservations, you know that a missed call is a missed sale.
The slower you reply an email, that person might have gone to your competitor.
Someone called you just to ask if you’re open on weekend.
It’s in your website, but no one sees it.
Because asking you is faster to them.
Chatbot allows your customers to reach you - like texting a friend.
It automates repetitive tasks so that you can focus on the creative part of your business.
All the chat apps in your phone are the front-end part of a chatbot infrastructure. Texts are sent to a chatbot server to process and return a reply. Same goes with voice messages.
But a lot of chatbots now are like our old RPG games. A question followed by 2 boxes to select.
Yes, it’s more interesting than reading a long article. But it is lacking one piece - the natural language processing (NLP).
Each of us type differently. NLP is the ‘brain’ that tries to understand the text before triggering a reply.
That means instead of filling up a form to book a table, chatbot can understand this:
“A table for 2 next Friday 8pm.”
We spend hours to make a website mobile responsive. But what if people rather text than clicking through your site?
This is why I think chat is positioned to be the user interface of the next generation.
Your first time ordering coffee in Singapore?
Kopi C Siu Dai Ping
Teh O Kosong
I created this app to take coffee orders on my last day at work.
I thought it’ll be a great idea for foreigners to order coffee the local way too.
During my first year in Singapore, taking tea-time orders was confusing.
Instead of importing a foreign word like ‘latte’, we decided to mix Hokkien, Chinese, Malay, and English.
What’s Siu Dai?
What’s O and C?
Yet, it was music to my ears.
Sit in front of a coffee stall and watch people ordering. Any sign generation gap disappear at that moment.
All the possible combinations
The process started by writing out all the possibilities. Ice, milk, different type of milk…
To maintain a minimalist design, I’ve used only buttons to build your coffee.
The animation and color changes are intuitive to show what each button does.
To help foreigners, I’ve created a button at the bottom which translates all the buttons from Singlish to English.
Where do I store your order? AirTable
Through my experience of prototyping, AirTable is a joy to use as a database. It’s free for up to 1,000 rows and it looks like Excel.
You can copy & paste from your Excel. A data entry assistant can work on it without any knowledge of database.
The part I like most is the ability to read or write to the database via API, i.e. developer friendly.
In this coffee app, I’ve created a ‘confirmation screen’ that asks for your name. And the ‘Place Order’ button triggers a POST request via the AirTable API that looks something like this:
What would I improve on
A specialized take-away coffee shop would be keen in using this minimalist ordering concept.
This would require a functionality to notify users that their coffee is ready for collection. A chatbot would be a good way to notify users.
The coffee cup could have been drawn to resemble a local coffee cup. I would also love to see the cup change when I select iced coffee.
In production, there would be more drinks on the menu. A separate screen would work for non-coffee or tea orders.
On the database side, we’d log more information e.g. time of order, time completed, and user contact.
Back-end: AirTable as database