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?
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.
Trying to analyze what Perl is and how to sell it to relevant stakeholders
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.
Many grammar parsers have defects that make them unsuitable for the general case.
How to write fast and scalable asynchronous applications and services with modern Perl
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.
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?
This will be a talk about basic Perl 6 expressions. No programming strategies - just examples of valid Perl 6 code.
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 is yet another CPAN client, whose primary feature is fastness. Now I'm excited to announce that cpm version 1.0 is coming soon!
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.
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.
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.
A walk through some theoretical and practical aspects of testing Perl code.
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.
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.
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.
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!
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.
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.
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.
In this talk I will explain why and how we grown our resque based event system to allow new workloads
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.
The RPC-Switch is a toolkit/framework to combine multiple microservices into a larger API.
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.
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?
Advent of Code is an Advent calendar of small programming puzzles. In this talk I show how I fared and what I've learned.
This talk shows how to use SQL Window Functions (ISO SQL:2008) and how to use Common Table Expressions (CTE, ISO SQL:1999).
More lightning talks.
More lightning talks.
Lightning talk description and the schedule for day 1. Also see the other sessions for more talks.
Monoliths are bad. Microservices will save us all!
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.
See RPerl run! This presentation is chock-full of real-life, bona-fide, honest-to-goodness running RPerl examples, demos, and applications.
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.
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.
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.
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.
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
This talk deals with strategies for finding trainee and junior developer candidates.
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.
In this workshop we will build a simple web application using Dancer2 and several other modern web tools.
Share the secrets of successful CPAN contributors
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.
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.
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.
Opening the conference and its first day.
We'll investigate what chess pieces get trapped when moved under certain rules.
Implementing macros by using the use/import mecahnism
Next Generation Shell is a programming language specifically designed for Ops.
Using XS to speed up a Perl-Module. Load shared libraries. What can go wrong? And why?
What is deployed to where? When it's removed and who is responsible? How can a deployment migrated? Questions over questions in operating applications.
Introduction to the sponsor geekuni.com.
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.
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.
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.
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 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.
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 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.
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