The bad news is that the Pyle Center did not have a room large enough for our main lecture hall at YAPC::NA 2012. The good news is that 100 meters down the street is the Lowell Center. We’ll be taking over the Lowell Center’s large dining room and setting it up to handle all of you.
This is where we’ll do our keynote, plenary sessions, Getting The Most Out Of YAPC talk, the lightening talks, etc.
Please note that the Belgian Perl Workshop 2011 will take place at "The Hub" in Brussels (http://brussels.the-hub.net/public/) on Saturday 15 October.
We are quite late on schedule. So please register your presence and talk submissions as soon as possible via the conference site http://conferences.yapceurope.org/bpw2011/
PS1: As every year, entrance will be free !
PS2: Please forward this message wherever you think it will get audience.
Recently I've decided that I should change the way I host my email. I've moved to fastmail.fm + offlineimap + Dovecot + Mutt. I've played with a few IMAP clients and am currently back to using Mutt like I used to ten years ago.
I wondered what email clients my friends are using. I could ask them all... or I could write a program to query the London.pm and perl5-porters mailing lists for email user agents (one random email per email address) for the last year.
London.pm results
76 Gmail
29 Mutt
27 Thunderbird
22 Apple Mail
7 Alpine
6 Evolution
4 KMail
4 Gnus
3 SquirrelMail
3 Exchange
2 Unknown
2 Internet Messaging Program
2 Claws Mail
1 YahooMailRC
1 tin
1 RoundCube Webmail
1 Postbox
1 Pine
1 Opera Mail
1 Microsoft Outlook
1 LinkedIn
1 iPhone Mail
1 iPad Mail
1 Hotmail
1 Blackberry
We will be posting registration information for YAPC::NA 2012 early next year. However, for now I thought you might like to see the room where we will hold registration next year. This is the Upper Lounge in the Lowell Center. Though the image doesn’t show it, this room is quite large and will more than handle the long lines that form during registration.
We also hope to have multiple registration desks working to make the lines move quickly.
The DBD::SQLite team shipped a new developer release (version 1.34_01) with a patch by Mark Dootson. It should fix a long-standing "not an error" issue under the mod_perl/CentOS environment (reported and discussed in several tickets). I confirmed the bug was gone under the CentOS 5.5, but if you find it still remains under your (probably rather old) environment, please let us know via RT, mailing list, or #dbd-sqlite@irc.perl.org. Thanks.
I've been running into more and more code which uses Moose, and doesn't use strict. The logic being that since Moose uses strict, your code doesn't need to.
Is there something about Moose's use of strict that differs from other modules that use strict? Say for instance that if I use Carp in my code (which uses strict), is it still ok not to use strict?
What worries me as someone who works on legacy systems where code doesn't use strict, is that best practices are de-evolving. New Perl programmers will see code that uses Moose but not strict, and go on to write programs that don't use Moose and also don't use strict. It makes me wonder if the practices that are being implemented in Modern Perl for the benefit of experienced users will set bad precedents for inexperienced users.
Hey 5.16 developers, can you enable strictures and warnings by default? Now that makes sense to me.
We now have pricing for YAPC:NA 2012 for those wishing to stay in the dorms. For a single room the price is $62.65. For a double room the price is $41.80 per person. Both include breakfast each morning, plus this impressive list of amenities. Note that this does not include parking, if that’s something you need.
We’ll open up online registration for the dorms in late February. And you will be able to register for dorms to stay during the workshops and hackathon (June 11 & 12) as well as the the conference itself (June 13-15). You’ll even be able to extend your stay until Saturday June 16th if your flight or other travel doesn’t leave until the next day.
After creating company-specific schemas, I decided to refactor and abstract more issues. This mainly revolved around our databases.
If you've read the previous post, and tried it yourself, you'd notice having schemas in a central module that anyone can use was comfortable. However, if you've tried to write stuff using that schema, you probably also noticed that you have to keep reinventing some variables.
Assuming OO code, you'd have an attribute for the schema object, the database host, the database user and the database password, for each of the several databases you might have. Perhaps even more variables. We had the same issue. I was tired of having to configure this every single time. The next refactor had to consider this.
I wrote a role called KittiesInc::Role::DB (assuming my $workplace was called "KittiesInc.") and it included all the attributes for databases. It created, for two databases, attributes for the schema object, database hostname, database username and database DSN.
Today, we watched a series of test cases failing. Our tests started with a blank database and a series of populate method-calls to create their own test records.
Everything looked obviously right, but after a while of debugging, we found out that the populate method of DBIx::Class::ResultSet behaves differently depending on the context used. In Scalar or List context, the records are inserted using the INSERT statement, while in void context, a bulk insert method is used.
From a performance standpoint, this absolutely makes sense. The documentation does explain this very well.
However, some optimizations have been made under the hood that are not obvious unless you know about -- I did not know that before.
I’m very pleased to announce that Michael Schwern has agreed to be our keynote speaker at YAPC::NA 2012. He’s got an interesting and diverse portfolio of work in the Perl community, but most of you probably know him as the guy that created Test::More, although my favorite module of his is URI::Find. He’s one of the most entertaining and dynamic speakers the Perl community, and I’m sure this talk will be no exception.
Just a quick note about how much I appreciate the work Robin Smidsrød has done on XML::Rabbit. I'm now using it on a second project, and the ease in which I can quickly build a set of classes and attributes to process XML documents combined with the usual Moose-y goodness is truly wonderful.
The first project in which I used XML::Rabbit, XML::Ant::BuildFile, is still chugging away and working well.
The MySQL databases have now been rebuilt and correctly synced between each other. The SQLite databases are now being updated and these should be completed by the end of the week. This has enabled me to write some simple scripts to create and repair the databases, which I'll now be including in a separate distribution to be released on GitHub. It will also include all the apache, mysql, logrotate, cron and other config and script files, so that if we ever have to rebuild again, getting started is a lot easier.
The websites are now rebuilding too. The statistics site will be complete shortly, as it takes a while to rerun all the statistical analysis. Trying to analyse everything all at once tends to grind the server to halt, whereas analysing bitesize chunks, although slightly slower, uses less memory and saves progress to disk, so we don't have to start again from scratch if anything falls over.
Just got Kubuntu installed on my laptop. It's not bad but the panel locks up when I login to ATT wifi at Starbucks until I goto a browser and submit their online agreement. This behavior is a bit annoying so decided to try to automate the form submission with WWW::Mechanize. The script is very simple but seems to work so I decided to post it here for anyone else with similar issues. 99attwifi
Comments welcome.
I’ve been giving some thought over the weekend to ‘Authors’ vs. ‘Contributors’
as credits in module documentation.
For reasons I can’t remember but can almost justify still I’ve been submitting
modules to (the) CPAN with myself listed as the Author and any subsequent
patches are credited as a Contributor.
As a Dist::Zilla user I’ve been thinking that it would be nice to have
dist.ini accept ‘contributors = Jane Doe’ data in much the same way it
does with authors.
My investigations into a plugin for Dist::Zilla hit a roadblock when I
realised that I’d need to either fudge things horribly or fork dzil, submit a
patch and pray they accept it.
Since this is more work that just writing a plugin I took the time to stop and
think.
Is there any difference between an Author and the Contributors?
Am I placing too much self-importance on myself as the creator of a distribution?
Should Contributors be listed as Authors?
I’ve not been able to perform an exhaustive search of (the) CPAN but there are
a couple of distrubutions that use Contributors:
In this post, I talk about how
Perl 5 parses its
use statement.
The use statement
is implemented with
what I have named
"Ruby Slippers" parsing.
The idea is that you parse with a convenient grammar,
but one which is too simple to actually describe the language
you are parsing.
For example, if you are parsing HTML, the grammar might assume
all start tags have end tags.
Whenever the simplified grammar has trouble parsing,
the lexer fixes the situation by pretending the input
is what the parser wants to see.
The parser is like Dorothy in
the Wizard of Oz, who really would
like to be back in Kansas.
The lexer is like the good witch,
Glenda, who assures Dorothy that,
because of her Ruby Slippers,
Dorothy really can be wherever she wants to be.
"Perl is, by and large, a digested and simplified version of Unix. Perl is the Cliff Notes of Unix" - Larry Wall
I could never really get myself to learn sed, awk, zsh, grep, find, m4, pipes, xargs, tee, cut, paste, yacc, lex, various IPC or even C for that matter. I ought to.