<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://mikefox2k.de/feed.xml" rel="self" type="application/atom+xml" /><link href="https://mikefox2k.de/" rel="alternate" type="text/html" hreflang="en" /><updated>2026-09-18T14:01:04+00:00</updated><id>https://mikefox2k.de/feed.xml</id><title type="html">~/dev/low-level</title><subtitle>A developer blog documenting the journey from web and full-stack development to C, Rust, systems programming, and memory management.</subtitle><author><name>Mikey</name></author><entry><title type="html">Going Down the Stack: Why a Full-Stack Dev is Learning Low-Level Engineering</title><link href="https://mikefox2k.de/2026/09/going-down-the-stack/" rel="alternate" type="text/html" title="Going Down the Stack: Why a Full-Stack Dev is Learning Low-Level Engineering" /><published>2026-09-17T08:00:00+00:00</published><updated>2026-09-17T08:00:00+00:00</updated><id>https://mikefox2k.de/2026/09/going-down-the-stack</id><content type="html" xml:base="https://mikefox2k.de/2026/09/going-down-the-stack/"><![CDATA[<p>For years, my world has been defined by high-level abstractions: V8 engines, garbage collection, REST APIs, modern frontend frameworks—and CSS, of course. (The latter is a total pain.) You write code, the runtime engine handles the memory, and the browser renders the result. It works—until you start wondering what actually happens under the hood.</p>

<p>I’ve always questioned how things work behind the scenes and had a rough idea, but I could never explain it cleanly. As Albert Einstein (supposedly) said: “If you can’t explain it simply, you don’t understand it well enough.”</p>

<p>Although I completed a formal vocational degree in application development (<em>Fachinformatiker für Anwendungsentwicklung</em>), most of what I use daily as a full-stack engineer is self-taught. I love picking up new tools, but relying solely on managed environments has left a blind spot in my understanding of modern software architecture.</p>

<h3 id="why-go-low-level-now">Why Go Low-Level Now?</h3>

<ul>
  <li><strong>Understanding the core tool:</strong> Starting at the foundation—learning how the computer itself actually operates beneath our abstractions.</li>
  <li><strong>Understanding Memory Management:</strong> Moving away from automatic garbage collection to manually managing allocation on the Stack and Heap.</li>
  <li><strong>Performance &amp; Hardware:</strong> Grasping CPU cache lines, pointer arithmetic, and how high-level code is compiled into machine instructions.</li>
  <li><strong>Better Architectural Decisions:</strong> Knowing how system resources work behind the scenes makes you write better high-level code.</li>
</ul>

<h3 id="the-roadmap">The Roadmap</h3>

<p>I’m starting from the ground up—though this order is strictly “without warranty” and might shift as I run into unexpected rabbit holes:</p>

<ol>
  <li><strong>C Fundamentals:</strong> Pointers, memory allocation (<code class="language-plaintext highlighter-rouge">malloc</code>/<code class="language-plaintext highlighter-rouge">free</code>), and bitwise operations.</li>
  <li><strong>System Calls &amp; Assembly:</strong> Understanding the boundary between user space and the operating system kernel.</li>
  <li><strong>Rust or Zig:</strong> Exploring modern systems programming with compile-time safety memory models.</li>
</ol>

<h3 id="what-to-expect-from-this-blog">What to Expect From This Blog</h3>

<p>This is not a space for polished, expert-level tutorials. Instead, expect:</p>

<ul>
  <li>Raw notes and mental models as I learn.</li>
  <li>Breakdowns of deep-dive rabbit holes and debugging sessions.</li>
  <li>Mental breakdowns as well</li>
</ul>

<p>If you’re also a web developer looking to understand what happens and why it happens, follow along!</p>]]></content><author><name>mikefox2k</name></author><category term="meta" /><category term="introduction" /><summary type="html"><![CDATA[For years, my world has been defined by high-level abstractions: V8 engines, garbage collection, REST APIs, modern frontend frameworks—and CSS, of course. (The latter is a total pain.) You write code, the runtime engine handles the memory, and the browser renders the result. It works—until you start wondering what actually happens under the hood.]]></summary></entry></feed>