Buy a conference ticketBook a master classBest prices for the
hotel room at the venue

PerlCon Talks

How Moose made me a bad OO programmer — Tadeusz Sośnierz, 20 minutes; accepted

Moose (and Perl 6) gives us syntax and semantics to make OO easier – but are all the things it gives us actually good and worth recommending?

Chatops Deluxe — Matt S Trout, 45 minutes; accepted

mst got annoyed about IRC/slack bots and how terrible the various frameworks were in terms of easy extensibility and robustness. The end result is a bot whose plugins can be in any language, running on multiple systems, designed to be easy to deploy - I'll explain how I did it, and how you can use it.

The Camel Paradox — Rolf Langsdorf, 20 minutes; accepted

Trying to analyze what Perl is and how to sell it to relevant stakeholders

Constraint Programming in Perl 6 — Laurent Rosenfeld, 20 minutes; accepted

Setting up a very basic and experimental constraint propagation programming model in Perl 6 for solving a very easy task that could be solved in a number of simpler ways. Yet, it could be the basis for a generic solving method.

parsing confidently — Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯, 20 minutes; accepted

Many grammar parsers have defects that make them unsuitable for the general case.

You need no Golang if use asynchrony in Perl — Mons Anderson, 45 minutes; accepted

How to write fast and scalable asynchronous applications and services with modern Perl

On Information Loss in Software — Ilya Sher, 20 minutes; accepted

What is common between empty "catch" clause and untagged AWS resource? Information that was once easily accessible was lost and now you need to work hard to recover or reproduce it.

3dgeonames - A 3d open location code written in perl5 — Ervin Ruci, 20 minutes; accepted

Location encoding has gained a lot of attention lately, from newer iterations of the popular geohash algorithm, to serious commercial efforts like what3words, to new and revisited open source systems like Google's plus codes. Still, nobody has tackled the problem of 3d location encoding, yet, although there is an obvious use case for it with the growing popularity of 3d mapping. 3dgeonames is the 3d version of the perl5 module Geo::Code. It produces location codes for latitude,longitude,elevation triplets with a resolution of 1 meter for an elevation of up/down to +- 17576 metres. This talk expands of the use case and methodology used to solve this problem.

Exploring game programming patterns in Perl — José Joaquín Atria, 20 minutes; accepted

Is Perl a suitable language for game development? How does it look in Modern Perl? What is the state of game development in Perl? And should we care about it?

Perl 6 for beginners — Jens Rehsack, 20 minutes; accepted

This will be a talk about basic Perl 6 expressions. No programming strategies - just examples of valid Perl 6 code.

Recent PAUSE Changes — Kenichi Ishigaki, 20 minutes; accepted

In this talk, I'll explain some of the recent changes of PAUSE, The [Perl programming] Authors Upload Server, and some of the future plans, mostly from the point of view of web user interface you usually use, with a little note on the indexer.

cpm 1.0 — Shoichi Kaji, 45 minutes; accepted

cpm is yet another CPAN client, whose primary feature is fastness. Now I'm excited to announce that cpm version 1.0 is coming soon!

Embedding JavaScript in Perl — Gonzalo Diethelm, 20 minutes; accepted

How I embedded two JS engines (Duktape and V8) in Perl using XS, and how we are using that to migrate our web frontend to modern JS-based frameworks.

Perl in Japan — Takayuki Fukumoto, 20 minutes; accepted

In this talk, I'd like to tell you the current state of Perl in Japan. In order to introduce it, I will talk 2 topics - web service development and community.

How to build traditional Perl interpreters. — Takahiro Shimizu, 20 minutes; accepted

In this talk, we will discuss Perl 1 through Perl 6 features of Perl, how to build, and the implementation of each version in C. If you are interested in the language Perl and you are interested in historical studies so far, I think it would be interesting.

How To Test — Paul Johnson, 45 minutes; accepted

A walk through some theoretical and practical aspects of testing Perl code.

Perl 6 performance update — Jonathan Worthington, 45 minutes; accepted

A look at the performance of the Rakudo/MoarVM implementation of Perl 6 today, considering how various language features perform, explaining some of the key optimizations that take place, and looking at the challenges and opportunities ahead.

Progressive Web Applications — Robert Acock, 20 minutes; accepted

In brief, they are web applications with a service worker and a cache. By using the service worker to cache resources, we can instantly retrieve static files like CSS, JS, and images while falling back on API request that may contain more time-sensitive data.

Easy as Six — Arne Sommer, 45 minutes; accepted

Why write a lot of code when you can let Perl 6 do most of the job for you?

Women in Programming (Down South Subcontinent Context) — Raja Renga Bashyam, 20 minutes; accepted

