Don’t be rude (and welcome to Meta)

Meta is a blog we just established for news and issues concerning blogs.perl.org itself.

Recently on this site, we’ve seen some strong comments from a few people and we (Dave Cross, Aaron Crane, Aristotle and Ovid) have discussed what to do about it. We’re pretty much in firm agreement that the right answer is to do nothing. For now.

All of us agree that censorship is not something we care for, but there have been some comments that are teetering over the line and are making blogs.perl.org a less pleasant place to be. So we refer you to the Blogger’s Code of Conduct:

  • Responsibility for our own words
  • Nothing we wouldn’t say in person
  • Connect privately first
  • Take action against attacks
  • a) No anonymous comments OR b) No pseudonymous comments
  • Ignore the trolls
  • Encourage enforcement of terms of service
  • Keep our sources private
  • Discretion to delete comments
  • Do no harm
  • Think twice — post once

YAPC Game Night

As many of you know, cPanel is sponsoring a game night at YAPC::NA 2012 with food and drinks for all.

To ensure that everyone has something to play The Perl Foundation, LiquidWeb, and The Game Crafter have teamed up to make custom Perl & YAPC themed playing cards that will be yours to take home as a keepsake of the event. The Game Crafter will also be providing a small amount of mini-poker chips in case any of you wish to start an impromptu poker tournament. 

All that said, we’d like to encourage you to bring your own games for YAPC Game Night. We know some people will be running the Pathfinder Role Playing Game. Others have said they’d like to do a LAN party perhaps playing Diablo III, Team Fortress 2, Left4Dead 2, or Portal 2. And others still have brought up the idea of various board games like Settlers of Catan, Apples to Apples, Carcassonne, Trivial Pursuit, Pandemic, Bang!, and more. Whatever your flavor, bring a game to YAPC!

[From the YAPC::NA Blog.]

CPAN Testers Summary - March 2012 - Brain Salad Surgery

So March ended on quite a high, following the 2012 QA Hackathon. With so many key people in one room, it was impressive to see how much got done. You can read reports from myself (parts 1 & 2), David Golden, Ricardo Signes, Miyagawa, Paul Johnson, Ovid and Dominique Dumont, and there were several tweets too, during and after the event, and the wiki also has a Results page. There was a significant number of uploads to PAUSE during and after the event too. And CPAN Testers has benefited hugely from the event.

Yet Another Society Website

So I did a search for Yet Another Society today and the first hit is http://www.yetanother.org. (No real surprise there.) I click the link and (surprise!) am greeted by a page that was last updated in 2003 and every link that doesn't point to static content is broken.

Who maintains http://www.yetanother.org these days? I emailed kevinm@yetanother.org (the only email address found) but it bounced.

At a minimum, it should redirect to http://www.perlfoundation.org. Ideally some of the original content would remain that explains the relationship between Yet Another Society and The Perl Foundation as well as relevant links to other parts of the Perl community.

Behavior Driven Development in Perl

Testing is hard - not necessarily to do, but to start with - it is so hard, that yet I haven't started writing tests for my code and I considered this to be a handicap for me as a developer.

I've heard about this Behavior Driven Development stuff ( BDD ) and I said to give it a try.

After some research to see what is available for Perl, I found Pete Sergeant's Test::BDD::Cucumber module and although it's only at version 0.05, it is usable and functional.

Comming back to BDD, the main idea behind it is that your user stories are your tests. As an implication, you could get to the stage where your business analysts write your tests (with little, or even no developer intervention).

Put your Doorbell on the Internet

Robert Blackwell will give a talk at YAPC::NA 2012 described as:

This talk will explain how to have your doorbell do do more. By separating the chime and the button you can do more.  I will show how to send a text mesasge and pause your TV when the button pressed. I will also show you how to ring your chime when some sends you a tweet. That will be enough to get you started to do even more cool things.

Please watch the wiki page for the latest information about the Hardware Hackathon. I’ll give you hands on experience at the Hackathon on how to do exactly this.

[From the YAPC::NA Blog.]

It is easier to be critical than correct

Ulrich Wisser will give a talk at YAPC::Europe 2012 described as

Perl::Critic can and should be used to greatly improve the quality of any Perl code. The only disadvantage of Perl::Critic is that it provides no history. I will show how .SE (the Swedish country code top level domain registry) uses Perl::Critic to improve code quality and how we mitigated Perl::Critic's disadvantage. Bonus: How to convince management to fund a Perl::Critic evaluation and improvement of your codebase.

Giving to TPF through Capital One

I'm not begging for money so much as begging other people to beg for money. Well, I'm not even doing that. I just noticed one way that people can give money to a charity.

Donate to YET ANOTHER SOCIETY with the Capital One No Hassle Giving Site.

This one goes to Yet Another Society, better known as The Perl Foundation

I just started using a Capital One credit card. If you don't travel internationally, you probably don't care about a card that has no foreign transaction fees. My particular version came with cash back instead of airline miles, so I looked into what rewards I could get. The rewards are lame, but there was a button to donate my "cash" to a charity without the redemption fees and so on. They even let me make a widget so other people could donate to that charity, including Yet Another Society, even though I don't represent that charity in any way.

I imagine similar credit cards do the same sort of thing, so maybe you have a bit of "cash" sitting there doing nothing. It's not enough to get something good, so it languishes. Meanwhile, there's a bug in Perl feeling really lonely because nobody will play with him.

Parse::RecDescent and number of elements read on the fly

I recently had to develop a small parser for some coworkers and I turned to Parse::RecDescent for handling it. The grammar was not particularly difficult to address, but it had some fields that behave like arrays whose number of elements is declared dynamically, so it's not generally possible to use the repetition facilities provided by Parse::RecDescent, because they require the number of repetitions to be known beforehand.

