Friday, June 27, 2025
Preconference class, “Going Rogue with Metamodern Perl” in the Crescent room from 9:00 AM to 5:00 PM.
The conference registration will open from 1:00 PM to 5:00 PM in the Palmetto Foyer.
The hackathon space will be open from 9:00 AM to 5:00 PM in the Carolina Boardroom.
The Arrival Dinner will depart from the lobby at 5:15 PM. Please be prompt! This year’s Arrival Dinner will be at Chuy’s Mexican, just across the parking lot from the hotel. See the wiki to join or set up an Anti-Arrival Dinner!
Saturday, June 28, 2025
Hackathon: 8:00 AM – 7:00 PM, Carolina Boardroom
Time | Palmetto Lobby | Palmetto | Crescent |
---|---|---|---|
8:00 AM | Registration Open | ||
8:30 AM | |||
9:00 AM | Opening/ Keynote | ||
9:30 AM | Keynote | ||
10:00 AM | |||
10:30 AM | Break | ||
11:00 AM | Lightning Talks | ||
11:30 AM | Lunch (provided) | Politics Management of Migrating Projects from Perl BOF | Raku BOF |
12:00 PM | |||
12:30 PM | |||
1:00 PM | Book Signing with David Both | Using OpenTelemetry in your Perl libraries and applications José Joaquín Atria | The Pros and Cons of Torturing Your Implementers: A Raku Case Study Daniel Sockwell |
1:30 PM | |||
2:00 PM | Exodist’s Toolbox Chad Granum | Closing in on an Application: Applying Closures with Perl and Raku Steven Lembark | |
2:30 PM | |||
3:00 PM | Break | ||
3:30 PM | Meet The Board | Perl T20 Moments with Fibenis: An Adaptive and Self-Sustaining System Raja Renga Bashyam | |
4:00 PM | |||
4:30 PM | |||
5:00 PM – 7:00 PM | CLOSED | ||
7:00 PM – 9:00 PM | Conference Dinner (provided) |
Using OpenTelemetry in your Perl libraries and Applications
– José Joaquín Atria
After a couple of years of development, OpenTelemetry is here for Perl.
Back in November 2024 there was a similar version of this talk at the London Perl Workshop, introducing OpenTelemetry and very briefly explaining how it worked, and how it could be used in both CPAN code and application code. That talk generated a lot of interest, but there was only so much time to go into the details and show things running.
This time we’ll spend a little more time on some key OpenTelemetry concepts, like the context and propagators, and showing the paths the data takes as it flows through an example set of applications. We’ll also have the chance to see the system running so we can explore all the ways it can be useful.
Finally, we’ll talk a little about the project itself: the challenges we faced, all the modern tools we used to overcome them, what challenges remain, and of course, what comes next and how you can help get it there faster. This should be a community effort, so the invitation is open. Come join us!
The Pros and Cons of Torturing Your Implementers: A Raku Case Study
– Daniel Sockwell
One of Raku’s core design principles has always been to “torture the implementer on behalf of the users”. This talk examines what this principle means in theory – and how it has been applied in practice. We’ll discuss the ways this principle has helped Raku and how it has held Raku back and assess whether the tradeoff has been worth its price. We’ll also consider whether the language can strike a better balance – and argue that, with a few tweaks, Raku can preserve most of the benefits of this torture with significantly less actual pain.
Exodist’s Toolbox
– Chad Granum
This talk covers a selection of modules Chad has written, or enjoys using. None of these modules or topics justify their own talk, but a talk covering a collection of them may provide valuable tools for people. Modules include: goto::file, Atomic::Pipe, Importer, DBix::QuickDB, DBIx::QuickORM and possibly more.
Closing in on an Application: Applying Closures with Perl and Raku
– Steven Lembark
Over the last few years we’ve had the opportunity to look at what closures are and basics how to create them in Perl & Raku. We even had a chance to look at how Raku’s more advanced signatures can improve closures there. Now it’s time to take a deeper look at how apply them. This talk will quickly review what we’ve see so far on how to define closures, then look at specific examples in testing and data processing where they can simplify frameworks used for CI, data munging, or general data processing.
Meet the Board
– The Perl and Raku Foundation Board
Join the TPRF Board for an opportunity to learn what we’ve been up to in the last year, and have an opportunity to make your voice heard on our future directions. Ruth Holloway, Community Engagement Chair, will moderate this round-table discussion. If you have questions for the Board you’d like addressed, you can enter them on the wiki.
Perl T20 Moments with Fibenis: An Adaptive and Self-Sustaining System – Raja Renga Bashyam
Fiben Information System (Fibenis) is a ready-to-use, adaptive platform shaped by Perl’s expressive and dynamic nature. Over the past decade, Fibenis has transformed from a small code generator into a full-scale application builder through real-time refinements across diverse domains and scales. This transformation is driven by a deep understanding of communication patterns within the BREAD process (Browse, Read, Edit, Add, Delete), enabling Fibenis to adapt across industries seamlessly and application scales.
Fibenis features an EAV (Entity-Attribute-Value) modeler for centralized development, with built-in User-Role-Permission Management, Content Management, Multi-domain content dispatch, and more, standardizing development with high modularity while significantly reducing time and cost.
While Fibenis has expanded its implementation in PHP, its core philosophy remains deeply rooted in Perl’s principles. Especially during critical times—those “T20 moments” of software development, when last-minute twists, resource constraints, and tight timelines arise—Perl’s flexibility and efficiency have been game-changers in these challenging scenarios.
Sunday, June 29, 2025
Hackathon: 8:00 AM to 5:00 PM, Carolina Boardroom
Time | Palmetto Foyer | Palmetto | Crescent |
---|---|---|---|
8:30 AM | Registration Open | ||
9:00 AM | Test2 and Yath, or how to make testing less painful! Chad Granum | Classes in Corinna and Camelia Matthew Stephen Stuckwisch | |
9:30 AM | |||
10:00 AM | Break | ||
10:30 AM | Padding Your Objects: Using Object::Pad for next-generation Perly objects Steven Lembark | RSC Update Daniel Sockwell | |
11:00 AM | |||
11:30 AM | Lunch (provided) | BOF (Available) | Mongeresses BOF |
12:00 PM | |||
12:30 PM | |||
1:00 PM | Test2::UI Howto Andy Baugh | Raku Next Steps: Hypersonic Bruce Gray | |
1:30 PM | |||
2:00 PM | Sharding a Database, Twice Abigail | ||
2:30 PM | |||
3:00 PM | Break | ||
3:30 PM | Lightning Talks | ||
4:00 PM | Closing |
Test2 and Yath, or how to make testing less painful!
– Chad Granum
This talk is the logical progression from my previous ones. At this point Test2 has traction and no longer needs a hectic sales pitch for its talk. This talk will assume people know in concept what Test2 is and spends less time explaining what it is (compared to previous years). This lets me focus on introducing more tools and concepts, and keeps the talk fresh compared to the same talk I have given multiple years in a row.
RSC Update
– Daniel Sockwell
Raku has seen tremendous progress in 2024 and 2025, both at the technical and community level. This talk will review this progress and preview what Rakoons have to look forward to in 2026 and beyond!
Padding Your Objects: Using Object::Pad for next-generation Perly objects
– Steven Lembark
Object::Pad is a test-bed for the new Perly OO model. It evolve faster than the Perl core, offering a view of the future and a chance for feedback on where it goes. This talk looks at the basics of using the new OO model, some of its guardrails, and ways to get involved using and improving it.
Classes in Corinna and Camelia
– Matthew Stephen Stuckwisch
This talk examines the two core class systems in the family of languages: Corinna from Perl and the Raku’s core class. The idea of the talk is to enable folks from both languages to have an appreciation of the other class system, and particularly for Corinna, might provide a good intro to it from a different voice.
Test2::UI Howto
– Andy Baugh
By now you may have heard Chad talk about all the new things coming with Test2 and how there’s a UI component to it, but how would one go about actually using this without directly pestering him like I did? By listening to this talk, of course!
Discussion will include:
- What do I need installed on the server?
- What do I need installed for the user running yath (and how can this be slightly different)?
- OK, got the deps, now how do I configure it to work (submodules and plack app script)?
- What if I want to use a reverse proxy to host the server?
- Demonstration of how this looks while tests are running, talk about differences between DB route and upload route
Raku Next Steps: Hypersonic
– Bruce Gray
Raku’s hyper-operators: a simple syntax granting us safe parallel processing, like Prometheus sneaking a flame from the heavens.
Shorten @B = map { $_ * 5 }, @A;
to @B = @A »*» 5
; boost performance!
Come learn how to cook with all your cores, with the fire that cannot burn down your house.
(Need to catch up? See the “Raku for Beginners class from 2023 at: https://youtu.be/eb-j1rxs7sc and https://youtu.be/2UO-LEhOkiM )
Presenting hyper-operators in a way that will move us from typical reactions of “Oh! Cool!” to actual adoption in everyday coding, by focusing on spotting the use-cases. For example, “When you see FOO, think BAR”, where FOO might be a index loop running an operation across two arrays, and BAR would be >>op<<
.
Sharding a Database, Twice
– Abigail
There comes a time in the life time of a database, the database takes too many resources (be it disk space, number of I/O transactions, or something else) to be handled by a single box.
Sharding, where data is distributed over several identically shaped databases is one technique to solve this.
For a high volume database at $WORK
I work with, we hit this limit about ten years ago. Then we hit the limit again last year.
In this talk, we will first discuss how we initially switched our systems to make use of a sharded database, without any significant downtime.
Then we will discuss the totally different way we resharded last year, making use of the code infrastructure changes of 10 years ago, and making use of the improved database tooling available.