Tuan Anh

container nerd. k8s || GTFO

Notes on GraphQL

Some personal notes while working with GraphQL

Kubernetes Meetup #2 slide

My slides from Kubernetes Meetup #2 organized by Docker Hanoi and CloudNativeVietnam.

link bài gốc

The Birth & Death of JavaScript

Old but gold.

This science fiction / comedy / absurdist / completely serious talk traces the history of JavaScript, and programming in general, from 1995 until 2035. It’s not pro- or anti-JavaScript; the language’s flaws are discussed frankly, but its ultimate impact on the industry is tremendously positive.

link bài gốc

Advice to new managers

Advice to new managers:

  • Earn trust by giving it
  • Inspire, don’t tell
  • Eat lunch with your team
  • Show their work matters
  • Be a player-coach
  • Feedback in private, praise in public
  • In victory, lead from back
  • In crisis, lead from front
  • Be the manager you wish you had

via Twitter

DejaLu - a new open source email client by Sparrow's author

I downloaded the beta and gave it a try.

At this stage, it’s already a better email client than Airmail.

Some notes:

  • Amazing startup speed. Why can’t all apps be like this?
  • Nice and clean UI. Community themes could be a great feature to have but I don’t mind not having it.
  • I specially like the conversation list view. It’s just so clean.
link bài gốc

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