Sometimes you got to think about what's been good in life.
I've been in an emotional rut recently. One big thing I know I'm bad at is celebrating wins. I thought I'd celebrate the things I'm happy I've done the last few years.
I've spent a year learning Japanese with interesting students from European travelers to gaijin husbands with Japanese wives.
I've practiced Chinese with sushi chefs and international students. Got friend discounts at restaurants and bars.
I've taken Korean lessons with a tutor and have somehow managed to still be able to read every menu I see years later (but not always understand what I'm reading).
I've traveled to 25+ countries. I've gone to every country I've ever had a strong urge to see and some multiple times.
I've earned over a million miles and still have enough for a two person around-the-world ticket.
I've made random friends traveling solo, who've taken me to karaoke, walked me home, shown me a window into their life story.
Met guys who'd fight others with two times the numbers for my dignity 8 hours after we met.
Went to a ex-Soviet bunker in Budapest and shot old Hungarian AK-47s, Glocks and other old-era guns. Also went with a friend and a hostelmate to my favorite Escape Room ever (also my first).
Had the chance to join in my friends' happiest moments at weddings across the world in Mumbai, Shanghai, Taipei, Napa, Stephenville and more and had a chance to be a groomsman in three.
Taken cooking classes all over Asia, Europe, and the US.
Made friends with a Korean rapper in SF while he was traveling for inspiration, who rapped his new single for me in a noraebang and drove me around Banpo.
Met the staff of a fashion show in Bali who proceeded to take me into their group for a night out.
I've been in countries where I spent days to weeks with locals who I could only communicate with in Google Translate.
Got lucky to meet a group of guys in Japan who showed me around and treated me out for breakfast. Then had an English teacher show me cool local spots around town.
I was the fourth employee at a company that hit 9 figure valuations and blitzscaled from 0-100+ employees in under three years.
I was the 2nd employee and first engineering hire at a company with the coolest mission in the world. I've grown a team of engineers from 1 to 16 teammates and helped get from $100k to many millions in ARR.
Learned knife-skills and traditional cooking techniques by being an early backer for a cooking startup.
Sat on a beach and watched a pirate ship kite float during golden hour as the sun slowly set.
I've written and launched an open source Python library in a week. Gotten to the #2 spot on Hackers News with 10,000+ visitors and discussions on Twitter in Japanese and other languages.
I've gotten a lot closer with family. Especially my dad who I could barely be in the same room with in high school. And my brothers who are now some of my best friends.
I've seen a Warriors quarterfinal and finals game in person.
I've made friends who are loyal, made friends who are doing amazing things with their life. People I'm honored to have the chance to know. (Apologies for those who deal with me being introverted!) Learned what makes a true friend and what makes a wine-meat friend (lookup 酒肉朋友).
I've lost a lot of money and made a little selling digital nomad oriented ecommerce products, signing a contract with a Korean clothing brand with over 130 stores and 6+ labels, launched a product on Amazon that was the #1 new product in a category.
I've felt well off on paper assets but felt broke based on my bank account. Felt rich out of college but felt poor with more money later. Depressed and happy at the same time.
I've fallen in love. I've had my heart broken.
I've changed so fast that every two years I was a completely different person.
Yep. I'm lucky to have had the life I have lived. May my next reflection reveal an even better one.
Almost three years have passed since I last wrote on this blog. I wanted to reflect on what's happened since then.
2016: The year I finally learned I can't do everything at once. I tried to run three sizable side projects at the same time. A clothing store, a travel goods ecommerce shop, and a SaaS app. I lost money overall and finally had it grilled into me that to do one thing well, I need to choose one. I feel that at times in 2016, I didn't give my friends the attention they deserve and commited to trying to do better by at least my best friends. I learned a lot though about business and some of the harsher realties of personal finance.
2017: I started appreciating my brothers more in 2017 even though I felt they are sometimes really boring. 2017 was a year where I feel like I learned a lot about what life is like with another person and thinking. A lot of ups and downs, mostly because I didn't know how to live a life that wasn't just my own. Looking back, I made a lot of silly mistakes, but I suppose that's how you learn. Even so, some of my happiest memories are of this time as I was lucky enough that one person gave me two years of her life.
2018: Tested my comfort zone of always living solo. I lived in Thailand for three months, I no longer lived alone for six. I moved more into management as the engineering team crossed past ten. I refocused myself on personal finances and the future. Perhaps a bit too much, I feel like I lost the passion for life I had in 2015. Gone was the person who drew on Wacom Tablets, took photos with a DSLR, created new live software in weeks, hopped on planes when a flight deal showed up.
All in all, there were a lot of ups and downs. I definitely don't feel like I grew as much as I did from 2012-2015, but I think at some point I needed to experience setbacks to learn the life lessons I hadn't yet. Now that I have - onwards and upwards.
This year, I will finish what I started.
Hello hello! For better or worse, you have landed on my inaugural post on this blog. It's exciting to have a blank canvas to profane with my thoughts. Let's start with how I built this site.
Pen and paper is the best way to explore ideas in my opinion. It just doesn't constrain your creativity. After I'm satisfied with my sketches, I go straight into HTML/CSS for higher fidelity prototypes. Sometimes, I will go into Sketch to flesh out ideas if the site's structure is more complicated but I didn't feel the need to for this site.
When creating the assets, I was actually pleasantly surprised with how my drawing turned out on the Wacom. When I first used it, I found it hard to control the nib and get the lines I wanted. It takes awhile to get used to looking at the screen while drawing on the tablet. I am still not quite satisfied with my control with the tablet but I'm sure it will just get better as I draw more for this site.
Afterwards, I wrapped the HTML prototype with a site generator to generate the other pages. Finally, I wrote two simple bash scripts to upload my homepage to Github Pages and the blog to Google Cloud Storage.
Both my homepage and blog are based on the static generator described by Nicolas Parriault here. In addition to his basic generator, I added webassets for asset compilation, an Atom feed generator, and an html minifier. I'll skip the basic generator that Nicolas describes and talk about the additions.
For htmlmin, I wrote a small helper function that renders the template without minification during debug but minifies during builds.
I also wanted a feed and found the feedgen package which provides a FeedGenerator class. The code is pretty straight forward although I had to read up on the Atom spec.
Bonus! Flatpages also comes with pygment support for those who code.
For the deployment scripts, Nicolas' static site generator uses Flask-FlatPages to create a static build in a build folder so I just git push the build folder for my homepage and rsync my blog to Google Cloud Storage.