/ domm

I hack Perl for fun and profit

Follow me on twitter!
Atom Icom ... on Atom!
26.10.2014: Videos of Austrian Perl Workshop 2014
05.09.2014: Going to Silicon Valley
29.08.2014: Things I learned at YAPC::Europe 2014 in Sofia
10.07.2014: Where will YAPC::Europe 2015 take place?
04.06.2014: Announcing the Austrian Perl Workshop 2014
27.05.2014: Modification of a read-only value attempted
25.05.2014: App::TimeTracker::Command::Trello
18.05.2014: Submit talks for YAPC::Europe 2014!
07.11.2013: MOPfuscation explained
03.11.2013: Austrian Perl Workshop 2013

I'm writing this post from the hackathon-part of this years Austrian Perl Workshop in Salzburg. Yesterday we had a nice and interesting day filled with various talks, interspersed with coffee-breaks on the sunny terrace of ncm.at (where we could watch para-gliders take off from a nearby mountain).

Jonathan gave a very interesting talk on Composable Concurrency in Perl 6, which could be the killer feature of Perl 6. Some of the code reminded me of stuff we're currently doing with ZeroMQ, but having this embedded in the core of your language would be really cool.

There was also Fluxx, The Great Dalmuti, food, beer, pumpkin seed liqueur (the new Chartreuse), Almdudler on tap, $foo, a 3-minute test on sql index creation
via humming & lots of round tuits provided by Wendy.

Now people are hacking / discussing things like creating emails, REST, testing web apps, Perl6 in general, Perl6 CPAN and probably other stuff, too.

I'm going to catch a train back to Vienna in the afternoon, so I'll have to leave soonish. In the meantime, here's the MOPfuscation as featured on the workshop t-shirt:

# works with p5-mop-redux ce50586a
use mop;use 5.18.1;no strict 'refs';
class APW{method Austrian($m){map{($_=
$_->name)=~s;              ^..;;;$_}$m->
attributes};                has $!hack =
'Salzburg ';                has $!learn=
'2. & 3.11.'                .' 2013';has
$!socialize=                q $@ncm.at$;
method Perl(                $m){sort+map
{$a=$_->name                ;eval"$a"}$m
->attributes}              ;42.;method
{say+join( $"

And here the readable version from the backside of the t-shirt:

use mop; use 5.18.1; no strict 'refs'; # use p5-mop-redux ce50586af1d

class APW {
  has $!hack        =  'Salzburg';
  has $!learn       =  '2. & 3. 11 2013';
  has $!socialize   =  '@ncm.at';

  method Austrian ($m) {map{($_=$_->name)=~s;^..;;;$_}$m->attributes}
  method Perl     ($m) {sort+map{$a=$_->name;eval"$a"}$m->attributes}
  method Workshop ($m) {grep{/^[APW]./}sort+map{$_->name}$m->methods}

 $;=q^########^^q atLQHPKLSa;$_->FINALIZE->new_instance->$"($_)};

Comments (via senph)

an image named perl/2013_11_austrian_perl_workshop_images/apw2013_2.jpg

an image named perl/2013_11_austrian_perl_workshop_images/apw2013_4.jpg

an image named perl/2013_11_austrian_perl_workshop_images/apw2013_5.jpg

an image named perl/2013_11_austrian_perl_workshop_images/apw2013_6.jpg