Skip to content
Opensource internals
  • Posts

Posts

All posts published on this site.

Everything published here, newest first.

tmux Splits the Terminal into Panes: A Tree, Not a Geometry Problem

Oct 6, 2026 9 min read Jay Hubbert

The hard part of tmux’s pane splitting isn’t the geometry — it’s serialisability.

TmuxArchitectureInternalsLayout

Read more →

PostgreSQL Waits for Locks: The Spin, Sleep, and Kernel Ladder

Oct 6, 2026 49 min read Jay Hubbert

PostgreSQL’s wait ladder spins in user space, then backs off with a jittered exponential delay so spinners don’t convoy, and only then blocks in the kernel — and it learns how long …

PostgresPerformanceConcurrencyInternals

Read more →

PostgreSQL's timestamp and timestamptz Implementation in C

Oct 6, 2026 7 min read Jay Hubbert

Both types are int64 microseconds since 2000-01-01; the only real difference is input/output consulting the session TimeZone, so comparing a timestamp to a timestamptz can flip on …

PostgresInternalsTimestampTimestamptz

Read more →

PostgreSQL's bool Implementation in C: One Byte, Two Spellings

Oct 4, 2026 7 min read Jay Hubbert

bool is one byte on disk but eight bytes of Datum in memory — and it has two text spellings (’t’ vs ’true’) that depend purely on which function the cast picks.

PostgresInternalsBool

Read more →

PostgreSQL Locks Buffers Without LWLocks: One 64-Bit Word

Oct 2, 2026 43 min read Jay Hubbert

PostgreSQL 20 moved buffer content locks out of the LWLock machinery and into the buffer’s own 64-bit state word, so taking one costs a single compare-and-swap.

PostgresPerformanceStorageConcurrencyInternals

Read more →

← Newer Page 81 of 90 Older →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·