system(), run()... roll_your_own()

I'm working on a program that is thin wrapper around the execution of many other programs (mainly shells scripts) in Linux. The initial - and working! - choice was to use system():

my $code = system {$program} $program;

but it showed some limits soon...

Passwords.

I am creating a separate post only because I now seem to have lost the permission to comment on other people's posts...

No bigfoot, you are not the only one. I know there was some kind of security breach and some things were disabled so I've come to grudgingly accept it.

It would be nice to get it fixed though...

Anyway I had to change mine again just to post this comment but I felt it was important! :)

Passwords?

I think one of the impediments to seeing more blogs on this site is the blog engine. It's awful.

Am I the only one that has to reset his password EVERY single time I try to login to this blog system? And why to do I have to login twice if I want to post?

Very frustrating...

git-refresh: Automatically rebase current branch onto master

Different people have different workflows with git. Mine is pretty simple.

  1. Branch from master
  2. Hack, hack, hack,
  3. git stash; git checkout master; git pull --ff-only; git checkout $branch; git rebase master; git stash pop
  4. Goto step 2 until done

That step 3 is pretty damned annoying. I try to keep branches short-lived, but I often rebase onto master to ensure a clean merge. Thus, I wrote git-refresh. It does step 3 for me. However, my git-fu is sorely lacking (and my bash scripting ain't great either), so suggestions for improving this code are welcome.

GSoC 2015

It's that time of year again when I will start the usual cajoling and pushing to find the Perl Communities presence for the Google Summer of Code. Yes, once again this is seemingly being done at the very last minute as busy volunteers are once again made busier and I fail to start the ball rolling early enough.[1] But heck this is Perl and Developers, deadlines are those things we like to hear go whoosh as they pass us by, am I right?[2]

However better late than a no-show at the sticky end of a wicket with the last pair riding a duck[3] and we do have the success of 2014 to build on when a great group of mentors and students once again gave us a 100% pass rate and performance. Let's see if we can match their success and increase the students for this year.

Moo 2.0

The next stable release of Moo will be version 2.0, and will include some incompatible changes. These changes should affect a pretty small number of modules, and may help point out flaws in the existing code.

The most important change in Moo 2.0 is that it will no longer be applying fatal warnings to classes using it. As Moo has grown to be more widely used on CPAN, it has become obvious that applying fatal warnings is usually unexpected or undesired by other authors, resulting in things like Moo::Lax, or people just avoiding Moo entirely. And authors who prefer fatal warnings can easily apply them to their own code.

Moo 2.0 will also detect a number of cases where people apply modifiers to constructors, or attempt to add attributes to classes that have already been instantiated. These cases never worked correctly, but they will now issue errors.

AWS adopting Go Language

As if Perl programmers don't have an inferiority complex already, Amazon looks like it is adding Go to it's list of supported SDKs, having dropped (more or less) Perl quite a while ago for most of it's services.

http://www.theregister.co.uk/2015/02/02/aws_going_googles_way/

Website, Sponsorship and the Walls

Last week the website for the upcoming YAPC Europe in Granada was launched. You can already register and submit talk proposals. If you plan to be a sponsor for the conference, please take a look at the sponsorship proposal.

On the other hand, we're very pleased to announce that Larry and Gloria accepted our invitation to come to Granada in September. We hope we'll see you there, too.

A little thing to love about Perl 6 (and COBOL)

By now you've heard the announcement that the Perl 6 team is cautiously hopeful that Perl 6.0.0 will be released this year. There are three things they need to finish:

  • The Great List Refactor (which should improve performance)
  • Native Shaped Arrays (tell Perl 6 that you only have 10 elements and you'll get an exception if you add more)
  • Normalized Form Graphemes (solves some issues with combining characters in Unicode, such as the little-known "tapeworm operator" "\x{1F4A9}\x{0327}")

With those, Perl 6 will truly be born. Of course, it will need better documentation, tooling support, better modules, and so on.

From what I can see, Perl 6 actually has a chance to take off and there's one delightful little feature that I want to talk about.

Hire Good Developers

My company is dusting off some job descriptions and considering expanding our team, which got me thinking of a blog post I’ve been meaning to write. Hiring developers can be tricky business, so I wanted to share some practices that have both worked well for me as a candidate and hiring manager. But first…

A Little Story

In the not too distant past, I found myself attracted to a fairly new company with a veritable A-list of Perl developers. After being declined, I was offered some feedback by the hiring manager which I gladly took the opportunity to hear:

Pull Request Challenge: January

Originally, I was assigned TryCatch. “At least something I can use,” I thought. Also, the module's ticket queue was 21 issues long, so there should've been something to pick up. When I took a closer look, though, I discovered the module was XS heavy (I have never written any XS, and almost no C either), and the only issue I would've been able to work on was “Mark as deprecated” — but I wasn't sure I'm able to judge whether it would be the right thing to do.

Fosdem 2015: It's Christmas!

Get Ready to Party!
Larry Wall

If you are reading this and you didn't hear that Larry bit the bullet, rolled the dice, flipped the coin, shattered the space time continuum...breathe... then you really are going to get a shock.

Larry has announced that the Perl 6 Developers will attempt to make a development release of Version 1.0 of Perl 6.0 in time for his 61st Birthday this year and a Version 1.0 release by Christmas 2015.

So why do I say attempt?
Well it isn't as easy as promising, because we have a real issue if we do such a damn fool thing. There are a number of reasons, aside from the hidden complexities of code, that could scupper the plans. The inevitable bus-in-the-face failure being just one of them. A cautious 'Murphy doth exist' attitude is the right one to take.

Persistent Sessions and Auto log on with Bedrock

Recovering passwords and convenience links are easy with Bedrock...

http://openbedrock.blogspot.com/2015/02/cookieless-sessions-automatically-login.html

A note about Text::Table::Manifold


Docs: Text::Table::Manifold.

Command Line Project Manager (clpm) v1.0.1 released

clpm is designed to make managing sets of files easier at the Unix command line. It's free and open source. Please view the demo here. Find more info at http://tinypig.com/clpm

Swiss Perl Workshop 2015

We are excited to announce Swiss Perl Workshop 2015.
Join us in Olten, Friday 28. and Saturday 29. August 2015.

For further information, please have a look at the workshop website.

Thanks to our sponsors:
www.oetiker.ch | www.perl-academy.de | www.bloonix.de | www.eventrix.ch

Sydney-PM February 2015

If you happen to be in Sydney Australia this month, please join us for a night of Perl and conversation.

SiteSuite have again offered to host us this month, thanks be to Cees Hek for setting the wheels in motion. Note: SiteSuite have moved, so check the new North Sydney address below!

What: Sydney PM
Date: Tuesday, 10th February 2015
Time: 6-9:30pm
Where: SiteSuite, Suite 202, 53 Walker St North Sydney

Speakers are needed!

Here are some ideas:

  • perlprew, perlcritic, perltidy, podweaver, any of these sorts of tools
  • Anything related to Mojolicious/Catalyst/Dancer
  • Anything to do with rapid creation or consumption of rest/soap/xmlrpc/other apis
  • Getting started on perl testing
  • Queue things like beanstalkd, gearman
  • Using perl in funky cloud services like digitial ocean, codio, heroku etc
  • Maybe something on logging, log4perl, Log::Any, Log::Dispatch
  • Something cool that you did, just a fun little tool or something

There is a projector with all the usual trimmings and wifi access may be available.

Lightning talks would also be really great!

Meeting after that?

At this weeks meeting, everyone seemed happy to plan for the month after as well. So if you can't make this month - look out for March!

Questions are best sent to the Sydney-PM email list.

A survey of table rendering packages

So far I've found:

a perl5 to perl6 translator - update

I've moved the "perlito" perl5 to perl6 compiler to a new home:
http://www.perlito.org/perlito/perlito5to6.html

There are minor improvements in the compiler since last post, such as:
  • scalar(@a) is @a.elems
  • $a[-1] is @a[*-1]
  • fix "map" syntax
  • eval-string is EVAL

Web scraping continued

I recently gave a talk at AmsterdamX.pm about web scraping. I provided a few examples of scraping (most of them on my Github repo), and amongst them, a few relating to the January assignments page Neil has put up.

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.