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.

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...)


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...)