Aug 4, 2026 in Haskell, Cabal, Build - Adding a package to a Haskell project means editing build-depends in the .cabal file. What the field expects, what the caret operator really means under the Package Versioning Policy, and why cabal update matters before anything else.
Aug 2, 2026 in WebAssembly, Compilers, Web - WebAssembly is a binary instruction format for a stack-based virtual machine, and a portable compilation target for other languages. What the official definition says, the four design goals, and why it was never limited to the browser.
Jul 21, 2026 in Programming, Data Structures - A linked list stores a sequence as a chain of nodes, where each node holds a value and a pointer to the next one. How singly and doubly linked lists work, how they compare to arrays, the real complexities, and when to reach for one.
Jul 18, 2026 in Programming, Web, Performance - A CDN caches your static content on servers spread around the world so visitors get it from a nearby machine. How the edge, cache hit and miss, TTL and invalidation work, static vs dynamic, and where a CDN fits with your host.
Jul 16, 2026 in Programming, Data Structures - A hash table stores key-value pairs and finds any value by its key in roughly constant time. How the hash function and buckets work, how collisions are handled, the real complexity, and why dictionaries are built on it.
Jul 14, 2026 in Programming, Algorithms - Big O notation describes how an algorithm slows down as the input grows. The common complexities from O(1) to O(n!), why constants are dropped, real examples, and how to reason about the performance of your own code.
Jul 13, 2026 in Security, Docker - A critical authentication bypass in the official Gitea Docker image (CVE-2026-20896, CVSS 9.8) is under active exploitation. What the flaw is, who is actually affected, and the exact steps to check and fix a self-hosted Gitea.
Jul 10, 2026 in Open Source, Supply Chain - Much of the modern software stack rests on small open-source projects run by one or two unpaid people. What xkcd 2347, Heartbleed, Log4Shell and the xz-utils backdoor teach about single-maintainer risk, and what teams can actually do about it.
Jul 9, 2026 in Programming, Architecture, Backend - A message queue is a buffer between services: one part of your app drops off a task and another picks it up later. Producers vs consumers, pub/sub, delivery guarantees, and RabbitMQ vs Kafka vs Redis.
Jul 1, 2026 in Programming, Concepts, Performance - Concurrency is structuring a program to deal with many tasks at once by interleaving them; parallelism is running many tasks at the same instant on multiple cores. The core distinction, Rob Pike's framing, threads vs async, Python (GIL) and Haskell examples, when each matters, and pitfalls.
Jun 27, 2026 in Programming, DevOps, Containers - Docker runs containers through a central daemon; Podman is daemonless and rootless by design. They share OCI images and a near-identical CLI. Architecture, rootless security, pods, systemd, Compose and Docker Desktop licensing compared.
Jun 26, 2026 in Programming, Servers, Networking - A load balancer spreads incoming requests across several servers so none gets overwhelmed and the app stays up if one fails. What a load balancer is, the algorithms, L4 vs L7, health checks, and how it differs from a reverse proxy.