As a trainer of web technologies(Perl/PHP/JS) for years, i had a personal myth of women programmers are not fit for core programming activities. Over the time, I realized women programmers have more stamina in deep dive and delivering commitment. I will share the initial myth & learning over the time and things that supports women in programming.

The parsed and the curious: macros for Perl 6 — Carl Mäsak, 45 minutes; accepted

What drive and desperation leads a developer to create an entirely new scripting language, just to figure out how to put macros in Perl 6? Find out in this talk!

How to scale yourself with freelance workforce. — Yury Pats, 5 minutes; accepted

Guidelines for team leaders and company owners.

How we moved (successfully) from monolithic application to the micro services — Yury Pats, 20 minutes; accepted

In the talk I would share our company experience of applying different approaches in the way to split the monolith application and survive in a mixed world between.

Perl 5: The past, the present, and one possible future — Sawyer X, 45 minutes; accepted

Perl 5.30, past and future. At least one of them.

The working architecture of Perl applications — Viktor Turskyi, 45 minutes; accepted

I've seen a lot of Perl applications. I see a lot of misunderstandings around architectural patterns. 99% of Perl tutorials do not cover this topic and limited to "hello world" apps. How to build a really large application? What to choose Monolith or Microservices? How to think about architectural layers? How does GraphQL influence my architecture? I will answer all of these questions.

What can you do with YAML in 2019? — Tina Müller, 20 minutes; accepted

YAML support for Perl has been improved in various ways over the last years. You can use it for more than just simple configuration files.

Growing our workforce — Diego Kuperman, 20 minutes; accepted

In this talk I will explain why and how we grown our resque based event system to allow new workloads

Supercharging Math Modules with Databases — Martin Becker, 20 minutes; accepted

Add a database to a math module to make it faster. But know what type of database to use and where to put it.

When Cro is not a Web Framework: implementing LDAP for Perl 6 — Alexander Kiryuhin, 20 minutes; accepted

So far Perl 6 did not have support for the LDAP protocol. This talk briefly explains the main parts of the Cro-centered implementation we built.

RPC-Switch: JSON-RPC service-composition — Wieger Opmeer, 20 minutes; accepted

The RPC-Switch is a toolkit/framework to combine multiple microservices into a larger API.

goto considered useful — Herbert Breunung, 45 minutes; accepted

While coding my first, small real life project in Perl 6, a handy command line tool named goto, I discovered some pros and con's I want to share here. It's mostly about the traps I ran into most often and some general (software engineering type) thoughts you should consider before even starting your Perl 6 adventure.

You Can Save The Planet. How About After Tea? — Sören Laird Sörries, 45 minutes; accepted

I don't mean to mock you, I don't think we will finish the task tonight. But I'd like to show it is feasible, and that it needs us to go about it and never stop. Facts, numbers, statistics, prognoses, colourful diagrammes... Old and proven engineering techniques, pretty unexpensive ones, too. Alternatively: What I have been doing and learning since the last PerlCon.

Console oriented sites and Perl 6: joining the worlds together — Igor Chubin, 20 minutes; accepted

Console sites or console services are sites that can be accessed from the browser or directly from the terminal, and though in both cases have the same or similar look and feel, accessing them from the terminal is usually preferable because of the advantages of the terminal itself. The question is, could Perl 6 become the main templating language for the console sites? And if yes, what main obstacles will be possibly faced on this way?

Things I learned at 'Advent of Code' — Thomas Klausner, 20 minutes; accepted

Advent of Code is an Advent calendar of small programming puzzles. In this talk I show how I fared and what I've learned.

What I learned about SQL in 2018 — Max Maischein, 45 minutes; accepted

This talk shows how to use SQL Window Functions (ISO SQL:2008) and how to use Common Table Expressions (CTE, ISO SQL:1999).

Lightning Talks Day 3 — R Geoffrey Avery, 45 minutes; accepted

More lightning talks.

Lightning Talks Day 2 — R Geoffrey Avery, 45 minutes; accepted

More lightning talks.

Lightning Talks Day 1 — R Geoffrey Avery, 45 minutes; accepted

Lightning talk description and the schedule for day 1. Also see the other sessions for more talks.

Monoliths, Balls of Mud and Silver Bullets — Dave Cross, 20 minutes; accepted

Monoliths are bad. Microservices will save us all!

The Perl Family Tree: Discovering Our Heritage — Will Braswell, 45 minutes; accepted

Your family is where you come from. Your family tree helps you visualize your past, and perhaps capture a glimpse of the future. Discover our shared heritage with an investigation into the history of Perl.

C, RPerl. C, RPerl, Run. Run, RPerl, Run! — Will Braswell, 45 minutes; accepted

See RPerl run! This presentation is chock-full of real-life, bona-fide, honest-to-goodness running RPerl examples, demos, and applications.

