Regular Talks

Welcome talk with explanation of global goal of the conference, communities, sponsors, etc.
by Andrii Nugged Finland, Ukraine

This is Panel talk to summarize our current state of the things and visualise our future: Combining efforts from Perl and Koha Communities and uniting them to give growth for Koha to make one more reason for Perl to exist. To give our love for both Perl and Koha, to bring more Perl developers to the world and keep Perl development and Koha development experience shared and improved.

Invited persons will be listed here today, Monday, morning.
by Andrii Nugged Finland, Ukraine

Our goal is to help Ukrainian libraries to restore, from buildings to collections, but also IT infrastructure, after the war, and start serving Ukrainians to rebuild the future. We want to start preparing for this now.

We will unite and connect worldwide libraries and government organizations for this goal and now call you to join. Let us know how you can be helpful and what your ideas are, and follow us to receive our requests for action and our proposals, needs, and requirements. We need money, hands, and brains, so everyone is welcome to join please.

ULRI: read more
by Andrii Nugged Finland, Ukraine

to be added
by Andrii Nugged Finland, Ukraine

to be updated
by Esa-Pekka Keskitalo Finland

We've long wondered whether we're alone in the universe. For many, this is one of the most important questions we can ask. As it turns out, many are asking if we're alone in our own solar system. The short answer is, "we don't know." The long answer is much more interesting.
by Curtis “Ovid” Poe France

Corinna OOP is coming soon to the Perl core. You'll need to unlearn old habits and learn new ones.
by Curtis “Ovid” Poe France

NOTE: this talk is offine only, it won't be streamed nor recorded.

A long string of alternating White and Black Queens, and a single Regular Expression is you need to solve the N-Queens problem!

A staple for new Computer Science students and a favourite topic for interview questions is to write a program to solve the N-Queens problem: find a way to place N Queens on an NxN chess board such that no two Queens attack each other.

This is what we are going to do in this talk, but our language of choice is going to be the language of regular expressions.

Once we're done with just placing Queens, we will expand the problem and use regular expressions to place multiple, different pieces on the board, in such a way no two pieces attack each other.

Master this technique, and leave a lasting expression during your next job interview.
by Abigail

Tips for developers training a wide variety of people from self professed technophobes to experienced Koha users, remotely and in person
by Alex Buckley New Zealand

With work beginning in 2017, recalls evolved into a fully functional Koha feature over five years of constant improvement and rebasing, which was finally pushed upstream for Koha 22.05. This talk shares it's journey from proof of concept to upstream feature, advice on configuring and using it, and what's next for recalls in Koha!
by Alex Buckley New Zealand

Koha has a growing number of privacy and security options. This talk will highlight how to use many of those features and include tips to help you with data protection compliance.
by Aude Charillon UK

Marpa is a parser for context-free languages that has some unique features (e.g. Scanless interface or Ruby slippers). We'll write a somewhat advanced calculator in it to demonstrate its usage. Other examples will be provided, mostly solving problems of random people on the Internet.
by E. Choroba Czech Republic

You may have heard murmurs about Indigenous Data Sovereignty, but what is it exactly? And how does it affect libraries?

During this talk, we will explore the following:
• What is Māori Data Sovereignty?
• Examine what Indigenous Data is.
• How, as library and information professionals, can we help or hinder this movement?

This will be a taster and hopefully will give you the appetite to learn more about Indigenous Data Sovereignty in your part of the world.
Attendees will be able to under the idea of data sovereignty and how it relates to their library's own data collection and retention policies and procedures.
by Chris Cormack New Zealand

QR Codes are a good way to share information among devices that are in close proximity and have a camera. The talk presents ways to create QR codes in Perl and how to use them to log into a web site using a QR code
by Max Maischein Germany

Sonic Pi is a great software sound synthesizer. While it can be programmed in Ruby, it can also be automated using the OSC protocol, from Perl. The talk explores the possibilities of generating live music. If venue and equipment allow, there will be noise.
by Max Maischein Germany

