Perl Mongers

   Home
 Contact
 Mailing List
 Sponsors
 Meetings
 Schedule
 Audio Archives

   KWIKI
 Discussion

 

 

Toronto Perl Mongers

Welcome to the home page of the Toronto Perl Mongers.

The Toronto Perl Mongers is a group of Perl programmers and hackers of all levels who get together to talk about Perl.
 

Upcoming

Madison Kelly: D-Bus and Perl's Net::DBus binding

Contact

Send email to webmaster @ to.pm.org

Mailing List

We communicate primarily via our mailing list. The archives (from 2007-Mar onwards) are here. We've recently moved to a new server. If you've had trouble subscribing in the past, please try again.

Audio Archives

In case you missed a meeting or cannot attend because your at the other side of the world, audio recordings of our past talks are available online for download.

For a list of available programs go to: http://hew.ca/talks_audio/

Meetings

We normally hold meetings on the last Thursday of each month.

These meetings range from a single Perl theme to code reviews to rambling free-for-all discussions of things Perlish.  We occasionally have meetings with special guests lecturing on or teaching about their specialties.  After the meeting we usually go out for food and drinks.  Perl hackers of all skill levels are invited.

Location: 2 Bloor Street West, (usually) 8th or 16th floor.  The room number will be announced on the mailing list a few days before the meeting. It will also be left with the security desk in the building (main floor lobby) shortly before the meeting starts (i.e. around 6pm).


Time: 6:45 p.m.

Directions: This building is on the north-west corner of Bloor and Yonge, accessible by subway from Bloor station. Pay parking is also ample in this area.

Security note: After 5:30pm, the elevators are accessible only with a pass-card. After that time a fellow monger with a pass-card will escort you to the 8th or 16th floor. A cell phone number will be left at the security desk (main floor lobby) that you can call up to get the pass-carded TPMer to come down to fetch you.
 

Schedule

These are the talks we have scheduled for future meetings. If the topic you're interested in isn't listed, then please feel free to email us.

Upcoming meetings:
Thursday, Jul 28, 2008Madison Kelly: D-Bus and Perl's Net::DBus binding

Past meetings:
May 2003 June 2003 July 2003 August 2003 September 2003 October 2003 November 2003 December 2003 January 2004 February 2004 March 2004 April 2004 May 2004 June 2004 Special time, date, location and speaker: Damian Conway, July 2004 July 2004 YAPC Bid meeting August 2004 September 2004 October 2004 Mon 29 November 2004 -- special date Thu 16 December 2004 -- special date, social dinner January 2005 February 2005 March 2005 April 2005 May 2005 Jul 2005 Oct 2005 Nov 2005 Jan 2006 Feb 2006 Mar 2006 Apr 2006 May 2006 Jul 2006 Aug 31 2006 Sep 28 2006 Oct 26 2006 Nov 30 2006 December Social Meeting Jan 2007 Feb 2007 Mar 2007 Apr 2007 Apr 2007 Hackathon May 2007 Jun 28, 2007 Jul 26, 2007 Aug 23, 2007 Sep 27, 2007 Oct 25, 2007 Nov 29, 2007 Dec 18, 2007 Jan 31, 2008 Feb 28, 2008 Mar 27, 2008 Apr 24, 2008 Jun 26, 2008 Aug 28, 2008

Location: 2 Bloor Street West, 8th or 16th floor - A few days before the meeting an announcement of the correct classroom will be made on the mailing list.

Time: 6:45 p.m.

The elevators in the building are "locked down" after 5:30pm to people without building access cards. Leading up to the meeting someone will come down to the main floor lobby every few minutes to ferry people upstairs. There will be a number of scheduled trips:

  • 17:30
  • 18:00
  • 18:30
  • 18:45
  • 19:00

After 19:00, you can reach the access-card-carrying guy via a cell phone number that we'll leave with security in the front lobby. The room and floor numbers will be left with security too.

If any latecomers call up there will be a final group elevator run at 19:10. After that, access will be ad-hoc; call up from security and somebody will try to come down and let you up.


Upcoming Talks

Thu, Aug 28 2008

Speaker: Madison Kelly
Title: D-Bus and Perl's Net::DBus binding
Location: 2 Bloor St. West, room 15 on the 8th floor

Description:

D-Bus is a relatively new and very flexible system for IPC being used by many popular applications in the OSS family. It is used by Gnome to listen to HAL for hardware changes, by Pidgen for connection information and more.

The talk will cover an introduction to D-Bus and then focus on the Net::DBus module; the perl D-Bus binding. Examples will be given on building methods for export on the D-Bus message bus, message broadcasting and retrieval, using existing and dedicated message buses and more.


Past Talks


May 29 2003

Speaker: Various
Title:
Description:
Topic: YAPC::Canada debriefing Description:

YAPC::Canada debriefing (from those who attended)


June 26 2003

Speaker: Fulko Hew
Title: POMPUS - Persistant Object Models in Perl Using Soap
Description:
Description: Problem: How to replicate a facility I had in another language? Its nice to be able to create/destroy and modify objects within a program, but how can you dynamically and asynchrously view the object instances in the middle of a run without adding debug code. Solution: I will present a web browser based, object model browser, that can reach into running applications and view and change objects on the fly. Soap provides the magic.

