Memory, Data Structures, Caching, and Concurrency

A computer is built from circuits that store bits and move them between memory and processing units. At the hardware level, a memory address identifies a location, and the bits stored there encode data or instructions. But the hardware alone does not explain how a program manages memory, why one data structure performs better than … Continue reading Memory, Data Structures, Caching, and Concurrency

From MOSFETs to the CPU

How can these simple components be connected to store data, perform calculations, and execute a program? A MOSFET, or metal-oxide-semiconductor field-effect transistor, is a fundamental building block of modern digital electronics. It acts like an electrically controlled switch: a voltage applied to its gate controls whether current can flow between its source and drain terminals. … Continue reading From MOSFETs to the CPU

From Assembly to Machine Code to Electrical Signals

A computer program looks very abstract when we write it in C, Python, or another high-level language. But underneath the abstraction, the CPU eventually has to execute a sequence of bits. Consider this simple operation: movl $42, -4(%rbp) In plain English, this means: Take the number 42 and store it at the memory address obtained … Continue reading From Assembly to Machine Code to Electrical Signals

Copilot Studio or Claude Desktop? the Difference is Harness

I recently looked into Microsoft Copilot Studio because Microsoft now supports connecting external MCP servers to it. My first impression was that Copilot Studio is very different from Claude Code, and I think the difference is mainly in the harness. Claude Code is essentially a professional agent workbench. The LLM is surrounded by a strong … Continue reading Copilot Studio or Claude Desktop? the Difference is Harness

From HTTPS to SSO: How RSA, SHA-256, JWT, OAuth, and TLS Fit Together

There are lot of terms like RSA, SHA-256, JWT, OAuth, OpenID Connect, SSO, TLS, and HTTPS. At first they seemed like a collection of unrelated technologies. In fact, they sit at different layers and solve different problems. The easiest way to understand them is to start with the cryptographic building blocks. RSA is a public/private-key … Continue reading From HTTPS to SSO: How RSA, SHA-256, JWT, OAuth, and TLS Fit Together

How Machines and Computers Communicate

Machines and computers use different communication protocols because they have different communication requirements. CAN, Modbus, EtherCAT, IP, TCP, UDP, HTTP, and TLS are examples of protocols that operate at different levels and solve different problems. CAN (Controller Area Network) is designed for multiple electronic controllers to communicate over a shared bus. It is widely used … Continue reading How Machines and Computers Communicate