<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Low-Level on Ethan-ZYF</title><link>https://ethanzyf.com/tags/low-level/</link><description>Recent content in Low-Level on Ethan-ZYF</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 12 May 2026 00:00:00 -0700</lastBuildDate><atom:link href="https://ethanzyf.com/tags/low-level/index.xml" rel="self" type="application/rss+xml"/><item><title>Day 2: strace + Common Syscalls in Practice</title><link>https://ethanzyf.com/blog/day2-strace/</link><pubDate>Tue, 12 May 2026 00:00:00 -0700</pubDate><guid>https://ethanzyf.com/blog/day2-strace/</guid><description>&lt;p&gt;A practical guide to &lt;code&gt;strace&lt;/code&gt;: flag cheat sheet, how to read program startup as three distinct layers (ld.so → libc init → main), annotated syscalls, and the gotchas you actually hit (fd reuse races, EINTR, short writes, locale noise).&lt;/p&gt;</description></item><item><title>Day 1: Linux Syscall Internals</title><link>https://ethanzyf.com/blog/day1-syscalls/</link><pubDate>Mon, 11 May 2026 00:30:00 -0700</pubDate><guid>https://ethanzyf.com/blog/day1-syscalls/</guid><description>&lt;p&gt;A deep dive into how Linux system calls actually work on x86_64: the ABI, the &lt;code&gt;syscall&lt;/code&gt; instruction&amp;rsquo;s hardware side effects, the full user→kernel path, and a categorized cheat sheet of the syscalls worth knowing.&lt;/p&gt;</description></item></channel></rss>