Speaker: Indy Singh
Title: Creating HTML slide shows with Perl
Description:
Description: A short presentation of SlideShow, which is a Perl script for creating HTML slides from plain text.


July 31 2003

Speaker: Tom Legrady
Title: ASED and Eval
Description:
Description:

The Advanced Stream EDitor provides an alternate interface to file editing. Developing an interpreter is much simpler with Perl than with C or Java, but problems arise when the interpreter involves regular expression operators. That's where eval() comes to the rescue.


August 28 2003

Speaker: Indy Singh
Title: Developing GUI Application with Perl
Description:
Description: * Developing GUI applications with Perl * What modules/toolkits are available * Features and benefits of the different toolkits * Provide some information to help in choosing the best toolkit for your application


September 25 2003

Speaker:
Title: Lighting Talks
Description:
Moderator: Fulko Hew

Description:

5 to 15 minute talks from a variety of people, on any subject as long as it's got at least a tangent to Perl.

Please sent synopsis of your talk to Fulko before the meeting or update the Kwiki.


October 30 2003

Speaker: Richard Dice
Title: CGI Software I Am Proud Of
Description:
Description:

Richard Dice will talk about "CGI Software I Am Proud Of". Over the summer Richard found himself working on a web development project where he had "tabula rasa" rights. He picked a number of off-the-shelf CPAN components and combined them in an interesting way to accidentally create a bona fide stateful Model-View-Controller.


November 27 2003

Speaker: Mike Stok
Title: Ruby for Perl Programmers
Description:
Description:

Ruby for Perl Programmers


December 25 2003

Speaker: N/A
Title: No meeting due to holiday season
Description:
No meeting due to holiday season


January 29 2004

Speaker: Alan Barclay
Title: Obfuscating Perl
Description:
There are times when we don't want to give out our sourcecode. There are various techniques which can be used to avoid this, and I will discuss the various methods, and implications of each one.


February 26 2004

Speaker: Abuzar Chaudhary
Title: Constructing a Free (as in Freedom) Technology Culture
Description:
I've spent the last three years working with volunteers,community activists, and not-for-profit organisations with a focus toward progressive social change. A well developed technology structure is highly significant to the success of almost every project, activist, and organization.

The decision to adapt open source technologies is based on the belief that it is essential for the idea of "anti-oppression" to permeate every level and activity of the project/organization, including the tools, technology, and people employed. Reliability, security, long term support, and choice are key advantages for choosing free technology, while communication/feedback, testing, ease of use, and functionality are areas that need continual improvement.

Linux, Perl, and other free/open source solutions used in various case studies and environments were discovered to be not all feasible; software had to be developed to make technically challenging tasks accessible to a wide variety of users. I will be presenting web-enabled applications and servers written in Perl, XML/XSL processing in Perl, Code Generation techniques, Hardware Synthesis, and paradigms in VHDL (a hardware description language).

I will be talking about technologies and applications that need to be developed, as well as cultural changes that I think are needed in making the tech community a more approachable, inclusive, innovative, and progressive space. In my lust for sexier interfaces I will be showing the ins and outs of my recent affairs with Python, Squeek, and Mozilla's XUL based user interface.


March 25 2004

Speaker: Tom Legrady
Title: Pair Programming
Description:
The March TPM meeting will be an exercise in pair programming. If you have a laptop computer, preferably with Perl installed, please bring it along.

The way I envision things working:

As people show up, they pair up into teams. This results in fairly random teams, combining experienced and newer programmers. Unix/MS/Mac should not be too significant a factor, though first-time exposure to vi/emacs might be traumatic.

I will have a detailed list of requirements, corresponding to the use case index cards. I will play the role of "client" and "contact-with-the-client", clarifying any questions or problems.

The goal will be to implement certain functionality. It could be written as a script, but I see it as a module, so that the implemented capabilities can be made available to any program.

After a couple of hours of coding, we could have 30 to 60 minutes of discussion, comparing experiences, comparing implementations---after all, having covered documentation, test-driven programming and pair programming, we mustn't leave out code-review.


April 29 2004

Speaker: Indy Singh et al.
Title: Hunting for Perl Jobs
Description:

This talk will consist of short presentation of about 15 minutes each by 4 presenters who have some insights to share on the subject. This will be followed by an audience QA.

Some of the things we will discuss:
What resources do people use to find jobs?
Who is hiring?
What are the current salary levels?
Tips on resume preparation
Interviewing tips.
What dress code works?


May 27 2004

Speaker: Group
Title: Perl Q & A
Description:
This will be an open meeting. Bring your Perl questions or any news or information that you want to share with the group.


June 24 2004

Speaker: Group
Title: YAPC Debrief
Description:
 


Special Date & Time: Saturday July 17, 2004, 4pm - 7pm

Speaker: Damian Conway
Location: Bahen Centre for I.T., University of Toronto
Title: Perl 6 Update
Description:
See special Damian Conway Page

Special Date & Time: Monday July 19, 2004, 6:30pm - 9pm

Speaker: Damian Conway
Location: Seneca @ York, York University
Title: Small Miracles
Description:
See special Damian Conway Page


July 29 2004

Speaker: N/A
Title: YAPC::NA 2005 Bid planning meeting
Description:
This is not a regular meeting. It is a planning session for TPMers who are interested in helping prepare the bid for YAPC::North America 2005 to come to Toronto. http://yapc.org/