In this talk, I will introduce you to my open-source learning project designed for beginner developers.
- Identical features implemented in four different languages: Perl, PHP, Python, and JS.
- Developed using Mojolicious, Slim, Flask, and NodeJS within Docker.
- Includes smoke tests and sample CI/CD pipelines.
Follows a commit-by-commit learning approach, where each commit is a self-sufficient functioning entity. The complexity increases with each commit. This enables learners to grasp differences between frameworks and languages and empowers them to contribute to the project by introducing more intricate concepts, explanations, and documentation.
by Petro Vashchuk Finland

Not everything (well, hardly anything) needs Kubernetes and a fully automated CI pipeline. Sometimes it's enough to use well-established & boring techonlogy to get your code to production.

In this talk I'll show how I deploy a medium-sized app stack by building and deploying Podman containers using make (to automate and document the necessary steps) and Ansible (to prepare the node and manage systemd files etc)
by Thomas Klausner Austria

For "Geosphare Austria" we added "geosearch" to the ElasticSearch Koha Engine (see Bug 31652). This allows libraries to add latitude/longitude to bibliographic data via MARC fields 034$s and 034$t; and enables users to find results based on locations; and shows results on a map.

In this talk I'll show how we added this feature to Koha, and how you can enable and use it in your Koha instance.
by Thomas Klausner Austria

A short introduction on OpenAPI Spec (aka Swagger), it's usage in Koha and how to use it in Perl
by Thomas Klausner Austria

Koha libraries could be at the vanguard of establishing positive public spaces online that are as valuable to patrons as their real-world equivalent. This talk will consider how Koha libraries can positively shape the architecture of digital communities to create online spaces that allow users to feel safe and flourish.
by Eilish McLaughlin Northern Ireland

App::ModuleBuildTiny is a authoring tool aimed at simple distributions and beginning authors. I will explain what it can do and how to use it.
by Leon Timmermans The Netherlands

Crypt::Passphrase is a new and powerful framework to manage password hashes in a cryptographically agile way.
by Leon Timmermans The Netherlands

Rex is a friendly automation framework. It acknowledges that "there is more than one way to manage it", and puts the user in charge of how it is best to approach their situation at hand. It's easy to get on board, making it friendly for incremental development. It's also based on Perl, which enables harnessing the power of a vast ecosystem of well-established tools and workflows.

As a long-term maintainer, I'm exposed to many common or even unexpected use cases with Rex. I'd like to share the most important ones, in order to to help orient yourself about the different trade-offs compared to other popular approaches.
by Ferenc Erki (FErki) Germany

With page management, your Koha opac can be more than a catalog! You can structure your contents and manage "schedules" or "practical information" pages visible to all or only to your readers
by Gladys Cathelain France

We're an old library with vast collections and a large database. Many of our collections can only be used in our library's reading rooms after a pre-order, but some of our collections are offered as home loans, as well. We've been using Koha since 2019. This presentation gives you an overview of how we use Koha with our printed materials, and what special problems we've encountered because of our unique nature.
by Inkeri Hakulinen Finland

to be defined later.
by Jonathan Druart France

to be updated
by Jonathan Druart France

There was much excitement when Koha added an Electronic Resources Module in version 22.11. This presentation covers some of the work that has happened since that release, including some of the acquisitions integration points and the addition of a "usage statistics" component which gives libraries the ability to import, harvest and report on COUNTER statistics via the SUSHI protocol.
by Jonathan Field UK

Have you heard about library discovery layers but wondered exactly how they're different from the Koha OPAC? Are you curious to learn more about what your library users might gain if you add library discovery? Are you interested in what open-source options are available for library discovery? In this presentation Arthur Suzuki from BibLibre and Jordan Fields from ByWater Solutions will introduce you to the key functionality provided by discovery layers, explain why it is beneficial to have library discovery alongside Koha, demonstrate key features of the Bokeh and Aspen open source library discovery solutions, and discuss the necessary ongoing Koha development to support integration with tools like discovery.

Goals of the presentation:
1. Introduce attendees to what library discovery software is and what it can do
2. Help attendees understand the advantages of having this type of software exist alongside Koha
3. Demonstrate two different open-source discovery software options that work with Koha
4. Discuss what is necessary in Koha development to support discovery software
by Jordan Fields and Arthur Suzuki

