No Starch Press will be providing some of their entertaining and...



No Starch Press will be providing some of their entertaining and insightful books as prizes at YAPC::NA 2012. We’re so glad to have them as a sponsor. And the books they sell would make great Christmas gifts this year.

No Starch Press publishes the finest in geek entertainment—distinctive books on computing, such as bestsellers /Steal This Computer Book/, /Hacking: The Art of Exploitation/, /Practical Packet Analysis/, and /The Manga Guides/. We focus on open source/Linux, security, hacking, programming, alternative operating systems, and science and math. Our titles have personality and attitude, our authors are passionate about their subjects, and we read and edit every book that bears our name. Our goal is to make computing accessible to technophile and novice alike, and our readers appreciate our straightforward presentation and fearless approach to the complex world of technology. No Starch Press titles have been included in the prestigious /Communication Arts/ Design Annual and STEP inside 100 competition, and have won the Ippy Award from /Independent Publisher/ magazine.

Beating memoization

Memoize is a great module. It's one of those fantastic modules that, when you need it, does exactly what you need. Like when you're perfectly healthy and want to beg for money so reach for a crutch. That's how many people use Memoize.

Don't get me wrong: I've been lazy and abused this module myself. It's quick, it's easy, and as it says on the tin: "Make functions faster by trading space for time". So you know there's a trade-off: you save time, but your memory overhead increases. That's OK. Memory is cheap. No argument I might put down will dissuade you on that point.

But is it really faster?

Kiev.pm organizational changes

Dear Perl community!

I'm proud to say that today Sergey Gulko officially announced me as a leader of Kiev.pm group. Thank you Sergey and my appreciation to all members of Kiev.pm for approving me for this assignment and great support during debates and planning stage. Guys, you are great! Sergey I wish you a very good luck in all spheres of your personal and professional life.

Kiev.pm community exists since June 1, 2007 and until today was lead by Sergey Gulko. Our community is about 200 registered members. During past few years we had organized two Perl workshops called ‘Perl Mova’ together with Moscow.pm. This gave us an opportunity to meet Jonathan Worthington, Andrew Shitov, Alex Kapranoff and many other great people, collaborate and better know each other inside of the community.

YAPC::Europe 2011 Day 1

Today was the first day of talks at YAPC::Europe 2011 in Riga, Latvia. I arrived a few days ago and Riga is a beautiful town to walk around, full of restaurants and squares with outside tables to drink beer. I enjoyed walking around the main market, which is housed in ex-Zeppelin hangers.

The pre-conference meeting on Sunday was great, we slowly took over the main square here. It was nice to meet new people and see old faces.

This morning started with a quick walk through the park to get my ticket scanned and a badge (well, label) printed with my name on.

Andrew Shitov is the main organiser of this conference and he started off the conference with a welcome. A quick show of hands shows that this is the first YAPC for about half of the attendees.

Larry Wall then took us a quick tour of postmodernism of Perl 5 and Perl 6 with lots of photos of Riga.

I’d like to officially thank ThinkGeek for becoming a...



I’d like to officially thank ThinkGeek for becoming a Silver Level sponsor of YAPC::NA 2012. You are probably all aware of Think Geek and the amazing selection of geeky items they have for sale. Either way, it’s a great place to start your holiday shopping this year!

Best Laid Plans of Mice and Chisel

Today at YAPC I got unexpectedly moved to the main room; somehow this messed up all the mental preparations I’d made for the day:

  • sitting through at least one talk in the room
  • checking the layout, setup, etc
  • working out where I’d stand relative to the screen
  • (yada, yada)

I was lazy in the wrong ways and hadn’t figured on a move to a stage with a podium and a mic and a huge projection behind me.

Worse, and the thing I’m kicking myself most about is:

  • I didn’t plug my (current) laptop into ANY projectors at all before my talk
  • I’d assumed I could remember (in a moment of panic) that I could find certain settings

Bad Move.

Silly move!

In my vague defense:

  • the previous talk overran
  • I didn’t have the five minute grace period to find the setting(s) I wanted
  • people were drilling into my head with their evil laser-beam eyes!

I did muddle my way through but I’m thoroughly upset and unimpressed with my presentation skills today. It’s only my second YAPC talk but I really should have known better.

Next time I’ll get it right - I promise!

How to remove a carriage return (\r\n)

use strict;
use warnings;

{
my $str = "abcd\r\n";
$str =~ s/\r|\n//g;
print "[$str]";
}

{
my $str = "abcd\n";
$str =~ s/\r|\n//g;
print "[$str]";
}

{
my $str = "abcd\r";
$str =~ s/\r|\n//g;
print "[$str]";
}

YAPC::Asia Tokyo: More Sponsors, More Announcements

It's another EXTREMELY hot day in Japan. And we had another sponsor visit first thing in the morning. While we're grateful to our sponsors, we seriously hated the weather. But anyways...

So today I added 3 more sponsors to our list, and we now have 21 sponsors total for YAPC::Asia Tokyo 2011. We are expecting a few more, actually.

This year we also have a set of Individual Sponsors -- these people paid a little extra to show their spirit. We much much much appreciate their support.

We also have a few announcements. Since our blog feed isn't being syndicated to ironman, you may have missed it:

Follow @yapcasia, @lestrrat, and @941 for more real-time updates!

Three Full-Conference Booths at YAPC::NA 2012

We have secured space for exactly three booths to be set up for the entire duration of YAPC::NA 2012. These booths will be placed in the main entrance of the Pyle Center (the conference facilities) where all attendees will travel as they go between sessions, enter and exit the building, use the elevators, or go to and from the job fair. This is really the perfect opportunity to get your company’s message out, recruit attendees for open positions, and participate as a major player in YAPC. 

