What is a Framework? And good Frameworks

Touchy-Feely Version I’ve been using this word a lot at work lately. Framework. I’m sure they thought it at school what a framework is, but I was never really able to put it in words. Well, I was never good with words anyways (almost got F on multiple English University courses). But after in the… Continue reading What is a Framework? And good Frameworks

Open Source Project Branching Model

Introduction This document describes how SonarK works with the upstream project it is forked from, which is Kibana. This is in an attempt to make the upgrading process more manageable by a human being. Problems With “Bulk Upgrade” Up until the writing of this document, upgrades have been performed once every few months when we… Continue reading Open Source Project Branching Model

Categorized as Dev

Value overflows with <input type=”number”/>

Problem We recently hit a problem where users pasting large numbers in a <input type=”number”/> (part of a query input box), causing a wrong result. After further investigation, we realized that numbers (integer or floating points) exceeding 2^51 causes problems in Firefox, and probably just a bigger precision would cause problems in chrome. At the… Continue reading Value overflows with <input type=”number”/>

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 …… Continue reading Avoid Re-Running NPM/YARN in CMake targets

Categorized as DevOps

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… Continue reading How Open Source Development Differ

Categorized as Career

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… Continue reading Design By Contract And Functional Programming, An Inseparable Pair In Transpilers

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… Continue reading Packaging Huge NodeJS file in RPM

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… Continue reading Escape to Lake Hayward

Categorized as Hiking, Misc

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… Continue reading Chef on Rasperry Pi