August 26 2004

Speaker: Richard Dice
Title: Financial Programming with Perl
Description:
How Perl programming interacts with finance (e.g. fixed income and derivatives). I'm going to put together a series of Perl applications that "derive" the key points of modern finance from market data. (E.g. the yield curve, the market price of risk, implied volatility, volatility smiles.) Principle learning points:

  • quant finance (non-Perl)
  • PDL (Perl Data Language -- sort of a MatLab for Perl)
  • random Perl grab-bag (web interfacing, data acquisition and manipulation)


September 30 2004

Moderator: To Be Announced
Title: Lightning Talks
Description:
Short, 5 to 15 minute talks from a variety of people, on any subject as long as it's got at least a tangent to Perl. Please sent synopsis of your talk to the moderator before the meeting or update the Kwiki


October 28 2004

Speaker: Emma Jane Hogbin
Title: Presentation Boot Camp (or "Keeping the Hackers at bay")
Location: 2 Bloor Street West
Room: 6th floor in the Mosaic Room (turn right off the elevators)
Description:
This is a how-to on how to give presentations to technical groups, like Perl Monger groups or LUG (Linux Users' Groups). See slides at : http://xtrinsic.com/newtlug/040622/ for details. (These will be customized for TPM soon.)

Speaker: Tom Legrady
Title: ??
Description:
??


Monday November 29 2004 -- special date
Location: 2 Bloor St. W., 16th floor, room 9

Speaker: Steve Hayman
Title: Mac OS X and Perl
Description:
Every Macintosh ships with Mac OS X and Perl 5.8, but so what? What's this UNIX-based operating system all about, and how does Perl fit in? Apple Consulting Engineer Steve Hayman will review the state of Perl on Mac OS X, and show how it is exactly-almost-kind of-like Perl on other platforms, and demonstrate how scripting on the Mac can be completely "unlike" other platforms.


Thu 16 December 2004

Speaker: N/A -- this meeting is only a social dinner. There is no speaker
Title: Due to holiday season the meeting is only a social, not a scheduled technical talk
Description:
There is no talk -- it's the holiday season! Our location for this is "C'est What", http://www.cestwhat.com/ 67 Front Street E., just a few doors east of Church St. on the south side of Front, basement level. (Look down!) Meeting time is 6:45pm.


Thu 27 January 2005

Speaker: James FitzGibbon
Title: Testing the Testers
Description:
Test::Builder greatly simplifies the creation of custom testing modules that plug-in and play nicely with Test::More, Test::Exception and their friends. Like all code, testing code needs to itself be tested, but how? It's not enough to just test that the functions don't die - you need to ensure that the proper failure and warning outputs are emitted given the proper input. In this talk, we will create a custom testing module, then explore different ways of testing it, from rolling your own to using purpose-built modules like Test::Builder::Tester and Test::Tester.


Thu 24 February 2005

Speaker: Dan Friedman
Title: Getting your data from there to here: data migration in perl
Description:
Redesigning a database is often a fun and refreshing chance to clean up and reorganize your data. However, you are often left with a bunch of data in the legacy database that needs to be migrated from the old schema to the new one.

Having solved this problem a few times, and realizing I was going to have to solve it on an ongoing basis (and that nothing on CPAN did this yet), I got Lazy and wrote a framework. It uses Class::DBI to talk to the source and target databases, and YAML to describe the mappings between them. It supports ongoing synchronization of live databases, so that even if you have to do a gradual migration, you can keep the legacy database in production while you bring the new database on line.

To paraphrase an oft-quoted description of perl itself, this framework encapsulates the repeated tasks, and makes the specifics for particular situations easy to configure. Join me for a tour of the recently-released Class::DBI::DataMigration.


 

Thu 31 March 2005

Speakers: Richard Dice and Michael Graham
Title: CGI Programming we're really proud of: MVC web development in Perl
Floor/Room: 6th floor, Explorer Room
Description:

Download the tarball version, as demonstrated in the meeting tonight

This talk is a follow-up to the October 2003 talk presented to TPM by Richard Dice in which he outlined an MVC framework for web development in Perl, but didn't actually demonstrate anything due to the lack of a database backend and working codebase.

After many more months of hacking and improvement and use within a production system, and numerous huge and impressive patches from Michael Graham, the system is nigh-ready for widespread release. It will be CPANified soon and uploaded to everyone for enjoyment.


28 April 2005

Speakers: Shawn Sorichetti, James FitzGibbon and Dan Friedman
Title: Oysters for your Perls: A theme evening on packaging and distribution
Location: Floor 8, Room 11

Description:

A triple bill...

"Inject Your Way Out Of Dependency Hell," by Shawn Sorichetti: CPAN::Mini::Inject allows you to create your own private CPAN site, and include your private modules. Then, you or your customers can use CPAN.pm/CPANPLUS.pm for installation, ensuring dependencies are properly handled.

"Write Once, Find Your Stuff Everywhere - a perl package deployment framework for Debian GNU/Linux," by Dan Friedman: Some words from Dan on how the use of a private .deb repository can make for record-time application rollouts. Along the way, he'll talk about leveraging Module::Install, YAML, and Debian's "File System Hierarchy" standard to make things easier to locate. It's as easy as "apt-get install"!

"CPAN bundling for multiple platforms," by James FitzGibbon: Supporting eight (or more) distinct platforms when you regularly install close to 400 modules per server can quickly get out of control. James will share his techniques for distributing the largest number of CPAN modules with minimum frustration.

Who are these guys?

Shawn Sorichetti works for IBM as a software tools specialist, writing web based automation and data consolidation applications in Perl. He contributes regularly to the WWW::, Test:: and CPAN:: namespaces.

Dan Friedman is Web/IT Team Lead for TransGaming Technologies, where he writes truckloads of web apps in perl while maintaining 10 servers in 4 locations, all running Debian-stable, and juggling 8 flaming bowling pins and a live sheep. Ok ok, the bowling pins and the sheep were thrown in there just to make it sound like hard work. Never mind.

James FitzGibbon is a Perl hacker who, given the choice would go back to the days of chiseling code into clay tablets. But since nobody will pay him to do that, he writes CPAN modules and uses them on several wildly variant versions of Redhat Linux as well as Solaris. He is rarely bored.


Tuesday 24 May 2005 - SPECIAL DATE

Speakers: (not applicable)
Title: YAPC planning meeting
Location: Lombard Room, 89 Chestnut Street

Description:

89 Chestnut Street, Toronto
http://maps.google.com/maps?q=89+Chestnut+Street,+Toronto&hl=en

Lombard Suite (2nd floor)
http://89chestnut.com/catering/images/floorplans.gif

That's right -- we're having our meeting in the conference facility! This should help people get a feel for what the conference will be like and therefore will make people more effective volunteers for both the event and the planning leading up to the event.

If you come out to this meeting it is because you're a volunteer for YAPC::NA 2005 (in Toronto, of course!) or because you think you might like to be a volunteer.

( The special date is because the room wasn't available on Thursday. Sorry for any inconvenience. It's as good as I could do. )


 

Thursday 28 July 2005

Speaker: Simon Ditner
Title: *&#!perl - Using Perl with Asterisk

Description:
Asterisk is a relatively new open source PBX/IVR/VoIP platform running on Linux and commodity hardware, promising to have a large impact on the telecom world by providing a cheap alternative to proprietary solutions.

One of it's many strengths is that it allows you to directly interact with the call logic (dialplans) and the media channels using the AGI (Asterisk Gateway Interface). This talk will briefly cover Asterisk dialplans and media channels, then explore building some simple scripts using the Asterisk::AGI perl module and the different ways Perl can be invoked from Asterisk.


 

Thursday October 27 2005

Speaker: Jim Keenan
Title: Two or Three Things I Learned about Maintaining CPAN Modules

Description:

"Be careful what you wish for. You may get it."

At YAPC in Toronto, Geoff Avery turned maintenance of his CPAN distribution ExtUtils::ModuleMaker to me. I had been hoping he'd adopt my patches; now the whole thing was in my lap -- and stayed there seven days a week for the next three months! I'll talk a bit about how I revised the distribution, but, I'll also try to synthesize what I learned about maintenance programming in the process."



Thursday November 24 2005

Speaker: Martin Cleaver
Title: Using Unison for file synchronization (1 - 1.5 hours)

Synopsis:

Unison is a popular file-synchronization tool for Windows and most flavors of Unix. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other. Unlike simple mirroring or backup utilities, Unison can deal with updates to both replicas: updates that do not conflict are propagated automatically and conflicting updates are detected and displayed. Unison is also resilient to failure: it is careful to leave the replicas and its own private structures in a sensible state at all times, even in case of abnormal termination or communication failures.

Martin Cleaver will give an overview of Unison, show it in action (fingers crossed) and outline how he uses it to provide both a backup of a set of files on a TWiki install and two way replica of TWiki from a linux server to his laptop using a plugin he wrote for TWiki, the completely open source and possibly most popular Wiki implementation written in Perl.

About the Speaker:

Martin Cleaver has been a key TWiki Contributor for the past 4 years and works for a Knowledge Management firm in Toronto. He has an BSc/MSc in Computing Science and an Masters in Business Administration.

He worked in Messaging Middleware for 3 years for Arthur Andersen and will attempt to keep things both humourous and technically interesting...

Speaker #2: Michael Graham
Title: 21st Century Perl (10 minutes)

Synopsis:

Every time a new version of Perl comes out, I salivate over the shiny new syntax features, but I know that because of the demands of backwards compatibility I won't be able to use the features for a long time.

But now I'm making a clean break and refusing to support Perl versions from the last Millennium. Suddenly, I get to use (with confidence) such advanced features as:

  • autovivifying filehandles
  • 3 argument open
  • lexical warnings
  • the 'our' pragma
  • can() and isa()
  • inline foreach

I'm going to spend about a minute on each of these features, and just under 5 minutes ranting about Perl's warnings about uninitialized values.

Thursday 26 Jan 2006

Speaker: Steve McNabb
Title: Blinkenlites with Perl : A case study in driving custom home-made hardware with Perl (60 minutes)

Location: Classroom 15 on the 8th Floor

Synopsis:

A demo of a monitoring panel project I use to monitor all my Internet goodies with Perl. The hardware is home-made, and quite simple. Basic soldering is all that's really needed.

Background:

Like many of you, I'm "responsible" for a number of different services on different boxen all around the 'net - and getting angry "Our Thingy is Broken!!!" emails is no fun.

Having to check your monitoring software to see if everything is O.K. when you're on the couch hacking Perl and eating pretzels isn't great either. Laziness tells me I should be able to know what's going on by just glancing at something that isn't a computer screen. I need blinkenlites!

So I built a little Parallel Port-driven (and powered!) monitoring panel and wrote a driver for it in Perl. I use it to monitor web services, make sure important machines are still online (with ping), and verify that all of our Icecast audio streams are still pumping weird music to the masses.

I also added a cool ultra-bright blue vanity LED to tell me when people are listening to my radio projects.

The driver uses the Device::ParallelPort module, and would be super-easy to extend to other monitoring/novelty tasks - like checking for new mail, verifying that last night's subversion smoke tests all passed or have it blink when your favourite web comic strip has posted a new edition. Anything that returns true can be used to set/flip the lights on and off. I use WWW::Mechanize and Net::Ping for the actual testing.

I've had enormous fun with this project so far, and even the most electronically-challenged can build the hardware. It's all low-amperage 5 volt, so you should be able handle the bare sockets safely under power presuming you are neither pregnant nor wearing a pacemaker ;-)

