Yifeng Wang

The Times They Are A-Changin'

Gabe Weatherhead is rediscovering Mac apps:

Todoist is still my daily driver for tasks. When my calendar starts to look like an overstuffed sausage, Todoist is how I get things done. It’s ubiquitous, intuitive, and that natural language input is like magic.


I’ve written a lot of words about Pinboard for bookmarks. I’ve enjoyed it but the apps were not feeling very polished or well supported. Then Raindrop.io came along and captured my heart.

When someone like Gabe is enjoying using Todoist and Raindrop.io instead of OmniFocus or Pinboard, it’s hard not to take a pause and realize how the software landscape has changed in the Apple ecosystem.

The Phantom Menace

The Phantom Menace is my favorite Star Wars film. Walking into the theatre as an eight year old, I had no clue I was about to be taken on a journey in an enchanting extraterrestrial world that I would love for so many years to come. For the rest of the summer I watched it on DVD every a few days and had countless lightsaber battles with friends. Qui-Gon was wise and aplomb. Obi-Wan was young and skillful. Padmé was smart and brave. Anakin was the best racer and mechanist in the whole galaxy. And Jar Jar was, absolutely hilarious.

Almost twenty years later, I watched a mind boggling documentary on this film. On the one hand it was thrilling to see the never before anticipation. I envy of the ones who experienced that in person. It must have been like being a theatre lover in NYC at the height of Hamilton in 2016. The crowd reaction—how do I put this—can probably only be found at a K-pop concert today. On the other hand, it had killed me to learn about the utterly disturbing truth of the assault Ahmed Best and Jake Lloyd received following the release of the film. It was painful to imagine what Lloyd and Best had gone through. The bullying I experienced as a child was nothing compared to the death threats Lloyd and Best had to face but that was already hard enough.1 Jar-jar and young Anakain are great characters to me if that wasn't obvious from the beginning of the article. Yet people could be so narrow minded when things didn't meet their expectation. As I grew older, I started hearing about how bad Episode I was. I became reluctant to show my affection for it because I didn't want to be thought to have a less superior taste. Wanting to blend in and lack of critical thinking, I followed the public and became part of the problem.

Sounded all too familiar? People criticized The Last Jedi in many ways similar to The Phantom Menace. Then the target became Kelly Marie Tran who played Rose Tico in the film. Tran experienced major online bullying and harassment. People wanted someone to blame on and this time it was Tran. The irony was The Last Jedi might be the only film worth remembering in the sequel trilogy. The Force Awakens was a nostalgic treat for the fans2 and The Rise of Skywalker never found the story it wanted to tell. People had every right to disagree with directions taken by The Last Jedi3 and express their disappointment but attacking personally the ones who worked on the film or other people for liking it is plainly wrong and disgusting.

The Phantom Menace was my first Star Wars film, just like The New Hope was yours, and The Last Jedi could be theirs.

Be curious, not judgmental. May curiosity be with the galaxy.

  1. I like how I mentioned my being bullied this casually on the internet while I talked about it to my parents for the first time a few months ago.
  2. I enjoyed it a lot. I got teary-eyed many times during the film (It's true. The Force. The Jedi. All of it. It's all true.). However the true heroes of the sequel trilogy for me were the trailers. Everyone of them successfully had me excited, hyped, and touched.
  3. It was like a Marvel film, said I.

Rebuilding Yeefom.com with Gatsby

A few months back, I launched the latest iteration of yeefom.com. A lot has happened since the launch in both the world and my personal life. This is the overdue launch post. I took the opportunity to revisit some old blog posts, journal entries, and social media content. As much as I have supposedly changed throughout years, the key theme remained the same. I’m still struggling with the same challenges and emotions. I'm still flawed mostly the same ways. Some say people can't change for the better. Could that be true?

It has almost become a pattern that every two or three years this website gets a redone. I have no intention for it to become another place where the only topic is itself (App.net anyone?). Still, this rebuild is interesting to share.

Although the website has had a minimalist design since its inception, multiple aspects could benefit from a modern rethink. There were three things jumped out to me the most: font choice - Source Sans Pro was a good font but I had a strong preference these days for websites using system fonts; the font sizing was on the smaller side; and the spacing wasn’t nearly generous enough. In addition, I long wanted to add footnote popover and a dark mode.

The previous version was built with Hugo. Besides providing an extremely fast build time, Hugo took care of most of the common needs such as content management and pagination out of box. However since I didn't take the time to fully grasp Hugo and especially its templating engine, I always had a sense of uneasiness. This time, I wanted better control over the code and just like before, performance and accessibility were my top priorities alongside a clean look.

