Perl Twitter Feed

Last August, when I was writing my talk Proud to Use Perl for YAPC::Europe, I wanted to get a feel for what real people were actually saying about Perl. It’s all very well claiming that people say Perl is dead, but I wanted to get some real quotations to use in the talk. I came up with the idea of using Twitter. I set up a Twitter search feed for tweets containing the word “perl” and monitored that for a couple of days. I quickly got all of the quotations that I needed.

But I found the feed fascinating, so I continued to read it. Sometimes the Perl community can be a little insular, so it was interesting to read what other people were saying about Perl. I still read the feed today.

Over the year, the feed definitely feels like it’s getting bigger. I mean, there are more mentions of Perl. I don’t have any concreate figures because I read the feed at random times of the day and sometimes don’t touch it for a couple of days. It’s tempting to think that more talk about Perl is due to things like the Ironman initiative, but we shouldn’t jump to that conclusion. Firstly, more talk about Perl could just mean more people saying that Perl is dead (I don’t think this is the case) but secondly more talk about Perl could just be indicative of more talk on Twitter in general. Certainly the number of users on Twitter is still grwoing quickly, so that could probably explain the growth in Perl talk.

But over the last week or so, I’ve gradually realised that a lot of the increase in tweets mentioning Perl is due to the increase in spam (or, at least, spam-like) tweets mentioning Perl. I see a huge number of posts from accounts like @e_host which do nothing but advertise web hosting companies. I suppose we should take it as a positive sign that they think Perl is a feature worth mentioning in these adverts. There’s also been an increase it tweets that are reposts from hire-a-freelancer sites. For example, this morning I saw dozens of copies of this “Need Perl Expert” post.

I’m seriously considering dropping the Perl Twitter feed from Google Reader. It’s just becoming such a slog to go through it. I estimate that about a third of it it currently interesting – and that signal to noise ratio is only going to fall.

I do think, however, that it would be useful and interesting (and pretty easy) to set up an application which monitors the feed and records the data. If we just counted the number of posts, that would be interesting. We could even consider pushing the text through some kind of analysis to pull broad types of information from it (“is this a positive or negative mention of Perl?”). The sooner we start, the more data we’ll have to play with.

I think I’ll set something up tomorrow.

Moose or No Moose

I’ve known about Moose for some time.The first time I talked about it in a training course was at the Teach-In back in the summer of 2007. It’s been part of my training courses ever since.

But even though I was telling people about Moose in my training courses, I wasn’t really making use of it in my own code. Obviously as a freelancer, in my day-job I’m constrained to using whatever technologies my clients are using and I have yet to be paid to work on a project that is already using Moose (although I’ve suggested that a few clients switch to it).

That leaves my own code. Which is largely my CPAN modules. Until recently I hadn’t used Moose for any of them. The first one I released that used Moose was Guardian::OpenPlatform::API. That was a new module which used Moose right from the start. But I knew that eventually I’d want to go back and refactor my existing modules to use Moose wherever it was appropriate.

Having gone to YAPC::Europe this year, I was subjected to another week of people telling me face to face just how cool Moose was. So I decided that it was time to bite the bullet and start refactoring.

The next module I tried was Parse::RPM::Spec. I chose this for two reasons. Firstly, it’s very much an attribute-driven module. Apart from the initial parsing of the spec file, objects of this class exist simply to return the values of their attributes. This makes it a great match for Moose. In fact converting it to use Moose was largely a case of removing code. The second reason for choosing it was more pragmatic – as far as I know no-one is using the module so if I broke anything I wouldn’t have hordes of angry users on my back.

Impressed by how easily that conversion was I moved on to Array::Compare. This module holds a special place in my heart as it was my very first CPAN module. I don’t think it’s a particularly useful module. It’s algorithm is pretty basic and other than the project that I originally wrote it for I’ve never used it in any production code. I often use it to try out new techniques. I released version 2.00 on August 9th (the change of implementation seemed to justify bumping the major version number).

Yesterday I got an RT ticket asking me to stop using Moose. The ticket is pretty clear that for several uses (it specifically mentions command line usage) the extra overhead added by Moose leads to an unacceptable performance hit.