A little soldering is all the electronics know-how required. A Multimeter would be a good idea too (or at least a continuity tester) to test for shorts before plugging it into your computer)


Links: Thursday 23 Feb 2006
JavaScript for Perl Programmers

Location: classroom 8 on the 16th floor

February is JavaScript Month! We have three talks on JavaScript and AJAX aimed at Perl programmers who want to learn more about the client side of web development.

Speaker #1: Shaun Fryer
Title: JavaScript is just like Perl!
Duration: 30 minutes

Synopsis:
This will be a short rosetta stone to translate JavaScript for Perl programmers. Code examples will be provided, including a brief overview of OOP coding concepts and practices, for use in creating dynamic client/server web-apps.

Speaker #2: Cees Hek
Title: AJAX - Dynamic web sites with DHTML and Perl
Duration: 30 minutes

Synopsis:
How to use the popular Prototype library to fill your web application with flashy widgets such as draggable lists, autocompleting text boxes and transition effects. With a focus on HTML::Prototype and CGI::Application.

Speaker #3: Michael Graham
Title: JSAN - Porting the CPAN to JavaScript
Duration: 15 minutes

Synopsis:
JSAN aims to do for JavaScript what CPAN has done for Perl: Encourage modularity, software reuse and good developer habits like automated testing.

