Most engineering concepts are easier than they look once someone explains them clearly. This page collects short explainer notes on the fundamentals I find myself re-explaining most often, each paired with the best external visual or video I have found on the topic.
APIs
An API is a contract: this is what I will accept, this is what I promise to return, this is how I will behave when something goes wrong. Everything else - REST, GraphQL, gRPC, WebSockets - is just a different way of expressing that contract over the wire.
Types of API testing
There are nine commonly-cited categories of API test: functional, load, security, reliability, runtime error, validation, UI, penetration, and fuzz. In practice most teams do contract tests and load tests well, security tests occasionally, and the rest intermittently.
Explaining 9 types of API testing. The method to download the high-resolution PDF is available at the end.
— Alex Xu (@alexxubyte) October 26, 2023
🔹 Smoke Testing
This is done after API development is complete. Simply validate if the APIs are working and nothing breaks.
🔹 Functional Testing
This creates a test plan… pic.twitter.com/SIsERpQVX9
API vs SDK
An API is the contract; an SDK is a wrapper library that makes calling the API in a specific language less painful. You can always call the API directly - you almost never should, because the SDK handles retries, pagination, auth, and rate limits for you.
API Vs SDK!
— Alex Xu (@alexxubyte) October 27, 2023
API (Application Programming Interface) and SDK (Software Development Kit) are essential tools in the software development world, but they serve distinct purposes:
API:
An API is a set of rules and protocols that allows different software applications and services… pic.twitter.com/cclxtknqRu
Databases
Six database types worth knowing
Relational, document, key-value, column-family, graph, and time-series. Most production systems use more than one, picked per workload rather than chosen as a single organisational standard. “Polyglot persistence” is the term, and the hard part is not picking the database - it is keeping them in sync.
6 Database Types You Must Know
— Nelson Djalo | Amigoscode (@AmigosCode) October 26, 2023
1. Relational Database đź’Ľ
  - Data Model: Organizes data into tables with rows and columns.
  - Examples: MySQL, PostgreSQL, Oracle, SQL Server.
  - Key Features: ACID compliance, strong data consistency, structured data storage, support for SQL… pic.twitter.com/yWZN2OAgfL
Why is Redis fast
The short answer: everything lives in memory, the data structures are purpose-built, and the single-threaded event loop avoids lock contention. The longer answer involves the specifics of epoll, the Redis protocol, and pipelining.
Why is Redis Fast?
— Sahn Lam (@sahnlam) October 30, 2023
Redis is fast for in-memory data storage. Its speed has made it popular for caching, session storage, and real-time analytics. But what gives Redis its blazing speed? Let's explore:
RAM-Based Storage
At its core, Redis primarily uses main memory for storing… pic.twitter.com/yDe4AZ5ojh
DNS
DNS is the phone book of the internet, and like a phone book it is eventually consistent, aggressively cached, and occasionally wrong. Most production outages I have seen that looked like “the internet is broken” were actually DNS - either a stale record, a propagation delay, or a resolver misconfigured somewhere.
How DNS Works#infosec #cybersecurity #pentesting #redteam #informationsecurity #CyberSec #networking #networksecurity #infosecurity #cyberattacks #security #linux #cybersecurityawareness #bugbounty #bugbountytips pic.twitter.com/Q41sXGAcg5
— Hacking Articles (@hackinarticles) October 29, 2023
Git
Git’s popularity comes down to three things: it is distributed (every clone is a full copy), branching is cheap enough to be a casual operation, and the content-addressable object model is surprisingly simple once you understand it. The confusion most people hit comes from the command-line interface, which is famously inconsistent, rather than from the model underneath.
What makes Git so popular? How does it work?
— Sahn Lam (@sahnlam) October 28, 2023
Before Git, developers struggled with source control. Systems like CVS and Subversion caused:
- Collaboration Bottlenecks - Pushing to a shared central codebase created bottlenecks and isolated work.
- Slow Branching/Merging -… pic.twitter.com/KEF4GHyZ8r
Linux
How the Linux boot process works
BIOS or UEFI hands control to the bootloader (usually GRUB), which loads the kernel and an initial RAM disk. The kernel mounts the root filesystem and launches PID 1 (systemd on most modern distributions), which then starts every other service according to its dependency graph.
Programming Languages
How C++, Java, and Python differ under the hood
C++ compiles directly to machine code and has no runtime garbage collector - you manage memory yourself. Java compiles to bytecode which runs on the JVM, with a garbage collector and a JIT compiler that optimises hot paths. Python is interpreted (CPython reads bytecode at runtime), dynamically typed, and significantly slower than either for CPU-bound work - which is why the scientific ecosystem pushes heavy computation into C extensions via NumPy and friends.
How Do C++, Java, and Python Function? We just made a video on this topic.
— Alex Xu (@alexxubyte) October 23, 2023
The illustration details the processes of compilation and execution.
Languages that compile transform source code into machine code using a compiler. This machine code can subsequently be run directly by… pic.twitter.com/qFhfIxdCI5
Further reading
- High Performance Browser Networking - Ilya Grigorik’s free book covering TCP, TLS, HTTP, and WebRTC in illustrated depth
- Julia Evans’ zines - illustrated explainers on Linux, networking, Git, and debugging
Related Pages
- DevOps Cheatsheets - reference material to pair with these concepts
- DevOps Best Practices