DBIx::Class - the whirlwind overview

Frew Schmidt will give a talk at YAPC::NA 2012 described as: 

This talk will be a whirlwind overview based on the talk I did a couple years ago.  The general overview version of that talk ended up in https://metacpan.org/module/DBIx::Class::Manual::Features.  This talk will cover (most of) that material, but additionally at least give examples of more advanced topics like correlated subqueries, deployment with DBIx::Class::DeploymentHandler, and will additionally have a bit of my own opinions on modules you should be using with DBIx::Class.

Beginners will certainly find the talk a good jumping off point for DBIC, but I hope to include about 10-20 minutes of advanced topics at the end if seasoned users want to join late.

[From the YAPC::NA Blog.]

Continuous deployment with Perl

Lenz Gschwendtner will give a talk at YAPC::Europe 2012 described as

Continuous Deployment is a big topic if you want to push out code to production as fast as possible. The little pitfall is that it is not that straight forward if you want to use a PP approach. We at iWantMyName came up with a pure perl tool chain all the way from your git repository via integration testing to deployment to your production servers.

My first perl blog

write down my thought, experience and life about perl.

This is why I love Template Toolkit

So I recently learnt about Template Toolkits META directive - I mean I've seen it scattered around here and there but never really seen it do much more than provide default page titles.

I have been annoyed at the inelegant workarounds I've had to use when organising a web app with a site wrapper template and keeping all the view control in the right templates rather than in either the controller or as special cases in the wrapper.

Today I finally sorted that.. yesterday I used the meta tag to add javascript and css links to the header part of the page from a template deep inside the body of the html and today I replaced a special case flag with a sub-template specified by the meta tag, which then contains the wrapped content - rather elegant.. AND it allowed me to solve the layout issues I had after I moved the app from bootstrap 1 to bootstrap 2

*edit*

DuckDuckHack

DuckDuckGo has launched a new plugin system that enables individual developers and Perl community members to build plugins on DuckDuckGo (http://duckduckhack.com/). The plugins will be available for all our users. Gabriel’s post introduces the plugin platform and different ways to get started: http://ye.gg/ddh

[From the YAPC::NA Blog.]

Padre 0.96 has been released...

Padre, the Perl IDE has just hit version 0.96, only 1 more release before, numerically speaking, it hits 1.0.

Now this is interesting, as one of the big coders for Padre is Adam Kennedy ( Alias ), and he wanted to use the remaining release version numbers to get various bits and pieces of housekeeping in order before hitting the big 1.0.

However, it seems that Adam is moving (has moved by now) to the US, and to date, seems modus incommunicado, and lots of work has been done by Kevin Dawson (bowtie) and Ahmad Zawawi (azawawi) and as such I have been asked to roll out a new Padre 0.96 for the world to enjoy.

So given the last release was at the beginning of the year, and clearly from the Changes file for this release a lot has been done, it was well and truly time to don my Release Managers hat and get on with getting Padre out the door.

My personalized Perl bumper sticker

Hi Folks

Yep - See it in all it's glory:

A Perl-powered Toyota hybrid.

Actually, up close, with the sun reflecting on all the little rainbow coloured dot means this pix doesn't do it justice.

And yes, I should have caps on the 'open source' part...

Sigh... Next time. These last about a year exposed to the weather.

PS: Luckily for me a Toyota Prius has an almost-vertical window at the back.

Ubic - status report

It's been almost a year since my last Ubic post.
So just a quick remainder: Ubic is a polymorphic service manager which makes creating daemons easy, while being extensible in a several different ways.
(github; cpan).

This post is going to be pretty long.
If the rest of it is tl;dr for you, but you have any opinion about what constitutes a perfect service manager / daemonizer tool, or about what would convince you to use one, please consider commenting anyway :)

Technical improvements

The most important improvement was the addition of ini config files. Now you can write this:
# cat /etc/ubic/service/foo.ini
[options]
bin = sleep 100
instead of this:

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

#!/usr/bin/perl -evil

I came across some Perl used for defacing websites. Not the standard stuff that adds a picture or scriptkiddie text, but adds an iframe to a website that was used (probably unknowingly) with the Eleonore Exploit Kit.

The Perl just globs standard html files (e.g., html, asp, php, etc), opens them, and appends the iframe to it (and remembers to CLOSE the file handle, too). That's it. Pretty manual. Not as automated as I thought it would be. I expected that it would at least change directories to the standard html directories or delete logs or something, but no... and it's clearly not used for attacking the servers which would host the "defaced" sites either. I suppose that since some servers host dozens to hundreds of sites that maybe it doesn't have to be so automated.

Anyway, if I had to guess, the index.php file from the iframe probably leads to exploits seen in the Wepawet link below.

In other news, Perl's not dead.

Links:
Pastebin link for Perl: http://pastebin.com/8KjZkMUn
Wepawet link: http://wepawet.iseclab.org/view.php?hash=20ff2743085c19354b5c6a57de099178&t=1264351976&type=js

Tel Aviv Perl Mongers Meeting on 02 Tel Aviv Perl Mongers Meeting on 02 May, 2012May, 2012

(The Hebrew text will be followed by an English one).

שימו לב: הפגישה נדחתה בעקבות יום הזכרון ותתקיים ב-2 במאי