This will be a brief tour of a part of JavaScript country that Perl programmers will find refreshingly familiar.

Thursday 30 Mar 2006

Speaker: Tom Legrady
Title: Learning Good Better Best Perl (90 minutes)

Location: Classroom 9 on the 16th floor

Synopsis:

An exploration of a new approach to teaching Perl, focusing on the environments in which it is used: the one-liner, short scripts and full-fledged programs

Thursday 30 Mar 2006
Version Control and other adventures in Perl Development

Location: TBA

This month we have several talks on development tools with a focus on version control: some history, some horror stories, some success stories.

Plus, James will share his experiences in organizing the recent PerlChina conference.

Speaker #1: James Q.L.
Title: Organizing the PerlChina conference
Duration: 10 minutes

Synopsis:
James didn't attend the conference in Beijing, but he organized it. He will share his experiences with us and let us know how the conference turned out. He will also give us a brief intro to PerlChina.

Speaker #2: Jim Graham
Title: Eclipse and Perl
Duration: 15 minutes

Synopsis:
An intro to the EPIC Perl IDE for the Eclipse platform, including a tour of its features such as syntax highlighting, code completion, code navigation, the RegEx editor, and built-in support for debugging and refactoring.

Speaker #3: Tom Legrady
Title: RCS: The Revision Control system that is ALWAYS there
Duration: 10 minutes

Speaker #4: John MacDonald
Title: Migrating from SCCS to CVS
Duration: 20 minutes

Synopsis:
John will talk about a company's conversion (in 1992 or 1993) from SCCS to CVS, including:

  • what problems they were having
  • how CVS solved them
  • what problems remained or surfaced during the conversion
  • how those remaining problems were dealt with
  • some comments on how some new VC systems have provided better solutions to some of the problems

Speaker #5: Lev Piaseckyj
Title: Managing a large CVS branch merge
Duration: 15 minutes

Synopsis:
On a recent, fairly complex multilingual web application project, the decision was made to fork the code into three versions. Development took place not only on the CVS trunk, but also, concurrently, on two independent branches.
Hundreds of changes -- mainly translation and localization, but also branch-specific logic -- then had to be merged from the branches to trunk and vice-versa, without affecting branch-specific changes. Not a great situation.
They made use of CVS's history and rdiff commands to assess the amount of work, and to determine what could be automated, and what had to be manually reviewed. Then we used CVS rdiff to generate patches, which were reviewed and applied.

Speaker #6: Michael Graham
Title: SVK for web development
Duration: 20 minutes

Synopsis:
This talk will attempt to deal with the issues of using version control for web development, including:

  • maintaining multiple per-developer web servers using Apache and a local DNS server
  • Leaving the designers out at first by keeping their content unversioned. How to manage checkout paths that contain versioned and unversioned content
  • using SVN::Notify::Mirror to automatically publish changes from the repository to various checkout paths, including automatically updating production servers to the latest release tag as soon as it is added.
  • Provide simple web interface for designers to create release tags
  • Getting designers on board and introduce them to graphical SVN tools as a replacement for FTP.

