Meet Betty, the Siri-Like App That Turns Plain English Into Code

The old-fashioned computer command line isn’t going anywhere. But it may soon learn to speak our language. For all the advances in the way we interact with computers — from the graphical user interface to voice control — the command line still serves a very important role. For developers, system administrators, and other hardcore geeks, […]
Jeff Pickhardt. Photo Tommy Giglio
Jeff Pickhardt.Photo: Tommy Giglio

Screen Shot 2014-05-06 at 9.17.10 PM

The old-fashioned computer command line isn't going anywhere. But it may soon learn to speak our language.

For all the advances in the way we interact with computers -- from the graphical user interface to voice control -- the command line still serves a very important role. For developers, system administrators, and other hardcore geeks, this bare-bones interface is still the best way to build and tweak the complex computer systems that underpin our world -- despite its dependence on arcane text commands. It plugs straight into the guts of the machine.

But working with the command line isn't always easy. It means memorizing all sorts of cryptic commands, things like "rm," for removing a file, or "grep," which finds particular chunks of text buried in a collection of files. That's different from the "find" command, which searches through the names of files, not their contents.

Even hardcore hackers like former Google engineer and open source developer Jeff Pickhardt have trouble remembering commands they don't use that often. That's why Pickhardt created Betty, a tool that translates plain English into Unix commands, the commands that popped up on the UNIX operating system in the '70s and are still used by Apple's OS X operating system, the open source Linux OS, and even Microsoft's PowerShell environment.

"It came out of my frustration from never remembering certain commands, like the specific flags for unarchiving a file," Pickhardt tells us. "It's hard to remember the exact compress and uncompress commands, and I would always look it up in my cheat sheet. Now, I can just say: 'Betty, uncompress myfile.tar.gz.'"

Betty isn't voice controlled. You still have to type in your commands. But like Apple's Siri, it can process natural language. Today, Betty only recognizes a few commands — mostly the ones Pickhardt himself has trouble remembering. But because it's open source, anyone can can add to it, and Pickhardt hopes other developers will help expand Betty's vocabulary.

Certainly, this isn't for everyone. As author Neal Stephenson wrote in his book In the Beginning Was the Command Line, many have grown accustomed to abbreviated UNIX commands. "This is a system invented by people to whom repetitive stress disorder is what black lung is to miners," he wrote. "Long names get worn down to three-letter nubbins, like stones smoothed by a river."

But eventually, Pickhardt would like to add voice recognition and make Betty more than just a tool for programmers. "Long term, the project could move beyond the command line," he says. "I think there should be an open version of the intelligent personal assistant, to control a computer with natural language input. Apple has Siri, Google has Google Now, but shouldn't there be an open version as well?"

That sounds great. But does the world really need yet another digital assistant with a feminine name?

"When I named it, I considered both male and female names from my family and choose the one that flowed the best when spoken: Betty, my grandmother's name. A feature request for the project is to make the name configurable, for those who want to rename their copy of Betty," Pickhardt says. "Just don't tell Grandma."