Aggregating mailing lists: To Plagger or not to Plagger?

plagger_header.png

Over the last few years, I've come to rely on tools that summarize information for me: Being on a mailing list in digest mode and receiving a summary of activity once or twice a day is a great example -- and it's also the specific challenge that I'm struggling with.

As my information consumption habits change, I find that I also want to customize how that information is delivered, and when, more than simply changing to digest mode allows. And, frankly, even in digest mode, I receive too many individual e-mails.

To resolve this, I end up setting my list subscriptions to "no mail" and fooling myself into thinking I'll peruse them on the Web from time-to-time. However, for those mailing lists, I'd actually would like to see what's happening regularly. So, last week I started brainstorming a tool that would send me a daily summary of all activity across a variety of different lists -- combining, say, all lists about security into one daily e-mail summary with links to the individual posts.

Devel::CheckLib needs a new maintainer

It's over a year since I released Devel-CheckLib-0.699_001 which introduced a Useful and Shiny new feature, but it's still not had a proper release because it doesn't work on Windows. I don't have access to Windows, and even if I did I wouldn't know what to do, and, to be blunt, I don't care to learn.

So I'd like to find someone to take over maintenance, fix the bugs, be able to test it on both Windows (Cygwin, MSVC and ideally Borland too) and Unix, and get a release out. If you know VMS (for which it has no support at all) then all the better!

Any volunteers? Please email me if you'd like to do this.

My continuing dream of a Perl XML(::Twig) cookbook

I ran into Michel Rodriguez at YAPC, so I started talking to him about my idea for an XML::Twig cookbook. I really, really love his module and want more people to use it. It takes a bit to get used to, so I think it's ideally suited for some cookbook-style documentation.

His advice is that XML::Twig is what you use when parsing and futzing with XML is not the primary purpose of your program (e.g., you have some config files to read). That turned into a bit of a discussion with those around us about when you should use which XML modules, and that we should answer the same cookbook recipes with examples from multiple modules (like a Bobby Flay cook-off, I guess).

How get guru status at youtube/google video?

Once there was a time where you could upload conference presentation videos to Google Video. No more.

video.google.com refers to youtube.com. My google video uploader does not work anymore.

Youtube tells me that I may upload videos not longer than 10min - my video is 55min - but I may try to convert it down to <100MB and then it will be accepted.

Ok, I converted from full screen resolution 1280x1024 (I made a screencast with live audio at YAPC::EU 2010 Pisa of my Perl Compiler talk) down to 512x384 and got from 346MB to 127MB, split into two parts of 54MB and 73MB.

youtube is telling me now: video too long, max 10min, but if I was allowed to upload longer videos before I still could. I know that I uploaded longer videos to Google video, because that's why I used that.
youtube also tells me that I may ask for guru status, and then I might get permission to upload my conference talk. So what is guru status?

Github-Group Erlangen.pm

In Order to do a little hacking together, we created a Erlangen.pm group at Github. Due to the fact that many of our fellow Perl programmers are allready subscripted at Github we started that group over there.

In the group we want to share code snippets and scripts for our all benifits. We also want to share projects and locate the stuff, we are hacking on all together over there.

As a first Erlangen.pm project we created the first steps of the formerly mentioned online polling system over there.

Whoever in the Erlangen Perl Mongers group (or whoever feels like one of our fellow Mongers) wants to join our combined efforts in programming just need to have a github account and send me a message and I will take her over into our group.

So far, have a nice hacking together and remember: github is our facebook!

Speeding up the test suite with subtests

The BBC team I'm currently working on has a very, very slow test suite. On my box, it was generally taking about 2h10m to complete. Between Johan Lindström and myself, we've shaved half an hour from that. Johan used transactional savepoints for his part. This allowed us to roll back some database changes rather than rebuild the database tables. My part involved subtests and a very strange use of Test::Class.

Pisa Résumé

its been a great YAPC, emotionally. Not as many technical talks where really compelling, but lot where really funny. But I met a lot of people I like. martin berends, jnthn and the bunch, finally i met mattia barbon which was also releasing and intresting (our interview will come soon on radio YAPC). I met a lot of germans, larry who tried to talk to me german too. and there were a lot more. great people, great food, wonderfull ice cream, fantastic hostel, great rides. it was the best possible holiday for me now.

Installing Parley

This article is a simple guide to installing and running Parley on a remote/virtual server. It doesn’t cover modifiction, extension and configuration. I hope to cover this in a separate entry.

I’ve been meaning to write this for some time, partly inspired by passing comments from people who’ve tried but found it too difficult or confusing.

Pre-requisites

  • Linode server
  • Ubuntu installed (9.10?)
  • User account: parley

Guide written using perl v5.10.0 (yes, I know!)

Use screen

screen
sudo su - parley

Install local::lib

Well that was painful

I just blew my time budget on the Perl survey stuff for looking at programming language info, and I want to offload what I had to do to get to this point.

Firstly the tl;dr: You can see the complete results for language usage at the survey website.