Kelly and Jessie created Monday Minutes, a weekly VLOG, dedicated to educating users of Koha. The goal is to break down a feature, workflow, or system preference into bite sized tutorial videos. Kelly and Jessie will provide guidance on how to support change as an individual, as a library, or as a Koha community member. Koha has seen dramatic changes in the last few releases, including an entirely new UX design for the staff interface, an ERM module and more robust CMS features, making it incredibly easy for staff to create pages on the OPAC. We will discuss change management and demonstrate some of these features and how you can champion the process. In addition, we will talk about the Koha community and how to really get involved to assist in the future of change.

The goal for the presentation is to discuss change management techniques for staff and the importance of being a leader for change in the library or yourself. We will demonstrate new features and enhancements that have been introduced in the last year and how users can utilize these changes to educate staff, enhance the library experience and most importantly get excited for new changes. The outcome is to walk away with passion and motivation to bring that change back to your library or company support staff!
by Jessie Zairo and Kelly McElligott, Outreach, ByWater Solutions USA

One of the great strengths of Koha as a community, project and software is, that everyone can make a difference. It doesn't matter what your skill set is, there is something you can do to help and contribute. There is tons of options that don't require writing a single line of code. But if you actually want to write code, you'll be very welcome to do that too. This talk is to inspire you to jump in and contribute. Found a bug, a typo, didn't find something in the documentation? Turn grumpiness into constructiveness!
by Katrin Fischer Germany

So you want to make a change to Koha's codebase? This will tell you where to get started and what it takes to succeed. Koha's QA process aims to find all the bugs and make sure we have good code quality, but there is a bit more to it. By requiring more than one set of eyes checking functionality and code, we encourage communication, teamwork and transfer of knowledge. We welcome every new contributor and are very happy to help you learn along the way.
by Katrin Fischer Germany

Free and Open Source Software's (FOSS) is for the used of everyone with free source code and freely licensed. Koha library integrated management system is one of the products of Free and open source community, programmer and library professionals. The Koha projects worldwide is now increasing and a large number of libraries i.e. special, public, academic and other research center are now using Koha ILMS in their respective Libraries.
Like other part of the world Pakistan Koha Community is also contributing volunteering for the ICT reform and capacity building of LIS professional by using Koha ILMS. The Pakistan Koha community was established in 2014. I will share the practical experience of Koha ILMS installations and various organization and big libraries, Training and capacity building through hands on training session, Social Media platform, organizing national and international conferences and other contributions in big project of Koha in Pakistan.
The conclusions drawn from this research and practical work will relate to the concept of implementing an open source software “Koha”. This will further help to those who are working in Koha ILMS in libraries or need to implement the project in their respective academic, public and special libraries.
Keywords: Koha Pakistan, Open Source Software, Open Source Movement, Libraries, Pakistan
by Sher Afzal Khan (President and founder Koha Pakistan) Pakistan

Creating SQL queries with placeholders is a must. But composing strings with interpolation is easier and better to read. How about combining the best of both worlds?

Many are still composing their SQL queries dangerously by assembling their queries with string interpolation.

Not only are such queries slow and prone to errors, they are also loopholes for injections. But many legacy projects are full of such examples. And refactoring is often not easy.

And even today many developers choose interpolation, since it's a core feature in Perl and comfortable to use.

This talk shows a current project to convert such interpolations to placeholders, without losing the benefits of ease and expressiveness.

We will cover and explain some in-depth techniques like

- Callbacks in DBI.pm
- Manipulating variables with PadWalker.pm
- Bind variables with tie
- Overloading operators for objects
by Rolf Langsdorf (LanX) Germany

Tux Machines (established 2004) is a popular news site focusing on Free/Libre and Open Source Software, especially GNU/Linux. Last year it moved new content from Drupal to a proper, Perl-based, static site generator to produce both a web site and a Gemini capsule in parallel. The underlying goal has been to keep things as simple as possible but no simpler. There are four aspects to be covered: the choice of CPAN modules, the role of the perl scripts, the underlying SQLite database and its Dublin Core Metadata schema, and lastly the overall publishing workflow. The work is tracked in self-hosted Git.
by Lars Noodén Finland

