Her heart sank. Then she realized: it was supposed to do that. Because the EEPROM remembered five . The flowchart’s first action was to read address ‘0’, see the number ‘5’, and decide, “I have already blinked five times. I will not blink again until a new day.”

She waited ten agonizing seconds. Plugged it back in.

The problem was immediate. The controller had a “last_watering” variable. But this variable lived in RAM—the chip’s short-term memory. Every time a lightning storm flickered the power line, or even when the sun baked the control box to 60 degrees Celsius, the chip would reset. And RAM would vanish. The controller would wake up, see a blank “last_watering,” panic, and assume it had never watered anything in its entire life.