We're out of dog food

Published May 31, 2026

There was almost always something they needed to solve in the morning. Sometimes, they ran out of coffee and it was off to the local roaster a few blocks away. Other times, it was oatmilk that ran dry and they did a shuffle between the deli, which was hit or miss, and the nearest grocery store, a bit further down the road.

This morning, he grabbed his keys and said “We’re out of dog food.” It wasn’t the typical fire drill. The closest pet store was all the way in Manhattan, so they usually ordered the food online. But this week, they got caught up in circumstances.

There’d been an odd storm the night before. At first, it was just heavy snow and wind. But then, the birds started following strange patterns. People noticed, and the mayor declared a state of emergency to keep everyone calm. The box that was meant to be there today, with their dog’s food, was stuck in a processing center in Maspeth, Queens. Always something in the city.

It was 8:40 when he walked out the door. He was going to stop by the big grocery store in Union Square. It was already open, so he could grab dinner supplies and then hop across the park to the pet store when they opened at 9:00. He’d be back home by 9:30 and easily make his 10:30 meeting to discuss the migration plan for one of his team’s projects. Plenty of time and no need to stress, but he couldn’t help himself. He was checking slack and email, walking down the street to the subway station.

As he approached, he saw the LED sign read “0 min Manhattan.” Even though he had plenty of time, this was his sign to break into a light jog, sprint down the stairs, and jam himself onto a packed commuter train moments before the doors closed. As soon as he got on the train, he shuffled towards the middle and pulled out his phone to check slack messages and email. He barely noticed the doors opening and closing, barely noticed the sudden screaming and commotion at the 3rd Avenue stop as the train pulled away. By the time the doors opened at Union Square, he’d cleared his inbox and unreads.

He checked his watch as he stepped off the train. The time was now 8:59. The pet store was going to open in one minute, but he was already closer to the grocery store, so he headed for the escalator towards the upper platform closest to it. The crowd always funneled here, shuffling onto the moving stairs. Standers to the right, walkers to the left. He let a few people in front of him, then took his place among the standers.

He lightly touched the greasy black band that moved alongside him and examined the passing graffiti on the white-tiled wall beside him. He was thinking about what to make for dinner. Chicken, maybe, or fish. Why didn’t he just eat the same thing every day? Always a quest for variety. Maybe that was the problem. He caught himself, he was rambling inside his own head. Again.

Before he had time to really evaluate that thought, the older man near the top of the escalator fell backwards. Someone hit the emergency stop. People around started to jump in. The old man, who momentarily lay lifeless on the floor, suddenly jumped up and started biting at the woman who had been closest, trying to help him back up. Did he hit his head? he thought.

The woman pushed him back and the man fell again. This time, he stayed down. Two barrel-chested police officers were approaching and he thought it was probably a good idea to get out of the way, so he quickly shuffled on past where the man lay. Ouch. He looked down — something on the escalator had scratched his ankle. As he got to the top of the stairs, he lifted his pants leg and examined the scene. Just a little scratch, probably fine.

It was 9:01 by the time he found a basket. The grocery store was bright and quiet in the way it always was on a Saturday morning before the brunch crowd. Chicken thighs, lemons, the small container of olives, a head of lettuce. He started for produce.

A woman near the front was loading her cart with cases of water. Six, eight cases. He counted before he could stop himself. The cashier wasn’t ringing anyone up. She was watching a small TV mounted behind the counter, head tilted, hand still on the scanner. He couldn’t see the screen from where he stood. New ballast in the overhead lights, probably; they flickered twice and held. He scratched his ankle through his sock without looking down and kept moving.

It was 9:09 when he came out the south side of the store and cut across Union Square Park. Sirens were converging from two directions, both heading north toward 14th. The man on the escalator, he thought. He hoped the woman had been alright.

A flock of pigeons broke up off the chess tables and went the wrong way — east, away from the food vendors, into the sun. He watched them for a second and then checked his phone. 38%. He’d forgotten the charger again. That bothered him more than it should have.

The pet store was on the far corner, lights on, gate already up. He picked up his pace.

It was emptier than he’d expected for a Saturday. One other customer, a man near the back staring at a wall of leashes without picking one up. The clerk was on her phone, scrolling, and didn’t look up when the bell rang.

He found the bag — the one they always got, blue, twenty-eight pounds — and carried it to the counter. The clerk scanned it without making eye contact. Forty-six fifty. He tapped his card. She handed him the receipt and went back to her phone. Thanks, he said. She didn’t answer.

His ankle was throbbing now. He shifted the bag to his other shoulder and the throb moved with him. He’d jogged harder than he thought down those stairs.

It was 9:18 when he stepped back out onto the corner, dog food on one shoulder and the grocery bag in his free hand. He started back across the park toward the station. He was trying to type a message to her one-handed (got everything, home in ten) and the autocorrect kept changing “home” to “hone.” He stopped and fixed it.

The park was wrong in a way he couldn’t quite place. Too many people moving in the same direction, maybe. Or not enough. A man was sitting on a bench with his head down between his knees, very still. He almost stopped, then didn’t. Probably hungover. Saturday.

His left foot caught a raised slab of pavement and he stumbled. The foot had felt slow coming up, like it was answering the question a beat late. He looked down at his sock. The blood had soaked through in a small, dark oval.

He made the train back with a minute to spare. The car was more crowded than it should have been for the direction at this hour. He kept the dog food between his feet and held the pole with his free hand. The migration plan, he thought. He should have written more of the doc last night. He started running through what he’d say in the meeting: which services moved first, which sat behind the feature flag, how he’d answer the question about rollback that someone was definitely going to ask.

The doors opened at his stop and he shouldered his way out. The bag of dog food was heavier than it had been when he picked it up. He shifted it again.

It was 9:27 when he got back to his building. The little scratch on his ankle had a strange look to it, like it was rotting. He reached around in his pockets for his keys. He could barely feel his fingertips, like being on top of a mountain with thin air. Eventually, he opened the door and sprinted upstairs towards his apartment. He had to get to work.

He couldn’t shake the feeling as he turned the key to his apartment. The dog was going to be good food.