Algorithms

An algorithm is a finite sequence of well-defined, computer-implementable instructions, typically to solve a class of problems or to perform a computation. They are the fundamental building blocks of any piece of software.

Key aspects include:

  • Efficiency: How well it performs in terms of time and memory (O(n)O(n)).
  • Correctness: Whether it produces the correct output for all valid inputs.
  • Design Patterns: Common approaches like divide and conquer, dynamic programming, or greedy algorithms.
See All Categories
Algorithms

August 2026

Ray Marching in GLSL, One Distance at a Time
August 11, 2026

Ray Marching in GLSL, One Distance at a Time

Three interactive GLSL labs reveal how signed distances steer a ray, assemble a scene, recover surface normals, and fail when the distance bound lies.

Read
Can hidden data survive image compression?
August 10, 2026

Can hidden data survive image compression?

Why repeating fragile pixel bits is not enough, and how a robust hidden channel must match its signal, redundancy, and synchronization to the damage it will face.

Read
How a working website fits inside a PNG image
August 10, 2026

How a working website fits inside a PNG image

How least-significant-bit steganography turns a self-contained website into PNG color values, reconstructs it byte for byte, and detects corruption before running it.

Read
How JPEG turns pixels into frequencies
August 10, 2026

How JPEG turns pixels into frequencies

Follow one image block as JPEG turns visible detail into frequency weights, rounds some of them away, and reconstructs pixels that look right but are no longer exact.

Read
How PNG compresses pixels without changing them
August 10, 2026

How PNG compresses pixels without changing them

See how PNG exposes the repetition between neighboring pixels, compresses those differences, and still keeps an exact route back to every original sample.

Read
Why WebP can be lossy or lossless
August 10, 2026

Why WebP can be lossy or lossless

Why two files called WebP can make opposite promises: one quantizes a predicted image, while the other keeps every transform reversible.

Read
A File Doesn't Know What Kind of File It Is
August 9, 2026

A File Doesn't Know What Kind of File It Is

Rename a JPEG to .zip and its bytes stay unchanged. See how file extensions, media types, magic bytes, and parsers identify files—and where they disagree.

Read
Why JavaScript thinks 7 is an emoji
August 9, 2026

Why JavaScript thinks 7 is an emoji

A Unicode regex says 7 is an emoji. The reason reveals the difference between a character property, visual presentation and a complete emoji sequence.

Read
Why JavaScript says this emoji is 11 characters long
August 9, 2026

Why JavaScript says this emoji is 11 characters long

Why one family emoji counts as 11 UTF-16 units—and how code points, grapheme clusters and bytes answer different questions.

Read

July 2025

The Evolution of Password Security: From Basic Storage to Argon2
July 18, 2025

The Evolution of Password Security: From Basic Storage to Argon2

A level-by-level journey into password security. Discover why a simple hash isn't enough and how to defend your users from hackers and data leaks, from salt and pepper to Argon2.

Read
SHA256 and the Length Extension Attack
July 11, 2025

SHA256 and the Length Extension Attack

SHA-256 is a cornerstone of security, but it's not invincible. Discover how its internal structure opens the door to the feared length extension attack and why HMAC is the fundamental solution.

Read

December 2022

How to Use a Reverse Trie for Fast Disposable Email Domain Detection
December 5, 2022

How to Use a Reverse Trie for Fast Disposable Email Domain Detection

Learn how to use a reverse Trie to efficiently detect disposable email domains. Optimize your domain lookups with a scalable, memory-efficient solution tailored for fast and precise results.

Read