Concept 625 nodes
Event SourcingPattern of persisting state as an immutable, append-only sequence of domain events.
Domain-Driven Design
Approach to modeling software around the business domain using a ubiquitous language.
CQRS
Command Query Responsibility Segregation: separating write and read models at service level.
EventStorming
Collaborative workshop technique for modeling domains using sticky-note events.
AT Protocol
Decentralized social networking protocol underlying Bluesky.
Active Record
Rails ORM pattern of keeping current state in database rows without history.
Dependency Injection
Passing collaborators into an object from outside rather than constructing them internally.
Bounded Context
DDD boundary within which a model has a single, unambiguous meaning.
Ractor
Ruby's actor-model abstraction for parallel execution without shared mutable state.
Decider Pattern
Persistence-agnostic functional pattern with decide, evolve and react pure functions.
Event Store
Append-only, read-only persistence of immutable domain events.
Fine-Grained Authorization
Relationship-based access control modeling permissions as a graph of tuples.
Mutation Testing
Coverage technique that mutates code and checks whether tests catch the change.
Signed Exchanges
Draft web standard letting a third party serve a cryptographically signed copy of a page.
Stateless Service Object
Service as an action expressed by class or singleton methods, without instance state.
Aggregate Root
DDD object serving as the consistency and public-contract entry point of an object tree.
AI Agent
Autonomous or semi-autonomous LLM-powered program that uses tools via function calling.
cloud-init
User-data bootstrap mechanism for configuring freshly provisioned cloud VMs.
Coupling
Degree of interdependence between software elements; a design attribute with multiple levels.
Modular Monolith
Single-deployment monolith with clear internal module boundaries and high cohesion.
Row-Level Partitioning
Multi-tenant data isolation where every row carries a tenant_id.
Saga Pattern
Long-running coordinator that compensates for failures across distributed/external systems.
Test Driven Development
Discipline for improving design by validating every implementation step through tests.
Axiom-Driven Development
Development methodology deriving constraints and process from universally-accepted truths (axioms).
Compiler Pipeline
Stages a compiler/interpreter uses: lex, parse, semantic analysis, optimization, execution/codegen.
Large Language Models
Deep-learning neural networks with general-purpose language understanding and generation.
Model Context Protocol
JSON-RPC-based protocol for exposing tools to LLMs.
Retrieval Augmented Generation
Inject relevant proprietary knowledge into the prompt so the LLM answers with current, specific data.
Service Object
Rails pattern of encapsulating a use case as a callable object; debated naming and semantics.
State Machine
Model of system behavior as states and permitted transitions.
Bucketing
Tagging each database record with a target region before physically separating tables.
Event-Driven Architecture
System architecture in which components react to published domain events.
Event Modeling
Modeling technique that describes business processes as sequenced frames of commands, events and views.
Events-all-the-way-down Instrumentation
Instrument code with generic events, independent of log/trace/metric output sink.
Fragment Caching
Caching rendered view fragments keyed by model to skip re-rendering.
Mutator Layer
Rails architectural layer encapsulating atomic creation, edit, and deletion operations.
N+1 Queries
Classic ORM query-per-row performance anti-pattern.
Rails Engine
Miniature Rails application mountable inside a host Rails app.
Snapshotting
Periodic snapshot of aggregate state to bound replay cost in event sourcing.
Useful Objects
Bellware's OOD doctrine: objects must be operational the moment they are instantiated.
WebSockets
Bi-directional protocol for persistent client-server communication.
Atomic Commit
Commit so small it cannot be meaningfully broken up further.
Command Bus
Registry dispatching commands to exactly one registered handler.
Commit Transformations
Closed set of five atomic commit-level change types: remove, fix, refactor, change, add.
Database Indexes
Database structures that speed lookups when used deliberately.
Distributed Monolith
Anti-pattern: splitting a monolithic data model across HTTP without changing access patterns.
EQL
EDN Query Language — data-structure-based query notation for graph APIs.
EXPLAIN / EXPLAIN ANALYZE
PostgreSQL query-plan inspection and execution profiling.
Fiber Scheduler
Ruby hook interface letting fibers transparently defer blocking IO.
Formal Languages
Mathematical languages defined by an alphabet and a grammar of production rules.
Global Interpreter Lock
MRI Ruby's lock preventing true parallel execution of Ruby threads.
God Object
Anti-pattern: a single class that knows and does too much, tightly coupling a system.
Horizontal Sharding
Splitting data across multiple databases sharing the same schema.
Hybrid App
Mobile app combining web technologies (HTML/CSS/JS) with native APIs.
Hypothesis-Driven Debugging
Debugging methodology using the scientific method: observe, hypothesize, experiment, publish.
Idempotency Key
Unique client-generated token that lets a receiver detect and ignore duplicate create requests.
Incremental Mutation Testing
Running a mutation testing tool only on subjects touched in the current change.
Insurance Policy
Legal contract between insured and insurer defining coverage, premiums and deductibles.
MERN Stack
MongoDB + Express + React + Node.js JavaScript web stack.
Monkey Patching
Ruby practice of modifying existing classes/methods at runtime from outside their source.
Pre-Compile Engine Assets at Build Time
Bundling a Rails engine's CSS/JS at gem build time and serving via Rack::Static.
Railway Oriented Programming
Two-track workflow pattern where failures jump to an error track.
Reactor
Event-driven component that performs side effects, often interacting with external systems.
Read Model
Event-subscribed, persisted projection serving a specific UI or report.
SQLite Busy Handler
Callback invoked when a SQLite connection can't acquire the write lock; replaces busy_timeout.
Stratified Design
Design practice of building systems as layers with strictly downward dependencies.
Structured Logging
Emitting logs as key/value attributes instead of plain strings.
Test Bench Fixture
Plain class including TestBench::Fixture that behaves as a composable test object.
tus protocol
Open HTTP-based protocol for resumable file uploads.
Unlogged Tables
PostgreSQL tables that skip the write-ahead log for speed.
Virtual Machine
Runtime that executes intermediate code instead of running directly on hardware.
WebAssembly
Portable binary instruction format letting non-JS languages run in the browser.
Accordion of Complexity
Design philosophy letting component APIs expand or contract in expressiveness.
Actor Model
Computation model in which actors react to messages, spawn actors, and mutate only their own state.
Automation Pattern
Event Modeling building block: a robot that reacts to events by dispatching commands across modules.
BPMN
Business Process Model and Notation for modeling business processes as events and flows.
Contribution Threshold Model
Mental model classifying every contribution as a dart against ecosystem/automation/contribution thresholds.
Data Obfuscation
Replacing sensitive data with realistic non-real substitutes that preserve shape and relationships.
Declarative Partial Updates
Experimental HTML template-tag API for streaming/replacing named DOM fragments.
Domain Object Structured Logging
Logging to_formatted_h representations of business domain objects.
Durable Execution
Running multi-step workflows whose state survives crashes, restarts and long waits.
Fake Object
Test double implemented as a real class with controllable behavior replacing a collaborator.
Five Stages of Grief
Denial, anger, bargaining, depression, acceptance — response to any loss.
Idempotence
Property that an operation produces the same result when applied multiple times.
Isolated Reader/Writer Connection Pools
Technique splitting Active Record's connection pool into separate read and write pools against one SQLite file.
JSON API
Specification for consistent JSON HTTP APIs.
JSON Schema for analytics events
Using JSON Schema to enforce attribute shapes on analytics/observability events.
Lippitt-Knoster Model for Managing Complex Change
Vision + skills + motivation + resources + action plan needed for smooth change.
Manager Layer
Architectural layer wrapping interactions with external systems.
MCP Server
Meta-tool protocol letting an LLM discover and call other tools on demand.
Message Store
Database optimized for storing and retrieving commands and events.
Null Object Pattern
Plain object implementing a type's interface with no-op/stub behavior to remove conditionals.
OpenTelemetry Semantic Conventions
Standardized attribute-naming conventions for telemetry across vendors.
Performance Time Budget
Organizational commitment to a page-load ceiling used to defend against feature bloat.
Process Manager
Coordinator of long-running business processes across events and aggregates.
Projector
Component that projects events into a specific read-model representation.
Read-Write Split
Splitting Active Record models into write-side decision objects and read-side display objects.
Refinements
Ruby feature for scoped, lexically activated monkey patches.
requires_ancestor
Experimental Sorbet feature declaring that a module must be included by a given ancestor class.
Ruby Module Customization Mechanics
Using include, extend, prepend and super to customize Ruby objects.
Schema-Level Partitioning
Multi-tenancy using a separate database schema per tenant.
Service-Oriented Architecture
Enterprise architectural style composing systems from networked, contract-defined services.
Sidekiq Batches
Sidekiq feature grouping related jobs and running a callback when all complete.
Structured LLM Output
Forcing LLMs to emit valid JSON/YAML via schema-prompting or server-side enforcement.
Turing Machine
Mathematical model of computation with an infinite tape, head, and state transitions.
Ubiquitous Language
DDD term for a shared vocabulary between domain experts and developers.
ViewComponent Slots
ViewComponent feature exposing named content holes filled by callers (render_one / render_many).
Window Functions
SQL functions that compute values across a set of rows related to the current row.
Action
Computation whose result depends on when or how many times it runs.
Application Logic vs Business Logic
Distinguishing framework/input-level logic from true domain rules.
Automation Threshold
Level of quality enforced by tests, linters, type checks and CI on top of the base language.
Blue-Green Deployment
Gapless deployment strategy running old and new versions in parallel.
Build Gems in Docker Isolation
Packaging a Ruby gem inside a Docker build to avoid host-environment contamination.
Bytecode
Compact instruction-set intermediate representation executed by a virtual machine.
Calculation
Function whose output depends only on its inputs, regardless of when or how many times it runs.
Call Graph Visualization
Dependency-arrow diagram of layers used to diagnose architectural smells.
Canary Sub-resource
Optional sub-resource used via JS to detect whether SXG prefetching succeeded.
Columnar Storage
Storing table data column-by-column instead of row-by-row for analytical speed.
Command Handler
Entry-point component that receives a command and decides which event(s) to write.
Command Query Separation
Bertrand Meyer's principle that methods either change state or return data, never both.
Commands, Queries, and Events
The three kinds of messages objects can exchange, mirroring linguistic sentence types.
Compression Dictionaries
HTTP-level compression scheme using a previously downloaded resource as a diff dictionary.
Computational Calendar
Zeller's 1882 trick of shifting the year start to March so February sits at the end.
Context-Free Identifiers
Identifiers meaningful without surrounding scope, enabled by namespacing.
Convention over Configuration
Principle of following well-established conventions instead of bespoke solutions.
Core Web Vitals
Google's user-centric performance signals (LCP, FID/INP, CLS) influencing SERP rank.
CSS-in-JS
Pattern of co-locating component styles with JavaScript code.
DDD Whirlpool
Eric Evans' iterative model-exploration cycle driven by scenarios.
Diagnostic Substitute
Designed-in null-object substitute with telemetry, used instead of mocks/stubs/spies.
Distributed Systems
Systems that span multiple process boundaries and must handle concurrency and idempotence.
Domain Model (vs Active Record Model)
Language- and framework-agnostic model imitating the problem domain.
Domain Service
Eric Evans' DDD construct for stateless operations representing significant domain processes.
Duck Typing
Ruby dispatch style based on whether an object responds to a method.
Dynamic Consistency Boundaries
Query events by attributes to form virtual streams per decision, instead of one fixed stream.
Ecosystem Threshold
Baseline contribution quality enforced automatically by the base language and standard library.
Entity Projection
Folding an event stream from empty state into a single entity representation.
Event-Driven CRUD Hybrid
Pragmatic style mixing CRUD with selected event-sourced aggregates and read models.
Events and Commands
Async message types: past-tense events (facts) and imperative commands (intent).
Event Stream
npm package compromised via social-engineering backdoor that stole Bitcoins.
Fat Model Thin Controller
Rails convention of concentrating business logic in ActiveRecord models with lean controllers.
Find-or-Create Pattern
Read-check-write fallback for creation without idempotency-key support.
Finite State Machine
Automaton with finite states used to recognize regular languages.
Form Object as Model Concern
Concern-based form object with delegators pretending to be the underlying model.
Geneva Drive Hero Association
Single polymorphic association linking a Geneva Drive workflow to any domain record.
Google SXG Cache
Google's opaque cache (web-pkg-c.com) that stores and serves Signed Exchange packages.
Hanami View Part
Decorator Ruby class in Hanami View wrapping exposed values with presentation methods.
Hanami View Scope
Hanami View Ruby object that computes the locals needed by a partial.
HTTP Shared Dictionary Compression
HTTP-level compression using a pre-shared dictionary of common tokens.
Image bomb
Small-in-bytes image with huge pixel dimensions, used to crash processors.
Immediate Transactions
SQLite transaction mode that acquires the write lock at BEGIN instead of deferring it.
Incremental Migration Strategy
Migrate in small reversible steps rather than a big-bang cutover.
Insurance Quote
Time-limited, non-binding estimate of insurance cost that becomes a policy on purchase.
io_uring
Linux asynchronous I/O interface based on submission and completion ring buffers.
Lexicon
AT Protocol JSON Schema defining a record collection's shape.
Magic bytes MIME detection
Determining file type from a signature of bytes at the start of the file.
Majestic Monolith
DHH's term for a well-structured single-deployment Rails application.
Mentoring
Practice of coaching less experienced developers to grow individuals and community.
Minimal Interface
Keep each layer's API surface as small as the abstraction allows.
MP4
Container format (MPEG-4 Part 14) wrapping video, audio, and metadata.
Multi-shot Operations
io_uring pattern: submit once, receive many completions.
Multi-Tenancy
Software pattern where a single application instance serves multiple clients with isolated data.
Namespaced Keywords
Clojure keywords carrying a namespace, making identifiers globally unambiguous.
Neural Network
Weighted decision graph of layered neurons mapping inputs to outputs via local computations.
On-the-fly Processing
Generating processed file derivatives when a URL is first requested.
Optimistic Locking
Concurrency control using a version parameter to detect and reject stale updates.
Orphan Files
Uploaded files that are never attached to any record.
Pepper
Secret site-wide value added to passwords and stored outside the database.
Personal Data Server
AT Protocol server holding user accounts and record repositories.
Personally Identifiable Information
Data that can identify a specific individual and must be protected.
Plain Old Java Object
Java business class with no framework or library imports.
Progressive Web Apps
Web apps delivering native-like, offline-capable experiences via standard web platform features.
Provided Buffers
io_uring feature letting the kernel pull read buffers from an application-supplied buffer ring.
Pub/Sub Messaging
Messaging pattern where publishers and subscribers interact only through named categories.
Reactive Programming
State-driven UI paradigm where the view is a pure function of observable state.
Refresh Tokens in HttpOnly Cookies
Storing long-lived refresh tokens in HttpOnly, Secure, SameSite cookies rather than JS storage.
Resolver
Pathom graph node declaring input-to-output attribute mapping plus a fetch function.
REST
Architectural style for HTTP APIs centered on resources and representations.
Routing Tree
Routing architecture that walks executable code paths at request time instead of a parsed route table.
Row-Level Security
DBMS mechanism restricting row visibility per user or session.
Scope Concerns
Extract model scopes into a concern to separate query shortcuts from domain logic.
Selective MFA Rollout
Enabling MFA only for users flagged as violating account-sharing rules.
Service Autonomy
A service has no GET API, no external dependencies, and is oblivious to other system parts.
Smart Contract
On-chain program of functions and storage whose state changes only via its functions.
SOAP
XML-based RPC protocol foundational to Service-Oriented Architecture.
Socket Hijacking
Rack mechanism to take over the raw socket behind a request.
Stop Tokens
Tokens that tell the LLM runner to halt generation.
Strangler Fig Pattern
Incremental migration pattern where a new system gradually replaces pieces of an old one.
Stubs over Mocks
Use stubs to replace external collaborators; avoid mocks that couple tests to internal structure.
SXG Sub-resource Prefetching
Prefetching CSS/JS/fonts/images alongside the HTML via hashed entries in the Link header.
Table swap via empty copy
Replace a table by copying wanted rows into an empty clone and renaming.
Task-Driven UI
UI approach presenting small process-aware forms instead of a giant edit-everything form.
TC39
Standards committee defining the ECMAScript language specification.
Time.current Testing Trap
Using Time.current/Time.now as a hidden source of non-determinism in tests.
Trace ID Propagation
Passing a shared trace ID through every service call to correlate logs across services.
Trailblazer Activity
Trailblazer 2.1 BPMN-style process with multiple end events and nesting.
Transformers
Neural network architecture underlying modern large language models.
Unicode Sparklines
Inline mini-charts rendered using Unicode block characters instead of a UI library.
Vector Embeddings
ML-generated numeric vectors that cluster data by semantic meaning.
VNC
Remote desktop protocol providing access to a graphical session.
Webhook-as-Technical-Event Pattern
Store incoming webhooks as events in the event store before processing them asynchronously.
Write-Ahead Logging (WAL) Mode
SQLite journal mode allowing concurrent reads alongside a single writer.
Abstraction Barrier
Fat line between layers such that consumers never need to look underneath.
Abstract Syntax Tree
Tree representation of source code produced by syntactical analysis.
Accelerated Mobile Pages
Google's 2015 simplified-HTML framework for prefetching mobile pages from Google servers.
accepts_nested_attributes_for
Rails Active Record feature auto-creating nested models from a nested params hash.
ActiveSupport Core Extensions
Rails-provided monkey patches adding utility methods to core classes.
ActiveSupport CurrentAttributes
Rails per-request Singleton for request-scoped state like current tenant.
Aggregate Root Anti-Pattern
Anti-pattern: a single class mixing entity, handler, and projection responsibilities.
Aggregate-Scoped Sequence Number
Per-aggregate sequence number on events, in addition to a global identifier/order.
Alive and Dead Mutations
A mutation is 'alive' if tests still pass, 'dead' if a test fails.
Amplifier (scoring object)
Plain Ruby object that multiplies a product's score by a coefficient based on one local question.
App View
AT Protocol materialized-view server producing user-facing data.
At-Least-Once Plus Idempotence Recipe
Reliability recipe: combine at-least-once delivery with idempotent receivers to achieve exactly-once effect.
Autonomous Component
Self-contained piece of software that broadcasts signals and reacts to broadcasts, not a microservice.
Auto-yielding Fibers
Fibers that yield automatically on blocking I/O, like Go/Crystal.
Boolean Flags as Implicit State
Anti-pattern of using many boolean fields to encode object state, causing combinatorial explosion.
Bouncing Select
Dynamic-array IO.select pattern to avoid spin-lock in bidirectional proxies.
Builder Pattern for ViewComponents
Expose a component's configuration as DSL methods on a yielded builder object.
Build vs Create in Tests
Prefer build/build_stubbed over create to avoid unnecessary DB hits in tests.
Business Process (Event-to-Command)
Reactive rule mapping domain events onto commands on other domains to coordinate them.
Canonical Log Line
Single consolidated log line per request carrying all relevant attributes.
CAR File
Content-addressed archive format for exporting AT Protocol repositories.
Case Equality Interface
Ruby's === operator used for type membership, case/when, and pattern matching.
Celebrity Geek Subjugation
Pattern where popular tools are kept mentally taxing to hold their audience captive.
Change Curve
Model of people's motivation through an organizational change over time.
Chesterton's Fence
Don't remove a rule before fully understanding why it exists.
Chomsky Hierarchy
Classification of formal languages into regular, context-free, context-sensitive, and recursively enumerable.
Church-Turing Thesis
Anything computable can be computed by a Turing machine or equivalent formalism.
CI Matrix Strategy
Running CI jobs across combinations of parameters like language/framework versions.
Class Constructor as Convenience Interface
Pairing a primitive initializer with class-level factory methods for convenience and operational wiring.
Coconut vs Peach Cultures
Metaphor for cultures that are hard outside/soft inside vs soft outside/hard inside.
Comfort With Layers
Intuitive judgement for how many layers a team actually needs.
Command Form
View-layer form object dispatching intention-revealing commands from user input.
Command Message
A message expressing intent — a generalized name for a web form or controller input.
Communication Contract
Explicit up-front agreement between collaborators on how they will communicate.
Complexity Gradient
Frontend-architecture view that complexity should grow organically rather than start at the SPA end.
Computus
Algorithm to calculate the date of Easter; etymological root of 'computer'.
Constant Folding
Compile-time evaluation of constant expressions.
Constant Propagation
Substituting known constant values into later expressions at compile time.
Contribution Threshold
The bar above which merging a change actually helps the company.
Conway's Law
Systems mirror the communication structure of the organization that builds them.
Covering Index
Index that includes extra columns via INCLUDE for index-only scans.
Custom Elements
Web standard for defining reusable HTML elements with JavaScript classes.
Data
Information at rest — meaningful without a computer, with multiple future interpretations.
Database-Level Partitioning
Multi-tenancy using a separate database per tenant.
Data-Dictated Development
Anti-pattern where the shape of existing data dictates application design.
Decomplecting
Rich Hickey's practice of separating things unintentionally coupled together.
Deferred Requests
Default every web request to a read connection and switch to the write connection only for writes.
Depreciation Schedule
Phased deprecation of legacy behavior with explicit warnings before removal.
DescendantsTracker
ActiveSupport module that keeps a hash of every class and its subclasses.
Directed Acyclic Graph
Graph of nodes where edges have direction and no cycles exist; workflow foundation.
DRY Principle
'Every piece of knowledge must have a single, unambiguous, authoritative representation.'
eBPF
Linux kernel technology for safely running programs that observe kernel events.
Elixir Pipe Operator
Elixir operator chaining expressions as successive function arguments.
Embrace The Evented Model
UI pattern: record bad input as an event and show tailored read-model views per audience.
Entity Coupled To Messaging
Anti-pattern: entities that accept command messages, interpret them, and return events.
Enumeration Attack
Attack that discovers which accounts exist by observing form responses or timing.
epoll
Linux scalable I/O event notification mechanism.
Equivalent Mutation
A mutation whose behavior is semantically indistinguishable from the original.
Estimation as a Communication Tool
Using time estimates to surface resource needs without discussing emotions.
ETL
Extract, Transform, Load — classic pipeline for moving and reshaping data.
Event Bus
Registry broadcasting events to multiple registered handlers.
Event Logging for Testability
Recording state-change events so tests and operators can assert on what actually happened.
Event Versioning / Upcasting
Evolving persisted events by migrating to newer versions on read.
Expected vs Unexpected Errors
Distinction between known/handled errors and novel ones, for alerting purposes.
Exponential Backoff
Retry strategy where wait between attempts grows exponentially.
Factory Cascades
Test-slowness anti-pattern where factories build a whole object graph per example.
Falsehoods Programmers Believe About LLMs
List of common misconceptions programmers hold about how LLMs work.
Faraday outbound logging middleware
Faraday middleware logging URL, duration, and attributes of every outbound API call.
Fiber
Ruby execution context that can be suspended and resumed, used for cooperative concurrency.
Filter Parameter
Rails facility that redacts configured attributes (PII) from payloads.
Filter-then-Score Recommendation Pipeline
Two-stage recommender: filter a product pool, then score survivors with weighted amplifiers.
Fixtures over Factories
Prefer Rails fixtures to FactoryBot for speed, cross-references, and dev-DB reuse.
Flat Model Structure
Rails habit of dumping all models into a single app/models folder.
Flat Query Structure
API design where 1:1 relationships are expressed as sibling attributes, not joins.
Form Object
Object that wraps UI input and validations, separate from models and services.
gemspec
Ruby gem manifest file declaring metadata, files and dependencies.
GitHub Self-Hosted Runner
Pattern of running your own CI worker connected to GitHub Actions.
GraphQL performance regression tests
Minitest helpers asserting maximum database queries per GraphQL operation.
Gregorian Calendar Reform
1582 papal reform patching the Julian leap rule with divisible-by-100/400 exceptions.
H.264
Widely-supported video codec with profile-based feature sets.
Handwritten Incentive List and Action Plan
Using pen and paper to boost creativity, memory, and motivation.
Hexagonal Architecture
Ports-and-adapters architecture that keeps the domain pure.
HIPAA
US healthcare data privacy and security compliance regime.
HO4 Renters Insurance
US insurance policy type covering a renter's belongings, liability and temporary living costs.
HTTP Method Idempotence
Which HTTP verbs are idempotent and under what assumptions.
HTTP Turbo Streams vs WebSocket Turbo Streams
Distinction between response-driven HTTP Turbo Streams and Rails-specific WebSocket broadcasts.
Hybrid Search
Combining classic keyword lookup with vector/embedding search for retrieval.
Immersion-Driven Workflow
Workday structured into repeating offline, online, and off-topic phases.
Imposter Syndrome
Feeling unqualified despite sufficient skill; confused with lacking skills.
Initial Coin Offering
Fundraising mechanism by issuing a new token on a blockchain.
Insurance Underwriting
Risk-assessment process determining whether to offer coverage and at what price.
Interest Invokers API
HTML attributes enabling native hover/long-press popovers without JavaScript.
Introduce Explaining Variable
Refactoring: extract a meaningfully-named boolean variable to clarify intent.
Invoker Commands API
HTML button command/commandfor attributes that trigger element actions without JS glue.
Jailbreaking
Tricking an LLM into doing or saying unintended things.
Julian Calendar
Calendar reform introduced by Julius Caesar in 45 BC with a 4-year leap rule.
Lambda Calculus
Formal system for expressing computation; equivalent in power to Turing machines.
Largest Contentful Paint
Core Web Vital measuring when a page's largest visible content element renders.
LATERAL join
Postgres SQL feature correlating a subquery with the outer row.
LLM Tool Calling
Pattern where LLMs 'call tools' by emitting structured invocations caught via stop tokens.
Logic in Tests
Anti-pattern of putting conditionals, loops, or production helpers inside test code.
Login Session Tracking
Persisting each user login as a database record identified via cookies.
Logs vs Traces vs Metrics
Callaghan's take on the three observability data types.
Loop Unrolling
Compiler optimization expanding loops to exploit SIMD instructions.
Lost Update Problem
Race condition where concurrent writes overwrite each other's changes.
Match Expression
Mutant syntax specifying which subjects the engine should target.
Message Correlation
Linking commands and their resulting events to reconstruct full workflow traces.
Migration Event Pattern
Seed new event streams with a dedicated 'migration' event to backfill state.
Monolith as Data Model
Defining a monolith as a single data model cramming many unrelated domains together.
Mushroom PDS
Bluesky's fleet of 10 federation-test PDSs named after mushrooms.
Mutation Operator
Transformation applied to a subject to produce a mutation.
Namespace-Based Folder Hierarchy
Grouping Rails models and controllers into folders by entity dependencies or bounded context.
Neri–Schneider algorithm
Bleeding-edge branch-free algorithm for epoch-to-date conversion.
Nested Aggregates
Aggregate root containing other aggregates to manage complexity.
Noisy Neighbor Problem
One tenant's usage pattern exhausting shared resources and degrading others.
Nonviolent Communication
Communication style with explicit rules for separating intentions, feelings, needs, and requests.
Null Coalescing Attribute
Attribute that lazily initializes to a default (often a null object) when still nil.
ObjectSpace heap dumps
Built-in Ruby mechanism to snapshot all live objects to a JSON-lines file.
Observability as Developer Responsibility
Treat observability as a first-class developer concern, not something delegated to ops.
OOP in Pictures
Ivan Nemytchenko's visual ontology representing OOP constructs as cartoon dudes.
Opaque Dependencies
Anti-pattern: hiding projections, writers or other dependencies the handler should control.
Params-Driven Development
Anti-pattern: passing a bag of request params through controllers, services and models.
Partial Index
Index covering only rows matching a WHERE clause.
Partial Rendering Overhead
Rails ActionView partials are far slower than direct view rendering due to file lookup and compilation.
Petri Nets
Mathematical modeling formalism for concurrent/distributed systems.
PLC Directory
Central registry mapping did:plc identifiers to DID documents.
Policies and Strategies
Extracted business rules testable without the aggregate.
Polymorphic Aggregate
Aggregate split into one class per state, each exposing only valid transitions.
Preloading and Prefetching
HTML link hints telling browsers to fetch DNS/resources in advance.
Proc Triple-Equals Call
Calling a Ruby Proc with === — enabling procs in case/when.
Proof of Stake
Blockchain consensus mechanism requiring validators to lock tokens as stake.
Property-Based Testing
Testing by declaring invariants and generating random inputs to find counter-examples.
Protocol Thinking
Designing application protocols by reasoning about every failure point, not the happy path.
Pushdown Automaton
Finite-state machine with a stack; recognizes context-free languages.
Push Often Behind Feature Flags
Ship unfinished code to master hidden behind a feature flag instead of long-lived PRs.
Queue Time
Time a request waits in a queue (load balancer, Puma, worker) before handling.
RAGAS
Quantitative RAG evaluation combining faithfulness, context relevance, and answer relevance.
Rails RouteSet clear
Rails routing internal that undef_methods all URL/path helpers on every reload.
Rails Testing Pyramid (Ivan's version)
Question-driven test strategy prioritizing controller tests, then services/mutators, over unit/acceptance extremes.
Reasoning Models
LLMs that emit hidden chain-of-thought tokens before the user-visible answer.
RED Metrics
Rate, Errors, Duration — core service-health metrics.
Reform 3 Parsing Pipeline
Reform 3 step-based parsing built on Trailblazer activities that users can extend.
Region-aware file paths
Add a region-denoting parent folder to file paths so whole folders can be migrated at once.
Remote EventStorming Split-Merge Structure
Facilitation pattern of repeatedly splitting attendees into subgroups and merging their findings.
Resource / Model / Table
Yippee's named slicing of a repository-pattern-inspired model layer.
respond_to Anti-Pattern
Serving multiple output formats from a single controller action via respond_to.
Risk-Framed Communication
Communicating concerns to business as risks plus proposed solutions.
Rubber Duck Debugging
Explaining a problem step-by-step (to an inanimate duck) to surface the solution.
Ruby memory retention behavior
Ruby's GC frees objects but does not return freed heap pages to the OS.
Ruby undef_method performance
undef_method scales super-linearly and spends half its time clearing the method cache.
Run Queue
Queue holding ready-to-run fibers, mediating cooperative scheduling.
Salt
Random per-password value stored with the hash to prevent rainbow-table attacks.
Scaffolding Before Features
Collect data and define indicators before rolling out a risky feature.
Scope Resolution Operator
Ruby's :: operator for resolving constants, classes and modules.
Selection (Mutant)
Process of finding the tests corresponding to a subject under mutation.
Senior Developer Title
Ill-defined industry title conflating skill, role, tenure, and company marketing.
Serverless
Cloud execution model based on events and functions without managing servers.
Service Layer
Fowler's architectural layer defining application boundary and available operations.
Sharding
Partitioning data/requests across nodes by a deterministic hash to scale writes.
Simulated Annealing for Cipher Breaking
Letter-swap search that occasionally accepts worse scores, cooling acceptance over time.
Single-Machine Deployment
Philosophy of deploying a whole web app to one server with a persistent file system.
Single Responsibility Principle
A unit of software should have one purpose and therefore one reason to change.
Speculation Rules API
Declarative JSON API telling browsers to prefetch or prerender links.
Standard Site
Shared AT Protocol lexicon agreed on by multiple blogging platforms.
Static Page Caching via nginx
Serving pre-rendered, pre-gzipped HTML directly from nginx without touching Rails.
Steeping
tea mechanism: staking tokens against a library to back a claim and earn rewards.
Step Execution Record
Geneva Drive DB row representing one attempt to run a specific workflow step.
Steps to Observable Software
Callaghan's five-step SOS cycle for adding observability to fix specific bugs.
Stream as Source of Truth
Design rule that an aggregate's event stream is the authoritative state, not the DB table.
Strong Parameters
Rails controller-level whitelisting of permitted request parameters.
Subject (Mutant)
The thing Mutant mutates — currently a Ruby instance or class method.
Tacit Knowledge
Experience-based knowledge that cannot be fully expressed in words.
T.bind
Sorbet runtime helper that rebinds `self` to a given type inside a block/method.
Test Pyramid
Testing strategy model — many unit tests, some integration, few end-to-end.
Timeline Visualization
Diagram of parallel actions across workers used to spot possible race conditions.
Timing-Based Enumeration
Using response-time differences to determine whether accounts exist.
Top-down bucketing from Authority
Assign region buckets starting from the Authority root and walking associations down.
TracePoint API
Ruby core API for subscribing to runtime execution events.
Trailblazer Operation
Callable orchestrator object delegating to scoped steps with a result.
Trailblazer Workflow
Application-wide Trailblazer process modeled visually with suspend/resume events.
Transaction Pooling
PgBouncer mode that assigns connections per transaction rather than per session.
Transpilers
Tools compiling one source language to another (typically to JavaScript).
T.unsafe
Sorbet escape hatch disabling type checks for a single expression.
UI Component vs Domain Component Split
Layer components into generic UI ones and object-aware domain ones that compose them.
Value Object
Small immutable type that represents a domain primitive with meaning.
Vector Database
Database that indexes vector embeddings for similarity search.
Vertical Slice
Unit of work in Event Modeling: write, read, or automation slice bounded by events.
View-Biased Event Schemas
Anti-pattern: shaping events to carry UI/view fields rather than raw facts.
Virtual DOM
In-memory representation of the UI derived from application state.
Wide Event
Unified OpenTelemetry primitive with high cardinality and dimensionality, subsuming logs/traces/metrics.
yield_self
Ruby 2.5 method yielding self to a block — Ruby's 'pipe' analog.
YUV 4:2:0
Chroma-subsampled pixel format universally supported by browsers.
Abbreviation Overload
Overuse of opaque acronyms/abbreviations makes team communication hostile to newcomers.
Account Sharing
Users reusing paid credentials with others, hurting subscription revenue.
Active Record Custom Types
Rails pattern for serializing/deserializing Ruby objects in unsupported DB types.
ActiveRecord Encryption
Rails feature for encrypting attributes at rest in the database.
Adjacent String Literal Concatenation
Ruby parse-time concatenation of adjacent string literals separated by whitespace.
Afferent Coupling
Count of inbound calls into a unit of software from other units.
Aggregate Test Failures
RSpec option letting a slow example record all assertion failures instead of stopping at the first.
Aggregator
Component that shapes event streams into read models / materialized views.
Algorithmic Complexity
Measure of algorithm cost in space (memory) and time (steps).
Anti-Corruption Layer
Translation barrier isolating a bounded context from another context's model.
Append-Only Log
Storage model where records are only appended in order, never modified or deleted.
Application Layer vs Domain Layer
Two-layer split separating Rails-bound plumbing from a pure Ruby domain layer.
Architecture Drivers
Business context, project context, and quality attributes that frame any design evaluation.
Aspect-Oriented Programming
Paradigm separating cross-cutting concerns via 'before/after' advice on events in code.
Auditability Of Recommendation Decisions
Ability to trace each recommendation back to the parameters and signals that produced it.
Augmented Form Workflow
Two-step form pattern: paste requirements as text, LLM analyzes and pre-fills the form for user review.
Authentication
Verifying who a user claims to be.
Authorization
Determining what actions or resources a user is allowed to access.
Background Job Serialization Overhead
Serializing large objects into background jobs can make them slower than inline execution.
Backus-Naur Form
Metasyntax for describing context-free grammars of programming languages.
Belarus
Country where launching an ICO is legal, per the Ethereum lightning talk.
Big Data Is Usually Smaller Than You Think
Hundreds of GB is small for Postgres; don't prematurely reach for Elasticsearch.
Blocking I/O
I/O model where reads/writes wait for the OS buffer to be ready.
Bot Fight Mode
Cloudflare feature blocking bot-like requests; must be disabled for curl-based debugging.
Branch Prediction
Modern-CPU optimization that speculatively executes instructions past a branch.
Branch-Specific SQLite Databases
Developer-experience trick giving each git branch its own SQLite database file.
Breadth-First Search for Code Removal
Notebook-driven BFS through code dependencies to fully remove legacy code.
Bundle Size Audit
Auditing front-end dependencies and payload to keep bundles small.
Cache Preheating
Using cron to brute-force rebuild caches ahead of user requests.
C Extensions
Native C code bundled with Ruby gems to accelerate or wrap system libraries.
Changelog
Human-readable record of notable changes between releases.
Checks, Tests, Reviews and Flags
Vocabulary distinguishing automated checks (tests) from manual checks (reviews) and their flags.
Circuit Breaker Pattern
Resilience pattern that stops calls to a failing downstream service to avoid cascading failure.
Comfort Zone
The automated, known space around a developer that business change disrupts.
Command Stream
Stream containing all commands addressed to a particular entity instance.
Command UUID Deduplication
Use the originating command's UUID inside event metadata to deduplicate events.
Common Table Expression
SQL WITH-clause for naming an inner query; available in Postgres ≥ 8.4.
config.log_tags
Rails config hook to attach per-request attributes to every log line.
Connection Pool Contention from External Calls
HTTP requests inside open DB transactions starve the connection pool while the external call is in flight.
Connection Pool for Redis
Sharing a pooled Redis connection between Sidekiq and the host application.
Consolidation Window
Using the LLM analysis phase to prepare state for subsequent screens, amortizing cost across features.
Consumer
Process that continuously reads messages from a category, dispatches them to handlers, and writes new messages.
Context Map
Strategic map of a domain's bounded contexts and their relationships.
Context Specification
Using nested descriptive prose in tests as technical writing that validates design.
Contextualized Complexity
Complexity you add to a system but only deal with a small subset of at any time.
Core Domain
The part of the domain that gives a business competitive advantage.
Crawler Budget
Per-crawler per-day request budget that bounds how many pages a site gets indexed.
Crossing the Chasm
Moore's model of the gap between early adopters and the early majority in tech adoption.
Cultural Differences In Technical Communication
Some cultures won't tell you they don't understand — plan communication accordingly.
Current State
Single mutable snapshot of system state, contrasted with an event log.
Custom DSL for Specs
Building domain-specific matchers and helpers so specs read as intent, not boilerplate.
Custom SQLite Functions in Ruby
Define scalar and aggregate SQL functions in Ruby callable from SQLite queries.
Cynefin Framework
Sense-making framework classifying problems as obvious, complicated, complex, or chaotic.
Data Evolution
Evolving immutable event schemas over time via optional fields, versions, and binary formats.
Data Masking
Obfuscation variant that preserves the shape of real data with non-real substitutes.
Data Tokenization
Replacing sensitive values with reversible tokens resolvable only by authorized parties.
Declarative Migrations
Describe the desired schema; framework synthesises safe migration steps.
Default scope for region preview
Using Rails default_scope to preview what per-region data will look like.
Delivery Semantics
Modes of execution: at-most-once, at-least-once, exactly-once.
Denormalizer / Read Model
Event subscriber that builds query-optimized views from domain events.
destroy_all vs delete_all
ActiveRecord bulk-deletion methods with very different performance and consistency trade-offs.
Developer vs Programmer
Distinction between writing code and solving business problems.
Develop in Production
Using the Rails console and production data carefully to diagnose real issues.
DID (Decentralized Identifier)
Permanent cryptographic identifier for AT Protocol accounts.
Direct Upload to Cloud
Uploading files directly from the browser to a cloud storage service.
Distance From The Main Sequence
Design metric plotting afferent/efferent coupling against generality/specialization.
DNS geolocation routing
DNS returning region-specific IPs based on the requester's origin.
Domain as Function from Commands to Events
Modelling each domain as a pure function mapping input commands to output events.
Domain Storytelling
Collaborative DDD modeling technique using pictographic domain stories.
Efferent Coupling
Count of outbound calls from a unit of software into other units.
Empathy-Driven Problem Solving
Process: identify affected people, interview them, surface common theme, vision, minimal iterations.
Entity Caching and Snapshotting
Performance countermeasures for event-stream replay: versioned entity cache and periodic snapshots.
Entity Component System
Architectural pattern for games separating data (components) from behavior (systems) on entities.
Event-based GraphQL field caching
Explicit list of model events that invalidate a cached GraphQL field.
Event Handler Error Strategy
Policy for handling failures in one event subscriber without breaking others.
Eventual Consistency
Property where distributed state converges over time rather than instantly.
Execution Context Issue
Artificial controller-vs-background-job split that makes one domain workflow look like two.
Expected Version
Concurrency control parameter on event-store writes used to detect and reject races.
Exploratory Programming
Interactively inspecting and modifying a running program via a live console.
Feedback Loop
System in which the output affects the input for the next iteration.
Fetch With Fallback
Raise in dev/test but silently fall back with reported error in production for unknown values.
find_each vs each
Swap ActiveRecord each for find_each to paginate large result sets into memory batches.
Five Whys
Questioning technique that drills to the real reason behind a statement.
Flame Graphs
Stacked visualization of sampled call-stack frames showing where time is spent.
Function as a Service
Cloud execution model running individual functions on demand.
Fundamental Attribution Error
Blaming others' failures on character but our own on circumstances.
Generative AI
AI that generates text, audio, video, and other content.
Global Village Office
The aspiration — and fragility — of making distributed offices feel genuinely unified.
GraphQL look_ahead
graphql-ruby feature exposing the requested query tree to resolvers.
GraphQL max_depth
Schema-level limit on nesting depth of incoming GraphQL queries.
GraphQL query batching
Combining multiple GraphQL queries into one HTTP request and executing them concurrently.
GraphQL query timeout
Per-query maximum execution time enforced at the GraphQL schema level.
Hallucinations
LLM outputs that are fluent but factually wrong or fabricated.
Handle Verification via DNS or Well-Known
Two ways AT Protocol proves a domain handle belongs to an account.
Hash Slice / select-keys
Language primitive for projecting a map to a subset of keys.
Hash#to_proc
Ruby method converting a hash into a proc equivalent to hash[key].
Haunting Problem
A long-standing company-wide issue multiple teams have failed to fix.
Hierarchy vs Equality
Cultural spectrum on power distance — flat structures vs deferential hierarchy.
HMAC
Keyed hash construction usable to preprocess passwords with a secret pepper.
HTTP/2 Server Push
Server proactively pushing resources before the client requests them.
HTTP Caching with ETag and Last-Modified
Conditional HTTP requests that return 304 Not Modified to skip re-rendering.
Hyrum's Law
With enough users, every observable behavior of an API becomes part of its contract.
Ideal Rails System Properties
Three properties Ivan Nemytchenko proposes for an ideal software system.
Idempotent Projectors and Reactors
Requirement that projectors and reactors produce the same outcome on repeat events.
Immutable Form Runtime API
API design where form operations are class methods returning fresh immutable objects.
Implicit Authorization
Relying on query scopes to enforce access rather than explicit checks.
Indirect British Communication
British English phrases whose literal meaning masks a very different intent.
Individualism vs Collectivism
Cultural spectrum contrasting focus on the individual with focus on the group.
Insurance Coverage
Scope of risks protected by an insurance policy, with limits and exclusions.
Insurance Deductible
Amount the insured pays out of pocket before insurance kicks in.
Insurance Premium
Recurring amount paid for insurance coverage; feeds the claims pool.
Interface Wrapper for Ruby
Module-based wrapper exposing only specified methods as a Ruby 'interface'.
International English vs Native English
Trade-offs between working with native speakers and working with non-native lingua-franca English.
Intrinsic vs Extrinsic Motivation
Internal 'want to' motivation vs external incentives like money or Prestige.
Invalid States Impossible
Design practice of making illegitimate object states unrepresentable through types.
IO.select
Ruby wrapper over the POSIX select system call.
Isolate Deployment Types
Separate app, infrastructure, and schema deployments through a framework-managed queue.
I-Statements
Communication technique of starting with 'I' to express feelings without blame.
JSON-RPC
Remote procedure call protocol that encodes calls as JSON messages.
kqueue
BSD/macOS scalable event notification mechanism analogous to epoll.
Last-Write-Wins
Conflict-resolution strategy keeping only the most recent write to a field.
Liskov Substitution Principle
Barbara Liskov's rule: objects sharing an interface are interchangeable regardless of behavior.
Live Reload
Front-end development technique auto-refreshing the browser on file change while preserving state.
LLM Tokens
Numeric units LLMs emit one-at-a-time when generating text.
Locality of Behavior in Views
Put data fetching next to data usage inside views when per-query cost is negligible.
Logux Proxy
Two-way HTTP gateway forwarding Logux events between Logux server and backend.
Logux Time-Shift Ordering
Ordering events via server/client time-shift and a per-client incrementing counter.
Memory Latency
CPU cache / memory access is slow relative to computation on modern hardware.
Method References in Ruby
Community efforts to make referencing Ruby methods ergonomic.
Method#to_proc
Converts a Method object into a Proc bound to its receiver.
Michelson–Morley Experiment
1887 experiment measuring Earth's speed relative to luminiferous ether; found no difference.
Mind Map Knowledge Base for Event Sourcing
Personal mind map aggregating event-sourcing patterns, use cases, and sources.
Mistake As Obstruction To Understanding
In knowledge work, any obstruction to human understanding counts as a mistake.
Mock Third-Party Services Locally
Stub or mock external services so the app can be developed and tested without them.
Model Depth Issue
Anti-pattern where entity-relationship modelling grows into an everything-relates-to-everything graph.
Mutation Testing Preconditions
Test-suite properties required for mutation testing to work in practice.
MVCC Trade-offs in Postgres vs MySQL
How Postgres and MySQL implement multi-version concurrency control differently.
MVC Modularity Violations
Rails patterns that break MVC by creating circular dependencies between layers.
N+1 Queries as a Feature on SQLite
With SQLite, many small simple queries outperform fewer complex joined queries.
Named Routes and I18n Everywhere
Use named route helpers and i18n for all strings even in single-language apps.
Nested GraphQL query bottleneck
Deeply nested GraphQL queries hiding expensive or circular data fetches.
No Hello Rule
Chat etiquette: skip 'hi, how are you?' and state your request directly.
Non-blocking I/O
Socket I/O that returns immediately with EAGAIN/EWOULDBLOCK instead of blocking.
Numbered Block Parameters
Implicit block parameters _1, _2, _3… in Ruby.
Offline-First
Design approach treating the network as optional and intermittently available.
Onion Architecture
Architectural style placing the pure domain at the center and infrastructure on outer rings.
Online Whiteboard Trend 2020
March-2020 spike in interest in online whiteboards triggered by the lockdown.
On-Upload Processing
Running processing synchronously/asynchronously when a file is attached.
Open Banking Provider
Third-party service delivering bank-account data to financial apps, typically via webhooks.
Open-Closed Principle
SOLID principle: software entities should be open for extension, closed for modification.
Optimistic UI
UI pattern that immediately reflects success, assuming most requests will succeed.
Optional Gradual Typing
Shipping type signatures that support users without forcing them.
Opt New Optimization
Ruby 4.0 VM instruction letting the JIT optimize standard object construction.
Page Load Time Budget
Target of keeping first-page render under one second, including mobile 3G.
Pareto Filter Combinations
Only a small set of filter combinations is actually used; index those hot paths.
Partitioning
Splitting an application into smaller isolated parts (the older name for microservices).
Password Shucking
Attack combining plain-hash pre-images with a bcrypt layer to break wrapped hashes.
Pauseless Garbage Collection
JVM GC configurations trading throughput for zero pause times.
Performance SLA
Service-level agreement defining acceptable performance targets for features/pages.
Pipeline Operator
Proposed JavaScript operator for chaining function calls as successive arguments.
Premature optimization
Classic warning that optimizing too early wastes effort on the wrong code.
Prerender Until Script
Google's middle-ground speculation mode that stops prerendering at the first script tag.
Proc#curry
Ruby method returning a curried proc that partially applies arguments.
Projection Function
Pure fold over an event stream producing current or derived state.
Proleptic Calendar
Applying modern calendar rules backwards in time for convenience.
Prompt Alchemy
Andrei's name for so-called 'prompt engineering' — unreliable, non-scientific prompt tweaking.
Punch Card Programming
1960s workflow where code was mailed through typists and operators for a days-long feedback loop.
Quadgram Scoring
Scoring candidate decryptions by summing frequencies of their four-letter substrings.
RAIL Performance Model
Google user-centric performance model with a 100ms UI response budget.
Rails Is All Or Nothing
Critique that Rails makes replacing or disabling core components very hard.
Rails Reload-Safe ES Configuration
Configuration pattern preventing duplicate event subscriptions across Rails reloads.
Read/Write Disparity
Observation that most systems have far more reads than writes (or vice versa).
Real-time Web Applications
Web apps delivering updates instantly without client polling.
Reform Populators
Reform 2 hooks that decide how to turn an incoming nested fragment into a form/model.
Regression (broad sense)
Any change leaving the system in a worse state, not just a production bug.
Reinforcement Learning from Human Feedback
Training step where models are tuned to produce outputs humans prefer.
Reservation Pattern
Uniqueness validation in event-sourced systems via a reservation event on the shared key.
REST Representations
A REST resource is accessed only through different representations.
Resumable Uploads
Uploads split into chunks so interruptions don't restart from zero.
Resume Driven Development
Anti-pattern of adopting fashionable tech stacks to build a career rather than solve a problem.
Retry Error Wrapper Pattern
Wrap non-final Sidekiq errors so monitoring only logs them once retries are exhausted.
RJS
Rails 1.11 (2006) feature letting the server return JavaScript to manipulate the DOM.
Rogers Adoption Curve
Bell-curve model of how technology moves through a population (innovators → laggards).
Ruby Hash as SQL AST
Representing SQL queries as composable Ruby hashes built from constants, hashes, arrays, and primitives.
Runtime Types vs Static Types
Trade-off between runtime type checking and static type checking in Ruby.
Russian Doll Caching
Nested fragment caches where outer caches reuse valid inner caches.
Saga / Process Manager
Long-running coordinator of multiple aggregates to achieve a business goal.
Schemaless Databases for Telemetry
Schemaless stores are a poor transactional DB but good for logging/monitoring/telemetry.
Selective Rendering
Phlex feature where a view renders only a subset of its output (e.g. one Turbo Frame).
Shadow Traffic
Recording production traffic and replaying it against a new module to validate behaviour.
Sidekiq Middleware
Hooks invoked around Sidekiq's client-push and server-execute flows.
Single Table Inheritance
Rails pattern of storing multiple subclasses in one table via a type column.
Single-Tenant Architecture
Running a separate application instance per client.
Sometimes Nothing Is Enough
UI pattern: don't wait for async processing when real-time feedback isn't required.
Special Relativity
Einstein's theory deducing length contraction and time dilation from two simple assumptions.
Specs vs Tests
Specs are tests written for humans; tests are written for the computer.
SQLite as Deployment Artifact
Compile all of an app's Ruby to VM instructions stored in one SQLite file, shipped as the deployment.
SQLite COLLATE NOCASE
SQLite per-column collation for case-insensitive comparisons.
SQLite Foreign Key Debugging
Diagnosing opaque foreign-key violations via PRAGMA foreign_key_check.
SQLite Single-Writer Concurrency Trade-off
SQLite allows many concurrent readers but only one writer at a time.
Stalling For Time
UI pattern: hide async background work behind a plausible static confirmation screen.
Structural Physics of Software
Framing software design as obedience to universal structural laws (coupling, cohesion, transparency).
Stub Execute Verify
Testing paradigm that separates stubbing from verification into distinct phases.
Substitution Cipher
Classical cipher mapping each plaintext letter to a fixed replacement.
Symbol#to_proc
Ruby method converting a symbol into a proc that invokes that method on its argument.
TCP Slow Start
TCP congestion-control mechanism where bandwidth ramps up from ~14KB.
Tea Taster
tea role that validates new package releases by staking tokens on review outcomes.
Tell Don't Ask
Encapsulation principle: instruct objects to act rather than query their state.
Tethered Cat Fallacy
Principles that outlive the conditions that created them.
Three options for multi-region multi-tenant
Separate data only, separate apps fully, or hybrid with shared middle.
Time-Boxed Performance Exploration
Spend 10–30 minutes scouting where an optimization hour would yield the biggest win.
Tree Shaking
Front-end build optimization eliminating unused module code from bundles.
True Parallelism on the JVM
Running Ruby threads in parallel on all CPU cores via the JVM, with shared mutable state.
Type As Description Of A Set
Joel Drapper's abstract definition of a type as a description of a set of objects.
Typical Domain
Generic business domain (pricing, shipping, inventory…) repeated across almost every project.
Undo Event
Logux event rolling back an optimistic change when the server reports an error.
Unique Per-Site Email Leak Detection
Registering with a unique email per site to detect which site leaked your data.
Vector Clock
Causal-ordering mechanism for events across distributed systems.
Vertical Scaling Single Node
Scale SQLite workloads by running on a bigger single machine.
VFIO PCI passthrough
Linux mechanism for dedicating PCI devices (e.g. GPUs) to VM guests.
View Transitions API
Declarative browser API for animated DOM/page transitions with minimal code.
VT100 Terminal
1970s text terminal whose protocol is still emulated in modern terminal apps.
Waterfall Analysis
Browser request timeline used to diagnose web-performance bottlenecks.
Weasel Words
Technical prefixes and suffixes in class names that drain domain meaning.
WebM
Open web video container format, historically needed alongside MP4.
Web-to-Native Bridge
Two-way messaging pathway between a webview's JavaScript and native code.
Wirth's Law
Software expands to consume available hardware performance faster than hardware improves.
Workflow
A graph of steps that depend on each other's completion or failure, with persisted state.
Workshop Iteration Cycles (Plan–Work–Rethink–Iterate)
Running remote modeling as repeated small cycles rather than a 1-3 day offline marathon.
xkcd Dependency / Nebraska Problem
Famous xkcd comic depicting modern infrastructure balanced on one unpaid maintainer.
Zero-Disconnect Deployment
Deploying an app without dropping WebSocket connections.
esbuild Pipeline
Build setup combining esbuild, npm and similar tooling to bundle front-end JavaScript.