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.

Moving to Moose Hackathon roundup

After returning from the Moose/RDF hackathon in Norway and moving to another city this weekend, I finally have the time to tackle two tasks on my TODO list at once, viz finally starting this blog and writing up on the hackathon.

The Moving to Moose Hackathon 2012, organized by the Oslo Perlmongers was a five-day event that catered both to the Metaobject Protocol enthusiasts (who use Moose now and may soon use the new p5-mop to be moved to Perl5 Core) and developers interested in using Semantic Technologies and RDF with Perl. I was one of the RDF guys.

"White knight", a meditation

If you think "white knight" is a crap term, a convenient argument-by-dismissal tactic, then you probably already know all this, but there may be some useful ideas for the next time someone attempts to spring this on you.

On the other hand, if you're one of those who think it's the scored-the-touchdown-high-five-we're-done-here way out of any situation where you've said or done something crappy and then been called on it, you're probably not going to read this anyway, but I shall go ahead and write it so you will have to waste energy making up increasingly vituperative denials which I will pointedly ignore.

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!

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.