“"What is Correct?" and is that even the right question any more?”
Christopher Neugebauer;
Talk
For the first time in the history of computer science, actual practicioners of software engineering appear to be having a serious go at using automated code generation tools to produce entire programs. The industry has not yet agreed that this is an unqualified disaster.
On the other hand, we have known for quite a long time that there are a number of things that computers cannot do: not things that are merely difficult to solve, but things that are actually impossible. One particularly salient example is asking a computer program to figure out what a (possibly different) computer program even does. This raises a number of fascinating questions about the act of asking computers to write our code for us, and the roles of us as software engineers, now, and in the not-too-distant future.
We're going to focus on the act of specifying a problem, and verifying whether whether our solution to a problem meets that specification. How do we judge whether something is "correct"? How much of a problem can we ask a computer to solve? Is there still a place for not doing everything completely automatically?
This talk combines observations from foundational computer science, from the emergence of automated software testing, and some recent observations about the performance of recent-generation LLMs acting autonomously. We will raise some questions. We might answer 1-2 of them.
“An Economy of Empathy”
Mario Munoz;
Talk
The historical roots of the current-day tech sector is infected with eugenic ideals, misogyny, and fascism. It's not hard to trace a line from William Shockley, inventor of the transistor, to current powerhouses such as Peter Thiel, Sam Altman, Elon Musk, and others—each espousing subtle or not-so-subtle visions of a techno-utopian future devoid of "low IQ" citizens.
Whether purposefully or not (maybe a bit of both), technology has aided and abetted in the creation of an environment that favors the wealthy and privileged and preys on the disadvantaged.
Open software provides an avenue to tip the scales from a ruthless market toward an economy of empathy. We must emerge from the grasp of our troubled past, not by ignoring it, but by reckoning and repairing the broken pieces.
“Anonymous Functions (and Other Ways to Annoy Your Coworkers)”
Joe Kaufeld;
Talk
Anonymous functions in Python, or lambdas, are misunderstood, unloved, and in need of a good home. As constructs, most folks avoid them, but there are whole worlds of possibilities for good (and bad) designs that are just waiting to be uncovered.
We'll talk about what lambdas are, what they're for, and how you can use them effectively -- and some ways to use them that will get your PR rights revoked.
“Bumbling into BeeWare: From typo-fix to core developer”
Kattni;
Talk
2024 held the first Python conference for which I wasn't hosting a significant number of work-related activities, including hosting a sprint. After wandering lost for the first two days of sprints, I decided I was going to learn something new, and I knew who I wanted to teach me. This decision would result in major changes in my life, from finding a community and a purpose, to discovering trauma and a place to heal. In this talk, you'll learn how small changes to how you review code and interact with others can make an immense difference in how the interactions are perceived. Through my journey, I will share the lessons I learned about the importance of communication, learning from mistakes, and creating a safe space. Join me, and find out how you can make the most of opportunities to improve someone's life, including your own.
“Crisis (Technical) Communication: Teaching Survival Skills You Didn’t Know You Had”
Margaret Fero;
Talk
Many skills that come easily to you can feel impossible to others. As a tech-interested person, this likely includes several valuable skills you don’t realize you have. The technology industry prioritizes developing technical skill, but doesn’t always recognize the components of those skills or value the ability to transfer the fundamentals of those skills to others. Luckily for us, the Python community prizes the core skills you need to share your skills with others.
In this talk, I address a few examples of skills you probably have at least one of, tell you why that skill is valuable to your friends and neighbors right now, and introduce some core principles from my background in technical and crisis communication that you can use to help your community build newly-valuable technical skills. By the end of this presentation, you’ll hopefully have a new appreciation for at least one of your existing skills, and some new skills to help you share it with those around you!
“Cursed Comedy”
Jamie Bliss, Piper Thunstrom;
Talk
One of the benefits of having a partner in (code) crime is developing a rapport and asking dangerous questions that lead to unfortunate code.
Follow along as we admit our sins, crack wise about the methods of our madness, and reveal some truly powerful (if probably inadvisable) ways you can make Python do your bidding.
From cursed struct implementations to abusing runtime type hinting for great power to bending the import system to its breaking point we'll try to amuse you while talking about what magic might be too much magic.
“Designing Python APIs for Data You Don’t Control”
Saurav Jain;
Talk
Python developers are used to working with APIs that have documentation, versioning, and some expectation of stability. Websites offer none of that — yet many Python systems depend on web data every day.
This talk reframes web scraping and extraction as an API design problem under extreme uncertainty. Instead of focusing on selectors or parsing techniques, we’ll focus on how to design Python-facing interfaces that can survive change.
We’ll explore topics such as optional fields, backward-compatible schema changes, defensive parsing, and meaningful error semantics. We’ll also discuss how breaking changes affect downstream users, especially when your data feeds analytics pipelines, dashboards, or automated systems.
By the end of the session, attendees will have a clearer mental model for treating web data as a volatile dependency and practical strategies for designing Python APIs that protect users from inevitable change.
“Modern Western Square Dancing: dancing for math nerds”
Dan Lyke;
Talk
With twenty some-odd bits of state and several hundred instructions, Modern Western Square Dancing is a pipelined architecture that executes on groups of humans and provides challenging programming puzzles, in a context that brings people together and builds real-life in-person bonds.
From its origins in Black slave culture in the early United States, to something inflicted on us in grade school, square dancing as it is performed around the world has been described as "uniquely American". We'll talk about lessons from "group theory performed as a team sport, set to music", or "dancing for math nerds", from the propaganda of Henry Ford, to post WWII American expansion, to how gay culture has struggled with assimilating straight dancers. And maybe offer some lessons we can take into our own communities.
“Network Mythbusting”
Joelle Maslak;
Talk
Most programmers aren't also network engineers! Thus, they might unknowingly believe falsehoods about how networks work and the implications for their systems. What patterns can you follow to make the most of the network? What can you do when the network engineer says the network is fine, but your application is performing poorly?
“No Project Scope Survives Contact with Users”
Min Ragan-Kelley;
Talk
Sometimes we set out to create a project with clearly defined scope, with the best of intentions for maintainability, usability, and clarity. Then, if we’re lucky, users show up and want to do something else. It starts small - a feature here, an edge case there. How do we navigate ‘scope creep’ in open source projects and the tension between what we set out to build, what we can competently maintain, and what users actually want? Told through the history of JupyterHub, a project for hosting Jupyter notebook servers targeted explicitly at small single-machine groups, which is now used routinely to serve thousands of students and researchers; something which was explicitly and deliberately out of scope for the project from day 1. But users want what they want.
“Python Playtesting: Crafting the Perfect Board Game”
Alla Barbalat;
Talk
One day I decided that I should create my own delightfully ridiculous and convoluted board game. I furiously typed all the game mechanics into a spreadsheet. But, what if my game wasn’t fun?
As with many challenges I’ve faced, Python emerged as the hero of this story. Discover how I simulated my game in Python and calibrated it toward perfection. Learn about the challenges and triumphs I faced when turning my spreadsheet into a fun playable board game.
“Python as Orchestrator: When to Glue, When to Compute”
Freya Bhushan Mehta;
Talk
Python powers Netflix's recommendation engine, processes petabytes at Spotify, and handles financial calculations worth trillions of dollars. Yet, developers constantly debate whether Python is "too slow." This paradox reveals a fundamental misunderstanding about Python's true superpower: orchestration over computation. The real question isn't "Is Python fast enough?" It's "What should Python be doing?"
Many developers want to use Python when building high-performance systems, but often lack clear guidance on where Python is the right choice and where it may become a bottleneck. Without a decision framework, developers either prematurely rewrite working Python code in C++/Rust (adding complexity without proportional benefit) or keep everything in Python and hit performance walls, leading to systems that are neither fast nor maintainable. This talk cuts through the performance mythology to reveal where Python excels and when it struggles.
By the end of this session, attendees will leave with a clear decision framework and practical architectural patterns they can immediately apply to their own projects. Whether you're evaluating an existing "slow" Python service or designing a new system from scratch, you'll have concrete tools to determine where Python belongs and where computation should move to compiled languages. You'll know how to structure these boundaries effectively and avoid the common pitfalls that add complexity without delivering real performance gains.
Key Takeaways:
1. Decision framework for orchestration vs. computation: Four-question evaluation to determine what belongs in Python versus compiled languages
2. Three architectural patterns for integrating Python with high-performance code: When and how to use each pattern effectively (with code examples)
3. Anti-pattern recognition: Build intuition for justified complexity versus technical debt
“Running Resistance Tech on a Shoestring”
Philip James;
Talk
It's never been more important to have reliable, best-effort secure, and best-effort resilient technology to support activist causes where you live, across the country, and across the world. In this talk, you'll get a starter pack for battle-tested tech stacks, built from years of experience running infrastructure for organizations of every scale. From nationwide support for presidential campaigns to state-wide vaccine rollout programs to single-person data activism efforts, there 's tools and techniques that run at low-or-no budget and which help you support the groups you care about.
“State of Exception(s)”
Benno Rice;
Talk
Errors. They happen. Sometimes we wish they wouldn't but they do and the code we write and the systems we build have to handle that. The processes by which we detect failures and handle them varies a lot though and the "right" way to deal with failures has been a topic of discussion generally only eclipsed by how to do packaging and how to format code.
Different languages, platforms, and frameworks all not only handle errors differently but frequently have entirely different ways of thinking about what an error even is. I'd like to take you on a bit of a philosophical exploration about what happens when things go wrong, how we know they've gone wrong, and what we do about it.
“The Ironies of Automation in the "Age of AI"”
amanda casari;
Talk
It's a system. It's people. It's systems of people. It's people in a system.
When we design for automation and technology, we are designing for people and people systems. Our best designs understand the difference between what helps humanity, and how to place decision making at the right level of autonomy.
Through the lens of Lisa Bainbridge's seminal 1983 paper "The Ironies of Automation", we can update our current understanding of where designing with AI can avoid the worst anti-patterns and embrace the best of autonomy for socio-technical systems.
“The Python Community Needs More Cats”
Deb Nicholson;
Talk
Cats are notoriously unbothered, adaptable creatures which seems like the kind of energy we could all use more of in our open source communities. It’s all too easy to be reactive all the time and let the current state of events, tech news, world news and internal changes set your course. This is where cats come in. They do not care about the news, internal or external, they just adapt and continue to pursue their own goals. As Pythonistas, leaders and project maintainers, I believe we can learn from the cat.
In this talk I will discuss strategies for staying on target with your goals, communicating with team members about what’s important and working around what isn’t and share a few tricks for absorbing and releasing everything that comes in via a high information environment. You may not be able to sleep 20 hours a day, but you can control your attention and your approach to a changing world and keep pursuing your goals.
“While I've changed gears every 4-5 years, in retirement, I've managed to find my web development tribe”
Bob Monsour;
Talk
Some might call my career one stricken with ADHD. I prefer to call it one filled with curiosity, and an itch to learn. From writing 8-bit assembly language for Mototola pagers in the 1980s to marketing semiconductors that perform compression and encryption operations in the 1990s to building websites in the 20xxs, in retirement, I've been fortunate to find my tribe in the eleventy community (eleventy being a static website generator).
During the last 20+ years, there's been an undercurrent of me being excited by the web. In the last 3 years, I've found a home as a helper and community resource developer, and I'm loving every minute of it.
I built my first website around 2004. It was a volunteer effort to build a new site for a new school. I happened to be in the right place at the right time. MovableType was the static site generator of the day and I milked it to build the site that I would end up maintaining for nearly 10 years.
In 2005, I was fortunate to attend the first "An Event Apart" in Philadelphia, where Jeffrey Zeldman, Eric Meyer, and Jason Santa Maria blessed me with feedback on this fledgling new school website. Talk about being in the right place at the right time.
Fast forward to 2021, and finding Jekyll, I built a site for a local tennis pro. I soon realized that Jekyll wasn't being actively maintained. But eleventy was emerging to fill its shoes. So off I was to build a personal site for myself and a few others.
The more I found myself googling about how to get the most out of eleventy, I came to believe that somebody should build a site to aggregate all of those useful blog posts that I was finding. That somebody would be me. Thus, on May 1, 2023, the 11ty Bundle website came into being. Today, it consists of over 1,600 blog posts by more than 450 authors, along with a showcase of over 1,400 sites build with eleventy.
The community is focused, vibrant, and welcoming and it's wonderful to be a part of it. It's keeping me feeling young and alive.
“Works on My Robot: Bridging the MedTech Reality Gap”
Lilinoe Harbottle;
Talk
In a simulator, physics is perfect. In a codebase, logic is absolute. But in high-stakes MedTech ecosystems, the "works on my machine" mentality meets its match. Here, the "machine" is a complex medical robotic system where software intent and physical telemetry could provide two different, yet equally valid, perspectives. This is the reality gap: the space where system logs remain perfectly compliant, yet physical entropy introduces subtleties that challenge the trust between an operator and their tools.
This talk explores how to use Python as a "second opinion" to bridge this gap in surgical robotics. We’ll dive into the implementation of an independent observer layer, a decoupled supervisor designed to audit system behavior from the outside in. We’ll leverage Python’s scientific stack for vectorized data audits, reconciling continuous telemetry with discrete events to detect state drift in real-time.
You’ll leave with a framework for maintaining architectural honesty in high-stakes environments, ensuring that when hardware meets the physical world, the safety net remains grounded in truth.