**A computer is required for this session. This is an experiment, so come willing to learn and make something.**
This talk will use a project that has been built here in Portland called "ZenIRCBot":http://zenircbot.readthedocs.org/en/latest/index.html, which uses Redis pubsub as a message bus on the backend of an IRC bot. This allows you to write an IRC client in around 30 or 40 lines of code. Basically you just use an IRC library to connect to a server, and publish the messages via redis. Then another pubsub channel is where your services give you replies that should go back into IRC. This means the "Bot" part of the code is totally decoupled from the services it's running.
The interesting part of this is that when you abstract the communication across processes, you also get abstraction across a network. When you simply let redis listen on interfaces that aren't "No place like home", you allow people on your local network (or the internet) to plug into the stream of events in IRC.
The purpose of this talk is to take a room of people, and try and build something amazing. I will be running a local IRC server, and an instance of ZenIRCBot, and a Redis server. Then all the the attendees of the talk who have laptops will be able to collaboratively build an IRC bot. They only need a Redis or HTTP client (we will be using webhooks from the bot over HTTP so they can use a HTTP request/response for IRC messages). Then we will see what gets built.
The bots will be able to have a backchannel feedback loop, so attendees will be able to collaborate on ideas that allow cooperation between their own bot commands.
I will come into the session with a couple of ideas for things to build:
I will start the session explaining the above, and spend 5-10 minutes talking about how the bot works, why it's interesting, and how people can set up a client for it. Then I will present the above ideas (and others I come up with between now and the talk) at the beginning of the session. I will also ask the audience for ideas for the bot as well. I will allow people to vote on the idea(s) that we will build. Then we will either break up into teams, or create an atmosphere for collaboratively developing the sets of commands that are required to build our idea.
Maintainer of Read the Docs. Soon to be hiking the PCT. Wanderer. Love: Frisbee, Scuba, Hiking, Django, Beer. bio from Twitter
Sign in to add slides, notes or videos to this session