For each of these spaces, we will provide power, internet access, a table, and two chairs. You can request the space by becoming either a Platinum or Diamond sponsor. These are first-come first-served. The first three sponsors at either the Platinum or Diamond level will get these booth spaces.

Normalizing Perl variable names

Tom Christiansen filed RT 96814 noting that Perl identifiers (that is, variable names and such) should be normalized.

I covered this today in my Surviving Perl Unicode course at YAPC::EU in Rīga. Here's a program that output another Perl program that shows the problem:

YAPC::EU Day -1

I arrived yesterday (conference -2 days) afternoon, we met up with various mongers, had a crap experience trying to get food in one place, and then found somewhere that did very good steaks, followed by a quick drink in the main square.

Today, a bit more with it, acme, ralf, Michael and myself had a stroll around the main market - housed in old Zeppelin hangers! - which was interesting and had very tasty donuts, and a general look around the old town.

I then attended the Speakers training run by Alex Kapranov with Damian Conway also speaking. It was really interesting and now means I have to update my slides (thankfully not too much)!

I showed once section of my presentation and got some really useful feedback (come to my Plack talk if you want to see the changes in action!)

If you ever get a chance to go to this Speaker training I really recommend it, how ever many talks your already done.

Dan's updates for the week ending August 14th, 2011

Here's a listing of what I've been working on in the past week for TPF, PPW, and other...

We’re very pleased to add CargoTel to our list of growing...



We’re very pleased to add CargoTel to our list of growing sponsors for YAPC::NA 2012

CargoTel, headquartered in Baltimore MD, provides transportation and field-service web and wireless applications in North America and is expanding its offerings in South America, Europe and Asia. It’s software is centered around Perl and delivered on a SAAS basis using many of the latest technologies such as HTML 5 on Android browser-based wireless applications. CargoTel hosts Baltimore Perl Mongers and is a supporter of other Perl organizations. http://cargotel.com

Params::Validate::Dependencies

Params::Validate is a very useful module, which lets you easily enforce rules such as "the 'foo' parameter to the 'bar' subroutine should be an arrayref". It also has some very basic support for dependencies - eg, that the 'baz' parameter must always be used in conjunction with the 'bar' parameter.

But for a problem I had, it didn't go far enough. So I've extended it. Params::Validate::Dependencies (Github link; not yet on the CPAN) extends the validate() method to add support for things like "must have exactly one of 'alpha', 'beta' or 'gamma', or both of 'foo' and bar'".

I would appreciate if some kind person could take a look over the code and tests and tell me if they're any good, and also let me know if the documentation makes sense.

MySQL DATE_SUB()

SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 2 DAY) AS OrderPayDate
FROM Orders

A compelling reason for Perl6

Had a great chat with the Thousand Oaks PerlMongers last night, as an ongoing series of conversations I've been having recently about finding a compelling reason for Perl6.

I was inspired by Larry's Onion talk to continue thinking about the relation of Perl5 and Perl6 (and frankly, me and Stonehenge as well).

First, Perl6 is not "the next Perl5". Perl5 will be alive and well for another decade at least, independently maintained and released. That's happening quite efficiently and effectively already. (Translated: "I will quite possibly be able to continue making money off Perl5 for years to come".)

So, what is Perl6 then? It's a different language. Businesses aren't going to migrate from Perl5 to Perl6, but they will consider Perl6 for a new project, just as if they'd consider Ruby or Python or Grails or Scala or any other language.

What's missing is the equivalent for what Rails did for Ruby: a compelling web framework.

Dyn is looking for a Back-End Ecommerce Developer

Dyn is looking for a Back-End Ecommerce Developer :

Description

Dyn is looking for a Perl developer to join our ecommerce back-end development team. The successful candidate will work on “nuts and bolts” back-end projects that deliver the functionality and experience our marketing team and users expect. Some familiarity with web development would be helpful. However, this is not a front-end web development role.

Required Skills

  • Sets realistic expectations and delivers on schedule
  • Able to focus and avoid scope creep while minimizing workarounds
  • Enjoys not only writing code to deliver function, but also writing and using tests to validate. Feels a project is complete when the results are proven via tests and understood via documentation
  • Collaborates with technical and non-technical colleagues to identify and deliver excellent solutions
  • Familiar with OO programming
  • Understands the core concepts of relational databases
  • Enjoys working on complex systems in a fast paced environment with changing requirements

Desired Skills

  • Able to keep user experience in mind during planning and development
  • Prior experience with ecommerce
  • Familiarity with revision control systems (CVS, Subversion, etc.)

App::TimeTracker 2.008 released (finally!)

Hm, seems that ironman is not picking up my new, selfhosted (and selfpowered) blog, so this here is just a short ad for my post there:

App::TimeTracker 2.008 released (finally!)

Check Eclipse Hot keys

open Eclipse press Control-Shift-L.

Alt-left arrow: Go back in navigation history.
Alt-right arrow: Go forward.

Padre .088 has been released...

As already mentioned by others, Padre 0.88 is out.

This is the culmination of quite a long development cycle since the last release. This was made longer than it should have been due to the discovery of a bug not long after I had branched version 0.88 from trunk.

The release was then held up while people got to sorting out the problem at the time, which in turn saw more work done and more of the internals changing until it got to the point that it made sense to merge all changes in the branch ( all of them translations by our hard working translators ) back to trunk with a new branch taken for the 0.88 release.

Normally in the release announcement I take you through the changes and bugs fixes to be found in the release at the time, this is typically done by taking the Changes from the Padre distribution and grouping together various changes people have made to give a "face" to the name.

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.