Pinto Jam Sessions On IRC This Thursday

I'm on IRC just about all the time (my handle is "thaljef"). But I thought it might be interesting to actually schedule a session and invite people to come in and ask questions about Pinto, suggest a feature, report a bug, or just say "Hi".

So there will be two one-hour jam sessions in the #pinto channel on irc.perl.org this Thursday, May 2. The first will at 14:00 and the second will be at 18:00 (all times GMT). If you haven't used IRC before, this is an excellent guide.

Hope to see you all then!

Perl 5 Porters Monthly: April 2013

Welcome to Perl 5 Porters Monthly, a summary of the email traffic of the perl5-porters email list. This is the last monthly catch-up. I am planning to do weekly summaries for the week starting April 29, 2013. (But the road to hell is paved with yada yada yada...)

Topics from this month include:

Using kcachegrind on potion

cachegrind gives you information on the callstack and callcount, dependencies and efficiency. You can easily see hotspots in your code.

I use it to check the JIT and objmodel efficiency of potion, which is the vm for p2.

See my first post today Install kcachegrind on MACOSX with ports if you are on a Mac.

cachegrind

The first run with:

$ make bin/potion-s
$ valgrind --tool=callgrind -v --dump-every-bb=10000000 bin/potion-s example/binarytrees.pn
Ctrl-C

generates this sample

 $ open qcachegrind

Open one of the generated callgrind.out.pid.num files.

qcachegrind.jpg

Interview with Michael Schwern

Especially for the weekend readers, here is my
interview with Michael Schwern. Enjoy and share!

POE::Component::IRC::Plugin::WWW::Reddit::TIL first release

Hi all,

Yesterday I released another IRC plugin for POE::Component::IRC: POE::Component::IRC::Plugin::WWW::Reddit::TIL

The plugin simply fetches a random title and link from the front page of Reddit's TodayILearned subreddit.

I used WWW::Shorten::Simple to return bitly links, and Mojo::JSON to decode reddit's API.

example:

curtis: !TIL
ircbot: curtis: TIL that the fighter squadron with the highest number of kills in the Battle of Britain during WWII were actually from Poland, and showed up two months after the battle had begun. http://bit.ly/ZN0qdB

links:

CPAN
Github

German Perl Workshop 2014 is on its way to Hanover

Hannover.pm is organising the 16th German Perl Workshop 2014 ( GPW 2014 ) in Hanover.

An official act.yapc.eu website is currently in the making and will be published in early June. Give us some time to understand and fully configure its back end.

The gpw2014 will take place from March 26th to 28th 2014 (Wednesday to Friday). The CeBIT will take place from March 11th to 15th, the Hannover Messe will take place from April 7th to 11th. We're smack-dab in the middle of those two big fairs, but hotel rooms will be affordable during that week.

I'll blog about the gpw2014 at least every month to keep you informed. But please also have a look at the official act website for major news.

If you like to chat you can join the IRC channel #gpw (#gpw2014 is for the organisers) on irc.perl.org.

German version: http://www.perl-community.de/bat/poard/thread/18295

Install kcachegrind on MacOSX with ports

Well, you don't want to install kcachegrind with port.

$ sudo port search cachegrind
kcachegrind @0.4.6 (devel)
    KCachegrind - Profiling Visualization

Because building KDE takes hours, and you wont need it other than for cachegrind. But there's a QT variant coming with kcachegrind, called qcachegrind. Maybe ports wants to use this variant. Or not, because kdelibs3 is listed as dependency.

$ sudo port info kcachegrind

kcachegrind @0.4.6, Revision 1 (devel) Variants: universal

Description: KCachegrind visualizes traces generated by profiling, including a tree map and a call graph visualization of the calls happening. It's designed to be fast for very large programs like KDE applications. Homepage: http://kcachegrind.sourceforge.net/

Library Dependencies: kdelibs3
Platforms: darwin
License: unknown
Maintainers: nomaintainer@macports.org

Perl 5 Porters Monthly: March 2013

cross posted from my blog

Welcome to Perl 5 Porters Monthly, a summary of the email traffic of the perl5-porters email list.

Topics from this month include:

Fractal Diamond-Square Terrain Generation in Perl

The title is mostly for search engines for anyone who encounters this in the future.

I have, for no particular reason, decided to implement the fractal diamond-square terrain generation algorithm in Perl. Sometimes it's nice to just play.

Learning from other industries, part 1 of n

My first job was as a bus conductor, and my second one was as a student trainee in an engineering company - proper engineering, with production lines, big machines, hot things, and "danger of death" notices on equipment. In both of these, safety was an important concern, and especially in the second one it was drilled in to me that safety and quality are closely related and arise from systems, not merely from individual endeavour. While I never completed my degree in manufacturing/systems engineering (I dropped out because I was fed up after too many years in the classroom) I still retain an interest in the subject.

I recently came across the excellent Disastercast podcast by Drew Rae. Of particular interest to programmers is the sixth episode, which looks at the report into a fatal rail crash caused by a poor safety and testing culture.

