Operating Systems

`SOCK_STREAM` is Not TCP: Understanding Socket Types vs. Protocols

SOCK_STREAM is Not TCP: Understanding Socket Types vs. Protocols

Many developers assume SOCK_STREAM is synonymous with TCP. It isn’t. Learn why socket types and transport protocols are distinct concepts, and how …

Read More about `SOCK_STREAM` is Not TCP: Understanding Socket Types vs. Protocols
*It Worked Before*: How an OS Upgrade Broke My Rust Sockets

It Worked Before: How an OS Upgrade Broke My Rust Sockets

I didn’t change a single line of code. I just upgraded my OS, and suddenly my Rust tool stopped working. The error was blunt: Error: Address …

Read More about *It Worked Before*: How an OS Upgrade Broke My Rust Sockets
Beyond the Port: How the OS Actually Binds and Connects

Beyond the Port: How the OS Actually Binds and Connects

When I first started learning networking, I thought a ‘Port’ was just like a physical socket on the back of a server. You plug a process …

Read More about Beyond the Port: How the OS Actually Binds and Connects
From Bare Metal to Containers: A Developer's Guide to Execution Environments

From Bare Metal to Containers: A Developer’s Guide to Execution Environments

Ever had that dreaded ‘but it works on my machine!’ moment? The culprit is often a subtle difference in the execution environment—the …

Read More about From Bare Metal to Containers: A Developer's Guide to Execution Environments
Beyond 127.0.0.1: You Own 16 Million Loopback Addresses

Beyond 127.0.0.1: You Own 16 Million Loopback Addresses

Many developers use localhost and 127.0.0.1 interchangeably, assuming loopback is limited to a single address. However, the IPv4 specification …

Read More about Beyond 127.0.0.1: You Own 16 Million Loopback Addresses
How a Program Binary Becomes a Running Process

How a Program Binary Becomes a Running Process

Have you ever stopped to think about what really happens when you run a program? Not just clicking “Run” or executing a command in the …

Read More about How a Program Binary Becomes a Running Process