Let's encrypt for S3

Suppose you already know how to host static web site via AWS CloudFront and S3, and you have your own domain name, now you want to have SSL to support https. As developer, I like to use free resources to do everything, like this site with github, and Lets Encrypt for SSL.

How to host single page app

Github IO Page or AWS S3 and CloudFront.

Google UX Engineer Interview

This is total different engineer interview experience, and I was disappointed by the interview because it absolutely not like Google interview style. Maybe another tiny part was I didn’t have chance to say NO to Google :)

Minimize Webpack JS bundle size for ReactJS

I noticed my Webpack js bundle size is 1.2MB for a long time, recent holiday finally have time to solve it and it was 788kb after some improvement, after gzip it was just 215KB.

dropbox sucks

Several years ago I thought Dropbox is cool when I first used it, cool and clean UI, easy to use on Mac. But these two days I tried to sync some folder from Linux, I have hell experience, not only because of the market, but also it’s product.

curl for ipv6 on ios9

A old ios app is submitted to review with minor changes. But it’s rejected because doesn’t support ipv6 on iOS9. It shows our app cannot access internet in ipv6 setttings. At the beginning I think it’s AWS S3 issue, maybe it doesn’t support ipv6. Later I find it’s curl lib issue after debug. Actually obviously it should be curl lib issue, because in theory nothing needs to be changed for internet access in ipv6.

How To Use PhoneGap To Auto Subscribe

Phonegap was once popular solution to build ios app with web skills. But now there are more better choices, such as React Native or NativeScript, but I think Phonegap’s advantage is a lot of plugins. In the past half year, I spent a lot time to use cordova-plugin-purchase to support auto subscription, though this plugin has some problem and author doesn’t provide server receipt validation code or even explanation, but it seems it is still the best purchase plugin. After a lot struggling, finally I figure it how to do it.

rxjs introduction

RxJS is a JS implementation of Reactive

DotNet: I'm back

A side project requires Asp.Net. I don’t want to go back to DotNet, though it’s a good platform, but I don’t touch Windows for 4 years, I don’t use it for 8 years. Now I cannot image work with Windows, not Mac. As an engineer, we should keep curiosity for everything, right? The more important is Windows changes a lot in recent year, more open. That’s why DotNet can work on Mac. Now let’s setup everything on Mac.


Most engineers may want to join Facebook. It’s better to prepare before your interview so you can have bigger chance to get offer. Also I want to let you know Google and Facebook interviews are not as difficult as you think. Don’t be scared by someone’s idea, such like “how to get google offer”. Of course you have bigger possibility to get offer if you can know everything including the much complex data structure and algorithms, like B tree, B+ tree, A* algorithm … But you must know Graph or Tree DFS/BFS.