I’m not sure which way to go on this. As a developer I like using Moose. Moose makes it much easier to write object oriented code in Perl. And I think that over the next year or so more and more CPAN developers will be using Moose in their code. Already if you’re writing something reasonably complex in Perl there’s a good chance that you’ll be using a module that uses Moose. As time goes on the percentage of Perl code that relies on Moose will increase. But if it really imposes an unacceptable performance hit for smaller applications, do I really want to force developers into using Moose sooner than they want to?

I think I’m going to put on hold my plans to move stuff to Moose until I’ve thought this through a bit more. But I’d be interested in hearing other people’s opinions. If you’re a CPAN author, are you planning to move your modules to Moose. And if you’re an application developer, have you started to avoid CPAN modules which force you to use Moose?

Let me know what you think.

Update: Well, didn’t this entry start a lot of discussion? As well as the comments here, there have been a number of other posts that reference my post. Here are the ones I’ve seen (in no particular order):

I’ll add more as I come across them. Of course, the more discussion I see, the more unclear my decision becomes.

But thanks for the interest. The discussion has been fascinating.

YAPC::Europe 2009

Today I travelled home from YAPC::Europe 2009 which was held in Lisbon. Readers of my other blog will know that I almost didn’t get there at all. The return journey was far less stressful.

On the weekend before the conference I gave a two-day “Introduction to Perl” course. We had six people on the course. I’m pretty happy with that as I think it’s a brave decision to have a beginners’ course at a Perl conference. I’m also happy to report that a third of the attendees were women.

There were four tracks of conference talks. This, of course, is guaranteed to lead to situations where you want to watch more than one talk at the same time. I think that at one point I really wanted to watch three of the four talks. Of course, there’s also the “hallway track” which is the best part of any good conference. This week there were two or three occasions when I found that I’d missed talks that I wanted to see because I had been so engrossed in an interesting conversation. All in all, I’m really glad that some of the talks were being recorded.

One highlight for me was meeting Paul Fenwick and Jacinta Richardson. I’ve been talking online to Paul and Jacinta for something like seven or eight years but we had never met face to face before because we spend most of out lives on opposite sides of the Earth. It was great to finally meet them. They’re as lovely in real life as they are online and they’re also both great speakers with interesting things to say.

Another highlight was the Marketing BOF that we held on Tuesday evening. There’s a growing concern in the Perl community that people outside of the community have an out of date and rather uncomplimentary view of Perl. The conference was full of people who had many ideas for fixing this. Ovid has a good description of this BOF over on use.perl so I won’t repeat the details here. I’ll just point out that some of us tried to have a similar meeting at EuroOSCON in 2005. At that time we had four people turn up. This week there were more than fifty.

The quiz show on Tuesday night was fun too. Greg and I were a last minute substitution as one of the teams failed to appear. We won our qualifying round, but came third (out of four) in the final. I was particularly embarrassed to have been beaten to the answer to the Buffy question.

And it seems that I owe the Perl community an apology. In his closing keynote, José Castro gave some examples of bad Perl advocacy. Number one on his list was my Why Corporates Hate Perl article. José pointed out that many people only read the title of an article and that my title was, perhaps, badly chosen. I’m sorry if I’ve caused any damage.

All in all, a great conference. Many thanks to the organisers for all of their hard work.

Hope to see you all in Pisa next year.

Perl Monks Passwords

It seems that the Perl Monks database has been compromised through some kind of security hole on the server that hosts it. That would, of course, be bad enough. But it seems that the user passwords in that database were stored in plain text. So whoever got the database, got access to the passwords of every user. Some of those passwords (those belonging to the saints and the janitors) have been shared publically. And changing your password might not help as the original vulnerability hasn’t been plugged yet so the same people could grab any password that you change it to.

More details will probably appear on Perl Monks once they’ve worked out what they are going to say. But there is some discussion starting up here.

I’m astonished that I still have to repeat this, but please take this advice:

  • If you’re running a site, do not store passwords in plain text
  • If you’re using a site, do not use the same password as you use on other sites

Marketing Perl

People seem to be coming round to the idea that Perl needs better marketing. Both Ovid and Gabor have written some interesting blog posts recently.

I’m glad to see this idea getting traction. It’s something that I mentioned in 2006. So whilst people are talking about it, let’s see if we can get something done. A large number of Perl programmers will be getting together in Lisbon next week, so I’m trying to arrange a session where we can talk this through and make some kind of plan. If you’re interested in marketing Perl and you’ll be in Lisbon, then please sign up and and come along.