<?xml version='1.0' encoding='utf-8' ?>
<iCalendar xmlns:pentabarf='http://pentabarf.org' xmlns:xCal='urn:ietf:params:xml:ns:xcal'>
    <vcalendar>
        <version>2.0</version>
        <prodid>-//Pentabarf//Schedule//EN</prodid>
        <x-wr-caldesc></x-wr-caldesc>
        <x-wr-calname></x-wr-calname>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RZDAK9@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RZDAK9</pentabarf:event-slug>
            <pentabarf:title>Workshop: MicroPython IoT Development Workshop</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251121T090000</dtstart>
            <dtend>20251121T100000</dtend>
            <duration>010000</duration>
            <summary>Workshop: MicroPython IoT Development Workshop</summary>
            <description>You will be comfortable with Python flow control, writing custom-functions, and utilising built-in data-structures.

Bring a laptop with a USB-A port. The microcontroller board has a USB-C connector and a USB-A to USB-C cable will be provided.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/RZDAK9/</url>
            <location>Middle Room</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SLM7RX@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SLM7RX</pentabarf:event-slug>
            <pentabarf:title>Workshop: MicroPython IoT Development Workshop</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251121T101500</dtstart>
            <dtend>20251121T121500</dtend>
            <duration>020000</duration>
            <summary>Workshop: MicroPython IoT Development Workshop</summary>
            <description>You will be comfortable with Python flow control, writing custom-functions, and utilising built-in data-structures.

Bring a laptop with a USB-A port. The microcontroller board has a USB-C connector and a USB-A to USB-C cable will be provided.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/SLM7RX/</url>
            <location>Middle Room</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LWJXMX@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LWJXMX</pentabarf:event-slug>
            <pentabarf:title>Workshop: MicroPython IoT Development Workshop</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251121T141500</dtstart>
            <dtend>20251121T154500</dtend>
            <duration>013000</duration>
            <summary>Workshop: MicroPython IoT Development Workshop</summary>
            <description>You will be comfortable with Python flow control, writing custom-functions, and utilising built-in data-structures.

Bring a laptop with a USB-A port. The microcontroller board has a USB-C connector and a USB-A to USB-C cable will be provided.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/LWJXMX/</url>
            <location>Middle Room</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>89K3WB@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-89K3WB</pentabarf:event-slug>
            <pentabarf:title>Review: MicroPython IoT Development Workshop</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251121T160000</dtstart>
            <dtend>20251121T180000</dtend>
            <duration>020000</duration>
            <summary>Review: MicroPython IoT Development Workshop</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/89K3WB/</url>
            <location>Middle Room</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>Y9TDMB@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-Y9TDMB</pentabarf:event-slug>
            <pentabarf:title>Workshop: Beginner&#x27;s Python – a Carpentries Inspired Tutorial</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251121T090000</dtstart>
            <dtend>20251121T100000</dtend>
            <duration>010000</duration>
            <summary>Workshop: Beginner&#x27;s Python – a Carpentries Inspired Tutorial</summary>
            <description>This workshop is suitable for people who are new to Python.

This lesson is designed to be run on a personal computer. All of the software and data used in this lesson are freely available online, and instructions on how to obtain them are provided below. In this lesson, we will be using Python 3 with some of its most popular scientific libraries.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/Y9TDMB/</url>
            <location>Breakout Room</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RJFP9R@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RJFP9R</pentabarf:event-slug>
            <pentabarf:title>Workshop: Beginner&#x27;s Python – a Carpentries Inspired Tutorial</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251121T101500</dtstart>
            <dtend>20251121T121500</dtend>
            <duration>020000</duration>
            <summary>Workshop: Beginner&#x27;s Python – a Carpentries Inspired Tutorial</summary>
            <description>This workshop is suitable for people who are new to Python.

This lesson is designed to be run on a personal computer. All of the software and data used in this lesson are freely available online, and instructions on how to obtain them are provided below. In this lesson, we will be using Python 3 with some of its most popular scientific libraries.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/RJFP9R/</url>
            <location>Breakout Room</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>AVGXZ3@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-AVGXZ3</pentabarf:event-slug>
            <pentabarf:title>Workshop: Beginner&#x27;s Python – a Carpentries Inspired Tutorial</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251121T141500</dtstart>
            <dtend>20251121T154500</dtend>
            <duration>013000</duration>
            <summary>Workshop: Beginner&#x27;s Python – a Carpentries Inspired Tutorial</summary>
            <description>This workshop is suitable for people who are new to Python.