Saturday 13 May 2006

Mark-Jason Dominus (a.k.a. MJD), noted Perl author, speaker, technologist and community member, will be giving a public talk in Toronto on Saturday 13 May 2006. The talks will run 1pm - 5pm, but we recommend arriving 20 minutes earlier in order to find parking (outside, for your car) and a seat (inside, for yourself).



Location: Room 1208, Stephen E. Quinlan Building (Seneca@York) On the York University Keele Campus

Maps:


Directions and Public Transit:
The Stephen Quinlan Building is numbered "40". Note there is a parkade next door to it. Parking could be approx. C$10.
Some information on public transit to the York U. Keele campus.
Make sure you figure out which applies best to you considering where you are coming from. Also, remember that this is a Saturday, so various TTC (and other transit system) services will be running on a different (and reduced) schedule, especially to a location like a university. Toronto Transit Commission: http://www.toronto.ca/ttc/ (Links to the York Region, etc. transit systems are left as an exercise to the reader.)

Talks

Perl Program Repair Shop and Red Flags
(2 hours) More Info: http://perl.plover.com/flagbook/

Perl Contains the Lambda Calculus (How to write a 163 line program to compute 1+1)
(90 minutes) More Info: http://perl.plover.com/yak/lambda/

Random grab-bag of fun stuff
(30 minutes)

Post-talks socialization

There will likely be some. Unfortunately, the York U. Keele campus area isn't the best for this. We may find something in that neighbourhood, or we might relocate back downtown and meet up at a pub / bar / restaurant / what-have-you somewhere down there afterwards. An announcement will be made regarding this during the talks on Saturday afternoon.

If you are interested in post-talks socialization I would suggest keeping your evening free and your transportation arrangements flexible, or at least keep a flexible frame of mind about you. :-)

There might also be other social opportunities that weekend, notably Friday evening. If anything looks likely, announcements will be made on the TPM list.

July 3-5, 2006

Damian Conway will be back in Toronto again this summer!


Perl 6 Update
Monday July 3 (Canada Day stat holiday) - 1:00 - 5:00 pm
Where: 2 Bloor Street West (CIBC Tower, our usual TPM meeting spot) Room # and Floor # TBD.
Other: Dinner & beer follows, 5:30 pm - ??
 
Toronto BarCamp DemoCamp
Tuesday July 4 - 6:30 - 8:00 pm
Damian will give a 15 minute demonstration of the Perl 6 language (That's right -- Perl 6, now!) (4 other presenters each have a chunk of time there too)
Where: see more/full details at: http://barcamp.org/TorCampDemoCamp7
 
"Fun With Dead Languages"
Wednesday July 5 - 6:30 - 9:00 pm
http://damian.conway.org/Seminars//DeadLanguages.html
Watch in mesmerized terror as Damian hacks code in five unrelated languages (none of them Perl). Along the way, you'll also learn about modern archaeological techniques, bidirectional cross- dressing, Ancient Greeks hackers, improbable romances, the real Club Med, why programmers shouldn't frequent casinos, the language of moisture vaporators, C++ mysticism, conversational Latin, state machines on steroids, feeding the dog the old-fashioned way, the shocking truth about anime, programming without variables or subroutines, the Four Voids of the Apocalypse, Microsoft's new advertising campaign, what the Romans used instead of braces, drunken stonemasons, the ancient probabilistic wisdom of bodkins, how to kill a language with a single byte, and the price of fish.
Where: Not yet fully determined, likely somewhere at U. of Toronto Bahen Centre... but details to follow as they are finalized.
Thursday 31 Aug 2006

Speaker: Richard Dice
Title: Ask Richard anything about The Perl Foundation
Duration: 45 minutes
Location: Classroom 11, 8th floor

Synopsis:
Richard Dice is currently the chair of the Steering Committee for The Perl Foundation (TPF).

Richard has agreed to do a Q&A session on The Perl Foundation this meeting. Now's your chance to get the dirt on the inner workings of our favourite benevolent bureaucracy.

We'll be allowed 10 questions (or 45 minutes, whichever comes first). We'll do this Slashdot-style - We will collect questions up until Wednesday; then the final list will be posted to the TPM list and we we'll vote for our favourites. Richard will answer the highest rated questions.

Send your questions to the tpm list, or to Michael Graham <magog@the-wire.com>.

September 28 2006

Moderator: Fulko Hew
Title: Lightning Talks
Description:
Location: Floor 12, Classroom 12
Short, 5 to 15 minute talks from a variety of people, on any subject as long as it's got at least a tangent to Perl. Thursday 26 Oct 2006

Special Guest Speaker: Andy Lester
Duration: 2 hours
Location: 2 Bloor Street West, 8th floor, classroom 15

Synopsis:
Andy Lester has used Perl for over a decade, has written or maintains a number of modules you probably use every day, and works on public relations for the Perl Foundation. But for his double-header talk for October 26th, Perl is barely a mention.

First up, Andy will speak on technical debt and how to get out of it. Technical debt is that nasty condition companies get into where the codebase is crufty, poorly documented, and hard to test, and everyone is terrified of changing anything. Just like financial debt, it's the compound interest on technical debt that snowballs until you can no longer effectively do projects: technical bankruptcy. Come learn how to pay down your biggest debts before that happens.

Second, Andy discusses pragmatic job hunting for technical people. He'll talk about how finding and landing a job isn't a matter of luck, and how to make yourself stand out in a sea of job applicants. Come ready to unlearn the conventional wisdom about all aspects of the job hunt, from where to find jobs, how to write a resume, and what to do in an interview. "In my years of hiring programmers, I've seen some pretty awful mistakes, and some awfully funny ones," he says. Come learn how to avoid the mistakes and get the job you want.

This evening of talks is of general interest to programmers, sysadmins and other technical people, not just Perl Mongers. Tell your friends!

November 30 2006


Title: TPM Tools night
Location: 2 Bloor St. West, Room TBA
Description:

For this meeting we'll be having a "tools night": a night where we can all share our favourite tips and tricks that we use to get our work done (whether it's related to Perl or not).

