Tuan Anh

container nerd. k8s || GTFO

Series and parallel execution with async/await



async function series() {
  await wait(500); // Wait 500ms…
  await wait(500); // …then wait another 500ms.
  return "done!";


async function parallel() {
  const wait1 = wait(500); // Start a 500ms timer asynchronously…
  const wait2 = wait(500); // …meaning this timer happens in parallel.
  await wait1; // Wait 500ms for the first timer…
  await wait2; // …by which time this timer has already finished.
  return "done!";
link bài gốc

2017: year in review

Best year at work yet!

  • I worked on a project (with a several members of my team) to migrate our apps onto Kubernetes cluster since the beginning of 2017. We’ve been using Kubernetes in production since.
  • Convince and guide other teams to follow our initiative to migrate to Kubernetes.
  • 💸 Significantly reduce our AWS bills with the use of spot instances / spot fleet while maintaining high availability of the system.
  • ✌️ Got a new job!! Employer gave a counter offer matching compensation but I decided it’s time to move on.

Overall, I’ve set a concrete infrastructure for my company to move forward. I believe my team can step up and continue working on current projects.

My one and only

Being a father is overwhelming but certainly a great experience. Sleep depreviation sucks but any bad feelings seems to disappear when those little tiny hands hold my face and give me quick kiss on the cheek.

More books

I will not force myself to finish the book I’m not enjoying or learning from. I did this rigorously last year just for the sake of finishing the books.

I also want to learn speed-read this year.

Average readers read at speeds of around 250 words per minute with a typical comprehension of 60%. Imagine if you can read at 500 wpm, you can read twice as many books. It’s truly an amazing skill to have.


I didn’t give any talks last year. I would love to do 1 or 2 this year. Let’s make it happen.

2018 is gonna be a great year!

Building containers in pure Bash and C

From 2016. Still very good talk by Jessie Frazelle.

link bài gốc

A better way to go through terminal command history

In the past, I used to use Ctrl+R to search my terminal command history but it’s unreliable. I couldn’t wrap my head around how it search sometimes.

Thanksfully, I was introduced to fzf and it’s has been a wonderful little gem. The power of fzf is much more than just searching through command history, depends on how creative you are.

The one I show here is just an example of how powerful fzf is. Basically, it can be pipe to just anything and fuzzy search that.

fh () {
    print -z $( ([ -n "$ZSH_NAME" ] && fc -l 1 || history) | fzf +s --tac | sed 's/ *[0-9]* *//')

Now go brew install fzf, add the above function and thanks me later 😁

The silence of the Lambda

A lot has changed since last I look at it. Still a bit awkward but the toolings around Lambda have significantly improved.


link bài gốc

Traits of a good leader

Found this on HackerNews. Very much on point, though I don’t quite agree with the last item.

  1. You have to have your people’s back, this is the most important thing… be there for them, insulate them from problems and management stupidity and always fight for them.

  2. Lead by example, never ask them to do something you won’t do yourself.

  3. Communicate, I have booked on afternoon a week from 14:00pm till 16:00 and more to just talk with my team and discuss everything from work, to weather, sports, to bitch and moan against the company, etc…

  4. Get together as much as you can on a real “team building exercise” - the whole team in another city for at least 2 days with a great party and lots of eating and drinking on company dime…


Easily pruning unneeded files from node_modules

A npm package to clean up node_modules folder to remove unnecessary files on production.

Use cases:

  • optimize sizes for aws lambda
  • optimize sizes for docker build using multi stage docker

Featured on npmaddict.

link bài gốc

kompression - koa compression middleware with support for brotli

This is my fork of koa-compress that add supports for brotli compression.

Available on npm.

link bài gốc

Docker Containers on the Desktop

Great idea. I never thought of Docker containers this way because I totally forgot that I can always mount the config to the container.

This totally changes my dev environment setup.

$ docker run -it \
    -v /etc/localtime:/etc/localtime \
    -v $HOME/.irssi:/home/user/.irssi \ # mounts irssi config in container
    --read-only \ # cool new feature in 1.5
    --name irssi \
link bài gốc

If Your Boss Could Do Your Job, You’re More Likely to Be Happy at Work

The benefit of having a highly competent boss is easily the largest positive influence on a typical worker’s level of job satisfaction

Related: This is why we have working managers at Basecamp

link bài gốc