Agenda
On 05 June, 2006, the Israeli Perl Mongers held their regular monthly meeting. The program:
- 18:00-18:30 -- Assembly and very light refreshments
- 18:30-19:30 -- Gabor Szabo: Test::Live - live testing of a CPAN module
- 19:40-20:10 -- Doron Abraham: Stupid things your boss will always say and how to completely misunderstand them
- As usual after the meeting we will go out to a nearby pub/coffee-shop/etc. for a post-meeting social gathering.
- The meeting takes place in the offices of F5 located in Habarzel 24 B, Ramat Hachayal, Tel Aviv.
Location: F5, Habarzel 24, Ramat Hachayal, Tel-Aviv
Report
If we were doing meeting ratings, this one would be off the charts. We laughed, we cried, and even learned a thing or two. It had all the right ingredients, except maybe the (now historical) Burekas bit.
The 1st talk was under the "Testing" theme. That is, if you are foolish enough to categorize Gabor.
Gabor started with the usual: "I have no presentation".
However, he did have an idea (surprise!): get everyone to pool their brains and add value to a CPAN module.
In the follwing 40 minutes, we chose a CPAN module from Adam Kennedy's list (it was perfect for us: high quality, lots of choice, open repository), went through the docs and tests in depth, added a couple of tests, ran coverage before and after, analyzed specific branch coverage issues, solved them, committed, and finally solved a subversion conflict in the Changes file.
In short, we pooled our brains and added value to a CPAN module. QED.
Testing something like File::HomeDir poses unique problems, and excellent solutions were offered to those problems. Thomas Maier suggested mocking linux, and the rest of the known UNIVERSE, to get multiplatform tests that can be run on a uniform platform. There goes another excuse for that red square in Devel::Cover's report.
The biggest thing I learned, was how incredibly easy it can be to add Kwalitee, perhaps even Quality, to a random CPAN module. People keep asking me: how do I get to be a good developer? How do I prove to prospective employers that I can write automated tests? Documenation? Just pick a CPAN module. If you want to start REAL easy, take a look at one of Adam Kennedy's modules. From what Gabor showed us, it is a great place to start.
Due to time constraints, all we got to do was add a couple of tests. They passed, and we moved on to the next talk:
Doron Abraham chose the "Humans Building Software" theme, and lead a sometimes funny, sometimes sad, discussion focusing on manager ↔ developer communications in a software team. Apparently, as someone who has done both, he claims that this "communications" thing, can actually go wrong. Terribly, terribly, wrong.
It was wise of him to focus on the thorns and not the roses, for this is how you get a good response from the il mongers. We love the dark side. And it is educational, so we need not feel guilty.
The talk was structured into several iterations. Each iteration revolved around a real event, recounted from not only the memory of Doron, but from the collective hive mind of everyone there, since everybody had these memories.
A good one which everybody present experienced was (manager → developer):
"Hey You! Stop what you're doing, switch context, and fix this urgent bug for client X. Do it quick and dirty, cause I need it yesterday. Don't worry, for THIS FEATURE WILL NEVER CHANGE. Just hard code everything."
When you return from lunch, all geared up to implement that perfect solution you just found to this surprise problem, Manager is waiting with a new context switch, to a new patch, even more urgent, for a feature that will NEVER CHANGE. The solution required by the new patch requires a change to the earlier patch, which was supposed to NEVER CHANGE.
And there were many others just as delightful.
Then Doron pointed everyone to the issues raised by this unpleasent experience, and everyone countered by shouting ideas, memories, theories, debunkings, quotes, convictions, and everything else they could think of. We went way overtime, yet did not go through all his slides.
This went on for several iterations, all with the same basic structure, and there was much laughter. Perhaps even some genuine sadness at our sorry state, and our continuing dysfunctionality in trying to change it.
As always, the "Humans and Software" themed talks are a hit with the Israeli mongers, even if they are only (very) indirectly about Perl.
Perl6 was mentioned approximately 10 times. The anticipation is part of the fun.
See you next time, and thanks to Uri Bruck for helping out with the English.
This review was written by Ran Eilam