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