I'm leaving use.perl. This will be my final post here. use.perl has become less than useless, more like an embarrassment. For two weeks there were no frontpage news. This is not what those curious about Perl should find. The only real news were tucked away in a little side box and pointed to the journal entries. And the journal capabilities are a bit basic, to say the least. Technology has moved on.
I also encourage all use.perl journal authors to move to their own blogs. dagolden++ has already done so. Diversity is good.
Now I'm not blogging regularly either, but I do have a separate blog. If and when I will blog again, it will be there, not here.
If I could delete my account here, I would. Sorry to sound so drastic, but this is what I think.
The conclusion first: Nested arrays and hashes in Perl are slow. They get slower the more levels you nest. For most applications this won't be a problem, but if you cache values in a hash, you might want to use as few levels of nesting as possible.
Read the details.
By the way, I've enabled comments on my blog - let's see how that goes...
This is a tree map for the minicpan mirror, containing only the latest versions of all CPAN distributions. Within the application, you can mouse over the rectangles to see which files and folders they represent, but here I've just annotated a few interesting blocks. Somehow it feels like a city layout...
See the blog entry.
I've released any::feature. (It will take a while to appear on CPAN; look at the development repo on github.) It can be used like Perl 5.10's 'feature' pragma and will try to "do the right thing", regardless of whether you use Perl 5.8 or Perl 5.10.
So far it's a proof-of-concept and will only handle the 'say' feature.
Read about it in my blog.
I've had quite a bit of feedback about the accessor generator benchmarks; mostly requests to add this or that module to the benchmarks. Adding the code, rerunning the benchmarks and updating the blog entries took quite a bit of time, so I thought I could automate the process.
I've made the accessor generator benchmarks into a CPAN distribution called App::Benchmark::Accessors. That way you can run them yourself and the prerequisite modules will install automatically as well (if you use the CPAN shell).
But there's one more thing...
I've followed up the previous benchmark, which tested mainly object creation, with one that performs a million get/set operations on the same object.
I wrote a small benchmarking program to compare the speeds of various accessor generators. They don't do much, just create an object while setting an accessor, then reading that accessor again, all for 100,000 times.
The following accessor generators are compared: Class::Accessor, Class::Accessor::Fast, Class::Accessor::Fast::XS, Class::Accessor::Complex, Class::Accessor::Constructor, Mouse, Moose, and immutable Moose.
The synopsis of Moose.pm has this innocent-looking line:
use Moose; # automatically turns on strict and warnings
Which begs the question: "How does that work?" In this blog post, I'll try to uncover some of the magic of Perl pragmata.
[Cross-posted from my Perl blog to use.perl in its entirety so that more people might read it.]
Warning: Rant ahead.
Reacting to the recent meme of "We don't have enough Perl sites", I've started a blog. I've written blog posts every day, sometimes several times per day, but get hardly any visitors. I don't like the idea of link-spamming indiscriminately, so I've only announced new blog posts on use.perl and on Twitter.
Of course, it is entirely possible that the topics I write about are not very interesting. It has been suggested that I should write about things that would cause others to want to link to my blog. Well, I don't have any intentions of sucking up to anybody just to get visitors. I had hoped to write about things I encountered along the way and that I found interesting. I didn't merely want to write about my own modules but also about other sorts of things, especially interesting CPAN modules I've found, or news from the Perl world in Japan and Korea. So I thought of the blog as a community service rather than a wank.
Andy Lester wrote an article in his Perl Buzz blog: Perl must decentralize, diversify and colonize. I agree. Schwern said pretty much the same thing in his "Perl is unDead" talk at YAPC::Asia 2008.
However, saying that there should be more Perl sites is good, but then you should help in driving traffic to those sites as well.
For example - and this is not meant to single out one blogger - Perl Buzz links to the official perl pages, and the official perl pages link to Perl Buzz. I have asked for my blog to be included in planet.perl.org, but didn't even get a response. So the Perl in-crowd link gets all chummy and link to each other and write lots about their own blogs and their own modules, but the small sites are left to fend for themselves.
Put your money where your mouth is.
To be clear, I don't complain about not having thousands of visitors; rather I am disappointed in the nonchalant way in which well-known people who attract lots of visitors from outside the active Perl community proclaim that there must be more Perl sites, but when they do appear, leave them out in the cold.
Nor do I want to single out a specific prolific blogger. I am appealing to all the top Perl bloggers.
Nor do I expect, after having complained about the situation, to have lots of links to my blog suddenly spring up - I am disillusioned to the point where I don't want to continue my blog anymore. Rather, I wanted to highlight a bigger problem.
There are many interesting things happening in the Perl world. Please start writing about them, and start to interact with other Perl blogs.
I've pushed out the final four ideas for blog posts onto my Perl blog. Thanks for reading this far!