Bot -> HUBOT
I can't make this (even though I started it). Please feel free to come and discuss or hit me up at the booth. You can't miss me I'm in the red hat. I have a small family emergency what needs my attention that just popped up.
PHP can be slow. Especially if you're running the IRC Bot graciously provided by Morbus Iff. https://drupal.org/project/bot
Node.js is fast. Especially if you're running HUBOT graciously provided by GitHub. http://hubot.github.com/
The goal of this BoF will be to discuss the merits of switching to HUBOT and starting some projects to port some of the awesome and heavily used features of the Drupal Bot project to HUBOT. For this to be successful we would need:
- Simplicity in spinning up HUBOT instances for clients.
- No data loss (Keep all Factoids, and other weird things we've stored in the bot)
- No functionality loss (People wouldn't want to learn to use another bot)
With these goals (and probably more) we can provide a faster BOT for our IRC channels which is less taxing on our servers as well as provide a means to access TONS of other plugins which are growing through a much more active community. You can see a crazy list of some here: http://hubot-script-catalog.herokuapp.com/
Specific topics: (please feel free to contact me to add to this or comment below)
- Disk IO: logging chats: differences in methods and performance
More over at Hackpad.
Comments
From my Twitter comments:
Your foregone conclusion that PHP is making the IRC Bot slow is completely inaccurate :) The occasional slowness of the bot is attributed to Freenode rate-limiting, not PHP. See drupal.org/node/1460954 for the details. Hubot would run into the same problems if it had as many connections and channels, on Freenode, as Druplicon does.
Thanks!
We actually run the Drupal Bot on our personal servers for our own IRC chat rooms (sometimes for clients) and we're seeing that they are one of the most taxing services on our server.
This is what brought up the discussion internally, and so I thought a BoF would be a great place to discuss the pros and cons, perhaps do some benchmarking and come up with a solution.
Ah, see, I can accept that,
Ah, see, I can accept that, and that's actually part of the README.txt: This is an IRC bot... in PHP. PHP is not especially awesome with regards to memory management, and it certainly wasn't intended to run a script for any respectable period of time (like, say, longer than the default 30 seconds). But, that's not what you actually said: you said the bot was "slow", not that it was "taxing" or a "memory hog". I won't debate the latter, but I'll definitely debate the former.
The goal of bot.module was never to make a memory-efficient bot: it was to make one that used Drupal as the back-end. It's a hilarious WTF, and I end the README with "Love the limitations, and craziness, of this project." Of course there are less resource-intensive bots out there - hell, the bot I wrote/ran for Drupal *before* the bot.module was a Perl bot and it used a lot less resources (and it's still in use today, notably in #drupal-watercooler). Again, that was never the goal. The goal was simply to have an IRC bot that ate its own dog food, as it were.
Which makes this session seem generically odd now: it's more becomes a "what IRC bot should I use?" software selection instead of anything really specific to Drupal.
It's true!
I have some alterier motives here ;)
The first (and most important) is to evaluate something (HUBOT in this case) to determine if/how much more performant it is to run on our servers.
Secondly, to get help from the community (if they so deem) to port some of the features that we use everyday in our Drupal Bots to HUBOT.
And third, to perhaps persuade you to make an appearance. Partly (I admit) for the infamy, but more importantly for the reason of having your expertise in the discussion.
Added to my schedule. Should
Added to my schedule. Should be a fun discussion.
Considered this just last month..
I grabbed Bot.module recently for internal use because I liked the Drupal integrations, despite feeling that Hubot was probably the project du jour if I wanted an active project. Still, whipped up Github integration and cleaned up Redmine for Bot.
I'm curious what people are thinking of Hubot, will try to swing by :)
Cancelled
Hey guys - really sorry, but i've a family emergency that just sprang up and have to cancel. I'll leave the session open for people to discuss this idea but I've gotta take care of my wife's sanity first :(