Technology
Discover facts about technology. Small discoveries that change the way you see familiar things.
Technology

Vacuum cleaners devour dirt by generating negative pressure
A motor-driven fan pushes air out the back, drawing surrounding air—and dust, hair, and crumbs—into the nozzle to replace it.
Discover more
Your seat belt tightens around the crash before you do
A pretensioner quickly removes slack when the car detects a crash. That puts the belt in position to restrain you before you travel farther forward. The belt…
Discover more
The tiny water barrier protecting your bathroom from sewer fumes
The curved trap retains a small pool of water that blocks sewer gases from coming up through the drain.
Discover more
Street sweepers violently scrub asphalt using rotary brushes
Rotating side brushes sweep debris from the gutters toward a central broom, which lifts it onto a conveyor belt for collection.
Discover more
Wire paperclips hold pages together via metal elasticity
A paperclip’s bent wire acts like a spring: it presses inward on the pages, holding them together.
Discover more
What makes a fire sprinkler suddenly release water
Heat makes the glycerin-based liquid in a sprinkler’s glass vial expand until the vial breaks, releasing the plug and opening the water line.
Discover moreA bigger world.
One discovery
at a time.
Keep discovering with Stacky. Interesting facts in an app that is always within reach.

Automotive engines arrange cylinders in a V to save space
Two angled banks of cylinders share one crankshaft, making a V engine shorter than an equivalent row of cylinders.
Discover more
Giant telescopes observe space using heavily curved mirrors
Huge glass lenses would sag under their own weight and distort the view. Mirrors avoid that problem by catching incoming light and reflecting it to a focal…
Discover more
Mechanical typewriters use heavy levers to slap ink
Each key sets a metal typebar swinging through a linkage; its reversed letter strikes an inked ribbon against the paper, then snaps back.
Discover more
One YAML symbol can change what a line break means
YAML offers literal blocks that preserve line breaks and folded blocks that turn many of them into spaces. The text can look similarly arranged in a file but…
Discover more
C++ treats infinite loops without side effects as undefined behavior
Because C++ lets compilers assume a side-effect-free loop will eventually finish, an optimizer may remove one that would otherwise run forever.
Discover more
Appending text in a loop can repeatedly recreate the entire string
In languages with immutable strings, each added character can require a new copy of the whole string—so a million additions can mean a million recreations.
Discover more
Malbolge changes its instructions after running them
Ben Olmstead designed the language to be deliberately difficult: it combines unusual arithmetic with instructions that transform after execution. Andrew Cooke…
Discover more
Git repositories operate as directed acyclic graphs
Each commit points to its parent commits, creating branching histories that can merge without forming cycles.
Discover more
Empty try-catch blocks silently hide catastrophic errors
With no code to log or handle the caught error, the program may keep running while hiding the problem from the developer.
Discover more
Why one emoji can use more memory than a sentence
A combined emoji with skin-tone or gender modifiers and zero-width joiners can take up more bytes than a whole sentence of plain text.
Discover more
Big O notation measures how algorithms degrade under load
It describes how an algorithm's running time grows as its workload increases, revealing when a loop that works on small inputs may slow down as more data…
Discover more
JavaScript's 'not a number' still has the type 'number'
NaN is a special value in JavaScript's numeric system, used for results that aren't valid ordinary numbers. That's why checking its type returns 'number.' It…
Discover more
Excel's last row is a very computer-shaped number
A modern Excel worksheet stops at 1,048,576 rows: exactly two to the twentieth power. The apparent oddity comes from a binary-friendly limit, not a judgment…
Discover more
Why Floating-Point Math Turns Zero Division Into Infinity
In floating-point arithmetic, dividing a nonzero value by zero can produce Infinity instead of stopping the program, leaving later calculations to handle it.
Discover more
Zero-indexed arrays constantly trigger off-by-one errors
Because the first element is at index 0, a loop written as though counting starts at 1 can go one past the end and try to access an element that isn’t there.
Discover more
Object-oriented inheritance pulls unwanted dependencies
The “gorilla banana” problem describes how asking for one simple object can bring along a whole chain of unnecessary dependencies—in the classic example, a…
Discover more
When YAML mistook Norway for false
In older YAML parsers, the country code “NO” could be interpreted as the Boolean value false, breaking internationalization files.
Discover more
In Python, True + True equals 2
Python treats Boolean values as integers, so True acts like 1 in arithmetic.
Discover more