The Testing Workshop is underway.



The Testing Workshop is underway.

[From the YAPC::NA Blog.]

Dancer + Bootstrap + Font-Awesome

In case you haven't noticed, Assaf Gordon has picked a sort of flavor of Dancer, which he finds as a useful base for his applications. It includes updated jQuery, Twitter's Bootstrap library and Font-Awesome's awesome font.

You can see an example right here and the repository which you can fork and hack on is over here.

Great job, Assaf!

Useful CPAN Modules

I have recently installed perl-5.16.0 using perlbrew and have begun adding CPAN modules. Here is some of them that I find most useful. Would you add any to the list?

  • JSON
  • YAML
  • List::MoreUtils
  • Readonly
  • Regexp::Common
  • Data::Alias
  • Text::CSV
  • Text::CSV_XS

SNMP module vs Net::SNMP module

If you're fortunate to get stuck working on IPv6 stuff you're going to find that things are not always as they seem.

In my job where I'm tasked with testing scripts using SNMP to verify that they work with IPv6 addresses as well as IPv4 addresses I've found that the SNMP and Net::SNMP perl docs aren't necessarily correct on some things. Fortunately you can use Net::SNMP to create a session where it returns an error message if it doesn't create a session unlike SNMP which doesn't. SNMP appears to be more of a quick wrapper

This will help you overcome any shortcomings you have with networking and get you on your merry way.

Here's an excerpt from the Net::SNMP perl doc from CPAN:
     ($session, $error) = Net::SNMP->session(
                                                           -hostname => $hostname, # works
                                                           Hostname => $hostname, # doesn't
                                                            . . .
     );

Zero to Perl is rocking and rolling.



Zero to Perl is rocking and rolling.

[From the YAPC::NA Blog.]

Partially leaving Perl to change the world with Kaggle

As some of you may be aware, the last few months have seen a dramatic change to my life.

Since I've been largely incommunicado over this period and have only just started to get in control of these changes, I thought I should take the time to explain my new situation and the impact on my Perl projects.

Firstly, my employment situation has changed dramatically.

For the last 3-4 years I've been at Corporate Express Australia (now Staples Australia) working full time on a large 250k line Perl code base for their main sales channel, and I'd like to take a moment to thank them for their support of Open Source Perl over that time.

Guess what this does ...

First, here's a one-liner:

    perl -de 'BEGIN {@DB::typeahead=("V ::","q")};1'

If you have a sense of what might be happening, you're probably an experienced Perl user. If you can accurately describe what's happening, you're an advanced user. If you can completely describe the output before you see it, you need psychiatric help.

Perl 5.16.0 installed

I thought I would see how long my new 8 core box would take to compile 5.16.0.

It took about 18 minutes 25 seconds if stat on the build log is accurate.

So now I have the new shiny...just need to reload all the CPAN modules I use now.

Huzzah!

How’s that for a view from the hackathon?



How’s that for a view from the hackathon?

[From the YAPC::NA Blog.]

Alien::Base Perl Foundation Grant Report Month 3

This month’s work on Alien::Base started really exciting. I had tracked down several bugs and was honing in on full Linux compatibiliy. Turns out much of my testing problems had been in the test suite, wherein I mimiced make/Makefile with a perl script (in the name of Xplatform) but made some incorrect assumptions.

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...

LLVM 3.1 with AddressSanitizer released

The good part:

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

llvm.org/releases/3.1/docs/ReleaseNotes.html

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

The Workshops and Hackathon Begin Today

YAPC::NA 2012 is almost upon us. The workshops and hackathon begin today! Go to the second floor in the Pyle Center if you’re one of the attendees for the early activities.

[From the YAPC::NA Blog.]

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.

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!

You probably know that Wisconsin is the Badger State due to our...



You probably know that Wisconsin is the Badger State due to our University Athletics mascot, Bucky Badger. However, you may not know why it is called the Badger State. Believe it or not, we have very few badgers in the state. Wisconsin is called the Badger State because in the early days mining was the largest industry here, and the miners were called “badgers” because they burrowed into the ground like their animal namesake. In the harsh Wisconsin winters the miners would actually live in the mines to escape the cold.

YAPC::Asia Tokyo Facebook Page

I created a basic YAPC::Asia Tokyo Facebook Page. Let me know if you can think of stuff I should post there.

Meanwhile, I think this shows the importance for us event organizers to take professional photographs. This is the kind of place you want to use them pictures! They are well worth the $$ you pay. I suggest you definitely look into hiring someone for your next Perl event!

YAPC::Asia Tokyo Collage

YAPC::Asia Tokyo 2012 is on Sep 27, 28, and 29! Tickets will be available soon!

Strawberry Perl 5.16.0.1 released

Strawberry Perl 5.16.0.1 is available at http://strawberryperl.com/releases.html
(all editions: MSI, ZIP, PortableZIP for both: 32/64bit MS Windows)

More details in Release Notes:
http://strawberryperl.com/release-notes/5.16.0.1-32bit.html
http://strawberryperl.com/release-notes/5.16.0.1-64bit.html

If you have not heard about Strawberry Perl see http://strawberryperl.com

installing cpan modules with chef

Chef is a systems integration framework, built to bring the benefits of configuration management to your entire infrastructure.

I have created cpan cookbook to install cpan modules with chef. It's easy in use, because all the implimenation is hidden providing you simple interface:

cpan_client 'CGI' do
    action 'install'
    install_type 'cpan_module'
    user 'root'
    group 'root'

end

Among cpan_client features are:

  • installing in dry-run mode
  • installing with given install_base and install_path
  • installing from tarball
  • installing within given cwd
  • and others

For more details visit - http://community.opscode.com/cookbooks/cpan

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.