Perl Mongers' Site

Houston.pm

🌐
Content About πŸ—ΊοΈ
❓
πŸ”‘

πŸ”—
1237593600  

🏷️ presentations 🏷️ news
March 2009
Topic: Discussion of Catalyst/MVC
Presenter: Todd Rinaldo
Todd lead a discussion of the MVC paradigm as related to the Catalyst web framework. The discussion ranged from MVC to other topics in object oriented programming. The discussion finished up with some thoughts on Moose Roles.

RRDtool Tips and Traps πŸ”—
1235174400  

🏷️ presentations 🏷️ news
February 2009
Presenter: G. Wade Johnson
This month's topic was not directly related to Perl. G. Wade Johnson described some of the tips and traps involved with using the RRDtool software.

Programming Editors for Perl πŸ”—
1232496000  

🏷️ presentations 🏷️ news
January 2009
Presenter: Robert Boone
Presenter: Phil King
Presenter: Todd Rinaldo
Presenter: G. Wade Johnson
The topic this month was programming editors and IDEs for use with Perl. Given the time required to become really proficient with one of these tools, it is almost impossible for one person to provide a fair treatment of more than one. To handle this problem, four of our members presented aspects of different editors. The focus was mainly on emacs, Eclipse, and vim, with other editors mentioned along the way.

πŸ”—
1221955200  

🏷️ presentations 🏷️ news
September 2008
Topic: Open Help Session
This session was another open invitation for people to bring questions or problems for the group to provide help on.

πŸ”—
1219276800  

🏷️ presentations 🏷️ news
August 2008
Topic: Rakudo Testing Revisited and Open Help Session
We discussed how much each of us had accomplished in testing Rakudo. We also discussed problems that were causing problems for members of the group.

Testing Rakudo πŸ”—
1216598400  

🏷️ presentations 🏷️ news
July 2008
Presenter: Patrick Michaud
Todd Rinaldo got Patrick Michaud (Perl 6 Pumpking) on the speaker phone for a presentation about improving the specifications testing on Rakudo.

Emacs and Screen πŸ”—
1214006400  

🏷️ presentations 🏷️ news
June 2008
Presenter: Will Willis
The Emacs editor is popular with a large community of users. This month, Will showed how Emacs can improve the life of a Perl programmer. He went on to cover the screen program from the GNU project.

Open Perl Help Session πŸ”—
1211328000  

🏷️ presentations 🏷️ news
May 2008
This session was another open invitation for people to bring questions or problems for the group to provide help on.

Open Perl Help Session πŸ”—
1208736000  

🏷️ presentations 🏷️ news
April 2008
This session was an open invitation for people to bring questions or problems for the group to provide help on.

The Net::Jabber::Bot Project, continued πŸ”—
1203552000  

🏷️ presentations 🏷️ news
February 2008
Presenter: Todd Rinaldo
The group continued working on the project from last month. We extended testing and worked on the version request.

The Net::Jabber::Bot Project πŸ”—
1200873600  

🏷️ presentations 🏷️ news
January 2008
Presenter: Todd Rinaldo
Todd introduced the Net::Jabber::Bot module he has been developing. The group helped to improve the testing of the module and began the process of turning it into a group project.

Net::Jabber::Bot Project πŸ”—
1196531362  

🏷️ blog 🏷️ project

We discussed in the November 2007 meeting Todd doing a presentation of Net::Jabber::Bot. We also considered the possibility of maintaining the module as a group. The following is a summary of the project from Todd.

Existing perl Jabber bots in the field

Jpb seemed like a good candidate to me originally so I wouldn't have to write my own. The problem as I got into it was that the code badly mixed with the config so that I would have to alter the modules any time I wanted to change something. I decided to write my own.

Net::Jabber::Bot Synopsis

The module heavily leverages Net::Jabber, which is really just a thin shell on top of Net::XMPP. I have developed this module over the last few months to allow me to separate out the things one wants to do with a bot from the things that can get you in a lot of trouble with a bot. The assumption I started with is that most people simply want to create a bot that can do something every once and while and that is able to react when new messages it cares about are sent. This is what the module aims to do.

Needed code enhancements to the module.

  1. Needs to be able to react to version requests. This requires being able to generate customized messages. This trick is documented between Net::XMPP and Net::Jabber, but I lack the object-oriented experience to implement it.
  2. Needs to be able to tell what messages are just history messages. Currently the bot does this by ignoring everyone for a period on startup. I consider this to be a hack at the moment that sometimes fails if the server is slow.
  3. Make test is a mess. Almost all of the tests require a jabber server to be present. This is making the modules tests to look very red on the automated CPAN testers site. Robert and Wade told me I should be programming to the interface. This sounds like a grand plan but I have no idea what it means :)
  4. Some of my design decisions could use a closer look as to some of the values being hard coded, etc. Originally I envisioned a Net::Jabber::Bot being inherited from Net::Jabber::Bot::Safety, but I decided to just merge the 2 ideas. I'd love to explore if the choice I made was a good one.
  5. Currently the module is initialized and connections are made via a new being fed a hash from hell. It feels like a kludgy approach to me at the moment.
  6. The re-connect algorithm seems to have issues
  7. While it's perfectly safe to connect to a jabber server with the same username, it's very dangerous to the server to connect with the same user/resource. Unfortunately I haven't figured out a way to detect that I'm doing this. As a result I've been "chastised" by server admins for not noticing that I hadn't killed the old bot when I started the new one up.
  8. Ability to add/leave forums at times other than startup. Probably a good candidate for removal from new. I don't know what to look for to detect if the join succeeded. Right now I'm just assuming the room joins succeed.

Documentation need

  1. POD documentation is a little loose on the existing subs. I'm not documenting the private ones at all except for a few comments in the file. Not sure what the etiquette is on this. I really don't think they should be showing up on CPAN and if I pod them, they will.
  2. Need code examples on how to leverage the bot. This is pretty easy to provide, but I haven't reverse engineered someone else's CPAN to figure out how they do this to make it look right in CPAN.

Hosted Project

The perl-net-jabber-bot project is currently hosted on the Google Code site.


Catalyst/DBIC πŸ”—
1192924800  

🏷️ presentations 🏷️ news
October 2007
Presenter: Brandon Black
Brandon covered some of the basics of Catalyst and DBIC.

25 most recent posts older than 1192924800
Size:
Jump to:
POTZREBIE
Copyright © 2003-2020 Houston.pm.
Except as otherwise noted, this site is licensed under a Creative Commons Attribution 2.5 License.
The use of the camel image in association with the Perl programming language is a trademark of O'Reilly & Associates, Inc. Used with permission.