After a short walkthrough color theory (space types) I will show the different modules and what they are capable of. How to convert, measure and most importantly find the color you are looking for without much trial and error. Well you could do this with an interactive color picker and than manually insert the values. But what if you have to automate things?
by Herbert Breunung "Lichtkind" Germany

Aspen Discovery is an open source discovery layer that works with Koha and other ILS systems to allow patrons to easily find all of the amazing content that libraries own including physical materials, electronic content, web content, genealogical data, articles and databases, and much more. Aspen Discovery also allows administrators to create content including themes, translations, web pages, placards, lists, etc. Over the past few years the libraries we work with have expressed interest in being able to share this content to be able to better collaborate with each other and save time. This year we've been busy building the infrastructure to enable this sharing and we've been working with libraries and partner organizations to discuss norms and best practices for sharing.

In this presentation we'll talk through the technical details of our content sharing solution, share some examples of content that libraries have shared, and discuss some of the lessons learned about helping library collaboration.
by Mark Noble and Aude Charillon

This talk is open to anyone, whether their interest is in Koha or in Perl! When starting with PTFS Europe, I had never worked with Koha or with Perl before and found myself on a steep learning curve. I also had two new colleagues in a very similar position and the aim of this talk is to outline our experience as new developers in both the Koha and Perl communities and the different opportunities (and challenges) we encountered along the way. Hopefully our experience can be used to identify areas that could be improved/advertised to bring more new developers into the Koha and Perl communities.

General outline:
Who am I? / Who are PTFS / Meet the team
First steps in Koha / Perl
Resources used to learn/develop in both
Challenges faced
Community involvement and friendlyness
What could be done to bring others in?
Future plans in Koha and Perl
by Matt Blenkinsop UK

This session aims to identify the problems and challenges facing Arab libraries in implementing the Koha system and not taking full advantage of all the services and sub-systems within the system.
by Muaz Elshikh Riyadh

Env::Assert - Ensure you have the environment variables and values you need
by Mikko Koivunalho Sweden

From the initial spec to the push to master, Kyle and Nick will cover the things they've learned and how the process at ByWater has changed to improve our coding practices
by Nick Clemens USA

At my employer we have of batch scripts, which were written ages ago, do their thing wonderfully, and reliably earn their keep month in month out.

Problem is, that we want to edit some of them. They don't have tests. They were never written with testing in mind. We'd need to refactor them to easily write tests for them, but we don't want to refactor them *until* we have tests.

How do we solve this conundrum?

This talk will explain the techniques we developed to run scripts in testing byte-for-byte unchanged, but with code injected so that we could subvert the control flow to write thorough tests.

Don't do this at home.
Don't do this in production.
Don't do this in new code.
But, if you have a problem... if no-one else can help...
Maybe you can hire... The A-Team.
by Nicholas Clark Austria

ssh clients, database clients and similar can prompt you to enter a sensitive password from the terminal. That way, it's never exposed on the command line or in a configuration file on disk.

At work, we wanted the option to do this with our database wrapper if there is a terminal, but if there isn't, fail fast and loud, rather than hanging forever.

We needed tests for both scenarios, but when we write tests we're doing so interactively - how do we test the tests?

Hence Test::NoTtty - a helper to "run this block of code as if it's non-interactive", so we can successfully fail anywhere.
by Nicholas Clark Austria

PayProp's batch systems are scheduled by crontabs. We want to be able to replay history to test refactored code against the original, to give us coverage for corner cases - especially the unknown unknowns.

Knowing when a given crontab line runs - plenty of choices. But putting different commands in crontab in order - nothing did this.

Hence Cron::Sequencer.

This talk starts with an overview of the module and the problems it sets out to solve. But "no plan survives contact with the enemy" - when the code was 80% complete I realised I needed to redesign the internals. So the second 80% of the talk covers how I solved this, explaining several obscure but very useful features of Getopt::Long
by Nicholas Clark Austria

