A peculiar dream

I dream a lot. There was a period of 30-40 consecutive days in my high school year when I remember, because I made a note of it after realizing the fact going into the second week of that period, that I dreamed every single night. The frequency has gone much down nowadays, into only about once or twice every week or even less. I still make a note of some of these dreams, especially if the story is peculiar, and I try to find the possible triggers that made my mind decided to weave that story. Sometimes the connection is obvious, and sometimes it is less so.

Last night the dream was related to Perl, somewhat.

YAPC::Europe 2012 proceedings are online

Our paper version of the proceedings was a success. We've given away all printed versions. If you missed it or your colleagues prefer an electronic version, we have the PDF version of the proceedings now online at

http://act.yapc.eu/ye2012/stuff/proceedings_ye2012.pdf

My Top MySQL Gripes

Due to some (legitimate) criticism I received for complaining about MySQL in another forum without bothering to say why, here is my list of my top MySQL complaints:

Yes, triggers should be avoided, but if you can't avoid them, don't cripple 'em.

Many of these issues force devs to push logic into the application layer where they're far more likely to be buggy.

Actually, if I could just have three of those fixed, I'd want custom data types (with operators, please), sane default values and check constraints.

MongoDB 0.46.1 Released

I'm happy to announce that version 0.46.1 of the Perl MongoDB driver has been released to CPAN! It should make its way to your local mirror soon. This release has mostly minor bugfixes and some housekeeping, but more and better stuff is coming down the line. I've written a detailed post about the release and future plans on my blog here: MongoDB 0.46.1 Released . Enjoy!

blog moved to domm.plix.at

After finally managing to produce a valid atom feed I have now moved my Perl blog to my self-hosted server at http://domm.plix.at/perl.

