Paper

Academician

Yes, that's a thing

"No it's not"

Montoya

But it doesn't matter

Because that's what academicians do

We make up words

@jjmereloyoutube.com/jjmerelogithub.com/JJ

Publish or perish with Perl 6

Adventures of an academician in the Perl 6 developers world‎

Those who know, do

What do we do?

Teaching

Research

Management

Outreach...

Can Perl 5 and Perl 6 help with that?

Can we help Perl 5 and Perl 6 doing that?

Let me tell you the ways

Teach cloud computing

Microservice with Cro

use Cro::HTTP::Server;
use Cro::HTTP::Router;
my %changes;
my $application = route {
    put ->  {
        request-body -> %json-object {
            %changes{%json-object<sha1>} = { file => %json-object<file-name>,
                                             adds => %json-object<adds>,
                                             deletes => %json-object<deletes> };
            say "Nuevo recurso → ", %changes{%json-object<sha1>}.perl;
            created %json-object<sha1>, 'application/json', { status => "OK" }; #Responde con un OK
        }
    }
}
	  

Set up and start the service


my Cro::Service $service = Cro::HTTP::Server.new(
    :host('localhost'), :port(2314), :$application
);

# Run it
$service.start;

# Cleanly shut down on Ctrl-C
react whenever signal(SIGINT) {
    $service.stop;
    exit;
}

Perl 6 Dockerfiles

FROM alpine:latest
MAINTAINER JJ Merelo <jjmerelo@GMail.com>
WORKDIR /root
ENTRYPOINT ["perl6"]
RUN apk update
RUN apk upgrade
RUN apk add gcc git linux-headers make musl-dev perl
RUN git clone https://github.com/tadzik/rakudobrew ~/.rakudobrew
RUN echo 'export PATH=~/.rakudobrew/bin:$PATH' >> /etc/profile
RUN echo 'eval "$(/root/.rakudobrew/bin/rakudobrew init -)"' >> /etc/profile
ENV PATH="/root/.rakudobrew/bin:${PATH}"
	      

Build stuff

RUN rakudobrew init
#Build moar
RUN rakudobrew build moar
#Build other utilities
RUN rakudobrew build panda
RUN panda install Linenoise
#Mount point
RUN mkdir /app
VOLUME /app
	      

Any question?

Ask not what academia can do for you

But what you can do for academia

Universities are all over the place

They host user groups, communities

They are social learning communities

(a sizable amount of)

(future) employees, employers, coworkers are there

Keys to Perl's success

Sysadmin

CGI

language(s)

BioPerl

Most of them have the core in higher education centers.

And research centers

What's Perl 6 for?

Benchmarking languages for evolutionary algorithms

It [got better](https://github.com/rakudo/rakudo/issues/1676)

So we'll have to go concurrent

    my $pairs = start react whenever $mixer -> @pair {
	$to-mix.send( @pair.pick ); # To avoid getting it hanged up
	$channel-one.send(mix( @pair[0], @pair[1], $population-size ));
	say "Mixing in ", $*THREAD.id;
    };
    
	      

Open science!

git.io/perl6ea

We reference other papers

We sometimes read them too

But...

Very few references for Perl 6

So we also need help there

Meaning

Writing "Perl 6: architecture and core concepts"

Helping academia will help Perl 6

Help Perl 6 by helping us...

Teach...

... and publish, not perish

Questions?

By appointment only ;-)