Latest Posts
Develop a Garmin watch face
Recently, I was curious enough to try developing a custom watch face for Garmin vívoactive 4S. I spent 3 days building the watch face from scratch, and it was a fun but also…
Build a Dcard clone
其實一開始只是在無意間發現了一些 Dcard 前端的 bug,身為工程師就是要自己研究看看可以怎麼解決,結果不知不覺就花了兩個禮拜把整個前端都刻出來了。 不廢話就先放上連結:Dcard clone,以及…
What it means to be a senior engineer
The title is kind of like a clickbait, I always dislike the terms of using senior or junior to describe the job titles. I believe that comparing with each other brings more harm…
One fun trick to observe elements in realtime without MutationObserver
Querying elements with selectors is quite intuitive in JavaScript. querySelector and querySelectorAll are fast and reliable. What if we want to be notified when there's a new…
Extract pkcs7 signed data from apple-app-site-association file
I was building sharing-validator and I faced a problem with pkcs7 signed apple-app-site-association file. I feel like to take notes on how I parsed the apple-app-site-association…
Stale props and zombie children in Redux
If you have read the react-redux v7 release documentation, you might have come across the section where it mentioned the stale props and "zombie children" problem. Even though it's…
Make your own custom URI scheme resolver
Sometimes, sharing URLs isn't easy. Especially if we are sharing some sites like Jira tickets, which requires us to type the long domain name before we can even type in the…
Introduction to debugging with git bisect
As a stupid developer who consistently makes mistakes, it happens all the time to discover some bugs only after shipping them to production. Determining how deep the bug is, it…
console.log with line numbers
Have you ever wished for console.log to prepend a line number in front of the log statement so that you can quickly figure out which part of your code is executing? Manually adding…
Write your commit messages in the right way
要怎麼寫 commit messages 一直是爭論不休的議題,每個 team 有自己偏好的方式,以及所謂的 best practices,像是知名的 AngularJS commit convensions,在這裡我不想討論哪個標準才是最好的,…