The Day I Killed the OK-Gnome and Nearly Caused a Harbor Riot
Modal dialogs, angry dockworkers, and why process names lie
My phone rang at 6:47 AM. Not buzzed, rang. The old-fashioned, someone-is-definitely dead kind of ring.
“The salary run failed.” My manager’s voice was tight. “Nobody in the harbor is getting paid today.”
I sat up so fast I nearly fell out of bed. “What do you mean, nobody?”
“I mean, 5,000 dockworkers are about to discover their bank accounts are empty. How fast can you get here?”
The crime scene
By the time I reached the office, it looked like a disaster movie command center. Phones ringing nonstop. Managers huddled around screens.
Someone from HR was drafting what I assumed was a ‘please don’t storm our building’ email.
The Rotterdam harbor doesn’t stop. It’s one of the world’s busiest ports, processing millions of containers yearly. The people who keep it running, the crane operators, the longshoremen, the crews, they work brutal shifts in all weather.
They earn every euro, and they expect it on time.
Our company managed payroll for nearly half of them. And now, because of something that happened on my watch, thousands of those workers were about to have a very bad morning.
The setup
Let me rewind to the previous evening. I’d been tasked with implementing and installing a new planning system. We developed this software to help coordinate worker assignments across the harbor. The technical architecture was, let’s call it, “vintage.”
Picture a Windows NT bridge server, an outdated machine acting like a translator between our modern network and a Cold War-era Unisys mainframe.
During my installation, these modal dialog boxes kept popping up. Modal dialog boxes, those annoying pop-ups that freeze your screen until you click OK, like a clingy notification you can’t ignore.
Error this, warning that. Click OK, they’d disappear. Another would pop up later. Click OK again. It was like the world’s most boring video game.
The fatal click
Fed up with the interruptions, I opened the Task Manager to investigate. There it was, clear as day: modal-error.exe.
The naming couldn’t be more obvious, right? This had to be the process generating all these annoying error messages. With the confidence of someone who’d just found the smoking gun, I right-clicked and selected “End task.”
I waited for the next pop-up. One minute. Two minutes. Five minutes of blessed silence. Victory! The constant interruptions had finally stopped.
I finished my installation, tested the planning system, and headed home, feeling pretty good about my problem-solving skills.
The morning after
Back to that disaster-movie office. As we dug through the logs, the horrible truth emerged. The bridge server had crashed at 3:17 AM, right in the middle of the salary run. The cause? System resources exhausted by… unacknowledged modal dialogs.
Wait. But I’d killed the process creating those dialogs. Hadn’t I?
My colleague Chris looked at me with a mixture of pity and disbelief. “You killed the OK-kabouter?” (‘kabouter’ means ‘gnome’ in Dutch)
“The what?”
“The OK-gnome. Modal-error.exe. It doesn’t create the errors, it clicks OK on them!”
The OK-Kabouter explained
As it turns out, I had murdered the one thing keeping the system stable.
Years ago, some unnamed hero had noticed that the legacy mainframe integration spawned countless modal dialogs for minor hiccups, warnings about deprecated functions, errors that weren’t really errors.
Fixing the root cause would have meant rewriting decades of integration code. So instead, they created an elegant hack.
It was a small program that ran every ten minutes, searched for any modal dialog boxes with specific titles, and automatically clicked OK. They named it modal-error.exe, which in retrospect was perhaps not the best choice.
The OK-kabouter had been faithfully clicking OK for years, keeping the bridge server from drowning in its own notifications. Until I came along and decided it was the problem.
The countdown
By 8 AM, the first calls started coming in. Workers checking their bank accounts before their shifts. The conversations were not pleasant.
“My rent is due today.” “I need to buy groceries for my kids.” “What do you mean the money isn’t there?”
Each call was a reminder that behind every technical system are real people with real lives. These weren’t numbers in a database, they were families depending on wages they’d already earned.
As the calls grew more desperate, management scrambled to avoid an all-out crisis, half-joking about whether our security could handle an angry mob.
The fix
We worked like our lives depended on it, which, given the circumstances, might not have been far from the truth. The emergency salary run had to be perfect. No second chances.
By some miracle (and a lot of manual intervention), we processed everything by late afternoon. We contacted the banks and asked them to expedite the transfers.
Most workers would see their money by the next morning, a one-day delay that felt like an eternity.
The OK-kabouter was, of course, immediately resurrected. Someone even added a comment to the startup script: “DO NOT KILL, THIS IS NOT THE PROBLEM, THIS IS THE SOLUTION.”
What I learned
That day burned several lessons into my brain:
Process names are suggestions, not documentation. What something is called and what it actually does can be completely different. Always investigate before you terminate.
Legacy systems are held together by digital duct tape and prayer. That weird workaround you just found? It might be load-bearing. Treat it with respect.
There’s no such thing as an isolated system. My “minor” change to a planning server nearly caused a humanitarian crisis. Everything connects to everything else.
Ask questions first, shoot later. A two-minute conversation with any colleague would have revealed the OK-kabouter’s true purpose. Pride and assumptions are expensive.
Remember the humans. It’s easy to think in terms of servers and processes and code. But at the end of every system are people whose lives can be upended by our mistakes.
The legend lives on

The OK-kabouter still runs today, as far as I know. New developers are warned about it during onboarding. There’s probably a printed sign somewhere: “HERE LIVES THE OK-GNOME. DO NOT DISTURB.”
I stayed at that company for several more years, and the story followed me like a shadow. “Hey, aren’t you the guy who almost caused the harbor riot?” Yes. Yes, I am.
But here’s the thing about spectacular failures, they make you better. I’ve never killed another process without understanding it completely.
I’ve never assumed I knew what something did based on its name. And I’ve never forgotten that behind every terminal is a person trying to make their life work.
Sometimes the best lessons come from the worst mistakes. And sometimes, a little gnome clicking OK in the background is all that stands between order and chaos.
Here’s to the OK-Gnome, and to never underestimating the quiet heroes of our systems.
Got your own story about a tiny mistake that almost caused disaster? Share it in the comments. I’d love to hear how you survived (and what you learned)!