<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Wesley Bertipaglia</title>
    <description>The latest articles on DEV Community by Wesley Bertipaglia (@wesleybertipaglia).</description>
    <link>https://dev.to/wesleybertipaglia</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1098447%2F08c69012-d872-4474-93fb-33891db21a31.jpg</url>
      <title>DEV Community: Wesley Bertipaglia</title>
      <link>https://dev.to/wesleybertipaglia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wesleybertipaglia"/>
    <language>en</language>
    <item>
      <title>I/O &amp; Syscalls Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Sat, 24 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/io-syscalls-explained-4hia</link>
      <guid>https://dev.to/wesleybertipaglia/io-syscalls-explained-4hia</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 7/8 of my Operating Systems Explained series is out.&lt;/p&gt;

&lt;p&gt;This one is about I/O and system calls: blocking versus non-blocking I/O, multiplexing with &lt;code&gt;poll&lt;/code&gt; and &lt;code&gt;epoll&lt;/code&gt;, the layers of buffering along the data path, and one &lt;code&gt;read&lt;/code&gt; from the program down to the hardware and back.&lt;/p&gt;

&lt;p&gt;It also explains why the C library buffers, why &lt;code&gt;readv&lt;/code&gt; exists, and why &lt;code&gt;gettimeofday&lt;/code&gt; often never crosses into the kernel at all.&lt;/p&gt;

&lt;p&gt;If you've ever wondered why &lt;code&gt;epoll&lt;/code&gt; exists, this post walks the problem it solves: ten thousand connections, and why one thread per connection stops being an option.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/xpbttuoq" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/xpbttuoq&lt;/a&gt;&lt;/p&gt;

</description>
      <category>computerscience</category>
      <category>learning</category>
      <category>linux</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Filesystems Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Thu, 22 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/filesystems-explained-57ie</link>
      <guid>https://dev.to/wesleybertipaglia/filesystems-explained-57ie</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 6/8 of my Operating Systems Explained series is out.&lt;/p&gt;

&lt;p&gt;This one is about filesystems: files and inodes, directories as tables all the way down, hard links and cheap renames, journaling and crash consistency, permissions, and the path a single &lt;code&gt;open&lt;/code&gt; takes from a name to bytes.&lt;/p&gt;

&lt;p&gt;My favorite detail: separating names from metadata is what makes renaming cheap and hard links possible. Renaming rewrites a directory entry — it never moves a single byte of the file.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/dlxizd4r" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/dlxizd4r&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>learning</category>
      <category>computerscience</category>
      <category>linux</category>
    </item>
    <item>
      <title>Virtual Memory Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Tue, 20 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/virtual-memory-explained-31p0</link>
      <guid>https://dev.to/wesleybertipaglia/virtual-memory-explained-31p0</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 5/8 of my Operating Systems Explained series is out.&lt;/p&gt;

&lt;p&gt;This one is about virtual memory: address spaces, paging and page tables, the TLB, page faults and swap, and how &lt;code&gt;mmap&lt;/code&gt;, &lt;code&gt;brk&lt;/code&gt;, and &lt;code&gt;malloc&lt;/code&gt; finally get memory from the OS.&lt;/p&gt;

&lt;p&gt;It also closes a loop from the Computers Explained series: the CPU post waved at &lt;code&gt;malloc&lt;/code&gt; as library bookkeeping. This is the machinery underneath it — how the same address numbers in two processes land in different physical frames, enforced by hardware on every single access.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/j5n50ly4" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/j5n50ly4&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
    <item>
      <title>Scheduling Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Sun, 18 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/scheduling-explained-3nb4</link>
      <guid>https://dev.to/wesleybertipaglia/scheduling-explained-3nb4</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 4/8 of my Operating Systems Explained series is out.&lt;/p&gt;

&lt;p&gt;This one is about scheduling: how the OS shares CPUs among processes and threads, what a context switch really costs, classic policies from FIFO to fair-share, priorities, preemption, and multicore.&lt;/p&gt;

&lt;p&gt;The part that surprised me most: the visible cost of a switch is small, but the hidden cost — cold caches and a cold TLB — is what actually pays. Nobody bills for it, and yet it's the number that decides how often you can switch.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/fwq0k4n2" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/fwq0k4n2&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
    <item>
      <title>Threads &amp; Concurrency Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Fri, 16 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/threads-concurrency-explained-1nai</link>
      <guid>https://dev.to/wesleybertipaglia/threads-concurrency-explained-1nai</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 3/8 of my Operating Systems Explained series is out.&lt;/p&gt;

&lt;p&gt;This one is about threads and concurrency: threads versus processes, shared memory and race conditions, mutexes and semaphores, and deadlock with its four conditions.&lt;/p&gt;

&lt;p&gt;Processes isolate you from each other by default. Threads offer no protection at all — they hand you speed and easy communication, and charge you with correctness.&lt;/p&gt;

