Writing

Technical writing on systems, software, and implementation details

These posts document practical systems work: Linux internals, Android internals, networking, observability, tooling, and software engineering. The aim is to make them useful when you need to build, debug, or measure something.

Featured posts

Start here

September 05, 2025

Software Design & Quality

Software Design and Quality Software Design and Quality Assignments Software Quality Attributes Robert Glass does not include all of the quality attributes that are in McCall’s ...

Read article

February 09, 2025

List All Tracepoints of Your System

List all tracepoints of your system From inside qemu, start a python based webserver, go to qemu, make qemu-run root@q:/linux-dev-env# python3 -m http.server 52223 --directory ....

Read article

Archive

All posts

Sep 05, 2025

Software Design & Quality

Software Design and Quality Software Design and Quality Assignments Software Quality Attributes Robert Glass does not include all of the quality at...

Open

Feb 09, 2025

List All Tracepoints of Your System

List all tracepoints of your system From inside qemu, start a python based webserver, go to qemu, make qemu-run root@q:/linux-dev-env# python3 -m h...

Open

Feb 05, 2025

Runtime Tuning for Linux Systems

Leveraging eBPF as a feedback loop for runtime system tuning Problem Motivation When building large projects like Android AOSP, system resource lim...

Open

Jan 30, 2025

SELinux

SELinux Planned follow-up topics: AppArmor, UFW, Seccomp, namespace and cgroup-based isolation, Linux capabilities, and Linux perf vs. Android simp...

Open

Jan 12, 2025

Linux Memory Management

Linux Memory Management What is memory? Fundamentally, memory is just a form of storage. Computers have many layers of storage — CPU Registers, CPU...

Open

Jan 09, 2025

Zotero Library Organizer

Zotero Library Organizer download from here https://www.zotero.org/download/ Extract it to some folder /opt/zotero/ such that you will have zotero ...

Open

Jan 08, 2025

Linux Troubleshooting Tools

Linux troubleshooting tools uptime upgautam@amd:~$ uptime 20:09:14 up 1 day, 9:38, 1 user, load average: 0.18, 0.33, 0.31 It tells the load average...

Open

Jan 05, 2025

Linux Perf Performance Analysis Tool

Linux Perf Perf is powerful: it can instrument CPU performance counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable of ligh...

Open

Jan 04, 2025

Research Paper Venues

Conference Venues SIGOPS HotOS: Hot Topics in Operating Systems – Happens every two years SOSP: Symposium on Operating Systems Principles – Happens...

Open

Dec 20, 2024

dm-verify

dm-verify Block devices' integrity is important because it holds bootloader, system files, etc., and heavily used in Android and Linux kernel. Let'...

Open

Dec 18, 2024

Android Dumpsys

Dumpsys adb shell dumpsys [service] [options] adb shell dumpsys battery Synopsis would be like Battery Service: status: 2 health: 2 present: true l...

Open

Dec 18, 2024

Android Dummy System App

Dummy Android System App I ran the commands below from two locations: (1) the AOSP root folder and (2) the directory where the Cuttlefish Android e...

Open

Dec 18, 2024

Android Boot Sequence

Android Boot Sequence Power On -> Bootloader -> Linux Kernel -> Init -> Zygote -> System Server -> System UI -> Launcher Init:...

Open

Dec 14, 2024

Build AOSP

AOSP Download AOSP Source # takes hours depending on your internet speed cd aosp # Note that we are init-ing based on platform's manifest repo ...

Open

Dec 14, 2024

AOSP Make a Change

AOSP–Make a Change and Push Code for Code Review 1. cd frameworks/native 2. upgautam@amd:/opt/aosp/frameworks/native$ repo start make_a_change . St...

Open

Dec 13, 2024

Kati

Kati It is used to accelerate incremental build of Android AOSP. Clone of make but modified make null buld: where just one file changed Vs. full bu...

Open

Dec 09, 2024

Custom Kfunc

Kfunc https://docs.kernel.org/bpf/kfuncs.htmlhttps://eunomia.dev/en/tutorials/43-kfuncs/ BPF Kernel Functions (kfuncs) are kernel functions exposed...

Open

Dec 04, 2024

Basic TCP/UDP Communication in Linux

Basic client-server communication using both TCP and UDP. Here we provide a basic client server communication using both TPC and UDP. UDP User Data...

Open

Aug 23, 2024

IPTables Router

We create a ubuntu server a iptables based router Router Ubuntu sudo gedit /etc/sysctl.conf net.ipv4.ip_forward = 1 sudo sysctl -p sudo iptables -t...

Open

Apr 04, 2024

Terraform Infrastructure as Code

Overview Terraform is an open-source infrastructure as code (IaC) tool that allows you to define and provision infrastructure using declarative scr...

Open

Dec 13, 2023

Running Static Website Using Jekyll

Clone this GitHub repo in your favorite IDE (e.g., Ruby Mine). You can re-write all git histories. Create a GitHub repo something like <websiten...

Open