This lesson is designed to be run on a personal computer. All of the software and data used in this lesson are freely available online, and instructions on how to obtain them are provided below. In this lesson, we will be using Python 3 with some of its most popular scientific libraries.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/AVGXZ3/</url>
            <location>Breakout Room</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SA7WNJ@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SA7WNJ</pentabarf:event-slug>
            <pentabarf:title>Review: Beginner&#x27;s Python – a Carpentries Inspired Tutorial</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251121T160000</dtstart>
            <dtend>20251121T180000</dtend>
            <duration>020000</duration>
            <summary>Review: Beginner&#x27;s Python – a Carpentries Inspired Tutorial</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/SA7WNJ/</url>
            <location>Breakout Room</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>XVT3PR@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-XVT3PR</pentabarf:event-slug>
            <pentabarf:title>Conference Opening</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T090000</dtstart>
            <dtend>20251122T091500</dtend>
            <duration>001500</duration>
            <summary>Conference Opening</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Event</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/XVT3PR/</url>
            <location>Plenary Space</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VYYNLV@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VYYNLV</pentabarf:event-slug>
            <pentabarf:title>Keynote: Skill Issue</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T091500</dtstart>
            <dtend>20251122T101500</dtend>
            <duration>010000</duration>
            <summary>Keynote: Skill Issue</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Keynote</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/VYYNLV/</url>
            <location>Plenary Space</location>
            
            <attendee>Benno Rice</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZHALVB@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZHALVB</pentabarf:event-slug>
            <pentabarf:title>Building Resilient Live Service Games with Python: Lessons from the Trenches</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T103000</dtstart>
            <dtend>20251122T110000</dtend>
            <duration>003000</duration>
            <summary>Building Resilient Live Service Games with Python: Lessons from the Trenches</summary>
            <description>This presentation draws from real-world experience building and maintaining a live multiplayer card game. We&#x27;ll dive into:

**Technical Deep-Dives:**
  - Need to go fast! asyncio, orjson, uvloop
  - Performance profiling in production with pyinstrument
  - WebSocket management for real-time gameplay
  - DynamoDB design patterns for game data (eg. realtime scoreboards)
  - SQS for event-driven architecture
  - Implementing game mechanics like card effects and combat resolution (eg. Python DSLs)

**Architecture Decisions:**
  - Why we chose Python for game server development
  - Google Sheets as a flexible game rules engine
  - Async-first design patterns for handling concurrent player actions
  - Service architecture with interface/implementation separation
  - Performance optimization: HTTPX vs boto3 and connection pooling</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/ZHALVB/</url>
            <location>Plenary Space</location>
            
            <attendee>Willem Thiart</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UVFZLF@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UVFZLF</pentabarf:event-slug>
            <pentabarf:title>How UX Can Improve Your Python Project</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T110500</dtstart>
            <dtend>20251122T113500</dtend>
            <duration>003000</duration>
            <summary>How UX Can Improve Your Python Project</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/UVFZLF/</url>
            <location>Plenary Space</location>
            
            <attendee>Grant Paton-Simpson</attendee>
            
            <attendee>Charlotte Paton-Simpson</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QMZCQN@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QMZCQN</pentabarf:event-slug>
            <pentabarf:title>Making up with Testing: Old and New lessons for loving your tests again</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T114000</dtstart>
            <dtend>20251122T121000</dtend>
            <duration>003000</duration>
            <summary>Making up with Testing: Old and New lessons for loving your tests again</summary>
            <description>Writing good tests is important because it&#x27;s about communication just as much as showing your code works. Communication to future developers (including yourself) about how your code works, communication to the product team and stakeholders about what the product does, and even communication about domains and architecture.
