Logic & Perception

Half Full or Half Empty

A number tells you where you are — but not where you're going.
On state, trajectory, and the hidden contexts buried inside every threshold.

You know the test. A glass sits on a table, water to the midpoint. Half full or half empty? We're told your answer reveals your temperament — optimist or pessimist, sunny or grim. But that framing is a trick, and it hides something far more interesting than personality.

The oldest question in the world is a measurement error

The honest answer to "half full or half empty?" is a question of its own:

Was someone filling it, or emptying it?

A glass being poured into is half full — on its way to overflowing. A glass being drunk from is half empty — on its way to nothing. Same water. Same line on the glass. Opposite futures.

The optimist and the pessimist aren't disagreeing about the water. They're each silently assuming a direction — and never saying so out loud. That unspoken direction is the anticontext: the missing piece of information that changes the meaning entirely, hiding in plain sight behind a number that looks complete.

And here's the uncomfortable part for anyone who writes software, designs a dashboard, reads a medical chart, or checks their phone battery: we make this exact error thousands of times a day, and we've taught our machines to make it too.

State is a photograph. Trajectory is the film.

Every measurement you have ever taken is a photograph. 60%. 98.6°F. 1,200 followers. A single frozen frame.

A photograph is genuinely useful. But it cannot tell you the one thing you most want to know: what happens next. For that you need a second frame — and the gap between them.

  • $4,000 in your account is comfort if last month it was $3,000. It is alarm if last month it was $9,000.
  • A fever of 38°C is recovery if you were at 40°C this morning. It is danger if you were at 37°C an hour ago.
  • 1,200 followers is triumph if you started the week at 800. It is collapse if you started at 5,000.

The number is identical in each pair. The meaning is opposite. State without trajectory is not just incomplete — it is regularly the opposite of the truth.

The Photograph

State

Where you are, right now. A single value. Honest, precise — and silent about everything that matters next.

The Film

Trajectory

Where you're going. The gap between two frames. The arrow the number forgot to carry.

A value tells you where you are.
The change in it tells you where you're going.

The optimism hidden inside if

Open almost any piece of software and you will find a line like this. It looks neutral. Objective. Just maths. But it is quietly, deeply optimistic — and it is wrong in a way that matters.

naive.py
if battery_level > 50:
    return "Sufficient"
else:
    return "Low"

Picture two phones, both reading exactly 51%. Phone A has been on the charger for ten minutes — climbing toward full. Phone B is in your pocket on a cold day, screen on, navigation running — bleeding out, and it will hit zero before you reach the station.

The code calls both "Sufficient". It is technically correct about the present and dangerously naive about the future. It made an optimistic assumption — that a number above a line is a number you can trust — and it never told you it was guessing.

Now watch what happens when we let the algorithm see the film instead of the photograph:

trajectory_aware.py
if battery_level > 50:
    if charging:
        return "Sufficient and improving"   # half full, filling
    else:
        return "Sufficient but draining"    # half full, emptying
else:
    if charging:
        return "Low but recovering"         # half empty, filling
    else:
        return "Critical — charge now"      # half empty, emptying

We didn't add a sensor. We didn't gather new data. We simply stopped throwing away the direction we already knew. The trajectory was always there — charging is just a second frame of the film. We had been deleting it on every line, and calling the result objectivity.

Every threshold is an opinion wearing the costume of a fact. When you write > 50, you are not describing the world. You are deciding, on someone else's behalf, where "enough" lives.

Same number, opposite worlds

Watch one number — 60% — walk into different rooms and come out meaning different things. We pretend a percentage is a measurement. It is actually a negotiation between a value and a stake — and we keep losing the negotiation because we forgot it was happening.

60%
Password · at a bank
Half empty — insufficient. Reject it.
60%
Password · at a forum
Half full — perfectly fine. Stop nagging.
75%
Test score · struggling student
Half full — a genuine triumph.
75%
Test score · usual 95%
Half empty — a quiet failure.

Same percentage. Opposite verdicts. The number didn't decide — the context did, and the context was never written into the number. A "strength meter" that shows the same bar to a teenager picking a game login and a treasurer moving a company's payroll is not being objective. It is being blind to stakes — and calling the blindness consistency.

The glass that is neither full nor empty

So far we've worried about a missing direction. But sometimes the state itself refuses to be a single number — and this is where the metaphor stops being a parlour trick and starts running the modern world.

Imagine you transfer money between two banks. For a sliver of time, the money has left one account and not yet arrived in the other. Where is it? Not fully sent. Not fully received. It is half-committed — a glass that is genuinely, simultaneously not-full and not-empty.

Engineers built an entire discipline — the "ACID" guarantees behind databases — largely to banish this in-between state, to force every transaction to be wholly done or wholly undone, never caught in the middle. And then the internet arrived and made the in-between unavoidable.

The choice no system escapes

The instant your data lives in more than one place — two servers, two phones, two continents — a network hiccup can leave those copies disagreeing. There is a famous result in computer science (the CAP theorem) that, stripped of its jargon, says something almost philosophical:

When the connection between two parts of a system breaks, you must choose. You can give people an answer that might be stale, or you can give them no answer until you're sure. You cannot always give a fresh answer and an immediate one. You must pick which half-full glass to hold.

