Thursday, October 15, 2015

Betty Is Like Siri Or Google Now For The Command Line (Translates Plain English Into Commands)

Betty is like Siri or Google Now for the command line. Well, sort of. The tool translates plain English into commands: it displays the command it runs and obviously, the command output, in the terminal.

Betty isn't voice controlled so you still have to type your (plain English) commands but if you want, it can speak the command output.

Betty command line

Betty's mission is, according to its GitHub page, to "provide a way to use computers through natural language input":

"Specifically, the benefit is being able to do things on your computer without leaving the command line or screwing around on the internet trying to find the right command. Betty just works".

For example, if you can't remember the exact compress and uncompress commands (and avoid sittuations like THIS), you can simply ask Betty to do it:
betty uncompress archive.tar.gz
Of course, the commands supported by Betty at this time is pretty limited since the tool is under two weeks old, but it should improve quite fast since it's not that hard to add new commands (and there are 17 contributors already).

Betty 0.1.5 supports a wide variety of commands, such as:
  • count (number of characters in a file, number of words in a directory, etc.);
  • config (change your name);
  • datetime (current time, date, etc.);
  • Find (find in files);
  • Internet / web queries (download some file, find out what's the weather like, etc.);
  • file / directory operations (compress/uncompress files, show file size, change permissions, etc.);
  • processes;
  • user commands (what's my username, real name, ip address, who else is logged in, etc.);
  • control iTunes and Spotify;
  • more.

Here are a few Betty examples:

$ betty whats my username
Betty: Running whoami
andrei

$ betty how many words are in gnome3 
Betty: Running find gnome3 -type f -exec wc -w {} \; | awk '{total += $1} END {print total}'
214

$ betty download http://cdimage.ubuntu.com/daily-live/current/utopic-desktop-amd64.iso to ubuntu-14.10-daily.iso
Betty: Running curl -o ubuntu-14.10-daily.iso http://cdimage.ubuntu.com/daily-live/current/utopic-desktop-amd64.iso

$ betty give me permission to this directory
Betty: Running sudo chown -R `whoami` .

$ betty turn web mode on
Betty: Web queries ON
$ betty whats the weather like in Bucharest
Asking the internet...
Betty: Bucarest, Bucuresti: It is currently patchy light rain in area with thunder, 63 Fahrenheit

$ betty turn web mode on
Betty: Web queries ON
$ betty translate "command line" to Spanish
Asking the internet...
Betty: LĂ­nea de comandos

And of course:
$ betty whats the meaning of life
Betty: 42.

A complete list of supported commands is available @ GitHub (under Documentation).


Install Betty in Linux


1. Install Ruby (required to use Betty) and curl (required by some Betty commands). In Ubuntu, install them using the following command:
sudo apt-get install ruby curl

2. Install git and download the latest Betty using the following commands:
sudo apt-get install git
cd && git clone https://github.com/pickhardt/betty

Or, to download Betty without using Git, grab THIS archive, extract it in your home folder and rename the extracted folder to "betty".

3. And finally, you'll have to add the path to the "betty/main.rb" file as an alias for "betty" in your ~/.bashrc file. Do this automatically (assuming you've downloaded Betty in your home folder!) by using the following commands:
echo "alias betty=\"~/betty/main.rb\"" >> ~/.bashrc
source ~/.bashrc

To contribute, submit bug reports, check out the latest code and the official installation instructions, see the Betty GitHub page.

No comments:

Post a Comment