ב-2 במאי 2012 (יום רביעי) נערוך את מפגש הפרל החודשי שלנו, על אודות שני קצוות מנוגדים של עולם הפרל. אנו נפגשים ב-18:30 ומתחילים ב-19:00. כתובת: מכללת שנקר, בניין ראשי ברחוב אנה פרנק, רמת גן, חדר 300.

פרטים נוספים ניתן למצוא באתר של שוחרי הפרל של תל אביב ובאתר של שוחרי הפרל הישראלים.

במפגש זה יהיו ההרצאות הבאות:

  • גולף פרל - מאת ינון פרק. גולף קוד הינו אתגר שבו יש לכתוב תוכנית המבצעת משימה מסוימת במספר המינימלי של תוים.

  • שיפוץ קוד פרל - מאת גאבור סבו. שיפוץ קוד (Code refactoring) הינו טכניקה ממושמעת לשינוי המבנה של קוד קיים על מנת לשפר את האיכות הפנימית והאלגנטיות שלו.

לאחר ההרצאות נשתתף במיני-האקאתון בו נעבוד ביחד על מודולים של סיפאן.

המפגש הוא חינמי וכולם מוזמנים. נתראה שם!

English Version

Note: the meeting was delayed due to the Israeli Memorial day

How Perl Documentation Could Look Like

Yes this is in a way my 5th grant report in a row, but even for Perl 5 people that might get insightful and even useful.

As I prepared a piece for the Perlzeitung which will not happen, i interviewed several people - some names you know for sure - about the current state of the core documents. Yes there slowly improving, the d did IMO good stuff, the new ooptut is good but there needs to be much more done. And instead of dropping here a blob of text, just have a look (Appendix A is really impressive). Its hardly started but I'm sure you get the idea (short but comprehencive explanation of everything + 7 different appendices giving alternative entry point to find what you need). Please just think about. The dream needs the hands of many.

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

DC-Baltimore Perl Workshhop 2012

Nearly a week late, but I've finally managed to write a short report about the DC-Baltimore Perl Workshhop 2012 which you can find on my Perl blog

One Unit of Stepping Up

In the mold of Buddy Burden’s great post Stepping Up, I wanted to share a recent pleasant result of contacting a wayward author.

One or two of you may have seen my MooseX::Types::NumUnit which brings “dimensional” (read: units) types to Moose objects. I had been using two different unit engines Math::Units::PhysicalValue and Physics::Unit. This was essentially because I hadn’t been able to figure out how to get the functionality of both out of just one, though I was rather sure it should be possible. Recently though, I spent some of my diversion time on the problem and settled on using only Physics::Unit. This is new version was pushed to CPAN a few days ago.

The Price of Cleverness (YAML is not Safe)

Today I wasted a few hours tracking down this delightful bug:

Undefined subroutine &main::main:: called at 
...lib/site_perl/5.12.4/YAML/Mo.pm line 5.

So what does YAML::Mo line 5 look like?

That's right. That's line 5. I've wrapped it to make it easier to read. When you load the latest YAML, you load YAML::Mo and that contains the above monstrosity. And it has a serious bug. Do you see it?

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

A late Perl QA Hackathon 2012 post scriptum

First post, the post that hurts the most. Well ... not ... but still in time before the y2k12-maya-bug triggers.

I am late in writing this summary about my hackathon but it fits the prolongation style I exercised this time. I had quite a slow start as I found it difficult to flush my overfull @work mindset and resume my open source projects. I used my flight delay to carefully prepare a TODO list which finally helped on that flush'n'resume exercise. So what did I do? My pet project is benchmarking Perl. There I have one major problem:
  • The visible benchmarks are boring and the interesting parts are invisible.

My benchmarks are rather straight lines without interesting changes: they are straight in the 5.8 timeline; they are straight in the 5.10+ timelines.

However, both straight lines are different to each other, so obviously something must have happened during the 5.9.x times. Unfortunately, exactly that interesting timeline did not work well in my benchmarking toolchain.

So the mission was:

Big Announcements on PrePAN

Today, I'm proud that I can announce 2 big things about PrePAN:

PrePAN is now open source!

PrePAN team finally published the source code onto GitHub repository. You can freely commit the actual code. Any contributions including submitting issues, improving documentations, etc. are welcome!

PrePAN has been taken over by Kyoto.pm!

PrePAN had been developed with my personal efforts and resources. But, from now, Kyoto.pm, Kyoto-based new Perl Mongers, took over it, so you can expect continuous and more active development of the features with organizational support.

Kyoto.pm is planning to hold a hackathon to hack the site in July. Keep your eyes on us!

Still alive, Inline::Lua?

I was reading about the Inline module the other day, so naturally I looked to see if there was a binding for one of my other favorite languages, Lua. Sure enough, Inline::Lua exists; however, it has not seen a new release in nearly five years, and it doesn't even build on perls newer than 5.10. I like this idea enough that I'd like to put some time into it and cut a new release; however, I haven't been able to reach the author. So, in accordance with the guidelines I read in the CPAN FAQ, I'm making a post asking if the original author, Tassilo von Parseval, is still in the Perl community and interested in updating this module.

-Rob

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.