In this talk, we will discuss:
- what bad tests look like and why they are bad
- the audiences for tests
- tips for how to present your tests to be understandable
- using the Given/When/Then style
- developing a domain specific test language
- the benefits of BDD
- using AI to help with all the above</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/QMZCQN/</url>
            <location>Plenary Space</location>
            
            <attendee>Richard Forshaw</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>R9BK8Y@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-R9BK8Y</pentabarf:event-slug>
            <pentabarf:title>Mapping the Open Source Ecosystem for Climate Science and Sustainable Technology</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T141500</dtstart>
            <dtend>20251122T144500</dtend>
            <duration>003000</duration>
            <summary>Mapping the Open Source Ecosystem for Climate Science and Sustainable Technology</summary>
            <description>This talk will be the second time I have given this talk, as earlier in the week I will be presenting a paper on the larger work at the OpenForum Academy Symposium in Rio, https://symposium.openforumeurope.org/. This talk will focus on the Python aspects as much as possible.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/R9BK8Y/</url>
            <location>Plenary Space</location>
            
            <attendee>Richard Littauer</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3PKJSQ@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3PKJSQ</pentabarf:event-slug>
            <pentabarf:title>From COBOL to Copilots: Why “No-Code” Never Kills the Coder</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T145000</dtstart>
            <dtend>20251122T153500</dtend>
            <duration>004500</duration>
            <summary>From COBOL to Copilots: Why “No-Code” Never Kills the Coder</summary>
            <description>Software history is riddled with promises that business folk would simply _describe_ what they want and let the machine do the rest. COBOL and BASIC claimed managers would write their own programs. HyperTalk let anyone click-build a HyperCard stack. BPML and UML tried to generate systems straight from diagrams created by managers and experts in meetings. Constraint based rule engines argued that if you just captured every rule, which managers could just write down, then the code would materialise. Low-code platforms repackaged the dream for the web, and now LLM agentic assistants and “natural-language” IDEs are the latest contenders.  

So why do we keep hearing the same pitch? Because messy requirements, tacit knowledge, and perpetual change leak through every abstraction. Instead of vanishing, the complexity just moves... While developers, adapt, debug, and keep the lights on. History shows each wave actually _creates_ new niches for people who can straddle business intent and technical reality.

In this talk I’ll:

• Zip through six decades of attempts to eliminate developers, their bright ideas, brief wins, and spectacular failures.
• Unpack the recurring traps: expressive ceilings, accidental complexity, maintenance drag, governance headaches.
• Show how every cycle boosted demand for devs by making it easier to do business rather than development.
• Hand you dead simple heuristics for sniff testing the big promises, spotting where these tools can help instead of hinder, and how to team up with AI tools without handing over your craft.

Expect a breezy ride full of war stories, face-palm moments, and a few “hey, that actually worked” surprises.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/3PKJSQ/</url>
            <location>Plenary Space</location>
            
            <attendee>Sam Bishop</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RJPAHM@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RJPAHM</pentabarf:event-slug>
            <pentabarf:title>Hello Operator: Please connect me to 2025</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T160000</dtstart>
            <dtend>20251122T163000</dtend>
            <duration>003000</duration>
            <summary>Hello Operator: Please connect me to 2025</summary>
            <description>In this admittedly gimmicky experiment, I chronicle bridging 100 years of communication technology: from human-powered switchboards and analogue circuits to modern natural language processing. Includes adventures into testing the components on these devices, developing a digital interface to analogue signals, then developer a virtual operator to simulate what might be the closest modern thing to a 1920s telephone experience.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/RJPAHM/</url>
            <location>Plenary Space</location>
            
            <attendee>notnotcharlie</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UHTMCV@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UHTMCV</pentabarf:event-slug>
            <pentabarf:title>Things that Python got wrong, and how Python fixed them</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T163500</dtstart>
            <dtend>20251122T170500</dtend>
            <duration>003000</duration>
            <summary>Things that Python got wrong, and how Python fixed them</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/UHTMCV/</url>
            <location>Plenary Space</location>
            
            <attendee>Christopher Neugebauer</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LLAFCE@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LLAFCE</pentabarf:event-slug>
            <pentabarf:title>Battledecks/Announcements</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T171000</dtstart>
            <dtend>20251122T180000</dtend>
            <duration>005000</duration>
            <summary>Battledecks/Announcements</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Event</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/LLAFCE/</url>
            <location>Plenary Space</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7UANBF@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7UANBF</pentabarf:event-slug>
            <pentabarf:title>Poster Session - Presentation and Q&amp;A</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T154000</dtstart>
            <dtend>20251122T160000</dtend>
            <duration>002000</duration>
            <summary>Poster Session - Presentation and Q&amp;A</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Poster</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/7UANBF/</url>
            <location>Middle Room</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QUDN8S@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QUDN8S</pentabarf:event-slug>
            <pentabarf:title>What can looking at Python as a language designer teach us?</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T103000</dtstart>
            <dtend>20251122T110000</dtend>
            <duration>003000</duration>
            <summary>What can looking at Python as a language designer teach us?</summary>
            <description>In this talk we&#x27;ll see an overview of the CPython interpreter and go through how you could implement a language that runs on it yourself. The end goal of the presentation will be to show how to write a compiler that can compile a small program that takes user input and calculates Fibonacci numbers. Along the way we should understand more about the interpreter&#x27;s design, and how the design of the language as a whole lead to the interpreter we have today</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/QUDN8S/</url>
            <location>Breakout Room</location>
            
            <attendee>Oscar Horne</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YUUZ8A@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YUUZ8A</pentabarf:event-slug>
            <pentabarf:title>DNS as Code: A Review Of What&#x27;s Out There</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T110500</dtstart>
            <dtend>20251122T113500</dtend>
            <duration>003000</duration>
            <summary>DNS as Code: A Review Of What&#x27;s Out There</summary>
            <description>I&#x27;ll share my journey exploring DNS as Code using Python, from the early days of editing named.conf and zone files directly on nameservers—with fond memories of working with BIND and PowerDNS—to evaluating libraries and tools like OctoDNS, StackExchange&#x27;s DNSControl, and Terraform. Along the way, I’ll explain why I ultimately prefer using Python to interact directly with providers such as Metaname and Namecheap.

