<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Engineering on MLog</title><link>http://blog.ghanmi.me/categories/engineering/</link><description>Recent content in Engineering on MLog</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Tue, 24 Mar 2026 01:38:01 +0100</lastBuildDate><atom:link href="http://blog.ghanmi.me/categories/engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>Tracing Tool with eBPF</title><link>http://blog.ghanmi.me/posts/building-an-ebpf-tracing-tool/</link><pubDate>Mon, 12 Aug 2024 00:00:00 +0000</pubDate><guid>http://blog.ghanmi.me/posts/building-an-ebpf-tracing-tool/</guid><description>What Is eBPF, and Why Should You Care? eBPF (extended Berkeley Packet Filter) started life as a packet filtering mechanism, but it has evolved into a general-purpose in-kernel virtual machine. The key properties that make it so powerful:
Safety. eBPF programs are verified before they run. The kernel&amp;rsquo;s built-in verifier performs static analysis to guarantee your program terminates, doesn&amp;rsquo;t access out-of-bounds memory, and doesn&amp;rsquo;t crash the kernel. You get kernel-level access with userspace-level safety guarantees.</description></item></channel></rss>