Loading…
Attending this event?
TPRC 2024 in beautiful Las Vegas, Nevada! June 25-27th.
Track 3 [clear filter]
Thursday, June 27
 

9:30am PDT

QA concerns in a open source community: how to save the most cows
A discussion of some do's and don'ts while trying to balance community building and code quality in a distributed open source product using the MoSCoW prioritization technique as a framework for QA.When performing QA on code submissions in an open source project, you may be interacting with new members to the community, and people you have never met. While maintaining the guidelines of the community and ensuring code quality are top concerns, a nod must be given to building and uplifting the community, even when failing QA. The MoSCoW method for prioritization, often used in project planning, provides a good framework for giving the necessary feedback, making clear what is required, and giving space for opinion.Audience: All["perl", "QA", "Koha", "Community"]

Speakers
avatar for Nick Clemens

Nick Clemens

Head of development, ByWater Solutions
I live in Vermont with 2 cats, 1 small human, and 1 big human. I am in a science fiction book club. I like running and music.


Thursday June 27, 2024 9:30am - 9:50am PDT
Track 3

10:00am PDT

Direct Access to PDF Internals with PDF::Data
There are many existing PDF modules for Perl, most of which use high-level API calls and hide the PDF internals. PDF::Data takes a different approach, directly representing low-level PDF internals as Perl data structures which can be freely manipulated, and then converted back to PDF format.Explore the capabilities of PDF::Data, a Perl module that offers a unique approach to PDF manipulation by directly exposing PDF internals as modifiable Perl data structures. Unlike traditional PDF tools which shield users from the complexities of PDF internals with high-level APIs, PDF::Data allows for detailed, low-level interactions. This talk will delve into how developers can leverage PDF::Data to gain unprecedented control over PDF content, enabling precise customizations and manipulations that are not possible with standard PDF libraries. We will cover practical examples including dynamic document generation, content extraction, and direct modifications to the PDF structure, providing a toolkit for advanced PDF solutions in Perl.Audience: Advanced["Perl", "Data", "Open Source"]

Speakers
avatar for Deven Corzine

Deven Corzine

Senior Consultant, IntelliTree Solutions, LLC
I have been a Perl programmer since 1989 and I have attended YAPC::NA in 2002 and every year since 2006.  Perl has been my favorite programming language (by far) since 1991 or earlier, but I'm very interested in Rust these days.  Apart from Perl 6/Raku, Rust is the first language... Read More →


Thursday June 27, 2024 10:00am - 10:20am PDT
Track 3

10:30am PDT

Build a better README
Your project's README stinks. Let's make it better, together!Your project's README on Github is your project's landing page, your one chance to land a solid first impression with a new user. So why are so many READMEs so boring? With minimal effort, you can make a lasting impression that win over users who might otherwise move on to another project instead.

Jason Crome will show you some techniques for making an eye-popping README for your project, using Request Tracker, Dancer, and other popular projects as models for what can be done. By the end of this short talk, you'll be able to take your project's README to the next level and set yourself apart from other open source projects.Audience: All["Perl", "Raku", "Open Source", "Community"]

Speakers
avatar for Jason A. Crome

Jason A. Crome

Senior Software Engineer, Best Practical Solutions
Jason Crome is a 25+ year veteran of the software industry, working on everything from local government software in Powerbuilder and SQL Server to custom ERP development in Perl and PostgreSQL. He is the founder of Charlotte.pm, a member of Chicago.pm and MadMongers, and is part of... Read More →


Thursday June 27, 2024 10:30am - 10:50am PDT
Track 3

11:00am PDT

Native deps a pain? WebAssembly can help!
Want to extend Perl with libraries written in other languages? Interested in adding a secure plugin system to your Perl app? Want to stay away from building and linking native extensions? This talk will cover extending Perl with Extism, a lightweight framework for building with WebAssembly.Traditionally, Perl is extended with libraries written in other languages using the C ABI and linking via an XS extension or FFI. Building and linking a native library or extension into Perl can be error prone and even introduce memory safety issues into a Perl program. Building to WebAssembly (Wasm) enables running code from a multitude of programming languages without building, running, and linking them as native code. How can we easily integrate running Wasm with Perl to allow extending Perl without perils of linking native code?