You’ll see a practical DNS-as-Code workflow in action: managing zone files in Git, automating updates via provider APIs, and maintaining clarity and control without unnecessary complexity. Whether you&#x27;re managing a handful of personal domains or supporting production infrastructure, this session offers tools, patterns, and perspective to bring DNS firmly under code-based management.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/YUUZ8A/</url>
            <location>Breakout Room</location>
            
            <attendee>John Billings</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>DKJHXQ@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-DKJHXQ</pentabarf:event-slug>
            <pentabarf:title>Pimping my ride with MicroPython</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T114000</dtstart>
            <dtend>20251122T121000</dtend>
            <duration>003000</duration>
            <summary>Pimping my ride with MicroPython</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/DKJHXQ/</url>
            <location>Breakout Room</location>
            
            <attendee>Glenn Ramsey</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>J7NBXS@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-J7NBXS</pentabarf:event-slug>
            <pentabarf:title>Unlocking Document Intelligence with Open-Source AI</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T141500</dtstart>
            <dtend>20251122T144500</dtend>
            <duration>003000</duration>
            <summary>Unlocking Document Intelligence with Open-Source AI</summary>
            <description>In this session, you&#x27;ll get an in-depth introduction to the open source project Docling and how it can streamline your workflow. With over 36,000 stars on Github in a year, Docling is fastest growing open source project out of IBM. We will go through live coding demos that will walk you through the basics of how to use Docling, and showcase the advanced features Docling has that make your real world data more valuable in AI applications.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/J7NBXS/</url>
            <location>Breakout Room</location>
            
            <attendee>Mingxuan Zhao</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>CNUK7N@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-CNUK7N</pentabarf:event-slug>
            <pentabarf:title>Python &amp; multiprocessing: Fork&#x27;ed !</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T145000</dtstart>
            <dtend>20251122T153500</dtend>
            <duration>004500</duration>
            <summary>Python &amp; multiprocessing: Fork&#x27;ed !</summary>
            <description>This talk will introduce the multiple different ways of spawning sub-processes in Python with simple &amp; easy to understand examples. We will then have a brief look at the different implementations and their various use-cases.

Then we will show how spawning processes in Python has always been fraught with problems for over 15 years. We will show real-world examples of seemingly unexplainable dead-locks and hard crashes when spawning processes in Python, especially in the context of multi-threaded applications.

