Shing Lyu

Disclaimer: This content reflects my personal opinions, not those of any organizations I am or have been affiliated with. Code samples are provided for illustration purposes only, use with caution and test thoroughly before deployment.

驚爆!報稅軟體的低級錯誤

更新:經過我向客服中心反映,並透過朋友的幫助轉給了廠商,今天(5/23)早上國稅局客服中心打電話來確認說修復完成了,我實際檢查也確認修復了。辛苦了週末加班的工程師!

別誤會,我不是要教你什麼逃漏稅的方法,只是分享一下政府的報稅軟體是怎麼樣的低品質又缺乏測試。 過去幾年都我一直用 Windows VM 安裝桌面版的報稅軟體,今年發現網頁版功能也完善了(主要是可以成功的匯入所得資料),於是想改用網頁版直接在 Linux Mint 上面用 Firefox 報稅,沒想到竟然是悲劇的開始。

online_tax_screenshot

(continue reading...)


Rust Code Completion with YouCompleteMe

Every programmer knows that code completion can give you a productivity boost. Without code completion, you’ll have to read the documentation (or StackOverflow?) every time you forget what to type next. Since I’m a vim user and I worked with Rust very often, I’m glad to know YouCompleteMe (YCM), a powerful code completion plug-in for vim, officially supports Rust code completion (see this blog post). I’ll walk you through the process of installing YCM on Ubuntu/Linux Mint in this post.

(continue reading...)


Visualizing Performance Data on Perfherder

At Mozilla, we use Perfherder to visualize our performance testing data. Perfherder is a dashboard for monitoring and analyzing performance metrics, which can include page load time, JavaScript benchmark score, build time, installer size, etc. Perfherder allow you to visualize the data as a line chart, compare performance metrics between versions and automatically create alerts for sudden change in performance metrics.

(continue reading...)


Minimal React.js Without A Build Step

Update: There is an updated post here. Check it out! It has more up-to-date data and more information about how to use 3rd-party libraries.

Nowadays, starting a frontend project means setting up a complex build system with preprocessors, transpliers, compressors, packagers, and many more. Don’t you missed the day when you can just write <script src=”./jquery.js”/> and start coding? I love to build prototype or small tools using HTML and React.js, but the build system thing is killing me (the official documentation suggest you use browserify and babel). So I’m going to show you how to build a minimal react page without any of those distractions.

(continue reading...)


How AlphaGo Can Teach Us About Software Testing

After Lee Se-dol lose his first match against AlphaGo, some memes appeared on the Internet calling Lee the “Senior QA engineer at Google”. I am both happy and sad about this meme. I’m sad because people still think QA is a less descent job than a Go champion. But I’m happy to see that Lee Se-dol demonstrated many good characteristics of a good software tester, and we can learn a lot from him. Here I will show you how this epic Go match can be related to software QA.

lee_qa_meme

(The Chinese line translates to “Google Senior Softare QA Engineer, Lee Se-dol”)

(continue reading...)