# notes Be Picky
When I was still in high school, I asked one of my best friends what's her secret to be so good at everything. She thought a bit and said, "Most things take more effort and time than one thinks. With only 24 hours a day, I'm rather picky at what I spend my time on. Once I decided to do something, I'd give it 100% of the attention."

Dec 18, 2019

Read more
# notes Things I wish I knew before making a paid extension

Now that I've made both free and paid extensions, I have mixed feelings about them. Yes, one-click installs are great, but the ecosystem of distributing a paid extension is quite unfriendly for developers. I'm still happy that Spider Pro turned out as I wanted, but I probably will not create another paid browser extension again.

Nov 15, 2019

Read more
# tutorial 3 ways to write conditions in Javascript

We all know if...else smells, but how to refactor them into something less smelly?

May 12, 2019

Read more
# tutorial [Part 3] Final wrap-up and deploy to netlify

In this last post of the series, we will deploy our Vuepress blog to Netlify. I've spruced up the template a little bit by adding more tailwind classes, you can check out the repo on Github.

Feb 12, 2019

Read more
# tutorial [Part 2] Write and apply a custom Vuepress theme

In this part, we are going to write some components for your theme with vue.js.

Feb 11, 2019

Read more
# tutorial [Part 1] Setup a working Vuepress blog with Tailwind.css

In this part, we will setup a working Vuepress blog with Tailwind.css.

Feb 6, 2019

Read more
# tutorial [Intro] Build a blog with Vuepress, Tailwind and Netlify

Recently I launched a newer version of my personal website, which uses Vuepress behind the scene. Being a new Vue.js adopter, I thought Vuepress --- a static site generator built on vue.js --- was a natural choice for websites: it's intuitive, performant and flexible with markdown.

Feb 4, 2019

Read more
# notes Hype-Driven Development

I saw a funny term this week - “Hype Driven Development”, and had a good laugh (*with tears). It reminds me those painful time in my career that decisions were made based on hype but nothing else.

Apr 22, 2018

Read more
# life Let's build 10 products in 2018

Whether it’s small or large, open or closed source, desktop or mobile, I deeply enjoy creating stuff. The idea of completing a project excites me (though in reality it never “completes”); the process of figuring out how to break a problem then solving it one by one puts me in the flow state.

Apr 17, 2018

Read more
# design On YouTube’s user experience

I love YouTube. For the last 5 years, I’ve used it daily for learning new skills, trying new recipes and keeping up my exercise goals. When there’s a question popped up, I would search on YouTube and learn from the videos. It has become a big part of my life and has changed greatly how I spend leisure time and how I grow my knowledge.

Jul 5, 2016

Read more
# notes How to be a better developer
  • Commit in small and concise chunks. Big commits which touch every single file in the system should be avoided. Break down your big feature into small committable stories. The commit history of your (master) branch should be readable, reversible, and resettable. No one likes to have a big fat merge conflict!

Oct 3, 2015

Read more
# random Build your own remote controlled sit/stand desk

Shortly after starting the quest of finding THE perfect standing desk, I realized that I would have to build it myself since it’s almost impossible to find one that matches all my criteria:

May 25, 2015

Read more