Lastly, we explain the reasons for those hard-to-debug dead-locks &amp; hard crashes, show the problems that are associated to this day with using os.fork() &amp; os.register_at_fork(). Then we will offer up how alternatives like os.posix_spawn() + vfork can help to make your Python programs more robust.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Extended talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/CNUK7N/</url>
            <location>Breakout Room</location>
            
            <attendee>Teijo Holzer</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BNLJUZ@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BNLJUZ</pentabarf:event-slug>
            <pentabarf:title>Get a GRIB</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T160000</dtstart>
            <dtend>20251122T163000</dtend>
            <duration>003000</duration>
            <summary>Get a GRIB</summary>
            <description>GRIB files can be created by simply concatenating different grib message lines, and even mix versions of GRIB (0, 1, or 2). As the different datasets have no relation to each other, the data can be grouped in different ways, such as per variable, per datapoint, per date, etc.
Each system that uses these files has its own preference as to how they are grouped and sorted, and to get all data from one grouping to another, the files need to be read, manipulated and written.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/BNLJUZ/</url>
            <location>Breakout Room</location>
            
            <attendee>Simon `Firesphere` Erkelens</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SCASYU@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SCASYU</pentabarf:event-slug>
            <pentabarf:title>Mitigating AI Misuse in Introductory Python Courses with Graphical Programming Tasks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251122T163500</dtstart>
            <dtend>20251122T170500</dtend>
            <duration>003000</duration>
            <summary>Mitigating AI Misuse in Introductory Python Courses with Graphical Programming Tasks</summary>
            <description>GitHub resources include sample assessment briefs, starter code, and other materials for practical teaching and learning.

https://github.com/tabreturn/pycon-2025</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/SCASYU/</url>
            <location>Breakout Room</location>
            
            <attendee>Tristan Bunn</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3DG9ZF@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3DG9ZF</pentabarf:event-slug>
            <pentabarf:title>Housekeeping/Announcements</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T090000</dtstart>
            <dtend>20251123T091000</dtend>
            <duration>001000</duration>
            <summary>Housekeeping/Announcements</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Event</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/3DG9ZF/</url>
            <location>Plenary Space</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MXE9E8@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MXE9E8</pentabarf:event-slug>
            <pentabarf:title>Keynote: A Neurodivergent Career--Making Work Fit Us</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T091000</dtstart>
            <dtend>20251123T101000</dtend>
            <duration>010000</duration>
            <summary>Keynote: A Neurodivergent Career--Making Work Fit Us</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Keynote</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/MXE9E8/</url>
            <location>Plenary Space</location>
            
            <attendee>Joelle Maslak</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>TMGEP3@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-TMGEP3</pentabarf:event-slug>
            <pentabarf:title>Spatial forecasting of housing development in Wellington with an all-python stack</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T102500</dtstart>
            <dtend>20251123T105500</dtend>
            <duration>003000</duration>
            <summary>Spatial forecasting of housing development in Wellington with an all-python stack</summary>
            <description>Tools used include 
- `poetry` for dependency management, 
- `hydra` (via `hydra-zen`) with `dataclasses` for config management, CLI setup, and keeping a record of config inputs vs model outputs
- `DVC` for data version control, preprocessing management, efficient pipeline runs, and more tracking of inputs vs outputs
-  `loguru` for logging and terminal outputs
- `pandas`, `numpy`, and `geopandas` for data wrangling 
- `osmnx` and `networkx` for street and public transport network analysis
- &#x27;statsmodels&#x27;, `scikit-learn`, `econML`, `scipy`, and `pulp` for modelling and prediction
- `matplotlib` and `pyDeck` for visualisation
- Github for source control</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/TMGEP3/</url>
            <location>Plenary Space</location>
            
            <attendee>Chris Crow</attendee>
            
            <attendee>Nathan Stocker</attendee>
            
            <attendee>Rhys Williams</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>NCQUNS@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-NCQUNS</pentabarf:event-slug>
            <pentabarf:title>Nā taku rourou: getting involved in (C)Python development</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T110000</dtstart>
            <dtend>20251123T113000</dtend>
            <duration>003000</duration>
            <summary>Nā taku rourou: getting involved in (C)Python development</summary>
            <description>I&#x27;ve had the privilege of being able to dedicate a fair amount of time to open-source work recently. I&#x27;ve spent several months going through CPython&#x27;s open bugs: looking at interesting ones, reproducing and verifying, analysing, and providing a comment or bug fix if it seems useful and appropriate.

