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.

Identify Performance Regression in Servo

Performance has always been a key focus for the Servo browser engine project. But just measure the performance through profilers and benchmarks is not enough. The first impression to a real user is the page load time. Although many internal, non-visible optimizations are important, we still want to make sure our page load time is doing well.

Back in April, I opened this bug #10452 to start planning the page load test. With the kind advice from the Servo community and the Treeherder people, we finally settled for a test design similar to the Talos test suite, and decided to use Perfherder for visualization.

(continue reading...)


Show Firefox Bookmark Toolbar in Fullscreen Mode

By default, the bookmark toolbar is hidden when Firefox goes into fullscreen mode. It’s quite annoying because I use the bookmark toolbar a lot. And since I use i3 window manager, I also use the fullscreen mode very often to avoid resizing the window. After some googling I found this quick solution on SUMO (Firefox commuity is awesome!).

before

The idea is that the Firefox chrome (not to be confused with the Google Chrome browser) is defined using XUL. You can adjust its styling using CSS. The user defined chrome CSS is located in your Firefox profile. Here is how you do it:

(continue reading...)


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

更新:經過我向客服中心反映,並透過朋友的幫助轉給了廠商,今天(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...)