How to adopt UniFi Security Gateway to an existing network

I’m by no mean a network expert. This is just my personal experience when I setup my USG to my existing network. In my case, I was using Orbi RBK as my router and access point. With USG in place, I will use the Orbi in access point mode. The USG will be replacing the Orbi as my router. My current network is using 10.0.0.1/8 IP range. By default, USG uses 192.
Read more →

Dynamic DNS with CloudFlare

I use this project oznu/docker-cloudflare-dns1 where the author implements everything in bash, curl and jq. There were a bunch of projects that does this DDNS with CloudFlare but I chose this project because of this uniqueness. To use this, you just have to create an API token with Cloudflare that has these permissions: Zone - Zone Settings - Read Zone - Zone - Read Zone - DNS - Edit Also, set zone resources to All zones.
Read more →

Traffic from #1 post on Hacker News

My last post recently featured #1 on Hacker News. This surprises me a little bit because when I first posted the link, there were little interest (~15 points) in it. I shake it off and went on with my day. Few days later, when I was browsing Hacker News, my blog post was featured right there on the home page through someone else’s submission. The post stays at #1 for ~ 12 hours before drift off to page 2.
Read more →

The story behind my talk: Cloud Cost Optimization at Scale: How we use Kubernetes and spot instances to reduce EC2 billing up to 80%

This is the story behind my talk: “Cloud Cost Optimization at Scale: How we use Kubernetes and spot instances to reduce EC2 billing up to 80%”. Now before I tell this story, I will admit first hand that the actual number is lower than 80%. 2015 # The story began in mid 2015 when I was employed by one of my ex-employer. It was a .NET framework shop that struggled to scale in both performance and cost at the time.
Read more →

Thoughts on Workers KV

Infrequent write / frequent read # I tried to build a todobackend.com with Cloudflare workers and Workers KV. However, the specs runner keeps failing, inconsistently. Meaning they would pass this run and fail the next. Manual tests usually doesn’t have this problem. This tells me it seems Workers KV is not synchronous or the data replication is slow. Turns out, it’s mentioned right there in the Workers KV’s docs; emphasises are mine.
Read more →

reader

Another experiment with Cloudflare workers. I haven’t use Worker KV here though. reader is a service that mimic reader mode on browser and let user shares the reader mode view on the web. It’s still super buggy now due to lib that I use is quite abandoned at the moment. I just want to whip out something that works first. Something I learnt from reading Cloudflare workers docs while doing this:
Read more →

Experiment with Cloudflare Workers

I’ve been meaning to try Cloudflare Workers with my blog. Given that it’s static website, it should be straight forward to do. They (Cloudflare) makes it incredibly easy to migrate. Their tutorial works just fine with a minor exception regarding the DNS setup. The whole process took like 5 mins overall. I just had to do an additional step of setting up an A record of my domain to 192.0.2.1 so that they can be resolved to Cloudflare Workers.
Read more →

Brag document

There’s this idea that, if you do great work at your job, people will (or should!) automatically recognize that work and reward you for it with promotions / increased pay. In practice, it’s often more complicated than that – some kinds of important work are more visible/memorable than others. It’s frustrating to have done something really important and later realize that you didn’t get rewarded for it just because the people making the decision didn’t understand or remember what you did.
Read more →

Debugging with git bisect

Suppose I have this project with 5 commits. You can clone it from here. Say, there’s a regression bug in the master branch but a lot has been added to master after the feature was first inroduced. How would I go debugging this? Which commits break it? Usually, we would go manually and see which commit would possibly do this but if the project is large and active, it’s a quite troulesome process.
Read more →

The state of tiling window manager on Windows 10

The state # 1. Workspacer # Opensource. Best in term of feature set. Closest thing to an actual tiling window manager on Windows 10. Have some weird bugs that’s quite annoying. Development velocity is slow. 2. Bug.n # Opensource. Written in scripting language - AutoHotkey. Require AutoHotkey installed. 3. PowerToys # Opensourced by Microsoft. Not really tiling. It’s still manual process. Very stable for daily use.
Read more →