Why I joined Propaganda.pm

4 reasons:

1: Right man.I was there when it started. At German Perl Workshop this march in Berlin Richard ignited with his inofficial keynote a lot of controversy. All what said wasn't new or IMO just opinion or chatter/not relevant. Later I spoke with him @ the social meeting in the computer game museum. (seriously, is there a better place for such an event?)

During our conversation I found out: he listens to people, he really loves Perl and he's the right kind of Person to do that, with the right experience set. Even if I don't share some of his fews/considerations what is important.

Perl 5 Porters Monthly: February 2013

cross posted from my own blog

Welcome to Perl 5 Porters Monthly, a summary of the email traffic of the perl5-porters email list.

Topics from this month include:

You Are Invited To The Stratopan Beta

Stratopan is a new service for hosting custom repositories of Perl modules in the cloud. Private beta trials will begin early this summer. If you'd like to participate in the trials, please stop by https://stratopan.com and leave us your email address. We'll contact you with all the details when the trials begin.

Stratopan will host both public and private repositories with any combination of proprietary and open source Perl modules. And Stratopan is built on Pinto, the open source tool for creating custom CPAN-like repositories, so it has the same helpful tools for managing your application dependencies.

Code Evolution Versus Intelligent Design

I didn't actually intend for this to be a series of posts, but hey, that's the consequence of going with the flow rather than rigidly planning everything out beforehand and it nicely mirrors the theme of:

If you have not read those, I strongly recommend that you do so before continuing on this post. Mostly the comments have been positive, but Adrian Howard has offered some interesting counter-points and some good resources for further reading. I will not say that he's wrong, but there is a different way of looking at this situation.

Perl5 Census Japan 2013

During Apr 7 - 19, I conducted a web questionnaire targeting Japanese Perl users, which I titled "Perl5 Census Japan 2013" ;)

I purposely asked people spreading the news to specifically state that this was not just for hardcore Perl users, and that even if you did't use Perl much these days, I still wanted your input.

So over approximately two weeks I got 394 replies, and I've compiled the results in my blog. However, this is all in Japanese, and even with Google Translate, the outcome was pretty um, poor.

So here's a (terse) version in English so y'all can see. This will probably give you an insight into how the Japanese Perl community looks like, and what type of technology they prefer.

Perl 5 Porters Weekly^WMonthly: January 2013

Cross posted from my own blog

Welcome to Perl 5 Porters Monthly, a summary of the email traffic of the perl5-porters email list.

Well, that was a nice little break. I didn't intend for it to be so long but there you go. Life gets real sometimes. To catch up I'm basically going month by month through most of April. I plan to resume monthly summaries starting the week of April 29, 2013.

Topics for this month:

These are all of the "read the thread" link variety.

Interview with Jeffrey Thalhammer

I have been trying to conduct interviews for, I think at least a year, but I was never able to figure out the technology. It is still not what I'd like to have, but I think it is reasonably good already to get started.

So let me show you the first interview with
Jeffrey Thalhammer, author of Perl::Critic and Pinto

Pinto::Remote and Pinto::Server

Today I was glad to read that the successful merge of Pinto::Remote and Pinto::Server into its main Pinto repository made Pinto::Remote work again.

I wanted to know how difficult a setup of a Pinto server could become. The requirement behind was to access a single cpan-like repository for deploying server machines. The repository should contain company-provided distributions optionally combined with a collection of cpan-available distributions.

Diagnosing module installation problems in Heroku

I've been playing with Heroku (a platform as a service) and Mojolicious, which works very well if all of the modules install. Greg Hinkle shows you how to do it. Create your mojo app and deploy it easily to Heroku. As you do, it's dependencies are installed for you.

Pure Perl modules are usually fine, but Heroku is a limited Ubuntu environment that doesn't have all the libraries you probably expect to already be there. One of the modules I needed had DB_File as a deep dependency, so deploying my app (with Heroku toolbelt and Mojolicious::Command::deploy::heroku) fails. I get the rainbow barf from the uni-raptor.

barfing-raptor.png

Marpa's SLIF now allows procedural parsing

[ This is cross-posted from the Ocean of Awareness blog. ]

Marpa's SLIF (scanless interface) allows an application to parse directly from any BNF grammar. Marpa parses vast classes of grammars in linear time, including all those classes currently in practical use. With its latest release, Marpa::R2's SLIF also allows an application to intermix its own custom lexing and parsing logic with Marpa's, and to switch back and forth between them. This means, among other things, that Marpa's SLIF can now do procedural parsing.

What is procedural parsing? Procedural parsing is parsing using ad hoc code in a procedural language. The opposite of procedural parsing is declarative parsing -- parsing driven by some kind of formal description of the grammar. Procedural parsing may be described as what you do when you've given up on your parsing algorithm. Dissatisfaction with parsing theory has left modern programmers accustomed to procedural parsing. And in fact some problems are best tackled with procedural parsing.

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.