Custom Routing Protocols in Dancer - Play Nicely With JavaScript — Jeffrey Goff, 45 minutes; accepted

Simplify communicating between Dancer2 and your JavaScript front end by writing your own custom routing protocols. We’ll take Dancer2, DXtreme’s DataGrid, and your existing DBIx::Class schema, and combine them into a single route keyword you can use in your own apps.

Procrastinate with DBIx::LazyCache — Jeffrey Goff, 45 minutes; accepted

Do you experience feelings of dread or fear when you update database tables? Have you ever wanted to tell a DBIC column “Ah, fuggedaboudit” and populate it later? Then you need DBIx::LazyCache, at a CPAN mirror near you. Consolidate your caching and business logic in one easy-to-use DBIx::Model.

Human Determination: A critique of CAPTCHAs — Job _, 45 minutes; accepted

You're familiar with CAPTCHAs getting in your way. But why are they such an ubiquitous security measure to begin with? Why are there different implementations and which problem are they attempting to solve? During this lecture you'll learn how these "Human Interactive Proofs" came to be, how they're still evolving, why they are a bad solution to the wrong problem, and which solutions are preferable within a set of common scenarios.

WebPerl - Run Perl in the Browser! — Hauke Dämpfling, 45 minutes; accepted

In this talk I'll give an overview of WebPerl - background, how it works, and what you can do with it.

1st Locale-TextDomain-OO practical examples, 2nd Locale-TextDomain-OO autotranslation — Steffen Winkler, 45 minutes; accepted

The talk is splitted into 2 parts. The first part explains how to handle the modules of Locale-TextDomain-OO in practice. The second part explains dynamic translation.

Using GeoIP to monitor break-in attempts — H.Merijn Brand, 20 minutes; accepted

Access to sites or applications that are (very) region specific, like elections, might well want to block regions that try to break-in and/or corrupt the data. When a firewall or similar monitor reports break-in attempts, it might be useful to see the region the attempt comes from.

Moving Mountains With Perl — Lee Johnson, 20 minutes; accepted

Using a Raspberry Pi + stepper motor, with some simple Perl, to pan a large format camera. Ultimately to take photographs of mountains.

Threads, thread unsafe modules, and an alternative — E. Choroba, 20 minutes; accepted

Using the PerlMonks Chatter Box GUI Client as an example, we'll see how to integrate Tk and XML::LibXML safely into a threaded program via Thread::Queue, or via MCE to avoid threads

Finding humans to turn into developers — Julien Fiegehenn, 45 minutes; accepted

This talk deals with strategies for finding trainee and junior developer candidates.

Debugging with Perl — Eugen Konkov, 45 minutes; accepted

Interactive debugging.

Quick and Dirty GUI Applications using GUIDeFATE (revisited) — Saif Ahmed, 45 minutes; accepted

GUI applications for Perl are tricky, but Perl can make tricky things easy. A simple toolkit-less, back-end agnostic GUI development is described but this time demo-ing the development of three applications from design to code, along with a little audience participation at the end.

Modern Perl Web Development with Dancer2 — Dave Cross, 480 minutes; accepted

In this workshop we will build a simple web application using Dancer2 and several other modern web tools.

CPAN Contributors - Do's and Don'ts — Mohammad Anwar, 45 minutes; accepted

Share the secrets of successful CPAN contributors

Apocrypha: stories about Perl 6 documentation — Juan Julián Merelo-Guervós, 45 minutes; accepted

Perl 6 has a peculiar, all volunteer, model of documenting the language. This talk will explain the history of Perl 6 documentation, the state it is now, and how it might navigate into the future. It also hopes to shed some light on how documentation is the one of the things that binds the community together, how to look at it as a Perl application, and also what you can learn from documenting and how documentation is written for making your own applications (and its documentation) better.

Measuring the Quality of your Perl Code — Dave Cross, 45 minutes; accepted

A few suggestions of ways you can measure the "quality" of your Perl code. Because once you can measure something, you can start to improve it.

Deploying Perl Apps using Docker, Gitlab & Kubernetes — Thomas Klausner, 45 minutes; accepted

What we learned when we tried to deploy a set of Perl backends into the cloud.

Overloading Perl OPs using XS — Nicolas Rochelemagne, 45 minutes; accepted

Several CORE functions can be overloaded using CORE::GLOBAL:: override, but sometimes it’s not possible and XS is the alternate option to mock some Perl OPs. You are going to learn how to mock Perl OPs in XS and replace them by some convenient Pure Perl helpers using the FileCheck operators -X.

Welcome to PerlCon — Andrew Shitov, 5 minutes; accepted

Opening the conference and its first day.

Trapped Knights and other (Fairy) Chess Pieces — Abigail -, 45 minutes; pending

We'll investigate what chess pieces get trapped when moved under certain rules.

