← Home ← Codex ← DEBT
Browse by Category
+ added · updated 7d
✦ This isn't a glossary anymore

A curated knowledge graph with editorial governance

A typical glossary gives you terms, definitions, and a search box. This goes further.

Terms are connected by reviewed, typed relationships, making it possible to follow how ideas relate across the entire corpus. Every connection is sourced, reviewed, and tracked, while the system continuously checks for missing links, dead references, and gaps in coverage.

The result is less a glossary and more a curated knowledge graph — designed not just to define concepts, but to show how they connect.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Diagram: Discriminated Unions Discriminated Unions 2.0 🧠 2
A union of types that each carry a shared literal field (the discriminant) allowing TypeScript to narrow exhaustively — the canonical way to model mutually exclusive states.
👁 363 typescript intermediate
PWA Installation & Add to Homescreen HTML5 🧠 1
Progressive Web Apps can be installed to the home screen like native apps — requiring HTTPS, a Web App Manifest, and a Service Worker, plus meeting browser-specific installation criteria.
👁 333 mobile intermediate
Smoke Testing
A minimal set of tests run immediately after deployment to verify the application is alive and its critical paths are functional before deeper testing or traffic.
👁 326 testing beginner
Undefined Array Key / Offset Errors PHP 4.0+
Accessing a non-existent array key triggers E_WARNING (PHP 7) or is silently null (PHP 8 with nullsafe) — use isset(), array_key_exists(), or ?? to guard access.
👁 273 php beginner
Array Destructuring ([] = …) PHP 7.1+ 🧠 1
PHP's short list() syntax — [$a, $b] = $arr — assigns array elements to variables in a single expressive statement.
👁 238 php intermediate
Division by Zero & DivisionByZeroError PHP 7.0+
PHP 7+ throws DivisionByZeroError for intdiv() and modulo with zero — but the / operator returns false or INF instead of throwing.
👁 238 php beginner
Type Coercion PHP 7.0+
PHP's automatic conversion between types can produce unexpected comparison results, leading to logic bugs and security bypasses.
CWE-704 OWASP A3:2021
👁 228 php intermediate 8.1
Diagram: Exception Handling (try/catch/finally) Exception Handling (try/catch/finally) PHP 5.0+ 🧠 3
PHP's structured error handling mechanism that separates error-path code from the happy path and ensures resource cleanup.
👁 213 php intermediate
password_hash() — Native Bcrypt (PHP 5.5) PHP 5.5+
PHP 5.5 added password_hash() and password_verify() — the only correct way to hash and verify passwords. Never use MD5, SHA1, or unsalted hashes.
👁 204 php beginner
CSRF Token Handling in Fetch & Axios ES2017
Including PHP-generated CSRF tokens in JavaScript requests — reading from meta tags or cookies and attaching to every state-changing request.
👁 203 javascript intermediate
Type Juggling PHP 5.0+ 🧠 1
PHP's loose comparison (==) can produce unexpected results — "0e123" == "0e456" is true, enabling auth bypasses.
CWE-704 OWASP A3:2021
👁 203 security intermediate 8.1
RoadRunner — Persistent PHP Worker PHP 8.0+
Go-based server keeping PHP workers alive between requests — eliminating per-request bootstrap cost.
👁 195 performance advanced
PHAR Deserialization Attack PHP 5.0+
PHP's phar:// stream wrapper triggers deserialization of PHAR metadata on any file operation, enabling PHP object injection without unserialize().
CWE-502 OWASP A8:2021
👁 189 security advanced 9.8
preg_replace /e Modifier (Removed) PHP 3.0+
The /e modifier in preg_replace() evaluated the replacement as PHP code — removed in PHP 7.0. Any legacy code using it is a critical RCE vulnerability.
👁 173 security advanced
Test-Driven Development (TDD) PHP 7.0+ 🧠 1
A development practice where tests are written before the code they test — Red (write a failing test), Green (write the minimum code to pass), Refactor (improve without breaking tests).
👁 173 testing intermediate
OpenTelemetry 🧠 2
OpenTelemetry (OTel) is the open standard for telemetry — a vendor-neutral SDK for traces, metrics, and logs that exports to any backend (Jaeger, Datadog, Honeycomb, Prometheus).
👁 166 observability intermediate
ORM — Object-Relational Mapper PHP 7.0+ 🧠 1
A library that maps database rows to PHP objects and vice versa — handling SQL generation, relationships, and lazy loading, at the cost of hiding query behaviour that can cause N+1 problems if used carelessly.
👁 166 database beginner
.env Files & Environment Variables PHP 5.6+ 🧠 4
Storing configuration in environment variables (not source code), loaded from a .env file in development via libraries like vlucas/phpdotenv.
OWASP A2:2021
👁 163 php beginner
CRLF Injection PHP 5.0+
Injecting carriage-return and line-feed characters into HTTP headers splits responses or injects new headers, enabling log poisoning and XSS.
CWE-93 OWASP A3:2021
👁 161 security intermediate 6.1
Diagram: Dijkstra's Shortest Path Algorithm Dijkstra's Shortest Path Algorithm PHP 5.3+ 🧠 1
A greedy graph algorithm that finds the shortest path from a source node to all other nodes in a weighted graph with non-negative edge weights.
👁 158 algorithms advanced
✓ schema.org compliant