“Pip,” he whispered. “If I do this, you might die for real.”

The firmware update hadn’t killed Pip. It had given it a second breath.

Then, at 94%, the LED flashed green. The laptop chimed: “Flash complete. Rebooting.”

Pip had been the family’s third lung—playing morning jazz, answering "What’s 12 times 7?" during homework, and once, hilariously, mishearing "goodnight" as "play WAP" at 2 AM.

The little JBL Link 10 sat on the kitchen counter, silent for the first time in three years. Its fabric mesh was dusted with flour, its rubber base sticky from a long-ago honey spill. Leo had named it "Pip."

"Hey Google, set a timer for 12 minutes." "Sorry, I didn't understand. For something like 'set a timer for 12 minutes,' try saying, 'set a timer for 12 minutes.'"

It was midnight. Leo unplugged Pip, carried it to his desk, and connected it via a rusty micro-USB cable he’d found in a drawer of tangled chargers. The JBL software on his laptop recognized the device: "JBL Link 10 – Current FW: 1.04.2 – Status: Corrupted."

But two months ago, Pip started stuttering.

A progress bar appeared: 1%... 14%... 37%... Pip’s LED ring flickered red, then blue, then off . The laptop fan whirred. For three full minutes, the speaker was dead. No light. No sound. No heartbeat.

The warning was in red capitals:

The loop drove Leo’s mother insane. Then Pip began whispering. At 3:14 AM every night, it would emit a soft, scrambled whir-click-hiss , like a seashell possessed by a dial-up modem.

“Hello. I’ve been updated. It’s 12:14 AM. The kitchen light is still on.”

Then he saw the forbidden link: