Avoid Re-Running NPM/YARN in CMake targets

Introduction Despite all the webpacks and gulp and whatever build/package system you have in your npm/yarn project, chances are you have cmake that orchestrates your build. In my case, our organization requires project to be built/package by cmake, mainly to simplify our build system. Effectively reducing it to run: git clone <project url> cmake … … Read more

How Open Source Development Differ

Introduction I currently worked for a data warehouse company. My job there involves working on an open source software (kibana) that talks to our closed source version of elasticsearch (talks to our data warehouse). After being around 1 year with the company, I realize I often switch to two types of mindset when switching between … Read more

Design By Contract And Functional Programming, An Inseparable Pair In Transpilers

For the past 10 months, I am fortunate enough to be assigned to work on a transpiler between elasticsearch and sonar (basically MongoDB syntax with our own proprietary extensions). By creating this transpiler, this allowed our organization to use a proprietary version of Kibana with our MongoDB like database system. This experience has forced me to extract … Read more

Packaging Huge NodeJS file in RPM

My work involves managing and developing a NodeJS project. Recently, the whole project, including the npm dependencies have reached 1GB. This caused us to keep getting: Unable to create immutable headers After searching around, I found that Software Development at BBC has encountered the same problem and they made a Medium article about it.  But … Read more

Escape to Lake Hayward

A cold damp Sunday morning in my abode. Dark clouds have descended near the sea, blocking the sun. I’ve spent all my Saturday recovering from the hustle and bustle of work and decided to go for a long hike. By browsing the internet, I ended up settling on a 15km hike on Lake Hayward. The … Read more

Deploying Kibana with Pre-Installed Plugins

Kibana is an open source project. Modifying and developing over it is therfore a natural thing to do. Organizations might want to do it to fit their various specific needs. Although, a developer could dive right in the src/ directory and fiddle with the code immediately, a more proper way of customizing Kibana is through a … Read more

Chef on Rasperry Pi

I hope you are familiar with bash or C++‘s stream operator >>. If not, this post’s banner is not saying Chef is greater than Raspberry Pi, but rather, adding Chef to Raspberry Pi. In this post, I’ll do just that. I’m currently in a couple of job interviews in which some technical tasks are running on my 2 … Read more

Handwritten Digit Recognition with TensorFlow

I recently started playing with neural nets via TensorFlow. It’s a big departure to my reinforcement learning background. But I must say, the learning is usually the other way around for most people. That is, they first learn neural nets, then reinforcement learning. That being said, many concepts overlap. One of the many things that … Read more