&lt;p&gt;If you've ever written &lt;code&gt;balance = balance + 1&lt;/code&gt; and wondered why the total came out wrong, this post explains it.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/ppmfmhcv" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/ppmfmhcv&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
    <item>
      <title>Processes Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Wed, 14 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/processes-explained-3n44</link>
      <guid>https://dev.to/wesleybertipaglia/processes-explained-3n44</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 2/8 of my Operating Systems Explained series is out.&lt;/p&gt;

&lt;p&gt;This one is about processes: programs versus processes, the process control block, process states, &lt;code&gt;fork&lt;/code&gt; and &lt;code&gt;exec&lt;/code&gt;, and how virtual memory isolates one crashing program from the rest of the machine.&lt;/p&gt;

&lt;p&gt;The idea I keep coming back to: a process is just state the kernel knows how to save and restore. If you stop saving that state exactly, the illusion that a hundred programs are alone on the machine collapses.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/s8qmq1mn" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/s8qmq1mn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
    <item>
      <title>The OS Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Mon, 12 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/the-os-explained-od7</link>
      <guid>https://dev.to/wesleybertipaglia/the-os-explained-od7</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;I've just published a new series about operating systems: what actually happens between your programs and the hardware.&lt;/p&gt;

&lt;p&gt;The previous series took a computer apart. This one opens it up: how one CPU ends up running a browser, an editor, and a hundred background services at once, and how the kernel keeps control of the machine while barely running.&lt;/p&gt;

&lt;p&gt;The goal is to understand the OS from the ground up, one concept at a time, from syscalls to the power button.&lt;/p&gt;

&lt;p&gt;This is the first post in the series (1/8): &lt;a href="https://www.wesleybertipaglia.com/blog/zkb3xkdy" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/zkb3xkdy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you've ever wondered what the boundary between your code and the machine really is, this is where the series starts.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
    <item>
      <title>The Most Flexible Machine Ever Built</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Thu, 08 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/the-most-flexible-machine-ever-built-h9g</link>
      <guid>https://dev.to/wesleybertipaglia/the-most-flexible-machine-ever-built-h9g</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Finale of my Computers series (9/9) is out.&lt;/p&gt;

&lt;p&gt;No new hardware this time - stepping back to ask why this machine matters: the stored-program idea, the patterns behind everything, and the bigger picture after bits, logic, CPU, memory, storage, I/O and buses.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/eyhl1ygp" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/eyhl1ygp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks to everyone who followed along - what series should come next?&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
    <item>
      <title>Computer Buses &amp; Interconnects Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Tue, 06 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/computer-buses-interconnects-explained-3f40</link>
      <guid>https://dev.to/wesleybertipaglia/computer-buses-interconnects-explained-3f40</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 8/9 of my Computers series is out.&lt;/p&gt;

&lt;p&gt;This one is about buses and interconnects: data/address/control buses, CPU-memory paths, PCIe, USB, and bandwidth - how all computer parts communicate.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/es12ffyu" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/es12ffyu&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
    <item>
      <title>Input and Output Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Sun, 04 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/input-and-output-explained-4ibf</link>
      <guid>https://dev.to/wesleybertipaglia/input-and-output-explained-4ibf</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 7/9 of my Computers series is out.&lt;/p&gt;

&lt;p&gt;This one is about input and output: keyboards, displays, audio, controllers, ports, interrupts and DMA - how the computer talks to the outside world.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/x0g3dogf" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/x0g3dogf&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
    <item>
      <title>Storage Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Fri, 02 Oct 2026 03:00:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/storage-explained-4jb6</link>
      <guid>https://dev.to/wesleybertipaglia/storage-explained-4jb6</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 6/9 of my Computers series is out.&lt;/p&gt;

&lt;p&gt;This one is about storage: memory vs persistence, how HDDs and SSDs work, NAND flash, sectors/blocks, and sequential vs random access - where your data lives when power is off.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/s6kfogsy" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/s6kfogsy&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
    <item>
      <title>Memory Explained</title>
      <dc:creator>Wesley Bertipaglia</dc:creator>
      <pubDate>Wed, 30 Sep 2026 03:12:00 +0000</pubDate>
      <link>https://dev.to/wesleybertipaglia/memory-explained-11mj</link>
      <guid>https://dev.to/wesleybertipaglia/memory-explained-11mj</guid>
      <description>&lt;p&gt;Hey dev.to 👋&lt;/p&gt;

&lt;p&gt;Post 5/9 of my Computers series is out.&lt;/p&gt;

&lt;p&gt;This one is about memory: cells and addresses, RAM vs ROM, SRAM vs DRAM, latency vs bandwidth, and the memory hierarchy - why cache exists and why memory speed shapes performance.&lt;/p&gt;

&lt;p&gt;Read here: &lt;a href="https://www.wesleybertipaglia.com/blog/5atxjdiq" rel="noopener noreferrer"&gt;https://www.wesleybertipaglia.com/blog/5atxjdiq&lt;/a&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>computerscience</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
