Frequently installing apps via any FTP

Your app is in a tarball and clients only have FTP access to install your app on their host. Furthermore, you need to customize the config file (or do other process) for each install. What you need is Net::xFTP and Archive::Tar. Net::xFTP's put allows you to pass in an open filehandle typeglob as the local file. So you can open a filehandle on a string reference and use that as the LOCAL FILE. This is a simplified version.

my $xftp = Net::xFTP->new('Foreign', 'hostname', user => $user, password => $password,);

my $next = Archive::Tar->iter('mytarball.tar.gz');
while (my $file = $next->() )  {
   
  if ($file->type == 5) {    # 5 is the filetype number for directories in this case
$xftp->mkdir($file->full_path); next; } open FH, '<', $file->get_content_by_ref; $xftp->put(*FH, $file->full_path) or die $xftp->message; }

$#boo

As we all know $#boo returns the last index of array @boo.

It is clear why we have the prefixes '$' and '@' ('$' is like the first
letter of the word 'scalar' and the '@' is like the first letter of the word
'array').

But is it unclear why there is '#' after the dollar sign. I've checked out
the perl v 1.0 and in the man page there is such text:

> you may find the length of array @days by evaluating "$#days", as in csh.
> [Actually, it's not the length of the array, it's the subscript of the last
> element, since there is (ordinarily) a 0th element.]

So the answer why the number of the last index is $#boo is somewhere is csh.

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.

I wish UNSHIFT was called something else...

I wish unshift was called shove : )

It's more visualizing :)

starting my twitter account

I think I want to use this account from now on to write more essay like pieces. Many of my posts here were just short reports of the existence of slides, talks, articles and other things. Maybe I will do comparing and reflecting summaries on such things, but for recent informations please subscribe my twitter channel. Some messages there might be German. Please don't mind.

https://twitter.com/#!/kephra_lk

Time spent waiting for tests you know will pass is time wasted

I've started using 'cpanm -n Module' to install Perl modules. The '-n' tells cpanminus to skip testing and just install the module.

"What, are you insane?"

Nope, I have just found that for most Perl modules, it is more time efficient to skip testing on the initial install, and sort out any problems later. Especially with a setup you know that works.

If I was installing a new application for the first time, I would probably not skip the tests however.

Method::Signatures : Some relief for MooseX::Declare users

I have been excited about OO programming in Perl thanks to MooseX::Declare but I have never especially liked its performance hit and its cryptic warnings. It turns out that much of this problem is due to MooseX::Method::Signatures, which is used under the hood.

Many moons ago, I was curious about Moose and MooseX::Declare and I posted a question on StackOverflow. Venerable Perl guy Schwern then posted as a comment, that Method::Signatures was better than MooseX::Method::Signatures, and that there was a mod in the works to use it with MX::D.

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

About blogs.perl.org

blogs.perl.org is a common blogging platform for the Perl community. Written in Perl and offering the modern features you’ve come to expect in blog platforms, the site is run by Dave Cross and Aaron Crane, with a design donated by Six Apart, Ltd.