The Zero to Perl Workshop at YAPC::NA 2012 is officially sold out! It joins the Perl Testing Workshop that sold out last week.
We still have a handful of seats left for the Hackathon / Hardware Hackathon if you’re looking for a pre-conference activity. Those will likely be gone by Monday, so if you’re interested in either the Hackathon or Hardware Hackathon then please get your badge soon.
We still have about 75 seats left for the conference itself also. Though with two months left to go, we expect to sell out of those as well. The moral of the story, get your badge now.
PS. If you are a speaker, you are not required to purchase a badge, as it will be provided for you. If you are a speaker and have already purchased a badge, your entire badge fee will be donated to The Perl Foundation to continue the development and maintenance of Perl.
Until this weekend I was only vaguely aware of the Perl QA Hackathons. Something led me to the attendees page for the Perl QA Hackathon 2012. If you scroll down to the section "Registered, seeking sponsorship", you'll see a list of names, many of which you'll recognise, along with a list of things they're planning on working on.
If you see something listed that you want, or think Perl will benefit from, why not donate.
I'm not going, but I liked the sound of a PAUSE web service, DBIx::Racer, and MetaCPAN work, and we all benefit from CPAN Testers.
I often wonder why people praise Dist::Zilla for ease of use.
Recently I heard this argument:
'It was never easier to make a release. You cannot do that with EUMM'.
So I here is my little make release snippet from one of my Makefile.PL.
There is more in it. make README, make gcov and make gprof for XS extensions.
While releasing and compiling Prima 1.33 for 5 different perls, I'm taking a moment to send a couple of warm ones towards the TIFF specification. Prima originally was written to be used in (among other) software for microscopy recordings, and recently a former colleague sent me a bunch of tiffs no software could read. Heh, here's the challenge, thought naive me. Indeed, these were 10-bit grayscale tiff bitmaps, and as bit-shuffling was some long time ago an interesting topic for me, I've implemented these in Prima's tiff codec. Everyone's happy.
I'm giving a talk tonight at
Houston.pm
about
Dist::Zilla
. The slides from the presentation are after the cut. Also, there's a set of links about DistZilla
here
.
The guinea pig CPAN release for this talk is a Perl binding for the Cron.IO service. It uses Franck Cuny's cool Net::HTTP::API library. A complete binding in like 60 lines of code. Very cool.
January ended up being quite a productive month, with several issues with websites getting sorted finally.
A few people noticed that the leaderboards weren't producing the right numbers on the Statistics site. Due to it being January a rather deceptive bug came to light regarding the calculations of previous months. Thankfully I found and fixed the bug before the end of January, as for the remaining months of the year, the bug doesn't surface :)
Next up was the Preferences site. After several weeks trying to get the SSL certificate set up correctly, I left it to work on the Statistics site bug, only to return to look at it again a couple of weeks later to discover it all working! No idea what the problem was, but suspect something was caching somewhere with the wrong settings. Any road up, if you've been wanting to change any preference settings for emails, you can now login and update these for yourself again.
With just over 2 months before the conference we’ve sold more than 300 tickets to YAPC::NA 2012 so far! That’s great news. The bad news is that the conference facility maxes out at 400 people, so if you are coming to YAPC, you need to get your badge sooner rather than later.
Also, we only have a couple more tickets left to sell before the Zero to Perl Workshop is full. And we only have about 10 more spots left for the Hackathon that precedes the conference, which includes the Hardware Hackathon led by Robert Blackwell.
I don’t want anybody to miss out on the great program we’ve got set for YAPC::NA 2012. So please don’t hesitate, sign up today!
אף על פי שהכנס הוא ללא תשלום, הרי שיש צורך להירשם, אז הקדימו להירשם היום. בנוסף,
אם אתם, או חברה מסחרית אחרת שאתם מכירים מעוניינים לתת חסות לסדנה, אנא פנו למארגניה.
As I was doing some reading on Unicode, I had to sign up for a free account with ft.com site in order to read one of their articles. I normally use strong passwords, but this Web site presented me with the following error message:
Your password must be at least 6 characters long and include letters and numbers only
Ignoring the bad user interface — please tell me before I typed the damned password — it's also suggestive of security issues (ask Bobby for one reason why programmers have such bad password restrictions).
And that got me to thinking about Å, also known as U+212B.
Christian Walde (MITHALDU) pointed out I'd missed enum, which is used to define sets of constants with values in sequence, akin to C's enum type.
As a result, I found enum::fields, which similarly is used to define sequences of constants. But it's aimed at defining names for accessing fields in class which uses an array ref under the hood, and supports extending the sequence of constants in a subclass.
I mailed p5p with some questions that came out of the review, and Zefram pointed out his modules Lexical::Import and Lexical::Var, both of which can be used to define compile-time immutable variable style constants, which can be used in the constant folding conditional compilation idiom. I always learn things about Perl when I do a review.
Abigail will give a talk at YAPC::NA 2012 described as:
Many people, specially developers, hate meetings. They have to invest a lot of time, for little reward. Meetings, however, can not be avoided completely. At work, I can easily have a dozen meetings in a week. In this presentation, I will share some ideas and tips we use to make meetings more efficient; so the participants get “more bang for the buck”.
I'm in constant worry of unnecessary bloat because our perls have to run fast. "Bloat" means added dependencies, loading new files at startup, needing more time.
Generally little benefit for more cost.
With the perl compiler I can analyze code and dependencies at compile-time and strip unneeded packages.
My recent concerns have been:
To implement the deferred row operations, I made my row objects wait until their destructor to update the file. Sounds nice until you realize that you now have race conditions all over the place. So you hunt them down and store/update more internal data, always keeping track of what has been changed. A simple change became a big undertaking. As the project finished I couldn’t help but yearn for the simplicity of the original design goal.
It all started with a question. Ain't it always the case? A question, a simple little question?
I was at my desk at work, hacking along as usual, when a message popped up. Suspicious, since I'm unlisted, I probed the lines carefully. The message was from a dear friend, who had been wondering about a special use case for a web framework. Not just any web framework, but the web framework that I loved. Dancer, her name.
He had been struck with the interesting requirement of writing a web application to upload files. These were no ordinary files, but rather very large ones. The question was whether it is possible, using Dancer, to upload just a header of the file, verify the type, and upon that verification allow or disallow further uploading.
After a short examination, it was clear that Dancer buffers the input files prior to giving you access to them, such as many other frameworks do. We had left it at that.
Department:Software Development Compensation:Competitive with benefits Job Description
As a Software Developer, you will be responsible for the design and development of our RESTful API and backend processing jobs to add new system functionality that will support our growing customer base.
You will accurately and rapidly write code for various software products, which entails using proper coding conventions as well as following any specific desired coding conventions. Emphasis is on producing clean and lean code that is capable of functioning and scaling in highly demanding business environments.
A new, late, new year's resolution for 2012: rate unsupported modules with 1 star. Two such examples. By unsupported, I mean tickets are not responded at all (let alone bugs fixed) for months or even years. Perhaps module-starter should emit this POD section template instead:
=head1 BUGS
Please report any bugs or feature requests to
C<bug-foo-bar at rt.cpan.org>, or through the web interface at
L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Foo-Bar>.
I will be notified, and then you'll automatically be notified of
progress on your bug as I make changes.
BUT KEEP IN MIND THAT I MIGHT GO ON, HAVE A LIFE, AND FORGET
COMPLETELY ABOUT THIS MODULE, THAT YOU SHOULD RELINQUISH
ANY HOPE OF GETTING TIMELY RESPONSE FOR INQUIRIES ABOUT
THIS MODULE, IF EVER.
The mojocasts have thus far used lite apps exclusively to demonstrate basic Mojolicious functionality. This has led some to believe that Mojolicious is a one-file micro-framework; however, that is not the case.
Mojolicious a full-featured framework, supporting what some would call Catalyst-level deployments, in addition to one-file simple applications.
Full apps are a good choice for teams, and for sanely separating concerns for large web apps.
I've uploaded a sample application to demonstrate the differences, and allow folks to see first hand how to translate from Full to Lite, and vice-versa.
First, a short introduction to the state of the Dancer community.
Dancer really is a community, in every sense. You can see it by pull requests from fresh developers, pull requests from people who've been there for a while now, and you can see it in the channel and on the mailing list. I can't explain in words how thrilling it is to this day to see someone on the list reply to someone else. Dancer clearly isn't mine, it's ours, all of us, including those who take a few minutes to actually reply and say "hey, I might not know what your problem is, but how about you try this and that and let me know if it works out. I'd like to help you fix it" or "hey, I know that one, it's..."