Greetings from Colombia!
Cartagena is a sunny town by the ocean. Its colorful buildings remind me of Oaxaca, Mexico. I have my friend Nicolás showing me the best places. Some photos:
Business Update (2/27):
Note: I’m quickly learning that “Building a Billion-Dollar Business”™ is not so easy. Actually it’s quite hard, especially when people say “no” (esp at the eleventh hour). Makes me realize that everybody is living their own lives & coming from different angles / perspectives. Despite “setbacks”, I still believe in being an HR-company first (meaning: people-first, business-second).
Here’s what I’d like to share:
Recently I participated in my friend Nic's "Overcoming Limiting Beliefs" workshop. I thought I'd share my answers with you guys.
Q: What is the limiting belief? A: I'm not good enough. Q: Why do you believe that? A: Probably because I was overprotected as a child. Good grades / school / neighborhood / friends / job". I never had to leave the comfort zone. As a result, I became "weak" / scared of the unknown / afraid to take risks. I used to complain that "I had it too easy". America loves the underdog / rags-to-riches story — and I never felt like I had one. My made-up "chip(s) on my shoulder" never stuck (probably because they weren't true). Q: What is the belief protecting you from? A: Rejection. Being unloved or unloveable. To this day, my biggest fear is not being liked. (Something about that scares the crap out of me). Not by strangers, per se — but by people who know me or sort-of-know-me. Q: Whose belief is that? Where did you source it from? A: Probably from the school system. I was never the "smartest" in the class. I'd always have friends who'd get better grades than I did. When you reduce yourself to a number — it's really demoralizing. Second is probably parenting. I don't "feel" love from my parents. I know they do but feel I do not. There's probably some connection between seeking approval and conditional love. As a kid, I never had a playdate (fearing my parents' disapproval). I spent a penny of my own money (for the same reason). Q: Do you still believe your answer? A: I hope not... I used to be scared of people — and now I've proven I can make friends anywhere in the world. I used to think that there's no way I can ever make money again — but now I realize there's little reason to think that. Remember the writing retreat last weekend? At the end we hugged each other for 5 whole seconds (which caught me off guard). (Physical touch was not practiced in my household). But I just remember feeling so loved for who I was. For days afterward I felt warm and fuzzy inside. Q: What belief can you choose instead that will empower you? A: I'm amazing. I'm the best (in the good way). I'm enough. I'm loveable just the way I am.
Building an Application (Engineering Concepts)
To build an app that serves millions of users, you need to understand some basic software engineering concepts. Just like building a house — you need a blueprint, a team(s), and a plan on how to mobilize resources to achieve the desired goal. You’d also need to know the components (eg. stress/strain, material properties) & how they work together (coordination). The same is true in software.
Today I’d like to cover 4 engineering concepts through the lens of travel.
Caching
BLOB Storage
Load Balancers
Message Queues
1. Caching
Let’s imagine you’re taking a trip. You want to double-check that you brought everything. Phone, wallet — in your pocket. Laptop, water bottle — inside your backpack. Clothes, toothbrush, gifts — packed neatly into your suitcase. And everything else you left at home.
What’s the difference between a pocket, backpack, and suitcase? Two things come to mind. (1) The amount of things you can put in them. (2) The speed at which you can access them. For instance, a suitcase might hold more things, but opening and closing it is burdensome. Your pocket is the easiest to reach but you can’t put any things in there.
In software, we call these smaller areas of storage (eg. pocket, backpack) a cache. They’re faster but can hold less stuff.
Thought Experiment: Imagine if every time you have to pay for something, you had to run back home to grab your wallet, then drive back. That would suck!
The same is true of data. Instead of big bulky databases, we store things in lightweight “caches”.
2. BLOB Storage
There are two types of packers. The first type creates neatly-organized containers. The other type tosses things in and shuts the lid.
They say being neat is good. But sometimes tossing things in is more efficient. For instance if you’re in a hurry. Or you have way too much stuff that there’s no chance of organizing it all!
In software land, we’d use the “tossing in” method to store large videos. People upload so many videos every day that we simply can’t be bothered to organize it all. So in it goes.. Sploosh!
Note: BLOB actually stands for Binary Large Object, but you can think of it as a blob 🦠
3. Load Balancers
You’ve just landed in a new country. What’s the first thing you have to do? Pass through customs. Chances are, the line is huge (especially in Mexico City). Fortunately, there’s a guy who tells you which spot to take. Otherwise, the passport control officers would be overwhelmed.
The guy who directs traffic is called a “load balancer”. In (travel / software), a load balancer is a (guy / algorithm) who distributes (travelers / requests) across a variety of (immigration control offices / servers).
4. Message Queues
You passed immigration control. Congrats! Now it’s time to pick up your suitcase. You walk to baggage claim…
The airport staff takes your bags from the airplane and puts them onto the conveyor belt. You then pick it up.
In software, the conveyor belt is called a (Message) Queue. The airport staff are producers (ie. they put stuff onto the queue) and travelers are the consumers (ie. you take stuff off the queue).
Poetry Class
I'm taking a 6-week virtual poetry class hosted by my friend Jen and the great Ellen Rhymes. Join me by clicking the link below. You'll also get a complimentary copy of Spacefaring shipped to your house!
I’m currently writing this from the Los Angeles Airport where I’ll be staying overnight (no chance of sleep 🥲). Tomorrow morning I fly to Sydney through Honolulu. In total it’s about 25 hours of air time.
As always, I’d love to hear from you.
Have a great week!
Best,
Leo A
Loved the travel / tech metaphor! Perfect edition while transiting through an airport
The engineering concepts described in the context of travel are very helpful. It's an ingenious idea for teaching about software dev. I wonder how far you could run with the analogy? This could be a very popular long form piece I think.