PerlCon Talks

Perl Reunification Panel Discussion — Will Braswell, 45 minutes; cancelled

A panel discussion with representatives from the Perl 5, Perl 6, and Perl 11 communities.

Pheix: Perl6-based CMS with data storing on blockchain — Konstantin Narkhov, 5 minutes; cancelled

Pheix is the attempt to create Perl6-based system used to manage and control a web content, without dependency on its type: blog, landing page, web store, show room, etc. The specific feature of Pheix CMS is hybrid model of data storing: we are trying to combine different data storages, regular databases and blockchain.

Life is too short for shell scripting! — Tina Müller, 5 minutes; cancelled

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

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

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

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

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

Guidelines for team leaders and company owners.

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

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.

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

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

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.

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

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; cancelled

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

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

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

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

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

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

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

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

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.

I am a mythmaker — Steffen Schwigon, 5 minutes; accepted

Use the DATA section if there's no input — E. Choroba, 5 minutes; accepted

How fast do you bisect? — Aleks-Daniel Jakimenko-Aleksejev, 5 minutes; accepted

Raffle of games sponsors sent for game night — R Geoffrey Avery, 5 minutes; accepted

Keynote Day 3: Perl 6 Concurrency — Jonathan Worthington, 60 minutes; accepted

Smoking logs — Diego Kuperman, 5 minutes; accepted

Recording Talks without a camera — Julien Fiegehenn, 5 minutes; accepted

Blast from the past: Acme::ReturnValues — Thomas Klausner, 5 minutes; accepted

Watching Trees Drink (with WebPerl) — Hauke Dämpfling, 5 minutes; accepted

Simple Event Correlator: a hidden Perl gem — Fulvio Scapin, 5 minutes; accepted

Sociology and psychology of disability simulations — Job _, 45 minutes; accepted

Designing and Coding for Low Vision — Mallory , 20 minutes; accepted

Parsing a distribution name is sometimes hard — Kenichi Ishigaki, 5 minutes; accepted

Turning humans into developers with Perl — Julien Fiegehenn, 45 minutes; accepted

Fuzzing regexp (WIP) — Kang-min Liu, 5 minutes; accepted

EPO Recording Kits / SPW / LPW — Lee Johnson, 5 minutes; accepted

what is an object — Herbert Breunung, 5 minutes; accepted

Ryazan Perl/IT Workshop — Ilya Chesnokov, 5 minutes; accepted

Perl::Formance Rekapitulacija 2019 — Steffen Schwigon, 5 minutes; accepted

Time to Act! — Harald Jörg, 5 minutes; accepted

Dockerize your Perl 6 tests! — Juan Julián Merelo-Guervós, 5 minutes; accepted

The Number Sneeches — Finn Kempers, 5 minutes; accepted

What means TPF for Perl? — Jens Rehsack, 5 minutes; accepted

Translating "Perl 5 is dead" — Jens Rehsack, 5 minutes; accepted

Test talk — Andrew Shitov, 5 minutes; accepted

Introduction to Perl Weekly Challenge — Mohammad Anwar, 5 minutes; accepted

Portable Rakudo — Patrick Böker, 5 minutes; accepted

Rakudo recently gained the ability to be movable. This allows for a very simple way of distributing programs.

Testing Lies — Curtis Poe, 45 minutes; accepted

There is much dogma surrounding software testing. This talk skewers it.

Apollo 11 at 50 - A Simple Twitter Bot — Dave Cross, 5 minutes; accepted

Keynote Day 2 — Elizabeth Mattijsen, 60 minutes; accepted

The title to be announced

Exploiting Accessibility — Mallory , 5 minutes; accepted

Some fun vulns relying on accessibility settings or tools.

Opening Day 3 — Andrew Shitov, 5 minutes; accepted

Welcome to PerlCon Day 3

Opening Day 2 — Andrew Shitov, 5 minutes; accepted

Welcome to PerlCon Day 2!

Just another Perl hacker — Job _, 5 minutes; accepted

Perl was one of my first languages. It's immensely influenced the way I think about programming. But most of all its community has been a part of my life for so many years. This is a walk down memory lane.

Perl, SVG, math & my new tattoo — Thomas Klausner, 5 minutes; accepted

I recently got a new tattoo. I designed it using math, SVG and Perl.

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.

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

The Camel Paradox — Rolf Langsdorf, 20 minutes; accepted

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

Fun with Macros — Rolf Langsdorf, 45 minutes; accepted

Implementing macros by using the use/import mecahnism

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

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

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

Next Generation Shell — Ilya Sher, 5 minutes; accepted

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

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

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

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

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

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

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

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

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

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!

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.

Geekuni — Julien Fiegehenn, 5 minutes; accepted

Introduction to the sponsor

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

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.

Growing our workforce — Diego Kuperman, 20 minutes; accepted

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.

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

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.

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

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

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.

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, 5 minutes; accepted

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

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

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

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

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

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

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.

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 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.

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

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

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

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.

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.

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”

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

About Bi-Temporal tables and data reference integrity

Submit a lightning talk