Short (5 minutes) presentations are welcome, but you don't need to do a presentation to share your tips and tricks.

Some topics/tools that will be demonstrated and/or presented:

  • Selenium (javascript web testing system)
  • App::Ack (a better grep for source code)
  • Fuse (filesystem in userspace)
  • Krusader (Norton Commander for the 21st century)
  • devilspie and wmctrl (window manager tools)
  • various Vim macros

And don't forget to bring your own!

Some ideas:

  • favourite editor shortcuts or macros
  • window manager tricks
  • version control tools
  • command line tools
  • text processing tools
  • useful perl modules
  • other useful software
  • testing tools

If you've already decided on what you're going to present, please contact Michael Graham by email at magog@the-wire.com, and you will be added to the agenda.

December Social Meeting

Thu 21 December 2006, 6:30pm

This year's TPM December social meeting will be held at the Bow and Arrow, 1954 Yonge St. Just north of Davisville on the west side of Yonge St.

The Bow and Arrow is a fine pub with a good selection of microbrewery beers and a great and interesting food selection.

January 25 2007

Speaker: Alex Beamish
Title: Getting mod_perl to play nicely with IPC::Run
Duration: 30 minutes
Location: Classroom TBA

Synopsis:
How to use IPC::Run to call an external program when running under mod_perl, and how the Perl community even helped me figure out why that was the best approach.

February 22, 2007

Location: Classroom TBA

Synopsis:
No speaker this month - just general chitchat about Perl.

March 29 2007

Speaker: Richard Dice
Title: Eine kleine Perl6musik
Duration: 60-90 minutes
Location: Classroom TBA

Synopsis:
Richard has been getting a little bit into Perl 6 lately. He will can show you what he's covered so far and where he's going to next. The talk will include a lot of Pugs demostrations on the latest build of Pugs from SVN checkout.

Thursday, Apr 26 2007

Location: Classroom TBA

Speaker #1: Jim Keenan
Title: Component-Focused Testing: The Case of the Parrot Build Tools
Duration: 40 minutes

Synopsis:

Installation of an open-source software package such as Perl or a CPAN module generally follows a 4-step process: configure, build, test, install. Although 'make test' is usually thought of as the place where all the testing happens, the successful completion of each of the other stages implicitly constitutes the passing of a functional test. But does there exist a place for a type of test which is not included in the 'test' target but instead is run either before the 'configure' stage or between the 'configure' and 'build' stages?

In this talk, Jim argues that there is a role for such tests and he describes how he has implemented a number of test suites, run post- configure but pre-build, for those of Parrot's build tools written in Perl 5. Such tests encourage provide more rapid feedback on the results of refactoring than 'make test' can. Indeed, they encourage Phalanx-style refactoring which makes the build tools more maintainable over the long run.


Speaker #2: Henry Baragar
Title: Test Driven Design: Or How I Learned to Love the KISS Principle
Duration: 40 minutes

Synopsis:

Test Driven Development is a practice that can be used to improve software quality by writing tests before writing code. Applied properly, this practice can be extended to the design activities as well as code construction. In other words, it is practical to organically grow an application from an acorn to a mighty oak without doing any up front design work.

To demonstrate Test Driven Design, Henry will walk through the evolution of a real world example. He will discuss the techniques, examine some interesting and unexpected observations, and present statistics from personal use. Finally, the example will be developed using Jifty so that you may gain some exposure and insight into this interesting and cutting edge application framework.


Hackathon! Saturday, Apr 28 2007

Toronto Perlmongers are pleased to announce Hackathon Toronto, a one- day, almost-spur-of-the-moment hackathon, to be held Saturday, April 28, 2007.

A hackathon is a gathering of free and open source software developers reflecting the joy of collective hacking. Building on the tradition of previous Perl hackathons in Toronto, Chicago and elsewhere, Hackathon Toronto will encourage people to come together for face-to-face work on Perl 5, Perl 6, CPAN modules, Parrot, Pugs and ... you name it!

A wiki has been set up to organize this event.

Go there to learn details as to participation, location, transportation, projects, logistics, etc. As we get closer to the hackathon date, log on to #hackathon on irc.perl.org.


Thursday, May 31 2007

Location: Classroom 15, 8th floor
Title: our @topics = ();
Description:

Come out to the meeting and help push, unshift and splice all manner of Perl-related things to the @topics array.

Or just come for the beer afterwards.

Thursday, Jun 28 2007