This talk will discuss the process of future goal setting in open collaboration, specifically the case of the scientific Koha Finland road map for 2030. As part of university or other organizations, scientific libraries are obligated to follow the future goals of the university and other organizational rules and practices. This presentation will highlight the background and process of making future plans for the scientific Koha Finland during the years 2021 and 2022. The resulting road map includes shared values, strengths, weaknesses, and future actions to be taken. The talk will also discuss the value and meaning of future goal setting process from the communicative constitution of organizing theories viewpoint. The presentation will demonstrate the importance of having a process that produces durable actors, such as future road maps, in order to reduce ambiguity of various interests and fuzzy communication in open consortia. Finally, the position of this process and outcome will be presented in the national level context to highlight the multiverse of different strategies and future plans of higher education institutions in Finland.
by Pekka Uotila Finland

We'll look at crufty old perl, and see how it can be modernised. How can I go from mod_perl 1/apache 1 with perl 5.10.1 to Plack and perl 5.36 with a modern Web site service environment. It can be done!
by Peter Edwards UK

Ansible is a very pragmatic and powerful IT automation platform. There is no need for a central server or an agent on the target server. As long as the server has a Python interpreter and can be reached through a SSH connection, it can be configured by Ansible. The main components are the inventory (servers, groups and variables), and the playbook (defining tasks and using modules and roles).

The talk revolves around the setup of a Sympa mailing list manager instance with the related infrastructure (database, web server and mail server) through Ansible and several roles.

In particular we look at Perl related tasks as:
- Install cpanm script with Ansible
- Use Ansible cpanm module to deploy Perl Apps
- Install DBI drivers
- Executing Perl scripts with the command module
- Writing Ansible modules in Perl
by Stefan Hornburg Germany

I'll be talking about hiring, training, mentoring and growing people to become (Perl) developers in an environment that's remote first, or hybrid. This talk is aimed at anyone who makes hiring decisions, leads or manages developer teams, or who mentors people at work or in an open source setting.
by Julien Fiegehenn UK

National Repository Library uses a macro to facilitate routine work in the Koha library system. About 10 people describe the material daily in the National Repository Library, but only one person at a time can give the final shelf location to a publication. The describer first gives to the publication a temporary location (his/her own initials) and later he/she gives the final shelf location for several dozen publications at a time. Shelving takes place in the order of arrival (numerus currens), so the exact order in assigning locations is very important. In this routine work we use a macro to help us and keep the collection in order. This macro retrieves the publication according to its id-number, asks for the permanent location, and finally saves new location and asks id for the next publication until user ends using the macro.
by Sirpa Janhonen Finland

Software Bill of Materials are becoming a law-imposed requirement in Europe. A few volunteers with backing in the Perl Toolchain community, are looking at ways for software objects on CPAN taking part in this.

