2024 New Year Resolutions

This year, I’m excited to revive my blog with regular posts about my adventures in technology. My 2024 new year resolutions are diverse and ambitious: I may add more goals as the year progresses. As we wrap up this year, I extend my warmest wishes to everyone who stumbles upon […]

2024 happy new year

Install Let’s Encrypt for Nginx on Ubuntu 18

This is just a quick note to Install Let’s Encrypt for Nginx on Ubuntu 18. Since there is a new way to automatically renew LE certs on Ubuntu 18, I quick document steps for the reference purpose. Install Let’s encrypt for Nginx: apt install -y python-certbot-nginx Issue necessary certs for […]


Using tcpdump to capture packages on the server

I come to a request to capture all out-going network connections to be sure no sensitive data will be transferred outside by any current scripts. We do all know that there is a simple tcpdump tool that can do this requirement. So in this short entry, I will note necessary […]


Running multiple web applications on 1 server with Docker

Many developers have asked me the effective way to test their code in a multi-server environment. In the most case, I suggested them to go with Docker and Docker compose so that everything can be simulated in an effective manner. And in most of the case, the reverse proxy/balancer services […]


MySQL Document Store – NoSQL solution for MySQL

As you might know, MySQL introduces Document Store (via JSON field) from version 5.7 and version 8.0. Since currently, it is in an early stage, the performance is not really good compared to its direct competitor: MongoDB. However, this is really a good move for MySQL after their introduction of MySQL […]


MySQL High Availability with ProxySQL and MySQL Group Replication

As you may know, I started working with high load MySQL servers in 2010 (and then there are several entries that were noted in 2012 after I purchased back this domain :-D) and I mostly go with multi-slaves replications. These might be true in many practical cases where most of […]


Profiling PHP Applications with Tideways XHProf and XHGui

This article focuses on how to profile PHP applications with Tideways XHProf and XHGui. I myself prefer this approach than the old XDebug and Webgrind so most of my recent projects have been utilizing this. Since this is just simply a note, Google is your friend for the mentioned tools. […]


Install HAProxy with SSL Termination

These days I have been working with scaling solutions for a PHP framework. Previously I came with Nginx as load balancers, however, with the requirement of health check and failover, I need to come to HAProxy this time. So I write this entry as a note for installing HAProxy with SSL […]


Load Testing with Locust

You might be familiar with load testing tools such as Apache Benchmark (ab), siege, Apache JMeter and cloud services such as BlazeMeter, LoadImpact, Loader.io, etc. I tried many other tools, and found that there is no tool that completely satisfies me: ab and siege are too plain and simple without scenario, JMeter needs time […]


Install RocketChat with Docker Compose for Development

If you ask me: what the hell Rocketchat is, then you should better ask Google. This article notes steps to install RocketChat with Docker Compose for development purpose. 1. Create docker-compose.yml I want to expose the mongo port (27017) to the host network so I also declare it in the ports […]