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 articleWriting
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
September 05, 2025
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 articleFebruary 12, 2025
The power of pidfd PID Reuse Can Cause Supervisor Confusion In a traditional PID-based system, the supervisor tracks processes by their PID, leading to potential race conditions...
Read articleFebruary 09, 2025
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 articleArchive
Sep 05, 2025
Software Design and Quality Software Design and Quality Assignments Software Quality Attributes Robert Glass does not include all of the quality at...
Feb 12, 2025
The power of pidfd PID Reuse Can Cause Supervisor Confusion In a traditional PID-based system, the supervisor tracks processes by their PID, leadin...
Feb 09, 2025
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...
Feb 05, 2025
Leveraging eBPF as a feedback loop for runtime system tuning Problem Motivation When building large projects like Android AOSP, system resource lim...
Jan 30, 2025
SELinux Planned follow-up topics: AppArmor, UFW, Seccomp, namespace and cgroup-based isolation, Linux capabilities, and Linux perf vs. Android simp...
Jan 12, 2025
Linux Memory Management What is memory? Fundamentally, memory is just a form of storage. Computers have many layers of storage — CPU Registers, CPU...
Jan 09, 2025
Zotero Library Organizer download from here https://www.zotero.org/download/ Extract it to some folder /opt/zotero/ such that you will have zotero ...
Jan 09, 2025
Add your binary to Ubuntu Launcher and Pin to Dashboard For any application you can create a symbolic link into your /usr/share/bin sudo ln -s /mnt...
Jan 08, 2025
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...
Jan 05, 2025
Linux Perf Perf is powerful: it can instrument CPU performance counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable of ligh...
Jan 04, 2025
Conference Venues SIGOPS HotOS: Hot Topics in Operating Systems – Happens every two years SOSP: Symposium on Operating Systems Principles – Happens...
Dec 20, 2024
dm-verify Block devices' integrity is important because it holds bootloader, system files, etc., and heavily used in Android and Linux kernel. Let'...
Dec 18, 2024
Dumpsys adb shell dumpsys [service] [options] adb shell dumpsys battery Synopsis would be like Battery Service: status: 2 health: 2 present: true l...
Dec 18, 2024
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...
Dec 18, 2024
Android Boot Sequence Power On -> Bootloader -> Linux Kernel -> Init -> Zygote -> System Server -> System UI -> Launcher Init:...
Dec 14, 2024
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 ...
Dec 14, 2024
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...
Dec 13, 2024
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...
Dec 09, 2024
Kfunc https://docs.kernel.org/bpf/kfuncs.htmlhttps://eunomia.dev/en/tutorials/43-kfuncs/ BPF Kernel Functions (kfuncs) are kernel functions exposed...
Dec 04, 2024
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...
Sep 21, 2024
Here, we perform Dead Code Elimination (DCE), Constant Propagation (CP), and Constant Folding(CF) compiler optimizations that are achievable becaus...
Aug 23, 2024
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...
Jun 05, 2024
Add your own syscall to the Linux kernel Below in the implementation section, there are implementation chapters for the user-space side and kernel ...
Apr 04, 2024
Overview Terraform is an open-source infrastructure as code (IaC) tool that allows you to define and provision infrastructure using declarative scr...
Jan 23, 2024
BPF compile, load, run (Includes libbpf skeleton generation concept) What are traceable functions? We can find all the list of functions in /sys/ke...
Dec 13, 2023
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...