What New Technologies Might Be Invented At The Hackathon

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:

These days we’re at the forefront of cancer research, quantum computingnano-technologies, and ill-advised politics. So why shouldn’t Wisconsin also be the place where the next great Perl app is born?

[From the YAPC::NA Blog.]

YAPC::Russia + Perl Mova 2012 in Kiev, Ukraine

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.

Announcing: PerlGSL - A Collection of Perlish Interfaces to the Gnu Scientific Library

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.

Don't use Cache::Memcached for UTF8 strings

Read about our adventures while trying to store/retrieve an UTF-8 string via Cache::Memcached in my Perl blog

YAPC::NA 2012's Legacy for the Perl Community

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.
  • We should be creating a new generation of Perl developers through our training programs before, during, and after the conference.
  • 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.

[From the YAPC::NA Blog.]

7th Week of Perl 6 Tablets

... and what happened?

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 Technical Meeting 2012-05-31

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

For more information and to sign up, please visit http://londonpmtech.appspot.com/

See you there, Léon.

Considering NPW2012 rescheduling

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.

Comments, thoughts?

YAPC::NA 2012's Legacy For Organizers

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:

Reddit API for Perl

I have completed the meat of a reasonably complete API wrapper for Reddit. You can grab it at https://github.com/jsober/Reddit-API.

It is pretty simple to use, and the docs are complete, but here is the gist:

Twitter Bootstrap templates for Dancer Applications

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

Dancer Start Screen with Bootstrap

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:

CPAN Testers Summary - April 2012 - Pictures At An Exhibition

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.

Just thought I’d share the Perl-inspired drink menu for...



Just thought I’d share the Perl-inspired drink menu for The Perl Foundation party at YAPC::NA 2012

[From the YAPC::NA Blog.]

Floating Point Rounding Errors

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.

On CPAN Namespaces: Urban Namespace Planning

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.

Acme::MetaSyntactic is back!

After a hiatus of five and a half years, Acme::MetaSyntactic is finally back!

For this version, I have split the distribution in two:
  • the "core" modules, available in the Acme-MetaSyntactic distribution,
  • the historical themes (with a few additions), available in the Acme-MetaSyntactic-themes distribution. I will slowly update it (weekly?) with the themes I received in 2005-2006 and didn't include at the time.

The main change is the creation of the Test::MetaSyntactic test module, that makes it much easier for theme authors to create their own theme distributions, and check that they follow the rules for Acme::MetaSyntactic themes.

Anyone willing to create new Acme::MetaSyntactic themes is invited to simply create
their own distribution (no need to send me patches any more!), and stick in a t/metasyntactic.t test file with the following content:


use Test::MetaSyntactic;
all_themes_ok();

Simply email me so that I can update the MetaSyntactic bundle.

(In other news, France has a new president.)

Live Stream URLs

I know that many of you are planning to set up these live streams of YAPC::NA 2012 in your offices and at home, so I wanted to get the URLs out to you so you can make sure you’re ready to go.  Click here for the schedule.

You’ll need Microsoft Silverlight, Adobe Flash, or Apple Quicktime to be able to view these streams. 

Please note that these streams are not live yet. They’ll go live at 9am US Central time on June 13th. 

[From the YAPC::NA Blog.]

Perl 6 and D separated at birth

When I first learned of Perl6 and D, They seemed to me to have similar sensibilities.

One of the motto’s of the Perl community is to “Make easy things easy and hard things possible”. I find it interesting that D actually does that to some extent. It has built-in resizeable arrays, and associative arrays for example.

Perl has always tried to shield the programmer from memory management. D also does that by having a garbage collector built into the language.

Neither language has been designed for complete backwards compatibility, because it has proven limiting in their respective ancestry. ( Perl4 -> Perl5 and C -> C++ )

Both Larry Wall and Walter Bright decided that different things should look different. This helps the compiler to parse them, but also helps the programmer to tell the difference.

I suggest that everyone who wants to learn a new programming language, learns both of them. Even though there is a large overlap in design ethos, they don’t have much overlap in actual design.


Of all the new languages, these two are the only ones that don’t feel like toys, or minor improvements of earlier languages.

  • Go
  • Coffee Script
  • Dart
  • C#
  • F#

Priorities when using Any::Moose, and what Mouse people should do

A recent test script of mine broke with the following message: You can only consume roles, MooseX::Role::Loggable is not a Moose role at /usr/lib/perl5/Moose/Util.pm line 137. What happened?

This test script uses Juno and an internal module that we have at work here. Both of them use Any::Moose. They also use my MooseX::Role::Loggable which uses Any::Moose as well, in order to allow you to use it in Moose and Mouse.

Removing Locale::Country::SubCountry from CPAN

Hi Folks

Reluctantly, I've removed Locale::Country::SubCountry from CPAN, since I have no reasonable means of keeping the data up-to-date.

This data included subcountry names in the native scripts of the corresponding countries.

As a replacement, I spent a lot of time developing WWW::Scraper::Wikipedia::ISO3166. This (gently) scrapes country and subcountry names off Wikipedia, and stores them in an SQLite db.

The names are all use (more-or-less) latin letters (i.e. A-Z, a-z, with diacritics).

This is not my preference, but I've decided to adopt a policy of:

o Hoping ISO3166 is kept up-to-date (which is reasonable).

o Hoping someone, somewhere keeps Wikipedia up-to-date. I can't say whether or not this is reasonable, but I'm just going to assume it is.

I'll document various issues people might have with the Wikipedia/IS03166 version of such data.

A typical instance is the name of Bolivia:

o Wikipedia/ISO3166 calls it 'Bolivia, Plurinational State of' whereas you probably (and reaonably) expect it to be called 'Bolivia'.

Of course, Kim Ryan's module Locale::SubSountry, is always available, if mine provides data which fails to meet your expectations :-).

Cheers
Ron

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.