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

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

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.

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

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

orphaned public key

So, I thought I'd contribute to moose.

A week ago I joined #moose and nopasted a public key. Cats and kids jumped all over me and I didn't follow through. In the end, I think that nobody acted on that. Today I thought I'd get back to that while the kids were out of the house. I still had the nopaste tab open, so pasted the URL and mst added my key.

Updated parrot and rakudo releases for cygwin

I've updated the cygwin packages for parrot, rakudo and rakudo-star for cygwin.

There were a couple of test failures and changes.

See the patches and build specs here:
http://code.google.com/p/cygwin-rurban/source/list
and bugs here:
https://rt.perl.org/rt3/Ticket/Display.html?id=112740
https://rt.perl.org/rt3/Ticket/Display.html?id=112742
https://rt.perl.org/rt3/Ticket/Display.html?id=112744
https://rt.perl.org/rt3/Ticket/Display.html?id=112746

rakudo-star make test is broken. You'd need to install it first, and then you can successfully test it.

nqp had three versions floating around: an old parrot-nqp needed for bootstrapping rakudo, rakudo's nqp-201204 and rakudo star needs an updated 201204.1 version as /usr/bin/nqp. Use /usr/bin/nqp.

http://cygwin.com/ml/cygwin-announce/2012-05/msg00004.html

Have fun and report problems to cygwin@cygwin.com

Thank You Sponsors!

We’d like to thank our sponsors for stepping up to support us. We really couldn’t do this without their support.

You too could sponsor YAPC.

[From the YAPC::NA Blog.]

Tad McClellan, R.I.P.

Tad McClellan passed away last weekend.

Most Perl people probably Tad from his activity on Usenet, where he was a frequent and helpful presence on comp.lang.perl.*. I worked with him personally when he handled the operations for Stonehenge Consulting, handling the boring business stuff while Randal and I, along with the other Perl trainers, stood in front of rooms of students. Tad was a Perl trainer himself, and some of you may have met him either at OSCON or YAPC when he'd occasionally give a Perl talk.

perlbrew and tmux

Tonight I decided to install a variety of perl versions on the desktop PC where I run Arch Linux. Rather than kick them all off manually, I whipped up a bash script wrapper around perlbrew.

It loops through all of the versions of perl I'm interested in. It starts perlbrew with the specified options but backgrounded. When the build.log shows up, it sends keystrokes to tmux window 4 telling it tail the build.log and brings perlbrew to the foreground. When the install is finished, it sends keystrokes to tmux window 4 telling it stop tailing the file and moves the build.log out of the way so we can view it later.

perlinstall.sh

Milecore is NOT associate with, any SEO spam Activities

Hello all,

This post is to clarify about previous negative post about Milecore Technologies. We think we have rights to clarity the right things if some one try to spoil our Reputation.

At Milecore there were some employees are doing unethical work against the company policy and also did stolen some clients important data therefor they got terminated from the company and they hack our IDs and hire some SEO spammers to take revenge of their termination and did spam posts on some of the scam sites to harm Milecore's reputation.

Therefor we as Milecore announce that the post you read about milecore here on this blog says "Milecore are, or associate with, SEO spammers" where some SEO spam activities introduce are not did by our TEAM or any member of Milecore..

We are very trusted, ethical and reputed IT company whose goal is to give satisfaction to their clients by doing very hard work along with positive ethics, We have more than 1500 satisfied clients base and more then 60 satisfied employees team. What ever we did with those employees are just to stick with our company policy and being a company nobody will allow their employees to mass with policy.

Milecore is (& will) always dedicated towards ethic works only.

The Perl Foundation Party at YAPC::NA

You may or may not have heard that The Perl Foundation is throwing a private party after the banquet at YAPC::NA 2012.

We’ve shut down a local party spot for the night so that we can turn it into geek-space. Though it’s usually a hot college night club, on this one night only it’s going to feel more like a private Perl-only pub. Here’s what we’re doing to ensure a great party:

I've just joined the 'Been There Done That' Rising Damp Club

1. Empty laundry and loo of clothes dryer, odds-and-ends, etc, as far as possible, since both rooms need to be done.

Amazingly, these 2 (and the back hall) are on a concrete slab at ground level, 1 step below the kitchen, which is - along with the rest of the house, on stumps.

The large back yard slopes down towards the house, so heavy rains are a pain.

The loo, laundry and back hall are at the same level as the bricks in the patio, photographed in the rain today:

back.yard.jpg