Here are the gory details (just a note: the <- operator is a bit like the = operator in other languages, but there's also a -> assignment operator too, which means you can do all sorts of clever things in 1 line of code):

What we asked was for the 5 programing languages that you use most, roughly in order of how much they're used. Then we asked where perl came in that list.

Speeding up the test suite with subtests

The BBC team I'm currently working on has a very, very slow test suite. On my box, it was generally taking about 2h10m to complete. Between Johan Lindström and myself, we've shaved half an hour from that. Johan used transactional savepoints for his part. This allowed us to roll back some database changes rather than rebuild the database tables. My part involved subtests and a very strange use of Test::Class.

YAPC (and other Perl conferences) timeline...

I mentioned http://www.simile-widgets.org/timeline/ on #yapc IRC channel this morning, saying it would be nice to see all the old YAPCs as well as the new ones.

The wonderful Philippe Bruhat (BooK) then asked:

14:21 <@BooK> ranguard: http://www.yapceurope.org/events/timeline.html # is that what you had in mind?

How cool is that! - there really have been a few conferences - how many do you remember?

Dist::Zilla strictures tip

So, mst wrote up strictures which basically bundles the "Kensho" pragmas, so to speak: strict, warnings (FATAL!), no indirect (vpit++). It plans for clean separation of different versions so you can maintain compatibility using specific versions of the pragma. How nifty is that? That's right, very nifty!

I'm using Dist::Zilla with Dist::Zilla::Plugin::CriticTests and Dist::Zilla::Plugin::PkgVersion. These are plugins that add Perl::Critic tests to my distribution and add a $VERSION variable automatically when building, respectively.

Now two problems occur:
1. Perl::Critic doesn't know about strictures and basically thinks I don't have "strict" on.
2. Since I'm using PkgVersion, I don't have to put a $VERSION variable. PkgVersion puts one right below the package declaration. This means that some code is written before my strictures.

Both are very easy to fix.

For the first one, I just add this to ~/.perlcriticrc:

[TestingAndDebugging::RequireUseStrict]
equivalent_modules = strictures

Voila! Now Perl::Critic known that "strictures" is basically as good as "strict" for any testing purposes.

The second one is merely putting the strictures usage as the 1st line, before the package declaration:

use strictures 1;
package My::Kickass::Module;

Voici! Now strictures is added before the injected $VERSION variable PkgVersion adds.

Check out:

Photos from the SF.pm Perl-Critic talk

Graciously taken by Julian Cash Photography.

Colorized perl code snippets on ANSI terminals

Ever wanted to do a quick diff on some perl code and see it colored like in in vim ?

Fortunately, the Kate editor has a good colorizer and Gabor Szabo ported it to Perl. We can join that up with Term::ANSIColor to create a filter program to colorize perl code snippets on the fly:

Send-a-newbie, the report

Day zero

I arrived in Pisa in the afternoon of the day before. After settling in my hotel it was soon time for the pre-conference meeting at a typical Italian piazza near my hotel. Fortunately for me the bunch of unfamiliar perl hackers were recognizable as such from a distance. I ended up meeting a lot of people, including some familiar names. It was also my introduction to drinkers.pm, the ad-hoc perl monger group assembling on evenings around Perl conferences ;-).

Day one

I Don't Do Deadlines

Because of deadlines, many programmers create Quick & Dirty
(Q&D) code rather than doing things The Right Way. This
leads to many problems.

• Deadlines cause bugs

When programmers write Q&D, they often ignore edge cases. This means the code reject things it should process and process things that is should reject.

• Deadlines cause delays

Because of the bugs, the code doesn't work when the deadline arrives and the deadline has to be extended.

• Deadlines undermine the confidence of the programmers

IBM sets its sales quote so that 80% of its sales force will meet them. When was the last time you heard of a manager setting the deadlines so that 80% of his programmers meet them? In fact, many managers set their deadlines so that their programmer can't possible meet them. They assume that this will make their programmers work harder. And it does. They work harder but are less productivity in their work. That's because repeats failures undermine their confidence which increases stress and reduces productivity.

• Deadlines undermines any sort of company spirit

Unscrewing The Pooch

pooch_planter.jpg

PIMC - Perl is my Community

I have been delaying my posts on the 2nd and 3rd day of YAPC::EU for quite a while. How can you sum up so many experiences, so many lessons, so many cool people and new friends?

If you thought that my post on the first day was long, just imagine a post that covers more than thrice the amount of stuff spanning across two whole days. I can't.

I will say that I've learned a lot about Perl, XS and technology in general, but I've learned the most about community and how important it is. For that I wish to thank the YAPC::EU organizers and everyone who helped organize, gave talks, commented on talks, wrote about it and attended.

Perl is my community.

My gladiators are getting entangled

Hi, I've had a long-standing interesting in having a nice way to browse through perl's memory space. Here's today's attempt. It almost works great except that the two introspection modules Devel::FindRef and Devel::Gladiator don't know enough to stay hands-off from each other.

PerlTidy for gEdit

For any gEdit users out there: A while ago I've written a perlTidy plugin for this editor.
It's written in Python. I know, I know. But it was either that or C...

For those of you interested, check it out at GitHub

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.