[{"id":"136","end_time":"11:10","abstract":"","room":"1","date":"2019-08-09","duration":60,"time":"10:10","title":"Keynote Day 3: Perl 6 Concurrency","profile_url":"jnthn","url":"https://perlcon.eu/talk/136","room_name":"$room","day":3,"status":"accepted","name":"Jonathan Worthington"},{"date":"2019-08-09","room":"3","abstract":"","id":"130","end_time":"16:45","day":3,"room_name":"%room","name":"Job _","status":"accepted","url":"https://perlcon.eu/talk/130","time":"16:00","duration":45,"title":"Sociology and psychology of disability simulations","profile_url":"jkva"},{"room_name":"@room","day":3,"status":"accepted","name":"Mallory ","duration":20,"time":"16:25","title":"Designing and Coding for Low Vision","profile_url":"mallory____0","url":"https://perlcon.eu/talk/129","date":"2019-08-09","room":"2","id":"129","end_time":"16:45","abstract":""},{"id":"127","end_time":"15:05","abstract":"","date":"2019-08-08","room":"1","title":"Turning humans into developers with Perl","time":"14:20","duration":45,"profile_url":"julien-fiegehenn","url":"https://perlcon.eu/talk/127","day":2,"room_name":"$room","status":"accepted","name":"Julien Fiegehenn"},{"date":"2019-08-07","room":"1","end_time":"16:45","id":"113","abstract":"There is much dogma surrounding software testing. This talk skewers it.","status":"accepted","room_name":"$room","day":1,"name":"Curtis Poe","profile_url":"curtis__poe__54","title":"Testing Lies","time":"16:00","duration":45,"url":"https://perlcon.eu/talk/113"},{"status":"accepted","room_name":"$room","day":2,"name":"Elizabeth Mattijsen","url":"https://perlcon.eu/talk/111","profile_url":"elizabeth","title":"Keynote Day 2","time":"10:10","duration":60,"date":"2019-08-08","room":"1","abstract":"The title to be announced","end_time":"11:10","id":"111"},{"id":"108","end_time":"10:05","abstract":"Welcome to PerlCon Day 3","date":"2019-08-09","room":"1","duration":5,"time":"10:00","title":"Opening Day 3","profile_url":"ash","url":"https://perlcon.eu/talk/108","status":"accepted","room_name":"$room","day":3,"name":"Andrew Shitov"},{"day":2,"room_name":"$room","status":"accepted","name":"Andrew Shitov","url":"https://perlcon.eu/talk/107","duration":5,"time":"10:00","title":"Opening Day 2","profile_url":"ash","date":"2019-08-08","room":"1","abstract":"Welcome to PerlCon Day 2!","id":"107","end_time":"10:05"},{"profile_url":"tadeusz-sonierz","time":"11:40","title":"How Moose made me a bad OO programmer","duration":20,"url":"https://perlcon.eu/talk/101","room_name":"@room","name":"Tadeusz Sośnierz","day":1,"status":"accepted","end_time":"12:00","id":"101","abstract":"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?","room":"2","date":"2019-08-07"},{"url":"https://perlcon.eu/talk/98","duration":20,"time":"15:10","title":"The Camel Paradox","profile_url":"lanx","name":"Rolf Langsdorf","room_name":"@room","day":3,"status":"accepted","abstract":"Trying to analyze what Perl is and how to sell it to relevant stakeholders","id":"98","end_time":"15:30","date":"2019-08-09","room":"2"},{"id":"97","end_time":"15:05","abstract":"Implementing macros by using the use/import mecahnism","room":"3","date":"2019-08-08","title":"Fun with Macros","time":"14:20","duration":45,"profile_url":"lanx","url":"https://perlcon.eu/talk/97","room_name":"%room","day":2,"status":"accepted","name":"Rolf Langsdorf"},{"status":"accepted","room_name":"$room","day":2,"name":"Laurent Rosenfeld","profile_url":"lolo78","title":"Constraint Programming in Perl 6","time":"15:10","duration":20,"url":"https://perlcon.eu/talk/96","date":"2019-08-08","room":"1","end_time":"15:30","id":"96","abstract":""},{"end_time":"15:30","id":"95","abstract":"Many grammar parsers have defects that make them unsuitable for the general case.","room":"3","date":"2019-08-07","profile_url":"daxim","title":"parsing confidently","time":"15:10","duration":20,"url":"https://perlcon.eu/talk/95","room_name":"%room","day":1,"name":"Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯","status":"accepted"},{"id":"92","end_time":"14:40","abstract":"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.","date":"2019-08-09","room":"2","duration":20,"time":"14:20","title":"On Information Loss in Software","profile_url":"ilya-sher","url":"https://perlcon.eu/talk/92","room_name":"@room","status":"accepted","day":3,"name":"Ilya Sher"},{"room_name":"@room","day":3,"status":"accepted","name":"Ervin Ruci","time":"14:45","duration":20,"title":"3dgeonames - A 3d open location code written in perl5","profile_url":"eruci","url":"https://perlcon.eu/talk/91","room":"2","date":"2019-08-09","id":"91","end_time":"15:05","abstract":""},{"room":"1","date":"2019-08-08","end_time":"16:45","id":"90","abstract":"","room_name":"$room","status":"accepted","day":2,"name":"José Joaquín Atria","profile_url":"jj","time":"16:25","title":"Exploring game programming patterns in Perl","duration":20,"url":"https://perlcon.eu/talk/90"},{"title":"Perl 6 for beginners","time":"16:00","duration":45,"profile_url":"sno","url":"https://perlcon.eu/talk/89","status":"accepted","room_name":"@room","day":1,"name":"Jens Rehsack","id":"89","end_time":"16:45","abstract":"This will be a talk about basic Perl 6 expressions. No programming strategies - just examples of valid Perl 6 code.","room":"2","date":"2019-08-07"},{"end_time":"16:45","id":"88","abstract":"Using XS to speed up a Perl-Module. Load shared libraries. What can go wrong? And why?","date":"2019-08-08","room":"2","profile_url":"sno","time":"16:00","duration":45,"title":"Cross-compiling for Perl developers","url":"https://perlcon.eu/talk/88","name":"Jens Rehsack","room_name":"@room","day":2,"status":"accepted"},{"room":"1","date":"2019-08-07","end_time":"15:30","id":"86","abstract":"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.","room_name":"$room","day":1,"status":"accepted","name":"Kenichi Ishigaki","profile_url":"kenichi-ishigaki","time":"15:10","title":"Recent PAUSE Changes","duration":20,"url":"https://perlcon.eu/talk/86"},{"id":"85","end_time":"15:05","abstract":"cpm is yet another CPAN client, whose primary feature is fastness.\r Now I'm excited to announce that cpm version 1.0 is coming soon!","room":"3","date":"2019-08-09","time":"14:20","title":"cpm 1.0","duration":45,"profile_url":"skaji","url":"https://perlcon.eu/talk/85","room_name":"%room","day":3,"status":"accepted","name":"Shoichi Kaji"},{"url":"https://perlcon.eu/talk/84","profile_url":"gonzo","duration":20,"time":"12:05","title":"Embedding JavaScript in Perl","room_name":"@room","name":"Gonzalo Diethelm","day":1,"status":"accepted","abstract":"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.","end_time":"12:25","id":"84","room":"2","date":"2019-08-07"},{"room":"2","date":"2019-08-07","id":"83","end_time":"15:30","abstract":"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.","room_name":"@room","day":1,"status":"accepted","name":"Takayuki Fukumoto","time":"15:10","title":"Perl in Japan","duration":20,"profile_url":"takayuki-fukumoto","url":"https://perlcon.eu/talk/83"},{"date":"2019-08-08","room":"2","end_time":"15:30","id":"82","abstract":"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.\r If you are interested in the language Perl and you are interested in historical studies so far, I think it would be interesting.","room_name":"@room","status":"accepted","day":2,"name":"Takahiro Shimizu","profile_url":"takahiro-shimizu","time":"15:10","duration":20,"title":"How to build  traditional Perl interpreters.","url":"https://perlcon.eu/talk/82"},{"date":"2019-08-07","room":"3","abstract":"","id":"81","end_time":"12:25","room_name":"%room","status":"accepted","day":1,"name":"Paul Johnson","url":"https://perlcon.eu/talk/81","time":"11:40","title":"How To Test","duration":45,"profile_url":"pjcj"},{"url":"https://perlcon.eu/talk/80","profile_url":"jnthn","title":"Perl 6 performance update","time":"14:20","duration":45,"room_name":"$room","status":"accepted","day":1,"name":"Jonathan Worthington","abstract":"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.","end_time":"15:05","id":"80","date":"2019-08-07","room":"1"},{"room":"3","date":"2019-08-09","abstract":"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.","end_time":"15:30","id":"79","status":"accepted","room_name":"%room","day":3,"name":"Robert Acock","url":"https://perlcon.eu/talk/79","profile_url":"lnation","time":"15:10","duration":20,"title":"Progressive Web Applications"},{"end_time":"16:45","id":"78","abstract":"","room":"1","date":"2019-08-09","profile_url":"arne-sommer","title":"Easy as Six","time":"16:00","duration":45,"url":"https://perlcon.eu/talk/78","room_name":"$room","name":"Arne Sommer","day":3,"status":"accepted"},{"room_name":"%room","day":2,"name":"Carl Mäsak","status":"accepted","url":"https://perlcon.eu/talk/75","profile_url":"carl-msak","title":"The parsed and the curious: macros for Perl 6","time":"12:30","duration":45,"date":"2019-08-08","room":"3","abstract":"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!","end_time":"13:15","id":"75"},{"time":"10:10","title":"Perl 5: The past, the present, and one possible future","duration":45,"profile_url":"sawyerx","url":"https://perlcon.eu/talk/72","day":1,"room_name":"$room","status":"accepted","name":"Sawyer X","id":"72","end_time":"10:55","abstract":"Perl 5.30, past and future. At least one of them.","date":"2019-08-07","room":"1"},{"room_name":"$room","status":"accepted","day":3,"name":"Juan Julián Merelo-Guervós","url":"https://perlcon.eu/talk/70","profile_url":"jmerelo","time":"15:10","duration":20,"title":"Genesis: Concurrent evolutionary algorithms in Perl 6","room":"1","date":"2019-08-09","abstract":"","end_time":"15:30","id":"70"},{"room_name":"@room","name":"Viktor Turskyi","day":3,"status":"accepted","url":"https://perlcon.eu/talk/69","title":"The working architecture of Perl applications","time":"11:40","duration":45,"profile_url":"viktor-turskyi","room":"2","date":"2019-08-09","abstract":"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.","id":"69","end_time":"12:25"},{"abstract":"","id":"67","end_time":"13:15","room":"1","date":"2019-08-08","url":"https://perlcon.eu/talk/67","duration":20,"time":"12:55","title":"Growing our workforce","profile_url":"diegok","room_name":"$room","status":"accepted","day":2,"name":"Diego Kuperman"},{"date":"2019-08-08","room":"3","id":"66","end_time":"15:30","abstract":"Add a database to a math module to make it faster.\r But know what type of database to use and where to put it.","room_name":"%room","status":"accepted","day":2,"name":"Martin Becker","duration":20,"time":"15:10","title":"Supercharging Math Modules with Databases","profile_url":"mhasch","url":"https://perlcon.eu/talk/66"},{"date":"2019-08-08","room":"3","end_time":"12:25","id":"65","abstract":"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.","room_name":"%room","name":"Alexander Kiryuhin","day":2,"status":"accepted","profile_url":"alexander-kiryuhin","title":"When Cro is not a Web Framework: implementing LDAP for Perl 6","time":"12:05","duration":20,"url":"https://perlcon.eu/talk/65"},{"abstract":"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.","id":"64","end_time":"12:25","date":"2019-08-09","room":"3","url":"https://perlcon.eu/talk/64","duration":20,"time":"12:05","title":"ASN.1 for Perl 6: with elegance and metacompilation","profile_url":"alexander-kiryuhin","day":3,"room_name":"%room","name":"Alexander Kiryuhin","status":"accepted"},{"profile_url":"a6502","title":"RPC-Switch: JSON-RPC service-composition","time":"16:00","duration":20,"url":"https://perlcon.eu/talk/63","room_name":"$room","status":"accepted","day":2,"name":"Wieger Opmeer","end_time":"16:20","id":"63","abstract":"","date":"2019-08-08","room":"1"},{"room_name":"%room","day":2,"name":"Herbert Breunung","status":"accepted","profile_url":"lichtkind","time":"16:00","duration":45,"title":"goto considered useful","url":"https://perlcon.eu/talk/61","room":"3","date":"2019-08-08","end_time":"16:45","id":"61","abstract":"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."},{"url":"https://perlcon.eu/talk/58","profile_url":"igor-chubin","title":"Console oriented sites and Perl 6: joining the worlds together","time":"11:40","duration":20,"room_name":"%room","name":"Igor Chubin","day":2,"status":"accepted","abstract":"Console sites or console services are sites that can be accessed\r from the browser or directly from the terminal, and though in both\r 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.\r 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?","end_time":"12:00","id":"58","date":"2019-08-08","room":"3"},{"end_time":"12:00","id":"57","abstract":"Advent of Code is an Advent calendar of small programming puzzles. In this talk I show how I fared and what I've learned.","date":"2019-08-09","room":"3","profile_url":"thomas-klausner","duration":20,"time":"11:40","title":"Things I learned at 'Advent of Code'","url":"https://perlcon.eu/talk/57","room_name":"%room","day":3,"name":"Thomas Klausner","status":"accepted"},{"room":"2","date":"2019-08-08","abstract":"This talk shows how to use SQL Window Functions (ISO SQL:2008) and how to use Common Table Expressions (CTE, ISO SQL:1999).","end_time":"15:05","id":"56","room_name":"@room","day":2,"status":"accepted","name":"Max Maischein","url":"https://perlcon.eu/talk/56","profile_url":"max-maischein","duration":45,"time":"14:20","title":"What I learned about SQL in 2018"},{"room":"1","date":"2019-08-09","end_time":"17:55","id":"55","abstract":"","room_name":"$room","status":"accepted","day":3,"name":"R Geoffrey Avery","profile_url":"rgeoffrey","title":"Lightning Talks Day 3","time":"16:55","duration":60,"url":"https://perlcon.eu/talk/55"},{"status":"accepted","room_name":"$room","day":2,"name":"R Geoffrey Avery","url":"https://perlcon.eu/talk/54","time":"16:55","duration":60,"title":"Lightning Talks Day 2","profile_url":"rgeoffrey","room":"1","date":"2019-08-08","abstract":"","id":"54","end_time":"17:55"},{"url":"https://perlcon.eu/talk/53","profile_url":"rgeoffrey","time":"16:55","duration":60,"title":"Lightning Talks Day 1","room_name":"$room","status":"accepted","day":1,"name":"R Geoffrey Avery","abstract":"","end_time":"17:55","id":"53","room":"1","date":"2019-08-07"},{"room_name":"$room","name":"Dave Cross","day":2,"status":"accepted","url":"https://perlcon.eu/talk/52","title":"Monoliths, Balls of Mud and Silver Bullets","time":"12:30","duration":20,"profile_url":"davecross","room":"1","date":"2019-08-08","abstract":"","id":"52","end_time":"12:50"},{"url":"https://perlcon.eu/talk/44","title":"Protect your Perl script from common security issues","time":"11:40","duration":45,"profile_url":"manwar","status":"accepted","room_name":"$room","day":3,"name":"Mohammad Anwar","abstract":"","id":"44","end_time":"12:25","date":"2019-08-09","room":"1"},{"abstract":"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.","end_time":"15:05","id":"43","date":"2019-08-07","room":"3","url":"https://perlcon.eu/talk/43","profile_url":"drforr","time":"14:20","title":"Custom Routing Protocols in Dancer - Play Nicely With JavaScript","duration":45,"name":"Jeffrey Goff","room_name":"%room","day":1,"status":"accepted"},{"day":3,"room_name":"$room","status":"accepted","name":"Jeffrey Goff","url":"https://perlcon.eu/talk/42","duration":45,"time":"14:20","title":"Procrastinate with DBIx::LazyCache","profile_url":"drforr","room":"1","date":"2019-08-09","abstract":"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.","id":"42","end_time":"15:05"},{"end_time":"13:15","id":"41","abstract":"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?\r 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.","date":"2019-08-08","room":"2","profile_url":"jkva","time":"12:30","duration":45,"title":"Human Determination: A critique of CAPTCHAs","url":"https://perlcon.eu/talk/41","room_name":"@room","day":2,"name":"Job _","status":"accepted"},{"name":"Hauke Dämpfling","room_name":"$room","day":2,"status":"accepted","url":"https://perlcon.eu/talk/40","profile_url":"haukex","time":"11:40","duration":45,"title":"WebPerl - Run Perl in the Browser!","date":"2019-08-08","room":"1","abstract":"","end_time":"12:25","id":"40"},{"profile_url":"steffenw","time":"11:40","title":"1st Locale-TextDomain-OO practical examples, 2nd Locale-TextDomain-OO autotranslation","duration":45,"url":"https://perlcon.eu/talk/39","room_name":"@room","day":2,"name":"Steffen Winkler","status":"accepted","end_time":"12:25","id":"39","abstract":"","date":"2019-08-08","room":"2"},{"room_name":"%room","name":"H.Merijn Brand","day":3,"status":"accepted","profile_url":"hmbrand","duration":20,"time":"12:30","title":"Using GeoIP to monitor break-in attempts","url":"https://perlcon.eu/talk/38","date":"2019-08-09","room":"3","end_time":"12:50","id":"38","abstract":"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.\r When a firewall or similar monitor reports break-in attempts, it might be useful to see the region the attempt comes from."},{"room_name":"@room","status":"accepted","day":3,"name":"E. Choroba","url":"https://perlcon.eu/talk/36","time":"16:00","title":"Threads, thread unsafe modules, and an alternative","duration":20,"profile_url":"choroba","room":"2","date":"2019-08-09","abstract":"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","id":"36","end_time":"16:20"},{"date":"2019-08-07","room":"3","abstract":"This talk deals with strategies for finding trainee and junior developer candidates.","end_time":"16:45","id":"35","room_name":"%room","status":"accepted","day":1,"name":"Julien Fiegehenn","url":"https://perlcon.eu/talk/35","profile_url":"julien-fiegehenn","time":"16:00","duration":45,"title":"Finding humans to turn into developers"},{"id":"34","end_time":"13:15","abstract":"Interactive debugging.","room":"2","date":"2019-08-07","time":"12:30","duration":45,"title":"Debugging with Perl","profile_url":"eugen-konkov","url":"https://perlcon.eu/talk/34","day":1,"room_name":"@room","status":"accepted","name":"Eugen Konkov"},{"profile_url":"saiftynet","duration":45,"time":"14:20","title":"Quick and Dirty GUI Applications using GUIDeFATE (revisited)","url":"https://perlcon.eu/talk/32","room_name":"@room","status":"accepted","day":1,"name":"Saif Ahmed","end_time":"15:05","id":"32","abstract":"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.","date":"2019-08-07","room":"2"},{"id":"30","end_time":"13:15","abstract":"Share the secrets of successful CPAN contributors","date":"2019-08-07","room":"1","time":"12:30","title":"CPAN Contributors - Do's and Don'ts","duration":45,"profile_url":"manwar","url":"https://perlcon.eu/talk/30","day":1,"room_name":"$room","name":"Mohammad Anwar","status":"accepted"},{"room_name":"%room","name":"Juan Julián Merelo-Guervós","day":1,"status":"accepted","profile_url":"jmerelo","duration":45,"time":"12:30","title":"Apocrypha: stories about Perl 6 documentation","url":"https://perlcon.eu/talk/29","date":"2019-08-07","room":"3","end_time":"13:15","id":"29","abstract":""},{"end_time":"13:15","id":"28","abstract":"","date":"2019-08-09","room":"2","profile_url":"davecross","time":"12:30","duration":45,"title":"Measuring the Quality of your Perl Code","url":"https://perlcon.eu/talk/28","name":"Dave Cross","room_name":"@room","day":3,"status":"accepted"},{"day":1,"room_name":"$room","name":"Thomas Klausner","status":"accepted","url":"https://perlcon.eu/talk/27","profile_url":"thomas-klausner","time":"11:40","duration":45,"title":"Deploying Perl Apps using Docker, Gitlab & Kubernetes","room":"1","date":"2019-08-07","abstract":"","end_time":"12:25","id":"27"},{"end_time":"13:15","id":"25","abstract":"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.","room":"1","date":"2019-08-09","profile_url":"nicolas-rochelemagne","time":"12:30","title":"Overloading Perl OPs using XS","duration":45,"url":"https://perlcon.eu/talk/25","room_name":"$room","name":"Nicolas Rochelemagne","day":3,"status":"accepted"},{"date":"2019-08-07","room":"1","end_time":"10:05","id":"24","abstract":"Opening the conference and its first day.","room_name":"$room","day":1,"name":"Andrew Shitov","status":"accepted","profile_url":"ash","time":"10:00","title":"Welcome to PerlCon","duration":5,"url":"https://perlcon.eu/talk/24"}]