I upset a lot of people with my Perl 5 is Dying post. In fact, that is far and away one of the most heavily cited posts I have. I made people mad at me. I made a lot of people talk. While I'm sorry I made people mad (and I've had some blunt comments directed at me in pubs as a result), I'm very proud of that post. It got a lot of people arguing and thinking and I like to believe it spurred a few people (well, me at least) to do something about it. Here are just a few things which have been happening to turn things around (I am not taking credit for this. Many of these things would have happened any way and I was simply one of many people pointing out the problem).
It appears that there was a touch of confusion and I have been accepted as a speaker at OSCON. I'll be giving the roles talk, but with some adjustments for bits that were a touch confusing. No matter how perfect the example is, using the B:: hierarchy to show multiple inheritance problems just distracts. Not only will this allow me to focus on easier examples, it will also leave more time for questions.
First off, I'd like to thank God (the whole Earth is filled with his glory) for this promotion. I was just a Seraph, doing my normal PR work, but somehow God (holy, holy, holy and all that) noticed me and decided it was time to give me a bit more responsibility. Of course, being untested, he couldn't put me in charge of something as important as the US Senate or something like that, so he gave me Africa. After all, if I screw up there, who's going to notice? Naturally, I screwed up. I saw something wrong and I decided to fix it.
Both of my proposals for OSCON were turned down, so I won't be able to make it this year. The BBC is also feeling the financial crunch, so international conferences are harder to manage. I'm not terribly disappointed, but it would have been nice to see my beloved Portland again. Fortunately, with my wedding in June, a number of my close friends from Portland will be in London. If you can't bring Ovid to Portland, bring Portland to Ovid.
While my Enterprise Perl cartoon may seem like a joke, it's not. It's a sad fact that for larger codebases, tests can take a long, long time to run. The one I used on the BBC PIPs project took an hour and twenty minutes to run when I left that team. The one I use on the BBC Dynamite project takes just over an hour to run. Adam Kennedy, on the Enterprise Perl post, reported his tests can take a couple of hours to run.
It's very interesting watching people use Test::Class. Usually, it's wrong. This isn't really a fault of Test::Class, though (well, not much), but rather, it's a fault of its documentation. It needs more.
I recently wrote about 100% Test Coverage. I was pointing out that in a personal project, I was working on increasing coverage and everywhere where there wasn't coverage, there were bugs. Here's the flip side: if it's covered, it doesn't mean its bug free. I've talked about this on my old use.perl blog, but it's worth repeating for new readers.
Project manager: we've chosen a new ticketing system.
Developers: which one?
PM: I'm not telling you.
Devs: What? Why not?
PM: Because you're just going to argue about it.
I can actually understand the business person's frustration, but this was a recipe for disaster. It was a blatant example of what seems to happen all too often: the people who choose software are often not the people who use the software.
In Pre-commit hooks and breaking the build, I wrote a little wrapper around 'svn' to ensure that I could locally alter how it functions. However, I hard-coded the name to the actual executable. I should actually be doing the equivalent of $self->next::method to find the next executable in my path. So I wrote the following bash function to give this a try.
Based on an explanation from Aristotle which has worked for me, here's one way you can make blogs.perl.org work a bit better for you. I've approved these and they seem to be OK.
As you may know, anonymous commenters are getting "Text was entered wrong" errors. This is because of a currently undiagnosed error with ReCaptcha. To work around this:
Log in
Click "POST"
On the next page, select "Comment" from the preferences menu
At the top, where it says "Immediately approve comments from", make sure that "Trusted commenters only" is selected
Further down where it says "E-mail Notification", select "On".
Near the bottom where it says "CAPTCHA Provider", select "None"
Now select "Registration" from the "Preferences" menu.
For "Authentication Methods", make sure "Anonymous Comments" is checked.
Whenever someone posts to your blog, you should be emailed notification. If they're "not trusted", you'll have to approve their posts. When you do, you'll have the option to make them a trusted commenter and not have to approve their posts again.
Yeah, it's a little more work to do, but setting it up is a one-shot deal. As you mark more people as trusted, you'll have to approve fewer posts.
As an added bonus, under "Preferences -> Entry", you can select your default format (text formatting). I've just switched mine to Markdown. You can go to "Preferences -> Comment" to allow the same for comments.
One thing I love about git it how you have control over your local environment. Need a pre-commit hook? Just add the damned thing. Need it for Subversion and you're not the admin of the subversion server? Sucks to be you. Fortunately, having a reasonable command line lets you work around this. And I needed to because I broke the build. Twice. In a week. Buying the donuts for this would be slightly less annoying if it weren't for the fact that I get to "enjoy" low-calorie yoghurt bars instead. (Though I'm now below 82 kilos for the first time in a couple of decades).
So no more breaking the build. Right. On my previous team, if I needed a module, I could usually add it. On this team, it's a bit painful, so I just use what I need locally and then break the build when I forget and commit use Test::Most 'die';. So I wrote a little bash scrip to make svn less brain-dead.
The only thing conceivably unique? It's triply-linked, thus allowing multiple traversal orders. I'm confused. How is this different from a directed graph?
Freelance Perl/Testing/Agile consultant and trainer. See http://www.allaroundtheworld.fr/ for our services. If you have a problem with Perl, we will solve it for you.
And don't forget to buy my book! http://www.amazon.com/Beginning-Perl-Curtis-Poe/dp/1118013840/