Why did they build the house like that?, I hear you ask!

Yes, well, back in the late 1940s, that's how they did things around here.

2. Strip off some plaster, since the paint and plaster are impregnated with salt from uprising water:

stripped.loo.jpg

3. Paint with goo. This process is called tanking.

It stops horizontal penetration of water, as distinct from uprising water.

4. Drill holes:

drilled.bricks.jpg

Noisy! Very noisy!

5. Pump holes full of silicon.

Not so noisy.

The silicon re-establishes (if there ever was one) a horizontal DPC 'damp proof course' to stop uprising water.

6. Wait 2 weeks.

7. Renew plaster.

8. Pay $1,800.00 (20% up front) for this form of in-door entertainment :-(.

Help to write Perl 6 Documentation

You have no clue about Perl 6 but still want to help? Here is your chance. After Appendix A now stabilizes and most of the 750 entries are well formated (signatures still catching on) and in Appendix B also over 600 items link back to Appendix A so you can click back and forth to get a minimal wikipedia effect (What I was looking for in the first place?), now my primary focus is on Appendix G.

Tweaking what Moose does when a type constraint fails

Back when Curtis Poe was at Booking.com we were in the the first team to use Moose (actually Mouse at the time) for anything serious. While it saved us a lot of time overall that we'd otherwise have spend on writing boilerplate code we found the Moose support for type constraints to be fairly inflexible for our purposes.

Moose will simple die if you pass it a value that violates a type constraint, in an environment where you control the whole stack this is usually what you want, but when you're dealing with data from other people and user-supplied parameters you often want to handle the situation more gracefully.

Curtis pointed this out on the Moose mailing list, and quickly found that this was something covered in the Moose FAQ.

Becoming a Polyglot

Tatshuhiko Miyagawa will give a talk at YAPC::NA 2012 described as:

Many of you might have noticed that, a lot of my recent Perl projects (such as Plack, cpanm and carton) have been greatly influenced by what are available in other programming languages such as Python, Ruby and JavaScript.

Over the past few years, I’ve also been using mainly Python and Ruby for my work.

In this talk I will show you what I’ve learned by using these languages -  Things you can steal, things you can ignore. Also as a bonus, I will give you a hint of a few tools what I think is missing in Perl but will become extremely popular when ported the right way.

[From the YAPC::NA Blog.]

mod_perl 2.0.6 released

Last week mod_perl 2.0.6 was released. You can download it here - http://perl.apache.org/download/index.html

Thanks to the many contributors to this release. Below is a summary of changes.

2.0.6 April 24, 2012

Preserve 5.8 compatibility surrounding use of MUTABLE_CV [Adam Prime]

Move code after declarations to keep MSVC++ compiler happy. [Steve Hay]

Adopt modperl_pcw.c changes from httpd24 branch. [Torsten Foertsch]

Pool cleanup functions must not longjmp. Catch these exceptions and turn
them into warnings. [Torsten Foertsch]

Fix a race condition in our tipool management.
See http://www.gossamer-threads.com/lists/modperl/dev/104026
Patch submitted by: SalusaSecondus
Reviewed by: Torsten Foertsch

Ensure that MP_APXS is set when building on Win32 with MP_AP_PREFIX,
otherwise the bundled Reload and SizeLimit builds will fail to find a
properly configured Test environment.
[Steve Hay]

Fix a few REFCNT bugs.
Patch submitted by: Niko Tyni
Reviewed by: Torsten Foertsch

Rvalue references

From the C++11 FAQ, section on rvalue references, about a simple incrementation function incr:

If that incr(0) were allowed either some temporary that nobody ever saw would be incremented or - far worse - the value of 0 would become 1. The latter sounds silly, but there was actually a bug like that in early Fortran compilers that set aside a memory location to hold the value 0.

That actually made me think about that nifty one-liner:

perl -wE 'Internals::SvREADONLY(${\undef},0);undef=42;say undef'

githook-perltidy update

Last year I wrote script to automatically tidy up your Perl code as it is commited by Git. I just ironed out a final issue that had been bugging me: partially indexed files. That change plus a few documentation cleanups are now available as version 0.04 from my Github repository or as a .zip file.

I also uploaded a distribution (App-githook-perltidy) to CPAN however I'm not sure yet if it is installable as it doesn't contain any Perl module files, and cpanm at least doesn't seem to install based on distribution name only. Anyone have thoughts on if it makes sense to have a single-script CPAN distribution?

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.