Your first opportunity to meet everyone at YAPC::NA 2012, if you aren’t coming to the pre-conference activities like the Hackathon, will be at the Arrival Dinner on Tuesday, June 11th. If you wish to attend, you need to either add your name to the wiki page, or email Uri Guttman and let him know you’re coming.
Perl's built-in datatype, array, is a multi-purpose tool which can be
used for many things. It's primary purpose is to preserve the order of
data. But it comes with a powerful set of tools to make manipulating it
easy. This article is to show how to use these tools by implementing a
linked list.
Linked lists were originally created for languages like C
which only had simple datatypes. They are a technique for using the
system's memory allocation to create a data structure that allows unlimited
expansion, that is, until it runs out of memory. They use a simple datatype
called a pointer that records a position in memory. Without pointers,
linked list would be impossible.
Perl has a datatype similar to pointers, the reference.
Like pointers, it records a memory location and it can be used link them.
But using references to implement a linked list the same way one would do
in C, needlessly complicates the code. Linked lists can be implemented
using just arrays. Here's how.
Although I'm an advocate of configuring and installing your own perl while leaving the system perl alone, I'd like to have a list of the various ways particular distros and package managers do it for the system perl.
The package manager program (e.g. yum, apt-get)
The package name(s) to get the standard distribution, including the docs, ExtUtils::MakeMaker, and everything else
Does that package manager allows you to configure, per-package, the installation location.
Discovering module packages (what is the name, version of the module, etc)
Your distro version, if it matters (do some distros change package managers)?
I can make a chart here if people chime in with what they know about their system. I've seen scattered hints, but no where that pulls this all together for the various major distros.
We’re only one week away from YAPC::NA 2012 so tonights meeting will be our last before the main event. We’ll be handing out final assignments and running down the check list. If you’re in the Madison area, or don’t mind a drive meet us at the Essen Haus at 7pm.
I’m not sure how much we’ll have to discuss so I can’t hazard a guess as to when the meeting will end. Getting exciting now.
use.perl.org was a Perl-specific blogging website created by Chris Nandor and hosted at Geeknet. It was up from early 2001 until late 2010. A little over a month ago I started a project along the lines of Archive Team to save historical Perl websites and keep the content going.
I've just released WWW::UsePerl::Server to the CPAN. Using this module you can host your own use.perl.org mirror:
It comes with a MySQL database dump containing all the stories, journals and comments on use.perl.org. That way you can gain control of your content and import old journal entries into your current blog.
I'm very excited to see more than 200 people registered to the forthcoming YAPC::Russia conference.
We started YAPC::Russia in 2008 in Moscow and since than it migrates between Kiev and Russia each year. That explains why its full name includes plus Perl Mova, which is the name of the Ukrainian Perl Workshop (held separately in the years when YAPC::Russia is in Moscow), that easy. By the way, did you know that Kiev was once the capital of former Kievan Rus? No political context here today :-)
This year is a special one in the history of our annual event. This time the organisers managed to invite a few guest speakers, Tatsuhiko Miyagawa, Gabor Szabo and Florian Ragwitz. In addition to that great fact it's a pleasure to see attendees from 13 countries! Kiev is a wonderful place to come to, as you most probable don't need a visa to enter there.
With this post I am happy to announce the release of my new distribution: PerlGSL. This accompanies several other releases I’ve made in the past few days, I’ll get to those in a moment.
A few days ago I asked what I should call my new multidimensional integration module. The discussion centered on whether it was more important that it required the GSL library, or whether it was a set of bindings for the GSL (was that set complete)? Was it a dist in its own right needing a toplevel name, or that it was mathematical and should be under Math::?
After discussion and reflection, I have decided that I wanted a toplevel namespce for this project, mostly because the need to satisfy the external dependency on the GSL separates these modules from others. To make it worthy of that honor, I have made it into a dist in its own right, not unlike other named dists like Mojolicious or Catalyst, though more modular.
As far as I know, the hackathon at YAPC::NA 2012 might be the first two-day hackathon ever at a YAPC. With that amount of time, and the brain power of the Perl community, I wonder what might be invented there.
Wisconsin’s history is filled with lots of technological pioneers, whether they be tinkerers, inventors or entrepreneurs:
Lots of the great brands you know and love were created in Wisconsin, such as Harley-Davidson Motorcycles, Miller Beer, Mercury Marine, Trek Bikes, Ashely Furniture, Briggs & Stratton Motors, Kraft Foods, Kohler Plumbing Fixtures, Snap-on Tools and many more.
I added a FAQ (Appendix F) page (and moved links to appendix H aka href appendix), but its just questions so far. You migth ask, but there is already a semiofficial FAQ. True. But would you not prefer better sorted anwers with links where all the parts of the answer are even better explained in more detail?
I added also a report.pl which gives you output like:
London Perl Mongers organises technical meetings every two months. The technical meetings are a chance to find out what has been going on in the Perl community, what techniques people are using and how Perl integrates with other software.
The next technical meeting will be on the 31st May 2012 from 7pm to 9pm (you may arrive earlier, please sign in at the reception). You have to sign up to attend, see below.
This meeting is sponsored by Webfusion and will be held at the Conway Hall. Many thanks to Barbie, Webfusion and everyone involved for allowing us to use this wonderful venue.
The following speakers will present:
James Laver: Lovecraftian Perl
Paul LeoNerd Evans: Terminal Interface Construction KIT
Barbie: Labyrinth is/isn't a Web Framework
David Leadbeater: RE2: Faster regexp matching
Since we’re only a little over a week away from YAPC::NA 2012, our team thought it might be useful to reflect on what we plan to leave behind for the Perl community. We think we’re leaving a strong legacy:
First and foremost, we hope we deliver a spectacular conference that attendees remember fondly for years to come.
We’re leaving behind a wealth of infrastructure for the next YAPC organizers.
When the final totals are tallied, we should be able to give a good sized sum of money to The Perl Foundation to be earmarked for the Perl 5 Core Maintenance Fund and CPAN Testers.
We’ll leave behind nearly 100 hours of video presentations that will be professionally captured by our streaming team.
And finally, we hope each new team of organizers will set a new standard for what a YAPC can look like. We believe we have achieved that goal, and we hope that every organizer that comes after us amazes us with their achievements as well.
Unfortunately there's been very few talk submissions and registrations for NPW2012 so far which could be due to it being the week before YAPC::NA and a bit of tight schedule from announcement to workshop.
Therefore I'm considering rescheduling it for later this year.
I'm writing an internal application using Dancer. To give it a "current"
look, I'm using the Twitter Bootstrap
CSS framework. A side effect is, that I wrote Dancer::Layout::Bootstrap,
a set of Template Toolkit templates that import the Bootstrap layout
into Dancer. I hope that this will evolve into a way to add external data files
and maybe even layout templates to scaffolding frameworks such as Dancer.
Pretty Pictures
The demo application has a tiny bit of logic to demonstrate the effect of showing "flash messages" with Bootstrap, the green bar you see in the below image:
The organizers of the past few conferences gave us some good data and some great advice, but prior to YAPC in Madison, there has been very little infrastructure handed down from one organizer to another. As we go into the home stretch before YAPC::NA 2012, our team will give a wealth of infrastructure to the next YAPC::NA organizers, whomever they may be. To them we leave behind:
Firstly for this summary, I would like to extend a big thank to lestrrat, Mark Allen and Ron Savage for the first individual donations to the CPAN Testers Fund, as managed via the Enlightened Perl Organisation. The fund has been a long time coming, and we are really greatful to all the donations. If you'd like to contribute something to help CPAN testers, whether as a one-off or a regular contribution, please see the EPO CPAN Testers Fund page for further details. We plan to list all donators on the CPAN Testers Sponsors website, as a further thank you to you all.
In Chapter 3 of my book, I mentioned offhand that sometimes you expect the number 5, but you get 4.99999999998 instead. I sort of punted on the explanation because it seemed to be a touch of a distraction. Naturally, chromatic called me on that and suggested I explain a bit more. As part of my explanation, I wrote a sample program that would print out the fractions used to build the mantissa of a number. For example, .75 is 1/2 + 1/4.
I’m having a bit of a conundrum over where to put my next GSL-based module. First some background.
I’m already the author of a GSL-based module (see my first rant), the horribly named Math::GSLx::ODEIV2. This name reflects the same odd namespacing conundrum that I find myself in again, as well as the sub-library name odeiv2.c/h.
Duke Leto has already essentially taken the whole Math::GSL namespace by brute-force SWIG-ing the entire library. Much of this work is not fully implemented, but still parked. Further, since the namespace is already fairly crowded, its next to impossible to tell which parts are his and which would be anyone else’s. So lets call that out of the running. Note that I’m not complaining about his efforts, but it makes choosing a name harder.