Gatsby was already on my radar during last rebuild. I picked Hugo because I found a Hugo template better suited my needs. Since I wanted more control over the code, it mattered less now what Gatsby templates I could find. I chose Gatsby for that it has a good reputation, is well maintained, and has an active community. Gatsby uses React for templating and GraphQL for data querying. They are great gateways for me to stay connected with the JavaScript community.

The actual building process was already a little blurry. I remember choosing not to use Gatsby theme because that would involve publishing my own npm package. It was a bit counterproductive to maintain a package that would most likely be used by a few if not just one. Plus I was confident I could structure the codebase so that the content and the site would have a clear domain separation. Open-sourcing the website satisfied my wanting for making it a community project. I opted for using a starter instead. Maybe because the starter was originally built a while back, I found in it many practices to be challenged. I ended up removing lots of overloaded dependencies and changing almost every aspect of the code. Nevertheless, it gave me a solid ground to start with along with Gatsby’s official documentation and guides. I had a few more thoughts on building Gatsby apps and you can find them in the source code repository.

The new design was refreshing. Dark mode was beautiful and activated following system setting. Footnote popover was finally there and looked in place on different screen sizes. Yet I couldn’t bring myself to release the new website. Inconsistencies still popped up across browsers and devices. There was always one more design tweak I could make. The code could always use more refactoring and cleanup. After some more procrastination, I knew I had to stop or I’d never launch it. I just needed one more reason to convince myself. I told myself, if Lighthouse gave the website decent scores, I’d launch it.

Lighthouse report

So I pushed the button. I knew I would find new issues from time to time. I also knew this website would evolve over time as it was supposed to. I was happy it was out there.

Is Gatsby the perfect choice for a personal website like this? The answer is probably no. Something like Jekyll is a lot more straightforward and has a much better chance at not having the code going outdated instantly (the JavaScript world moves fast). I may very well choose Jekyll for the next time but that doesn’t matter—I had a lot of fun building using Gatsby and I’m quite happy with the result.

Though can't be definitive, I want to attempt at answering the question in the beginning: if I can make this website a little better every a few years, I choose to believe we can ourselves too.

Seven Years Later, Online Shopping Still Doesn’t Save You Time

Casey Johnston in Shopping Sucks Now:

The internet has created a tyranny of perfect information, so there is more to know about which thing is the right thing to buy than any human can comprehend.


This infinite-market stuff was all well and good when being able to buy almost anything was an opportunity, but now that I can consider everything in the interest of saving time and money on buying subpar stuff, it’s an obligation I can’t ignore. But then I inevitably end up wasting a lot of time and money trying to save that time and money, making everything about this my fault.

I wrote about the same sentiment way back in 2013. It has only got worse with now omnipresent direct to consumer brands.

What Do I Talk About When I Talk About Dance

I need to talk about dance.

Dance is the surprising and wonderful delight I found in 2018. It all began with when a friend suggested we did something new and tried out a hip hop dance class for a Saturday morning. That was fun, I thought. I went back the next week, the week after, and the week after that... Before I knew it I joined a performance workshop, danced with some most amazing instructors and students, and met many wonderful people that I now call friends.

I'm by no means a natural dancer. One would think dance is a just another form of sport that takes some adjustment and technique learning. Well it was not. Shocker. I received really great feedback from some dance friends. One said my shoulders were not open. Another said I forgot that I had arms when I danced. You see the idea. Groove? I don't have. Isolation? Not really. It took me three months to really understand what people meant when they said I was moving my shoulders when I was supposed to move my chest. None of those mattered though. I still found so much joy in it. I stayed. And I’m probably going to stick around.

The type of class I partake the most is usually referred as urban choreography or urban dance. Here is a video attempting at explaining what it is. The first 30 seconds is pure comedy gold if you already have an idea about urban choreography, which is more of describing an activity than a certain dance style. It’s the practice of people coming together and dance. It’s about building a community. While commonly hip hop, the instructors come from all kinds of dance background and employ different styles to express what they see and feel in the music.

It has been an unreasonably stressful year and dance provided me tons of positive energy to push through. I was so lucky to take class from incredible local talent such as Sila Poe to shiny stars such as Larkin Poynton and Ellen Kim. I sort of performed on the same stage with Les Twins, Kida the Great, and Chris Martin. My YouTube homepage started to fill with dance videos. I started to deliberately look for bass and snare when listen to music. It was wonderful and I'm grateful. I understand I need to foster a better relationship with myself and destress myself from the inside but dance has given me so much while I learn to do that. To much more dance to come.