alias perltidy=true — Paul Johnson, 5 minutes; pending

.                   .

Fun with Macros — Rolf Langsdorf, 45 minutes; pending

Implementing macros by using the use/import mecahnism

Next Generation Shell — Ilya Sher, 5 minutes; pending

Next Generation Shell is a programming language specifically designed for Ops.

Cross-compiling for Perl developers — Jens Rehsack, 45 minutes; pending

Using XS to speed up a Perl-Module. Load shared libraries. What can go wrong? And why?

Deployment strategies for Perl Applications — Jens Rehsack, 45 minutes; pending

What is deployed to where? When it's removed and who is responsible? How can a deployment migrated? Questions over questions in operating applications.

A language neutral approach from Perl to PHP & JavaScript — Raja Renga Bashyam, 45 minutes; pending

A team of few, we have challenges in implementing applications bigger than our size. The constraint forced to innovative practices that reduce our development time, that leaded to evolve a home grown framework. Though the initial things were in pure Perl, later it extended to PHP & JavaScript. We had challenges in train in different language, but Perl's natural language principles given a smooth adaption to PHP and JavaScript & even more. I will share our evolution of language neutral approach that reduced development & training time.

Geekuni — Julien Fiegehenn, 5 minutes; pending

Introduction to the sponsor

Genesis: Concurrent evolutionary algorithms in Perl 6 — Juan Julián Merelo-Guervós, 20 minutes; pending

Perl 6, as a language with facilities for concurrency, is amenable to be used as a research tool for the implementation of evolutionary algorithms. However, concurrency is not a straightforward feature that can be tacked in an existing algorithm. In this talk we will talk about how we designed and implemented this kind of algorithms, and the good, bad and ugly results we got out of them.

ASN.1 for Perl 6: with elegance and metacompilation — Alexander Kiryuhin, 20 minutes; pending

During this talk we will take a quick look at the process of implementing Perl 6 support for an ASN.1 subset: what was easy, what was hard and what was awesome.

medical image processing with Perl — Herbert Breunung, 5 minutes; pending

This will be a small report about Perl 5 in action or more precisely about extracting data from a series of images to support headache research.

Practical Perl 6 — Jeffrey Goff, 240 minutes; pending

Learn Perl 6 hands-on as we build a database-driven wiki application from the ground up with a modern fully-asynchronous web server, SQLite and a full OORDBMS. We'll construct a simple web application that you can deploy and launch with one command! Don't worry if you don't know Perl 6, that's what you're here to learn.

RPerl Yellow Belt — Will Braswell, 240 minutes; pending

This course is a continuation of the RPerl White Belt, and will provide hands-on guidance to lead students through RPerl's scalar data literals & types, scalar operators, constants, basic input & output, conditional statements, and loop control structures. We will implement solutions to the exercises in chapter 2 of the course textbook, Learning RPerl.

RPerl White Belt: From Zero To RPerl — Will Braswell, 240 minutes; pending

RPerl is the new optimizing compiler for Perl 5. This course will provide hands-on guidance to lead students through installing RPerl and writing their first RPerl programs. We will implement solutions to the exercises in chapter 1 of the course textbook, Learning RPerl. We will begin work on chapter 2 if time permits.

The State Of The Scallion Address: Perl Compiler Current Affairs — Will Braswell, 45 minutes; pending

Perl is an onion, and RPerl is a skinny green onion, a scallion! 22 years after Saint Larry's original State of the Onion at The Perl Conference, it's time for everything old to be new again. Will the Chill speaks on the current affairs of the RPerl compiler and related topics of interest.

Auto-Parallel Programming On The Cloud — Will Braswell, 45 minutes; pending

Learn how to write code which will automatically execute in parallel on the Cloud. Push your programming skills to the next level with transpiler technologies.

Juggling Patterns In Perl — Will Braswell, 45 minutes; pending

Juggling patterns are described by a mathematical language named Siteswap, with names such as: 333 AKA “Cascade” 4444 AKA “Fountain” AKA “Can’t You Juggle More Than 3?” 55555 AKA “5 Cascade” AKA “Can’t You Juggle More Than 4?” 51 AKA “Shower” 52515 AKA “Passing The Baby”

Protect your Perl script from common security issues — Mohammad Anwar, 45 minutes; pending

In this talk, I would talk about some of the most misused features of Perl. Also I will share how their incorrect use can expose the system running the Perl script. At the end, I will talk about how to fix the issues.

Joining on Bi-Temporal tables — Eugen Konkov, 20 minutes; pending

About Bi-Temporal tables and data reference integrity

Software Engineers are in Demand but which Language and how does Perl compare — Rick Deller, 45 minutes; pending

IT will be a look at the software engineer market as a whole, what companies are hiring for what. What Languages are most in demand and how does Perl compare

Submit a lightning talk