In this talk, I’ll start by providing basic background information on extending Perl and discussing why you might want to use Wasm instead of linking native extensions. Then, I’ll contrast the development workflow using Wasm both directly and with the [Extism](https://extism.org/) framework. Finally, I’ll showcase how Extism can be used to implement a sandboxed plugin system in your Perl app that supports a multitude of programming languages.Audience: All["Perl", "Open Source", "Native"]

Speakers

Thursday June 27, 2024 11:00am - 11:20am PDT
Track 3

11:30am PDT

Actually Portable Perl
Actually Portable Perl (APPerl) is a distribution of Perl that runs on several OSs via the same binary. APPerl builds to a single binary with Perl modules packed inside of it. This talk will cover how APPerl works and how it can be used to build cross-platform, single binary, standalone Perl apps.Programming in Perl is awesome, but how can you get non-Perl programmers, even non-technical users to run your program? The easiest way might be to ship a binary. Tools such as [PAR::Packer](https://metacpan.org/pod/PAR::Packer) can be a great way to create a binary, but it requires packing on each target system and is difficult to do right on non-Windows platforms (often due to dependence on system libc). The [Cosmopolitan Libc](https://github.com/jart/cosmopolitan#cosmopolitan) enables creating polygot executables that run on multiple operating systems including Windows, Linux, Mac, and more with the same binary! [APPerl](https://computoid.com/APPerl/) is a distribution of Perl built with the Cosmopolitan Libc that enables creating cross-platform, single binary, standalone Perl apps.

In this talk, I'll start by briefly going over the challenges distributing Perl applications. Then, I'll briefly explain what Actually Portable Executables are, show how they work, and how Perl can be built as one. Finally, I'll cover the leap between being a specialized Perl Distribution (APPerl) and working as a binary packager and demonstrate how APPerl can be used to package up Perl applications.Audience: All["Perl", "Open Source", "Polyglot", "Native"]

Speakers

Thursday June 27, 2024 11:30am - 11:50am PDT
Track 3

1:30pm PDT

Beginning Algorithmic Music with Perl
How do you create music with perl, from scratch? Drop-in to find out how, with details, examples, and audio too, of course! This will be a short presentation, given the wide scope of the topic. I will cover the basic concepts of algorithmic music, introduce available CPAN modules, show how to use a few, including when and why to use them. Audience: All["Perl", "Algorithmic", "MIDI", "Music", "Beginner Talk"]

Speakers
avatar for Gene Boggs

Gene Boggs

Geek, Veritone
{ "bio": "Epistemologist-at-large", "email": "gene.boggs@gmail.com", "cpan": "https://metacpan.org/author/GENE", "music": "https://songwhip.com/geneboggs", "slides": { "beginning": "TBD", "advanced": "TBD" } }


Thursday June 27, 2024 1:30pm - 1:50pm PDT
Track 3

2:00pm PDT

Advanced Algorithmic Music with Perl
Phrasing and voicing techniques with example algorithms and audio! Also: How to interactivly respond to events with MIDI!
This presentation will introduce fundamental phrasing and voicing techniques, and "real time MIDI" too. Which modules to use will be discussed, of course.
Audience: Intermediate ["Perl", "Open Source", "Fun", "Music", "Intermediate", "MIDI"]

Speakers
avatar for Gene Boggs

Gene Boggs

Geek, Veritone
{ "bio": "Epistemologist-at-large", "email": "gene.boggs@gmail.com", "cpan": "https://metacpan.org/author/GENE", "music": "https://songwhip.com/geneboggs", "slides": { "beginning": "TBD", "advanced": "TBD" } }


Thursday June 27, 2024 2:00pm - 2:20pm PDT
Track 3

2:30pm PDT

The State of the Onion AI
Did you know that Perl has 5 new AI projects?

- OpenAI ChatGPT
- TensorFlow Neural Networks
- Cowl Ontologies
- PerlGPT Large Language Models
- ChatGPU Navi™ AI

Artificial intelligence, machine learning, and the future of Perl... don't miss it! Future-proof your career with Perl AI.In this talk, we'll review the current status of all major AI projects in Perl.

We will also attempt to answer a number of frequently asked questions, such as:

- Do I have to pay to use ChatGPT in Perl?
- What is a neural network?
- What is an ontology?
- Can AI write Perl source code?
- Can we create strong AI in Perl?

Artificial intelligence is the way of the future, and is Perl's big chance to make a comeback.

Let's make the most of this AI opportunity to join together and put Perl back on top!Audience: All["perl", "ai", "artificialintelligence", "aiperlcommittee", "ml", "machinelearning", "fun", "community", "future", "Perl", "Open Source", "Fun", "Community"]

Speakers
avatar for William N. Braswell Jr.

William N. Braswell Jr.

President & CEO, Auto-Parallel Technologies, Inc. & ChatGPU.ai
Creator of RPerl & CloudForFree & Perl Town Hall, Co-Creator of the Perl Community Roadmap.Scouter, Juggler, Mormon, Perl Monger, Serial Entrepreneur, Volunteer, Aspiring Astrophysicist, Community Organizer, Family Man.


Thursday June 27, 2024 2:30pm - 3:20pm PDT
Track 3

3:30pm PDT

Learning and Practicing Perl and Raku on exercism.org
exercism.org is an online open-source platform for people to complete syllabuses, exercises, and receive mentoring in a variety of different programming languages. In my talk I will describe the development of the Perl and Raku tracks and how I hope to encourage more people to learn these languages.This talk will go in detail about how Perl and Raku have been integrated on exercism.org. I will describe how exercises have been implemented for our languages, how the in-browser editor runs Perl and Raku tests, the current state of the work-in-progress syllabuses for these languages, and how I try to gently introduce people coming from other programming languages into Perl and Raku.Audience: Beginner["Raku", "Perl", "Open Source", "Fun", "Polyglot", "Community"]

Speakers

Thursday June 27, 2024 3:30pm - 3:50pm PDT
Track 3
 
Filter sessions
Apply filters to sessions.