This talk is a short introduction to the purpose and goals of SBOMs, some tooling (specifically around OWASP's CycloneDX project), and some of the work that's being done to make this available for anything that interacts with the Perl & CPAN software ecosystems.
by Salve J. Nilsen Norway

Why the French KohaLa association wants to implement an OAI-PMH harvester in Koha and how we try to achieve that
by Sonia Bouis France

Holding records, when and why they are useful & important, what needs to be done to improve functionality
by Tarja Mäkinen Finland

This talk tells about the creation and use of the technology portfolio of the National Library of Finland. The technology portfolio lists the applications, databases, frameworks and programming languages that are in use. In different teams, Perl usage varies - some use it a lot and in some it is fading away.
by Tuula Pääkkönen Finland

At the Open Science Centre of the University of Jyväskylä, we have developed a few applications using the Koha REST API. These applications have helped to streamline the workflow of the library staff and improve the library experience for customers. These applications include a mobile library card, an application for converting marc records in bulk and importing them into Koha, and a script that automatically removes expired fines.
by Veli-Matti Häkkinen Finland

Meet these two speakers:
William N. Braswell, Jr. AKA Will the Chill
they will tell you something very modern, trendy and very new. Navi - about herself, and Will - how he gave birth for the Navi.

Author's talk descriptioin:

Unless ChatGPT (or Stanford's Alpaca) evolves into Skynet before this talk is given, then we'll explore the latest and greatest language models and see how they can be accessed in Perl, including a live demo of the exciting new ChatGPU Navi™ Perl AI workstation.

So come on Elon, let's chat!
by William N. Braswell, Jr. AKA Will the Chill USA

During this presentation Paul will speak about the evolution of UNIMARC and describe the new UNIMARC-ER (for "entity-relation") standard. UNIMARC-ER is making it's way at the BNF (National Library) and the SUDOC (French universities union catalogue). The goal is not to break things but prepare the future move to a full LRM system. How can we integrate the UNIMARC-ER model into Koha ? Which challenges will we face? Which steps?
by Paul Poulain France

Lightning Talks

lightning intro lightning 1 lightning 2 lightning 3 lightning 4 lightning 5 lightning 6 self-advert
by R Geoffrey Avery USA

lightning intro lightning 1 lightning 2 lightning 3 lightning 4 lightning 5 lightning 6 self-advert
by R Geoffrey Avery USA


Start your path with Perl (2 hours) part 1/2

Help Koha's OPAC take the last steps back to being WCAG 2.1 AA compliant. Koha generally has a great track record for catering for all in the community and that includes a focus on the software itself meeting these accessibility guidelines.

In this workshop, we hope to work together on bugs that bring us up to this standard. PTFS-Europe has committed to taking on some of the more involved piece before the event and needs your help with testing, signing of and working through quality assurance. There's also a few area's where we need more hands on the code and we intend to run a few bug fixing demo's where we fix an issue in one place and the same workflow can be used to fix the same issue elsewhere.

The workshop will be open to all, and will be a great way for attendees to see how Koha gets built from our development processes and testing processes. Anyone can lend a hand with testing using the public sandboxes and those wanting to try out coding can quickly get up to speed with koha-testing-docker, our go to development tool.
by Martin Renvoize (+ PTFS Europe support) UK

Koha devs: come and let's arrange some bugs, as well to prioritize and do QA and Q&A. Perl devs: come and help us squash some bugs! You will learn on the fly how Koha is built and how to contribute to it. (2 hours)

Perl developers! Join Koha development: Let's make your learning curve movement smooth but fast! (3 hours) part 1/2

Koha future vision workshop for all audiences.

During the workshop, the audience can ask questions and participate the conversation by using Padlet app:


Workshop chair: Pekka Olsbo, University of Jyväskylä
by Pekka Olsbo Finland

Koha devs: come and let's arrange some bugs, as well to prioritize and do QA and Q&A. Perl devs: come and help us squash some bugs! You will learn on the fly how Koha is built and how to contribute to it. (3 hours)

Start your path with Perl (2 hours) part 2/2

Koha devs: come and let's arrange some bugs, as well to prioritize and do QA and Q&A. Perl devs: come and help us squash some bugs! You will learn on the fly how Koha is built and how to contribute to it. (2 hours)

Perl developers! Join Koha development: Let's make your learning curve movement smooth but fast! (3 hours) part 2/2

building a vision for future of Koha with Perl, Community, mutual support and collaboration

Koha devs: come and let's arrange some bugs, as well to prioritize and do QA and Q&A. Perl devs: come and help us squash some bugs! You will learn on the fly how Koha is built and how to contribute to it. (3 hours)

Social Events

Reception in the main hall of the National Library of Finland. This event is free for attendees and their partners. A separate preregistration form from you required. You have received the link to this form to the email you provided during the conference registration. Social Events: Reception in Kupoli
by Esa-Pekka Keskitalo Finland

Sea cruise around Helsinki. Don't get late! Boarding from 17:30. Nominal fee expected to ensure commitment and avoid no-shows. You, friend, partner or family are welcome. A separate preregistration form from you required. You have received the link to this form to the email you provided during the conference registration Social Events: Sea Cruise
by Esa-Pekka Keskitalo Finland

we will name a place where we might gather, and on common chat in Telegram group, also in social netowrks, and on closing talk we will announce where we expect to meet, to spent some Pub-time and have a dinner together for those who wants. Free program, friendly atmosphere, and good company.
by Esa-Pekka Keskitalo Finland

It's all about What is PerlPerl and What is KohaKoha.

Koha official site