Building Babel - a fuzzy LLM vs the OS
A post about reliability, memory, and the compiler we didn’t mean to write. When people talk about “prompt engineering,” it often sounds like a bag of tricks: write clearer instructions, add examp...
A post about reliability, memory, and the compiler we didn’t mean to write. When people talk about “prompt engineering,” it often sounds like a bag of tricks: write clearer instructions, add examp...
Disclaimer: This is not a language-war post. No “X vs Y”. This is a profiling detective story about my Rust TCP forwarder oi. 0) Prologue — The Courthouse Lobby Me: I wrote a Rust TCP port ...
It’s recommended to read The Book, if you don’t have experience with C/C++. Further reading: Rustonomicon Memory Allocation in Rust: The Foundation Before diving into asynchronous programming ...
Before we start Rust provides powerful tools for metaprogramming, this blog aims to make rust beginners be fearless to them (“magical” macros). Recommended reading (If you familiar with Cpp): Code...
Before we start Kioptrix Level 1 is one of the earliest beginner-focused vulnerable virtual machines released on VulnHub (first published 2010 by the Kioptrix author), which can be downloaded from ...
Day 3 — perf and perf+ftrace integration Further reading: perf documentation, Brendan Gregg’s perf guides. Lab 1 — perf basics and sampling Record a simple CPU profile: sudo perf record -F 99 -a -...
Day 2 — kprobes & uprobes [!WARNING] Probing kernel functions can crash the system if you probe unsuitable symbols or use wrong fetch args. Keep an extra SSH session open in case you need to...
Environment setup I’m using Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-153-generic x86_64). Before diving into kernel tracing, we firstly need to install tools/dependencies. sudo apt update sudo apt inst...
Day 0: Welcome to the Kernel Journey Welcome to this hands-on exploration of Linux kernel tracing and dynamic instrumentation! This blog series is designed to take you from a beginner to a practit...