ro·bot /ˈrōˌbät/
- machine capable of carrying out a complex series of actions automatically.
- (esp. in science fiction) A machine resembling a human being and able to replicate certain human movements and functions.
Robots. Usually the at the center of epic science fiction adventures whether they are the deadly T-1000 from The Terminator or the fun and friendly WALL-E. The first written accounts of 'robots' were from the 3rd century BC in ancient China. It wasn't until after the 1950s that computers and robotics became rapidly increasing in complexity and numbers. Fast forwarding to the present day we have robots like ASIMO and amazing quadrotor robots.
People eventually began moving the concept of a robot to the virtual world on the Internet. Internet Relay Chat, or IRC as it is more commonly known is a protocol that allows people to join servers and channels to chat over the Internet with other users. People created IRC bots which would join IRC and appear to be a normal user, however they usual have build in artificial intelligence and respond to various 'commands' issued by other users on IRC. The oldest known IRC bots were Bill Wisher's Bartender and Greg Lindahl's GM (Game Manager for the Hunt the Wumpus game).
Other methods of communicating online became available ranging from AOL Instant Messenger to ICQ and to more recently 37signal's Campfire and HipChat. Many 'bots' have been written for these services offering functionality such as:
- Logging messages from chat
- Hosting trivia games
- Automating administrative tasks
- And more recently... sticking moustaches on random images
You may or may not have heard of GitHub. They offer online git repository hosting with some nice features. GitHub employees are known for working asynchronously and are spread all over the world. They use Campfire for communicating with each other. At one of the GitHub summits, Ryan Tomayko created the first hubot. It originally allowed employees to run commands on a number of servers. Hubot became infamous after teasing from many GitHub employees in talks.
Fast forward to the present day and GitHub have since open sourced hubot and allowed the public to help and contribute to hubot. I contributed a number of fixes and scripts to hubot and hubot-scripts and eventually was asked if I would like to help with maintaining hubot and hubot-scripts.
And on that note it's time to get on with the show and learn hubot the hard way.