I&#x27;ll discuss why I want to contribute to CPython, how I am going about it, some preliminary results, metrics, technical challenges, reflections, and plans for the future.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/NCQUNS/</url>
            <location>Plenary Space</location>
            
            <attendee>Duane Griffin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QK8YFT@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QK8YFT</pentabarf:event-slug>
            <pentabarf:title>An introduction to Polars: &#x27;DataFrames for the new era&#x27;</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T113500</dtstart>
            <dtend>20251123T120500</dtend>
            <duration>003000</duration>
            <summary>An introduction to Polars: &#x27;DataFrames for the new era&#x27;</summary>
            <description>Polars (pola.rs) is a new addition to the family of &quot;DataFrame&quot; data manipulation and analysis libraries. In the Python world it&#x27;s rapidly becoming a highly performant &quot;competitor&quot; to the Pandas library for data science and data processing.

This talk is an introduction to the library and its usage, aimed at beginners as well as people who have done some work with Pandas, for comparison.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/QK8YFT/</url>
            <location>Plenary Space</location>
            
            <attendee>Tom Eastman</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YHYFQP@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YHYFQP</pentabarf:event-slug>
            <pentabarf:title>Python at Scale - Using New Zealand National Supercomputing Infrastructure.</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T141000</dtstart>
            <dtend>20251123T144000</dtend>
            <duration>003000</duration>
            <summary>Python at Scale - Using New Zealand National Supercomputing Infrastructure.</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/YHYFQP/</url>
            <location>Plenary Space</location>
            
            <attendee>callum walley</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>DHCKDT@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-DHCKDT</pentabarf:event-slug>
            <pentabarf:title>Lightning Talks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T150000</dtstart>
            <dtend>20251123T163000</dtend>
            <duration>013000</duration>
            <summary>Lightning Talks</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Event</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/DHCKDT/</url>
            <location>Plenary Space</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LMD37P@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LMD37P</pentabarf:event-slug>
            <pentabarf:title>Conference Closing</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T163000</dtstart>
            <dtend>20251123T164000</dtend>
            <duration>001000</duration>
            <summary>Conference Closing</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Event</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/LMD37P/</url>
            <location>Plenary Space</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WWU79Z@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WWU79Z</pentabarf:event-slug>
            <pentabarf:title>Network State Checking: A Case Study in Automation using Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T102500</dtstart>
            <dtend>20251123T105500</dtend>
            <duration>003000</duration>
            <summary>Network State Checking: A Case Study in Automation using Python</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/WWU79Z/</url>
            <location>Breakout Room</location>
            
            <attendee>Craig Henderson</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>J3RF97@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-J3RF97</pentabarf:event-slug>
            <pentabarf:title>The Python and the Pelican</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T110000</dtstart>
            <dtend>20251123T113000</dtend>
            <duration>003000</duration>
            <summary>The Python and the Pelican</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/J3RF97/</url>
            <location>Breakout Room</location>
            
            <attendee>Elliot Simpson</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QLETXF@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QLETXF</pentabarf:event-slug>
            <pentabarf:title>Mauling Python to analyse ancient BASIC programs</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T113500</dtstart>
            <dtend>20251123T120500</dtend>
            <duration>003000</duration>
            <summary>Mauling Python to analyse ancient BASIC programs</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/QLETXF/</url>
            <location>Breakout Room</location>
            
            <attendee>Carl Cerecke</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>NFZ8UB@@talks.kiwipycon.nz</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-NFZ8UB</pentabarf:event-slug>
            <pentabarf:title>Brevity</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251123T141000</dtstart>
            <dtend>20251123T144000</dtend>
            <duration>003000</duration>
            <summary>Brevity</summary>
            <description>Today we’re going to learn how to fly a plane. Or, specifically, we’re going to learn how large international jets taxi and take off from a runway.

While thousands of planes take off and land safely every day, occasionally there are some close calls when disaster is averted by sheer luck or coincidence. In those circumstances, we get a safety investigation to help us learn from the mistakes and avoid catastrophic outcomes. This talk learns from one such safety report and we’ll discuss the parallels software engineers can learn from the aviation industry when communicating in complex operating environments.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://talks.kiwipycon.nz/kiwi-pycon-xiv-2025/talk/NFZ8UB/</url>
            <location>Breakout Room</location>
            
            <attendee>Jack Skinner</attendee>
            
        </vevent>
        
    </vcalendar>
</iCalendar>
