Then he hit send without once looking at the keyboard layout.
"Alexei, we saw your project. We don't officially support Linux, but... we're impressed. Can we send you a t-shirt?"
"That's not a script," Misha said slowly. "That's a companion."
He typed "Ghbdtn."
The first working version was ugly. It sometimes double-fired backspaces. It crashed if you typed too fast. It had no sound. But it worked.
Alexei had been a Windows user for fifteen years. He knew its quirks, its registry hacks, its blue screens of death. But the one thing he loved—genuinely, obsessively loved—was Punto Switcher . That little Yandex utility that watched his typing like a silent guardian. The one that caught his fat-fingered "Ghbdtn" and turned it into "Привет" before he even finished the word. It was muscle memory now. Type, blink, correct. Type, blink, correct.
Alexei opened the script. Line 423: a regex that checked if the active window title contained words like "password," "login," "sudo," "passwd," "ssh," "gpg." If yes, the buffer froze. No corrections. No logging. punto switcher linux
Alexei pushed puntod to GitHub under the MIT license. He wrote a README, a Makefile, and a small script to install it on Ubuntu, Fedora, and Arch. He added a section: "Why this exists."
He typed "Ghbdtn" in a text editor. Nothing.
Misha sent him a link. Not to a GitHub repo or a launchpad page. To a Gist. Raw text. No stars, no forks, no comments. The filename was punto_ghost.py . Then he hit send without once looking at the keyboard layout
The code was 847 lines of Python. It used python-xlib to hook into X11's record extension. It listened to every key press, every key release. It maintained a buffer of the last 30 characters. It had a dictionary of 4,000 common Russian words and their English typo equivalents.
The ghost was home. End.
The bad news: "Punto Switcher for Linux doesn't exist because no one wants to write a keyboard sniffer that works across all desktop environments. GNOME, KDE, XFCE, LXQt—they all handle input differently. It's like asking for a universal TV remote that works on a toaster." we're impressed
"I know," Alexei said. "But it never corrects inside password fields. Look—"
By day ten, Alexei had a text file called autoswitch_attempts.txt with 43 entries. Each one crossed out in red pen (figuratively—he used sed ).