Perl SDL Games and Hacks

Scott Walters will give a talk at YAPC::NA 2012 described as:

Many Perl programmers, given a free weekend, can’t think of anything more fun than playing with computer graphics.  This talk shows off a number of my own adventures as well as hacks by other members of the Perl community.

I’ll talk about:

  • Opening that window or going full screen
  • Reading from the keyboard and mouse
  • Getting stuff onto the screen
  • Animation
  • Gravity and velocity
  • Collision detection
  • Simple enemies (finite state automata)
  • Geometry for games

Seeing several examples of Perl SDL and how they were written should educate and inspire you to dabble with your own ideas.

[From the YAPC::NA Blog.]

iCPAN 2.0.0 now Available in the App Store

I'm happy to announce that iCPAN 2.0.0 is now in the app store. If you're not familiar with it, iCPAN is a free iOS app which allows you to browse CPAN Pod on your iPhone/iPod/iPad. The previous version of iCPAN was released in November of 2010, so this has been a long time in coming.

If only CPAN had a web service...

At YAPC::NA 2012 we’re introducing social badge ribbons....

At YAPC::NA 2012 we’re introducing social badge ribbons. At the registration desk you’ll be able to choose ribbons to apply to your badge as a call out to other attendees about who you are or what you do. You’ll be able to choose from interest areas like “DBIx::Class” and “Web Frameworks” to roles like “Author” and “Speaker” to fun stuff like “Crotchety” and “Rockstar”. There will be dozens of different types of ribbons available. We hope you make use of this tool to make new social connections at YAPC.

[From the YAPC::NA Blog.]

LLVM 3.1 with AddressSanitizer released

The good part:

LLVM 3.1 has been released, and AddressSanitizer is now officially a part of it.

The bad parts:

There are still several issues (= security bugs) with perl-5.16.0 and important modules.

  • heap-overflow threaded-only in swash_init - Carp - caller - gv_stashpvn call perl #113060 cx corruption
  • DBI use-after-free cpan #75614
  • List::Util 1.24 cpan #72700 (be sure to upgrade it from CPAN if you need to use 5.16.0 plain. Fixed in 1.25)
  • clone_with_stack heap-use-after-free on PL_curcop perl #111610

My asan talk at YAPC is on the waiting list. If someone is interested I'll do a hallway meeting. parrot is happy to use it.

asan unrelated:

See my other blog posts about AddressSanitizer:

  1. adventures-with-clang-and-asan
  2. address-sanitizer-round-2

A MOP for Perl 5

Stevan Little will give a talk at YAPC::Europe 2012 described as

This talk will explore the current proposal for adding a new object system to the Perl 5 core. We will discuss the syntax and semantics as well as the underlying MOP (Meta Object Protocol) that the system will be built upon. We will also explore what that would mean for the future of Perl 5 as a language and how it will retain the connection to the past.

Perl Platform as a Service Shootout

Mark Allen will give a talk at YAPC::NA 2012 described as:

There are a lot of “Platform as a Service” (PaaS) providers popping up all over the place like dotCloud, Stackato and OpenStack.  They all say they support Perl.  How do these services compare to one another in price, performance and ease-of-use?

[From the YAPC::NA Blog.]

CPANdeps now links to the right bug-tracker

CPANdeps has for ages had links to each distribution's bug tracker. Trouble is, it always just linked to rt.cpan. Lots of people don't use that any more, preferring to, for example, use the one that github creates for each repository hosted there. META.yml (and META.json) have links to those.

Ben Bullock provided a patch to extract the info from the META files, and I applied it a few moments ago. There are quite a few different ways it can be specified, and in some places META.yml and META.json files have different data structures, so we may have missed a few. Please submit a bug report if you find any module whose bug tracker I'm not correctly linking to.

What Moose is doing to my nose

It's only been a couple of months since I've been using Moose, but it is already changing the way I read code. Of course, it changed the way I write code in a very short time, but I was surprised when I realized that it also changes the way I smell code.

Things that seemed normal last year, now are a code smell to me. Whenever I see an object being constructed inside a method whose name doesn't start with '_build_', I wonder if something bad is going on. Even method calls with parameters are now becoming a code smell. Whenever I smell that smell, I ask myself "should this be an attribute?".

And that's a pretty good thing. I never found testing my code easier. "Dependency injection" is harder to spell out than it is to just do it. And I find myself being able to understand my own code a couple of weeks later.

So, to sum it all up: Thank you, Moose Cabal!

About is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is hosted by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.