YAPC: Socializing and Learning

Sunday, I arrived in Toronto for YAPC. Getting into Canada was actually more difficult than getting out. This is mostly because the gate agent for US Air Express didn’t realize that people traveling by air between the two countries don’t have to have a passport until 2006. If YAPC is in Canada again next year, I will definitely have a passport ready. But after a delayed flight on a small plane, I did finally arrive. Instead of using the $300/night hotels close by, I stayed in the hotel/dorm that YAPC was held in. Which means that there were some summer students around. Like the freshman I overheard in the elevator: “There must be a Star Trek convention or something going on this week.” (“Yeah, there are a lot of Dorks at YAPC” I did not say.) Since I arrived late, no one was around, so I asked about a close theater and headed off to see “Batman Begins” (which is far superior to every other comic-book superhero movie I’ve seen). The next day YAPC began. One of the things I was hoping to find was some information on project planning. This is a weak area for me. Before Larry even gave the keynote, I met a consultant who recommended “Planning Extreme Programming”. Luckily, this is also a small book — about 200 pages — so based on the reviews I read and the consultant’s recommendation, I expect it to be packed with information rather than filler. I attended a few talks on testing and learned a lot here that will be useful as I implement the testing infrastructure where I work. Specifically “one test is better than none, and two is better than one” provides motivation to start getting at least one test written for each module, each program I write — just to verify that it loads properly. After that, I’ll add some simple functionality tests. I also learned about or was reminded of some Perl modules that are available on CPAN that will be useful to me as I begin testing more. Tuesday, I heard a talk by Steve Purkis of MultiMAP about making a MySQL database “Highly Available”. Their solution is highly Perl-specific, and I found from his talk some really good resources like DRDB. He also confirmed my suspicion that our current MySQL configuration has to go. Unfortunately, it looks like I’ll have to do some home-brew synchronization work. Why, oh why, doesn’t this JUST WORK?!? Oh, that’s right, I’m using MySQL instead of PostgreSQL (which has working clustering, instead of just the promise of it. ) Tuesday night there was a dinner cruise on the lake. And I met Ricardo Signes (rjbs), the guy who wrote the code behind de.lirio.us, — a site that is a clone of the O’Reilly-funded de.li.cio.us — de.lirio.us made a really big splash when it went public because people liked de.li.cio.us but the code for de.lirio.us is open source. That and the fact that whoever is running de.li.cio.us made a big stink. (To be clear, rjbs isn’t running the de.lirio.us site.) And I’m finally beginning to feel like Pennsylvania is a pretty decent place to live. While Lancaster County isn’t a hotbed of technology, we have people like rjbs and mjd in the Philly area and big Perl shops like pobox.com here as well. Wednesday, I got the most out of the lightening talks. Two projects were announced there: JSAN and AnnoCPAN. JSAN hopes to be for JavaScript what CPAN is for Perl. You can even load Javascript “modules” directly from JSAN. Hopefully people will start to use this more and we’ll all get some nice tools to use for AJAX. I’m jealous of AnnoCPAN. I was going to start putting POD pages up on perlwiki.org so that people could add to them or fix them as needed. Oh well, AnnoCPAN does look pretty nice. And annotation of documentation is probably better than rewriting it. Jim Keenan’s talk on Phalanx encouraged me to get with the Harrisburg.pm people at the conference about starting in. I met Jim two weeks ago at the book release party, so I had an idea of what he was up to, but his talk really pushed me over the edge. Hopefully we’ll be able to get some great social hacking happening. Finally, here’s a list of CPAN modules I learned about (or was reminded of) while at YAPC. Each of these is worth a look.

  • Template::Test — Verify that the logic in my templates (which I strive to keep simple) is working.
  • Devel::Cover — Produces HTML output that can provide incentive to write more tests. The HTML output gives “red-light, green-light” visualization for what is happening with tests. If I incorporate this with the testing infrastructure that I’m putting together, other people (i.e. my boss) should be able to see my progress over time as far as writing test cases that cover the functionality we have.
  • Class::DBI::DataMigration — Dan Friedman’s effort to distill his experience on multiple migration projects to something that is easy to set up and use. Since I’ve been doing a lot of this by hand up till now, this tool will come in handy.
  • DBD::Mock — I learned how useful this tool could be yesterday for testing the sort of functionality you want to use in cases of, say, database failure. Since the site doesn’t degrade very will in case of a failure, I should be able to use this tool to come up with and test solutions.
  • SQL::Translator — Translating between Database’s different dialects. And it also gives you nice tables of the schema.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.