Computer

Computer is not only a tool for working or gamming, but also a tool to solve daily problems.

String Comparison Micro-optimization on X86, ARM and Xtensa

This article discusses the difference in GCC generated machine code between comparing a string character by character, as a whole multi-byte data unit, and using memcmp() function on X86, ARM and Xtensa for both aligned and misaligned strings. It analyzes the machine code generated by GCC, shows the code size, operation count and memory usage in different senorials.

--by Captdam @ Sep 28, 2026

ESP-32 TCP Baremetal HTTP server

This article demonstrates how to use the low-level TCP/IP socket to build a HTTP server for static or fixed-length response and minimum HTTP response header on ESP-32 in ESP-IDF, without using the HTTP library. It also discusses how lwIP works for TCP/IP network socket send, shutdown and close.

--by Captdam @ Sep 9, 2026

Bearweb Memory Optimization

PHP optimization on the Bearweb CMS to reduce memory usage and chance of OOM.

--by Captdam @ Feb 2, 2026

Multilingual Webpage

In this article, I will discuss a few ways I used to create multilingual webpages. I will also include my thoughts about the advantages and disadvantages of these ways.

--by Captdam @ Feb 2, 2026

Tiling PDF

Divide large PDF into tiles on multiple page to allow print on small-size paper, suit for map and civil drawing

--by Captdam @ Oct 16, 2025

Engineering drawing PDF Titleblock and Index Generator

Merge, add text, pictures and custom titleblock to PDF engineering drawing, and generate index.

--by Captdam @ Sep 20, 2024