Every app you use has quietly made this choice on your behalf. When your bank balance updates a beat late, when two people edit the same document and one edit "wins," when a "like" takes a second to stick — you are watching engineers decide which kind of wrongness is kinder. There is no option labelled "always perfectly correct, instantly." That glass was never on the table.

Nature solved this a billion years before we did

Here's the redemption in the story. Your own body never makes the mistake our battery_level > 50 makes. Your nervous system is, at its core, a trajectory detector. Sit in a warm bath and within a minute you stop feeling the warmth — your nerves go quiet on constant signals and scream only about change. Walk from sunlight into a dark room and you're blind for a moment, then adjust; what you perceive is not the absolute level of light but how it's moving.

Evolution worked this out early because the photograph is almost useless for survival and the film is everything. Is the predator closer than it was a second ago? That's a derivative — a rate of change — and the animals that couldn't compute it got eaten. We are the descendants of the ones who tracked trajectory.

Mathematics gave this instinct a name: the derivative, the rate at which a thing is changing. The value and its derivative are two different facts, and you need both. A car at 100 km/h that is braking hard is safe. A car at 100 km/h that is still accelerating is a different conversation.

The machines that refuse the single number

Engineers who track moving things — spacecraft, aircraft, the blue dot on your map — long ago stopped trusting any single reading. They use methods (the Kalman filter is the famous one) that blend where something is with where it was heading to estimate where it truly is now. Your phone's GPS does this hundreds of times a second. It refuses to believe the photograph. It insists on the film.

How to think in trajectories — a field guide

You don't need to write code to use any of this. You need to catch yourself the moment you accept a lonely number, and ask the second question.

1. When you see a value, ask for its direction.

"Sales are at 4,000." Up from what? Down from what? A number with no arrow attached is a sentence with no verb.

2. When you see a threshold, ask whose stakes set it.

"60% is fine." Fine for whom, risking what? The line between "enough" and "not enough" is always someone's judgement call dressed up as arithmetic.

3. When you see a verdict, ask which direction it assumed.

"Sufficient." Filling or draining? "On track." Accelerating or fading? The cheerful word almost always smuggles in an optimistic guess about the future.

4. When two people disagree, check what they're really fighting about.

The optimist and the pessimist staring at the glass are not arguing about water. They're arguing about a direction neither of them said out loud. Name the direction, and the fight often dissolves.

5. When something feels "done," ask: done, or just past the line?

A progress bar at 99%, a project "basically finished," a recovery "almost complete." Past the line is a photograph. Done is a place the film actually arrives.

The anticontext: the arrow we keep deleting

We are surrounded by numbers that feel complete and are not. A battery percentage, a balance, a score, a strength meter, a status light — each one is a single frame lifted out of a film, handed to us as though the rest of the reel didn't exist. And we accept it, because a number looks like a fact, and a fact looks like the end of the conversation.

But the glass was never really about whether you're an optimist. It was about a piece of information so easy to drop that we built whole systems on its absence: the direction of travel. State tells you the room you're standing in. Trajectory tells you whether the door ahead opens onto a garden or a cliff. Optimism is what you call it when you assume the garden and forget you assumed anything at all.

A confession from the driver's seat

I'll make this personal, because the splinter is in my own eye too. I suffer from road rage. The slow car ahead, the cyclist gliding through a red, the driver who drifts across a lane without ever touching the indicator — any of them can hijack my mood in a heartbeat. And every single time, I'm making the exact error this whole essay is about. I'm reading one frame and calling it the entire film.

Watch what the anger actually does. It takes an action"too slow", "didn't indicate", "shouldn't be on the road" — and freezes it into a verdict about the person. Slow driver becomes bad driver. No signal becomes no respect. I collapse a single moment into a whole character, a photograph into a life. The one thing I never extend to them is a trajectory.

Because what if the glass in that other car is filling, not emptying? What if she's racing to pick up a child, or driving gingerly because she's just been shaken, or crying behind the wheel over a grief I'll never see? What if the man crawling along is paralysed by some burden — self-doubt, bad news, a mind three miles away — and could do with the glass being called half full instead of half empty? I don't know his direction. That is the whole point. I never knew it, and I raged anyway.

And here is the log in my own eye: my driving perfection is a myth I cart around like a trophy. Have I ever been the slow one, the distracted one, the one who forgot to signal? I have — and then some. The offender I'm raging at is, on a different day, simply me. Road rage turns out to be an anticontext with a steering wheel: a missing direction I refuse to even look for, because the angry version of the story is the quickest one to reach.

So now I try to ask the second question before the horn. What direction are we really travelling in? Is my moment so much more urgent than the one playing out in the car beside me — and even if it is, is it worth becoming someone I'd be ashamed to meet? The honest answer is rarely the angry one. It's the quieter, two-framed truth: I don't know where they're going, and I haven't arrived myself yet either. How far have I come — and how far have I still to go?

The most honest algorithms — and the most honest people — are the ones that hold both at once. Not "the glass is half full" (optimist, guessing). Not "the glass is half empty" (pessimist, guessing). But the quietly complete:

"The glass is at the midpoint,
and the water is rising."

That's not a mood. That's the truth — finally wearing both halves of itself at the same time.

Anticontext is the practice of noticing the assumption a system never knew it was making. If this one lodged a small splinter of doubt next to the next percentage you glance at — good. That splinter is the whole point.