Speaker: James (Qiang Li)
Location: Classroom 11 on the 8th floor
Title: Training a Team in Perl Web Development
Description:

James (Qiang Li) is in the process of setting up Perl as the second official language in the team. He will share the past 6 months experiences on starting Perl Web Development ( using CGI::Application framework ) in a new environment.

Thursday, Jul 26 2007

Location: Classroom 15, 8th Floor
Title: our @topics = ();
Description:

Come out to the meeting and help push, unshift and splice all manner of Perl-related things to the @topics array.

Or just come for the beer afterwards.

Thursday, Aug 23 2007

Location: Classroom 2 on the 12th floor
Speaker: Cees Hek
Title: Rose::DB::Object
Description:

Cees will be giving a talk on Rose::DB::Object, everything you ever wanted in an ORM (Object Relational Mapper): easy to use, extensible, fast, well documented and well supported. The talk will give pointers on how to get started with RDBO, when and why you should use it, and how it can overall simplify and improve your database code.

Thursday, Sep 27 2007

Location: Classroom 5 on the 12th floor
Title: Lightening Talks
Description:

Illia: Consolidating Online Banking using Perl and AJAX
Olaf Alders: Parsing UserAgent Strings
Olaf Alders: URI::ParseSearchString::More
Alan Rocker: Egg-sucking for Seniors
Eric Bower: A USB-powered Digital Storage Oscilloscope
James.Q.L: Customized Form Error Message using Data::FormValidator
James.Q.L: Perl Application Deployment
Jim Harris: From Logs to Locks


Thursday, Oct 25 2007

Speaker: Richard Dice
Location: Classroom 11 on the 8th floor
Title: Richard's Summer of Perl
Description:

Between May and October Richard did much Perl stuff. Conferences attended: YAPC::NA, OSCON, YAPC::EU and PPW.

He did a few other Perl things which are hard to categorize too. Come to this talk to hear confessions of a Perl addict. Richard promises only the bare minimum in organization and preparation, but will probably have no trouble in filling the time allotted, however much that time may be before you collectively shout him down. He hopes this talk will be entertaining if informal, maybe marginally useful, and at least not overly personally embarrassing.


Thursday, Nov 29 2007

Location: Classroom 11 on the 8th floor
Title: our @topics = ();
Description:

Come out to the meeting and help push, unshift and splice all manner of Perl-related things to the @topics array.

Or just come for the beer afterwards.

December Social Meeting

Tue 18 December 2007, 7pm

Why Tuesday? Why the 18th? Because it's Perl's 20th birthday!

This year's TPM December social meeting will be held at the Bow and Arrow, 1954 Yonge St. Just north of Davisville on the west side of Yonge St. Very TTC accessible via the Davisville subway station.

The Bow and Arrow is a fine pub with a good selection of microbrewery beers and a great and interesting food selection.

PS There will be cake. :-)

Thursday, Jan 31 2008

Speaker: Adam Prime
Title: An intro to Rose::HTML::Form
Location: Classroom TBA
Description:

This will be an introduction to Rose::HTML::Form and how you can use it with Rose::DB::Object to make forms easier to build and maintain.

  • intro to RHTMLF with RDBO
  • a basic CRUD form with RHTMLF/RDBO
  • subclassing validate to do more complex validation
  • subclassing object_from_form to illustrate it's usefulness
  • adding a many to many relationship to the form and update the code.
  • adding a custom Field type.

Thursday, Feb 28 2008

Location: Classroom TBA
Title: our @topics = ();
Description:

Come out to the meeting and help push, unshift and splice all manner of Perl-related things to the @topics array.

Or just come for the beer afterwards.

Thursday, Feb 28 2008

Speaker: Jim Keenan
Title: Parrot and Rakudo: Getting to 'Hello, World'
Location: Classroom 15 on the 8th floor
Description:
The concept is simple: Everybody brings in a wireless-equipped laptop, downloads Parrot, tries to configure, build and test Parrot, and then tries to build Rakudo: the Perl 6 implementation on Parrot. We see what obstacles we face in getting to first light and collaborate in troubleshooting.

Thursday, Apr 24 2008

Speaker: Richard Dice
Title: Richard's TPF Sales Pitch
Location: Classroom 15 on the 8th floor
Description:
Richard will show us the presentation he made to sell corporate types on The Perl Foundation. Including a "Map of the Perl" created in collaboration with Toronto Mongers.

Thursday, Jun 26 2008

Speaker: ???
Title: YAPC::NA Debrief?
Location: Classroom 15 on the 8th floor
Description:
Hopefully some of the lucky people who just attended YAPC in Chicago might give some of the rest of us an informal debriefing on all the cool stuff that happened.

Wed, Jul 16 2008

Speaker: Damian Conway
Title: Temporally Quaquaversal Virtual Nanomachine Programming in Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces... Made Easy
Location:
Bahen Centre for Information Technology, University of Toronto
40 St. George Street (w. side of street, just north of College Ave. [map]
Room # BA 1160


Description:
The evening of Wed 16 July 2008, Damian Conway, Perl Monger extraordinaire and long-time friend of Toronto.pm, will deliver -- free and to the public -- one of his signature tour-de-force completely insane talks that is 1/3 high-end IT, 1/3 showmanship and 1/3 peyote-fuelled hallucination.


 

Last modified on Feb 28 2008 - 1:52am by Michael Graham