I have always hated the technical interview process, mostly because I don’t enjoy practicing Leetcode problems. It is one of those dumb things in college that if you don’t do it, others will get ahead of you. If you want to secure those “prestigious internships”, you have to grind Leetcode. Convincing myself to grind Leetcode was hard. It was hard to accept that life is unfair. Why do I need to do…
For years, I have been hearing people talking about the problem of climate change. However, I never got the chance to dig into it, until recently I read Ryan Orbuch’s post on Carbon removal. Orbuch’s post briefly mentioned this book called “Carbon Capture” . It caught my attention because of the credibility of the author (MIT researcher spent 30 years in this field). This book is also my first…
The first half of the book presents Thiel’s view on entrepreneurship and innovation. For example, contrary to popular belief, he condemns competition and praises monopoly. Throughout this book, Thiel has been stressing the importance of thinking for yourself . Our society has transitioned from “definite optimism” to “indefinite optimism”. Many extremely smart people, who could have created these…
I have always been very proud of this blog. So proud that I even put it on my resume . In fact, showcasing this blog on my resume, has proven to be very effective. I managed to secure an internship offer at Datadog two years ago, beating many fourth-year students when I was just a confused sophomore, simply because the interviewer really liked one of my blog posts . The blog post that impressed…
In this blog post, I want to discuss one of my recent attempts to create a simple one-liner Linux Dropbox client using only free and open-source components, including rclone , entr , and systemd . Context Recently, the proprietary Dropbox Linux client dropped support for all Linux file systems except unencrypted ext4 . And, my home directory is “unfortunately” encrypted. In early December, the…
Introduction During my internship at Datadog this past winter, I took ownership of a critical service which handles around 40,000 requests per second as of April 2018. To improve its reliability and fault tolerance, I migrated the service’s inter-process communication (IPC) layer from Datadog’s homegrown remote procedure call (RPC) framework to gRPC, an open-source RPC framework made by Google.…
Introduction In this blog post, I will explain the concept of a Random Variable from a software developer’s perspective. Definitions Before we dive in, I want to define a few terminologies, for those of you who are new to probability and statistics. Feel free to skip this section if you think you are too cool for this. Experiment An experiment is an experiment… What would you do if you are asked…
Background As a modern JavaScript developer, I have worked on numerous single page applications with various technology stacks. I know enough of those technologies to be productive. I learned the best practices and learned when to apply them. I tried to stay on the cutting-edge and adopt new programming patterns early. However, I was never confident to say that I understand [insert state mangement…
Introduction React truly revolutionized modern UI development. Instead of imperially mutating the View based on the newly arrived data, React enables us to declare the View as a function of state V = f(state) . In React terms, we call those functions components and thanks to the nature of functions , we are able to compose them and eventually structure our complex UI as a Tree. Additionally, we…
A bit of background It has been a while since I posted my last blog article. Work, gym and side projects were keeping me busy. Anyway, I was walking back home earlier today and for some reason (possibly divine intervention), I started to ponder what is the proper way to design a front end application so that when it scales, it does not break conceptually (fancy phrase for ‘tech debt’ :wink:). Real…