Blog posts are aggregated via Ironman, and I tend to spam twitter after publishing a new post (at the moment by hand, but I guess I'm going to automate that soonish), so might want to follow domm_favors_irc to stay up to date on my ramblings.

Or do you prefer to have me add short posts here, pointing to my proper blog? (of course I'd remove this blog from Ironman first to prevent duplicates)

Anyway, thanks to the people running blogs.perl.org for providing me with a blogging home after use.perl.org shut down.

Social diagnostics

First, a huge thank-you to all the folks who have commented on my post (whether they agree with it or not) and who have followed up on Perlmonks to say "well, I think this might be correct" - or not, as long as it's not about me, but about the topic. I think it's important to talk about what happened, even if no one's mind is directly changed.

I'm afraid that at least one of the participants feels singled out, which was not my intention. I am truly sorry that this person feels attacked. This was totally not what I wanted or was trying to do.

To try to clarify this social thing for folks who normally ignore it or don't see the point, I'm going to invoke an extended metaphor here.

All I wanted to do, to go all technical about it, was to issue a social diagnostic: a warning, not an error message, that said "I think Perkmonks needs to be inclusive, and sexualizing software doesn't do that".

Perl 5 Porters Weekly: August 20-August 26, 2012

[ Cross posted from its home blog ]

Welcome to Perl 5 Porters Weekly, a summary of the email traffic on the perl-5-porters email list. Sorry I'm running a bit behind this week; there was really a tremendous volume of email this week, mostly about Ricardo's changes to smartmatch and the given/when syntax. Since that's the case, I'm going to put all of the non-smartmatch mail first, and a good sampling of the discussion around smartmatch at the end.

Topics this week include:

Simple Singleton in a few lines

The other day I was working on a library which needed to have a small list of dependencies and guaranteed to run on Perl versions 5.10 and above. In order to keep the dependencies minimal I decided to code a singleton() method like this:

sub instance {
    my $class = shift;
    state $self = $class->new(@_);

    return $self;
}

Just to get me right. This is not a complain to Moo*X::Singleton modules. The snippet above is very primitive, does not provide a separate initialization and has no way of clearing an instance. But sometimes this simplicity might do its job.

Marpa::R2 is beta

[ blogs.perl.org has been a wonderful home, but I have finally given in to the lure of static blogging. This is cross-posted from the new home of the Ocean of Awareness blog. ]

Marpa::R2 is now beta. Marpa is a new parsing algorithm, based on decades of prior art. It is a practical and efficient solution targeted at all parsing problems that are too complex for regular expressions.

Thread pool for a boss/worker model

This is a pretty simple idea - a boss thread assigns work to a pool of worker threads who do nothing until some work enters their queue. This way the boss can fill a queue very quickly and you have multiple back end processes that can consume that queue.

I'm using threading and not an async thing because some of the work I'll be assigning to threads are long-polling operations. The workers will hit some REST API route on some other application, and some of those routes take up to 30 seconds to complete or have dependencies or followup work. Rather than block and spin in an async call, for my tasks, its easier to have a queue of work and workers that execute them.

YAPC::Europe 2013—week minus 50

There are no dates for the YAPC::Europe 2013 announced yet but assuming a year contains 52 weeks and the conference is planned to happen in August, let's roughly estimate there are about 50 weeks before the conference. We'll just hot fix the numbering as soon as the dates are known.

So what's new about the conference. Believe me or not, we are not sitting and waiting for the end of June to start doing conference preparations :-) We've got intensive discussions in the mailing list to set up the roles among the organisers, launched internal wiki pages and made a brief research of some minor details.

In the following few weeks we will closely look at every of our seven venues that we have in mind. Just to list them:

Quote of the day

Chip Salzenberg:

According to John P. Linderman:

Barring some sort of formal definitions, the C code determines the language (pretty much what happened to trigger this whole thread) rather than the language determining the parser, and that just seems wrong.

WRT Perl 5, I’m afraid that horse is not only out of the barn, but has wandered off the ranch, joined a wild herd, and sired several foals.

#perl6 highlights for week ending 2012-09-01

I (raiph) have switched to selected highlights rather than an exhaustive summary and changed some other things. I'd appreciate comments from both #perl6 regulars and those who are just reading these reports saying whether or not these changes are an improvement over last week's report. (Alternatively gmail raiph.mellor.)

2012-08-26:


2012-08-27:


2012-08-28:


2012-08-29:

Grant for Improving the Perl Debugger + New CPAN Distributions

First of all, I am glad to announce that the Perl Foundation grant committee has accepted my grant proposal for adding tests and refactoring the built-in perl debugger. Here is the announcement for which grant proposals were accepted. My grant manager for this grant is Alan Haggai Alavi, whom I've been talking with online and have collaborated on a few projects, so I'm really happy to work with him again.

I have already made some progress with the grant (and this post is part of it), and sent a log for Alan Haggai to post as a grant update.

That put aside, I'd now like to publicise some of the new distributions I have uploaded to CPAN, as I had some ideas for new ones, and am also contemplating making enough uploads to have 100 CPAN distributions or more:

Acceptable Community Standards

I've been lurking here for months - there are some serious experts that blog here, along with a few absolute newbies. I figured my experience level didn't matter. I could have blogged elsewhere too....But...

I'll admit that part of the reason I chose to write my blog here is due to the recent amount of posts I've seen over Sexual Harrassment and what it means to be a Member of a Community that has standards. The more voices in a community speak out, the more the community *is* those voices.

I won't post anything else about it - this isn't 'my community' in that I don't attend conferences, I don't go to meet ups or anything like this, I have a Perl Monks account but never log (every question I need to ask has already been asked!) I guess I'm making it my community by actively voicing my concern and opinion, and it would be nice to talk about perl problems with people who actually know perl!

MetaCPAN-on-search.cpan.org update

I’ve uploaded a new version of the GreaseMonkey script I introduced in my last entry (to let you use search.cpan.org for searching but with links to MetaCPAN in the search results).

This version is updated for GreaseMonkey 1.0, and also includes a small link at the top right of a search results page which links to the same search on MetaCPAN:

var query = document.querySelector('input[type=text]').value;
if (query) {
    document.querySelector('.t4 small').insertAdjacentHTML('beforeend',' <a id="goto-metacpan">&#x2192; MetaCPAN</a>');
    var link = document.getElementById('goto-metacpan');
    var href = 'https://metacpan.org/search?q=' + encodeURIComponent(query);
    link.href = href.replace(/%20/g,'+');
    link.style.setProperty('float','right');
    link.style.setProperty('padding-right','.4em');
    link.style.setProperty('color','inherit');
}

Easily installable from userscripts.org. Share and enjoy.

Is this a place where I can get some technical input?

Hi everyone. It has been about 13 years since I last used Perl CGI. Recently, though, I was going through my old books and found an old Osborne Perl Reference guide and thought "Hey! I would mind having a brush up with Perl". Like the market place, I moved from Perl CGI to Classic ASP and then to .Net. One has to earn a living doesn't one? But I used to enjoy Perl. Thing is, I have just configured IIS 7 on a Windows 7 machine (running 32 bit version of Active Perl) and I am getting odd behaviour. I can open my browser, type in my local host website url (http://localhost/MyWebsite/Something.pl) and the request is picked up by the web server and returned. Problem is the the browser things its a download, prompts me to Run or Save. If I select Run it runs the script in a command window. This happens in all browsers so it must be an IIS issue. I have been through everything in IIS laboriously one setting at a time but can't see why this is happening. Does any of y'all have any idea why this might be happening? Cheers. Ray.

YAPC::EU 2012 - an organizers' view - Day 1

The day at the venue began at 7 a.m. and it was already very hot at that time. We did the final preparations at the registration desk and we made coffee. Then a lot of stuff was delivered: water, apple spritzer. We opened the doors at 9:30 a.m. and about 350 people came to the registration desk. They all get their name badges, their wifi credentials and a conference bag (thanks to Webfusion to sponsor the bags!) with the proceedings.

All people had to sign for the wifi credentials so the people had to wait in a queue a few minutes... But I think it worked quite well, because we started only 5 minutes late. At 10:35 Max opened YAPC::Europe 2012. After the opening session the host of next years' YAPC::Europe was announced: Kiev. Congratulations to the Kiev guys. We really look forward to next year!

This is not tolerated

There had been several posts recently about disgusting sexist idiotic behavior on PerlMonks. Most people know my opinion on these issues very well, but I don't think that's good enough. I think we need to actually bring it up and discuss it. I want to thank all the people who wrote about it and specifically Joe McMahon who both spoke of it on blogs.perl.org and on Perlmonks here. No, this is not to be taken lightly. And no, I will not shut up about this. And yes, my post is probably gonna be long. I'm sorry, but I need to put it out there.

my $perl_blog;

I use perl, at home, at work, and I've been using it for over a decade. I recently switched job titles and had to relearn The Web outside of the old CGI forms that I used to know back in the crusty old days of web 1.0.

Handrolled mysql connections and 50k lines of code aren't good practice anymore - not that they ever were, but it was at least accepted and common practice. I've started using MongoDB as well, and its collection of documents metaphor makes a lot of sense when you can pair JSON and perl data types so easily.

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.