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.

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


Dotfiles: Manage Your Development Environment Configuration in GitHub

Linux is my major development platform. Most of the tool I use (vim, zsh, i3 window manager) use configuration files located in your home directory (.vimrc, .zshrc and .i3/config). It is pretty hard to keep them in sync between your machines. And sometimes if you mess up with the configuration file it’s pretty hard to revert your changes.

(continue reading...)


From 3D scanner to VR -- Introduction

Recently I’ve been invoved in a project called FoxEye. Our goal is to unleash the power of Computer Vision (CV) on the Web. But before we jump in and start writing JavaScript, I need to understand how all the algorithm works. Therefore I started to hack a simple small object scanner using the Point Cloud Library (PCL), which is written in C++.

input output

(continue reading...)