Only 1 Month To YAPC::NA

If you haven’t already made your final travel arrangements for YAPC::NA 2012, what are you waiting for? It’s only one month to the conference, get on it already.

Remember, YAPC::NA 2012 is June 13-15 in Madison, WI. See you there. And bring your spouse!

[From the YAPC::NA Blog.]

When the speed of light is too slow

I'm currently working on a Real Time Bidding system. Basically, when someone visits a Web page, that page may cause a bid request to be sent out to multiple ad bidders and they bid on who gets to place the ad. For my system, I have to respond withing 100 milliseconds to be eligible to participate in the auction. That's when life gets interesting.

Cross Posting to blogs.perl.org

cross-posted from dams blog

Cross Posting to blogs.perl.org

So, a while ago, I moved my blog to github, using jekyll and markdown, with jekyll integration in Emacs.

That works great, and I like the fasct that posting a blog entry is just a regular git push.

My blog is aggregated in some places, but it doesn't appear on blogs.perl.org, because it's not an aggregator (and that's cool, it's not its purpose). But, blogs.perl.org audience is big, and I'm missing all these potential readers (in improbable case people would actually be interested in what I have to say :) )

Anyway, so I decided to bite the bullet and write a script that would cross post my entry to blogs.perl.org. I made the script generic enough to work with different type of blogs, but here I'm going to explain only the blogs.perl.org specific case.

Botones.pm


Introduction to Performance Tuning Perl Web Applications

Perrin Harkins will give a talk at YAPC::NA 2012 described as: 

Your new viral marketing campaign is working a little too well?  Servers are melting?  Step right up.

This talk will show you how to use CPAN tools to find and fix performance problems in your web application.  The focus will be on using modules to simulate visitors and analyze performance, with some practical advice about possible fixes for different kinds of problems.

[From the YAPC::NA Blog.]

I was called "fucking asshole"

I am in perl community couple of years but today it was the first time somebody from this community called me fucking asshole

It happened in this publicly available bug report https://rt.cpan.org/Ticket/Display.html?id=72637

Maybe times are changing in communication style inside perl community or perhaps it is time for me to change the community.

Announcing Physics::RayTransfer

While I am still working out the bugs from Alien::Base I have released a little scientific side project named Physics::RayTransfer.

Calling all laser physicists! Does modeling your cavity using Ray Transfer (ABCD) matrices bore you? Do you regularly forget to include one of the matrices on the reversed arm on the round trip? Do you hate using that symbolic mathematical language? Try Physics::RayTranser!

It slices, dices, makes julienne fries and of course is a totally object oriented way to model your laser cavities (or other optical systems). No round trip matrices needed!

Returning to Zurich

I have been most fortunate to have been able to visit Zurich every year since 2008, to teach classes at the ETH.

Zurich is one of my favorite cities in the world: there’s something undefinably “civilized” about it. It’s elegant, but vibrant, and yet strangely tranquil too. From the glorious lake-front to the sylvan Zurichberg, its natural beauties always draw me back. Not to mention the wonderful food.

And yet, the reason I keep returning to Zurich is not any of those undeniable attractions. It’s the people I meet and work with there. Smart, serious, witty, genuine, and generous people. Developers, academics, and scientists, who are always a pleasure to teach…and a joy to learn from as well.

This year we’re going to try something a little different in Zurich. My previous visits have always been later in the year, but in 2012 we’re experimenting with a Spring schedule with four completely new classes.

Deploying Perl Web Applications

Cory Watson will give a talk at YAPC::NA 2012 described as: 

Perl web applications have been running for a really long time.  What started as CGI scripts has evolved into frameworks and middleware with JavaScript frontends. Perl itself has evolved with Perl 5 barreling along.  Our modern applications also use lots of modules from CPAN.  How can we use all this new, awesome stuff without making for a deployment nightmare? In recent client work we’ve tackled this problem and we’ve come up with a pretty good solution.  

In this talk we’ll take the journey from concept to deployment. We’ll discuss the advantages, limitations and lingering problems.  We’ll cover local::lib, cpanm, Dist::Zilla, carton, pinto and how much I hate all of them. We’ll culminate with a self-contained, repeatable, upgradeable Perl application and only a few unsolved gotchas.

[From the YAPC::NA Blog.]

Hacktivity report (Jan-Mar 2012)

Perinci

For the past 2.5 months I mostly worked on converting my old Sub::Spec::* modules to the new Perinci::*. Sub::Spec is a mix of specification, convention, and tools to let you decorate functions with documentation as well as everything else, but most commonly argument specification and feature description. This decoration can in turn be used to do various things, from generating POD, to validating arguments, to shell completion.

The reason I picked a new name for the modules is because I want to decorate other code entities too, like variables and packages, thus the prefix "Sub::" is no longer apt. I also took advantage of this opportunity by introducing some backwards-incompatible changes like the change to schema of arguments specification. The specification is now separated more formally into Rinci (a la PSGI vs Plack) where the Perl implementation is called Perinci, short for "Perl Rinci". I envision Pyrinci, Rubinci, and Phinci seeing the light of day someday, though that would most likely be due to the effort of others.

Parisienne Walkways - 2012 QA Hackathon (Part 2)

And so to the final part of my notes from the 2012 QA Hackathon.

CPAN Testers Report Status

After asking several times, Andreas thought he finally understood what the dates mean on the Status page for the CPAN Testers Reports. He started watching and making page requests to see whether his requests were actioned. On Day 3 he pointed out that the date went backwards! Once he'd shown me, I understand now why the first date is confusing. And for anyone else who has been confused by it, you can blame Amazon. SimpleDB sucks. It's why the Metabase is moving to another NoSQL DB.

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.