{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2024.3.1"}, "schedule": {"url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/", "version": "0.2", "base_url": "https://pretalx.northbaypython.org", "conference": {"acronym": "nbpy-2026", "title": "North Bay Python 2026", "start": "2026-04-25", "end": "2026-04-26", "daysCount": 2, "timeslot_duration": "00:05", "time_zone_name": "US/Pacific", "colors": {"primary": "#3aa57c"}, "rooms": [{"name": "Barn", "guid": "8705c22c-2b0e-56f3-b21e-c7d6d5eaa996", "description": null, "capacity": null}, {"name": "Date/Time Not Confirmed", "guid": "e6d411ba-c75f-5938-8c18-4f4c8dc4a74b", "description": "(Talks that do not have a confirmed time or date)", "capacity": null}], "tracks": [], "days": [{"index": 1, "date": "2026-04-25", "day_start": "2026-04-25T04:00:00-07:00", "day_end": "2026-04-26T03:59:00-07:00", "rooms": {"Barn": [{"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/GQLNDC/", "id": 195, "guid": "a0f97bcf-ab11-57a6-bbd1-445818c2c2e8", "date": "2026-04-25T10:15:00-07:00", "start": "10:15", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-195--what-is-correct-and-is-that-even-the-right-question-any-more-", "title": "\"What is Correct?\" and is that even the right question any more?", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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.\r\n\r\nOn 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.\r\n\r\nWe'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?\r\n\r\nThis 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "7d3cafdc-b29d-5214-85d0-27c62a06ffbc", "id": 1, "code": "V37K3L", "public_name": "Christopher Neugebauer", "avatar": "https://pretalx.northbaypython.org/media/avatars/V37K3L_ZV7NmZD.jpg", "biography": "I organise North Bay Python. Sorry.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/CND7HT/", "id": 159, "guid": "e31f4095-746f-56b7-9066-d20e4115faa0", "date": "2026-04-25T10:50:00-07:00", "start": "10:50", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-159-designing-python-apis-for-data-you-don-t-control", "title": "Designing Python APIs for Data You Don\u2019t Control", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "Python developers are used to working with APIs that have documentation, versioning, and some expectation of stability. Websites offer none of that \u2014 yet many Python systems depend on web data every day.\r\n\r\nThis talk reframes web scraping and extraction as an API design problem under extreme uncertainty. Instead of focusing on selectors or parsing techniques, we\u2019ll focus on how to design Python-facing interfaces that can survive change.\r\n\r\nWe\u2019ll explore topics such as optional fields, backward-compatible schema changes, defensive parsing, and meaningful error semantics. We\u2019ll also discuss how breaking changes affect downstream users, especially when your data feeds analytics pipelines, dashboards, or automated systems.\r\nBy 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "d5a2fbd6-08f6-5e62-bd60-b5fdeefe68c7", "id": 120, "code": "7EKCPH", "public_name": "Saurav Jain", "avatar": null, "biography": "Saurav Jain, Apify's Developer Community Manager, excels in community building and devrel. With a history of growing Amplication's community to 40K, he now enhances Apify's developer engagement. An international speaker, he has contributed to PyCon Ireland, PyCon Italy, and more. His work bridges developers globally, fostering innovation and collaboration within the tech ecosystem. His expertise and passion for technology make him a pivotal figure in nurturing tech communities.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/YCNYMN/", "id": 177, "guid": "0463dca6-c7af-59c9-a8e0-fa2b248ba1a4", "date": "2026-04-25T11:20:00-07:00", "start": "11:20", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-177-cursed-comedy", "title": "Cursed Comedy", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "One of the benefits of having a partner in (code) crime is developing a rapport and asking dangerous questions that lead to unfortunate code.\r\n\r\nFollow 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.\r\n\r\nFrom 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "f8f3ee60-a00a-5a54-ac37-8a8d460aa889", "id": 130, "code": "BX7ZK8", "public_name": "Jamie Bliss", "avatar": "https://pretalx.northbaypython.org/media/avatars/BX7ZK8_GYMVBml.JPEG", "biography": "Perennial developer and occasional professional, Jamie is co-founder of Teahouse Hosting, maintainer for PursuedPyBear, and xore emeritus for Xonsh.", "answers": []}, {"guid": "6b7772c5-49ee-51b8-a957-062a7b016cea", "id": 131, "code": "9PJHMJ", "public_name": "Piper Thunstrom", "avatar": "https://pretalx.northbaypython.org/media/avatars/9PJHMJ_3HohFZv.jpg", "biography": "Piper is a pythonista, game enthusiast, and web developer. You might know her from her talks given at conferences around the United States, a local tech meetup, or her open source work. She speaks on community building, game development, CS education, and trans identity in tech. She's been involved in the Python community since 2014 with previous experience as an organizer in the NYC Python user groups. You can follow her work at piper.thunstrom.dev", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/RTS93W/", "id": 178, "guid": "d6f4fba0-5f3e-5d83-b4db-d4e92e1f573f", "date": "2026-04-25T13:10:00-07:00", "start": "13:10", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-178-works-on-my-robot-bridging-the-medtech-reality-gap", "title": "Works on My Robot: Bridging the MedTech Reality Gap", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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.\r\n\r\nThis talk explores how to use Python as a \"second opinion\" to bridge this gap in surgical robotics. We\u2019ll dive into the implementation of an independent observer layer, a decoupled supervisor designed to audit system behavior from the outside in. We\u2019ll leverage Python\u2019s scientific stack for vectorized data audits, reconciling continuous telemetry with discrete events to detect state drift in real-time.\r\n\r\nYou\u2019ll 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.", "description": null, "recording_license": "", "do_not_record": true, "persons": [{"guid": "116575f5-7f08-57d0-941c-47aaf193440a", "id": 129, "code": "DSUMDR", "public_name": "Lilinoe Harbottle", "avatar": "https://pretalx.northbaypython.org/media/avatars/DSUMDR_oPbKEHC.jpg", "biography": "Lilinoe Harbottle is an Indigenous (Kanaka \u02bb\u014ciwi) data scientist who bridges algorithms, robotics, and healthcare. She leads AI initiatives at a San Francisco startup, architecting integrity layers for complex robotic systems. Previously at Auris Health (J&J), she enhanced medical robotic systems to improve bronchoscopy and urology procedures. A champion for open-source and inclusive tech communities, she is a Sequoyah Fellow of the American Indian Science & Engineering Society (AISES).", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/YAARSS/", "id": 173, "guid": "161d089f-28bc-5eba-8884-7f59d447fa39", "date": "2026-04-25T13:40:00-07:00", "start": "13:40", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-173-crisis-technical-communication-teaching-survival-skills-you-didn-t-know-you-had", "title": "Crisis (Technical) Communication: Teaching Survival Skills You Didn\u2019t Know You Had", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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\u2019t realize you have. The technology industry prioritizes developing technical skill, but doesn\u2019t 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. \r\n\r\nIn 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\u2019ll 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!", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "75db601e-e22a-5502-af38-e5cd51621d8b", "id": 77, "code": "C3XQXL", "public_name": "Margaret Fero", "avatar": "https://pretalx.northbaypython.org/media/avatars/C3XQXL_dfEeZeV.jpg", "biography": "Margaret Fero is an interdisciplinary hacker who enjoys systems thinking, information flow, security, privacy, books, words, and the Internet. They are the founder of Neat Systems, a member of the NumFocus Code of Conduct Working Group, a cybersecurity instructor, a member of the Alameda County Library Advisory Commission, and more! This year\u2019s talk draws primarily from their career as a technical writer and previous experience communicating through crisis on behalf of startups. They also love to build healthy and inclusive working environments using research-backed management practices.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/WZBBTV/", "id": 193, "guid": "7a7a9268-964c-5078-9d79-d14751fb7e28", "date": "2026-04-25T14:15:00-07:00", "start": "14:15", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-193-python-playtesting-crafting-the-perfect-board-game", "title": "Python Playtesting: Crafting the Perfect Board Game", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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\u2019t fun?\r\n\r\nAs with many challenges I\u2019ve 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "5d4b1980-5167-5cb6-a9d9-82de96bfb3ad", "id": 101, "code": "A7QNXB", "public_name": "Alla Barbalat", "avatar": "https://pretalx.northbaypython.org/media/avatars/A7QNXB_rVObL4p.jpg", "biography": "Alla Barbalat began her career as a lawyer before transitioning into tech. She is currently an organizer of PyLadies San Francisco and an avid Python user.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/FBGZFL/", "id": 171, "guid": "a216e372-8d3e-5e82-b0b2-b9684f589a59", "date": "2026-04-25T15:15:00-07:00", "start": "15:15", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-171-while-i-ve-changed-gears-every-4-5-years-in-retirement-i-ve-managed-to-find-my-web-development-tribe", "title": "While I've changed gears every 4-5 years, in retirement, I've managed to find my web development tribe", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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).\r\n\r\nDuring 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.\r\n\r\nI 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.\r\n\r\nIn 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.\r\n\r\nFast 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.\r\n\r\nThe 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.\r\n\r\nThe community is focused, vibrant, and welcoming and it's wonderful to be a part of it. It's keeping me feeling young and alive.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "512f7206-2949-5cda-adbc-0ad78c80cd3e", "id": 127, "code": "RKUHWJ", "public_name": "Bob Monsour", "avatar": "https://pretalx.northbaypython.org/media/avatars/RKUHWJ_1kYp56D.jpg", "biography": "Now retired, born in New York, raised in New Jersey, and educated in Florida and California, I've had a varied career, spanning writing 8-bit assembly language for Motorola pagers to co-founding a consulting company to marketing semiconductors. I have degrees in computer science and business and spend my days in retirement exercising, traveling with my amazing artist wife and our dog, Soda, and contributing to the Eleventy (a static website generator) community.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/ERUJ9T/", "id": 175, "guid": "0a5c6bb3-d868-578a-a6db-5068b211f5c3", "date": "2026-04-25T15:45:00-07:00", "start": "15:45", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-175-python-as-orchestrator-when-to-glue-when-to-compute", "title": "Python as Orchestrator: When to Glue, When to Compute", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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?\"\r\n\r\nMany 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.\u00a0\r\n\r\nBy 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.\r\n\r\nKey Takeaways:\r\n1. Decision framework for orchestration vs. computation: Four-question evaluation to determine what belongs in Python versus compiled languages\u00a0\r\n2. Three architectural patterns for integrating Python with high-performance code: When and how to use each pattern effectively (with code examples)\r\n3. Anti-pattern recognition: Build intuition for justified complexity versus technical debt", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "454ce61d-47fd-58d8-8ef8-4d628cb8e96a", "id": 125, "code": "DHPJYY", "public_name": "Freya Bhushan Mehta", "avatar": "https://pretalx.northbaypython.org/media/avatars/DHPJYY_wR6qSon.JPG", "biography": "Freya Mehta is a software engineer at Bloomberg in London, where she works on the Derivatives Pricing Library Engineering team. In this role, she collaborates closely with quant developers and quantitative researchers to build Python and C++ layers that help power Bloomberg\u2019s derivatives pricing and structuring systems. Prior to Bloomberg, she worked at Microsoft, working primarily with C# and Python. Freya earned a bachelor\u2019s degree in computer science and engineering from the International Institute of Information Technology - Hyderabad (IIIT-Hyderabad). Outside of work, she enjoys Pilates, cooking, and travelling.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/UPQLCX/", "id": 189, "guid": "470bf14c-5a84-5afd-94a6-6d28f15fcdac", "date": "2026-04-25T16:15:00-07:00", "start": "16:15", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-189-modern-western-square-dancing-dancing-for-math-nerds", "title": "Modern Western Square Dancing: dancing for math nerds", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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.\r\n\r\nFrom 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "9df8121f-ffb5-505b-a189-8f73e5443e11", "id": 136, "code": "XSCNC9", "public_name": "Dan Lyke", "avatar": "https://pretalx.northbaypython.org/media/avatars/XSCNC9_7P6DGgF.jpg", "biography": "Dan learned to program in machine language on a 6502 with 1K of RAM. He's been a professional whitewater guide, started an ISP in the 1993-1994 era, has credits in blockbuster films courtesy of a stint at Pixar in the '90s, and has worked on a number of products that have touched your life.\r\n\r\nHe currently lives in Petaluma, where he has a day job programming, and alternates between making sawdust in his woodworking shop and calling square dances in the off hours.", "answers": []}], "links": [], "attachments": [], "answers": []}]}}, {"index": 2, "date": "2026-04-26", "day_start": "2026-04-26T04:00:00-07:00", "day_end": "2026-04-27T03:59:00-07:00", "rooms": {"Barn": [{"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/GFB7MK/", "id": 165, "guid": "68ee27fb-21fc-5ea5-99cb-de3e61e60884", "date": "2026-04-26T10:15:00-07:00", "start": "10:15", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-165-an-economy-of-empathy", "title": "An Economy of Empathy", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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\u2014each espousing subtle or not-so-subtle visions of a techno-utopian future devoid of \"low IQ\" citizens.\r\n\r\nWhether 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.\r\n\r\nOpen 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "591fe6d2-becd-5304-91bd-516772531a13", "id": 31, "code": "BBSBB3", "public_name": "Mario Munoz", "avatar": "https://pretalx.northbaypython.org/media/avatars/BBSBB3_YGwjSGm.jpeg", "biography": "In my past lives, I've enjoyed playing guitar and bass, kicking a soccer ball, or playing an occasional video game. In my career, I've been an editor at a non-profit, taught as a pre-school teacher, managed payroll for a professional baseball team, and worked as an analyst/project manager for HR systems. More recently, I've been working as a software engineer for a company called BCM One.\r\n\r\nI also code Python by night, which is what happens when there's not enough time during the day. In the past couple of years, I've presented several talks/tutorials at PyCon US, DjangoCon US, Python Web Conference, North Bay Python, PyGotham, PyOhio, and others. Sometimes I neglect/blog on my website [Python By Night](https://pythonbynight.com), and start (or abandon) too many side projects.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/QVQEP3/", "id": 179, "guid": "65fa3d0e-bec1-5da2-b303-7453de3415bc", "date": "2026-04-26T10:50:00-07:00", "start": "10:50", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-179-state-of-exception-s-", "title": "State of Exception(s)", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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.\r\n\r\nDifferent 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "1b0b8425-773b-56c4-a6a4-c4a63f3d2dfc", "id": 132, "code": "R7VNEX", "public_name": "Benno Rice", "avatar": null, "biography": "Benno is widely known as someone with opinions and a (possibly over-)willingness to share them. He has been working with computers professionally for over 30 years (unprofessionally for longer) and takes particular joy in examining how computers, the Internet, and all that surrounds all of these intersects with the humanity that it is meant to help.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/TTCZQ8/", "id": 176, "guid": "4df27b9e-3884-567b-b855-44f37890e87c", "date": "2026-04-26T11:20:00-07:00", "start": "11:20", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-176-bumbling-into-beeware-from-typo-fix-to-core-developer", "title": "Bumbling into BeeWare: From typo-fix to core developer", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "62c17651-e0c0-5e88-b8d4-aa6db47b351c", "id": 105, "code": "NPDSHL", "public_name": "Kattni", "avatar": "https://pretalx.northbaypython.org/media/avatars/NPDSHL_BRe6KTi.jpg", "biography": "[Kattni](https://kattni.com) (she/her) is a  creator, maker, photographer, programmer, classically trained vocalist, intermittent chef, air plant cultivator, casual knitter, and fledgling synth nerd. She is passionate about learning new things, and sharing her knowledge in an approachable way. She is tolerated by a cat and three kittens who continue to let her live with them.\r\n\r\nShe is a core development team member with the [BeeWare project](https://beeware.org), where she focusses on improving the documentation and information architecture. She has orchestrated a complete shift of the documentation backend from Sphinx to MkDocs, as well as moving the website from Lektor to MkDocs. She is working on building a community around the project by, among other things, making contributing more approachable through various changes in their contribution process.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/MBCJLM/", "id": 153, "guid": "f531731d-9fc3-59d3-a58c-1372e31e74d6", "date": "2026-04-26T13:10:00-07:00", "start": "13:10", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-153-what-feminist-theory-praxis-says-about-internet-networking", "title": "What Feminist Theory & Praxis Says About Internet Networking", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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? Does feminist theory & praxis have anything to say about this?", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "73ac75e4-b56a-591a-8295-890522754b8a", "id": 102, "code": "MUBBH9", "public_name": "Joelle Maslak", "avatar": "https://pretalx.northbaypython.org/media/avatars/MUBBH9_a92fpTO.jpg", "biography": "Joelle is a network engineer for Netflix, where she uses Python to configure and monitor a network that spans the globe. She started programming on an Apple II when she was 5 and has worked in many different IT roles over her 30 year long career.  She'll always enjoy infodumping to you about how computer networks work, about nearly any area of networking, such as how long-distance fiber communication works or what happens behind-the-scenes when you connect to a Wifi network (so feel free to ask her!). She holds dual degrees, one in Computer Science and the other in Gender, Women, and Sexuality Studies, which help fuel her vision of a world where tech empowers rather than controls. Outside of work and her research interests (she is involved in research that benefits the neurodivergent and the queer communities), she loves to tinker with toy operating systems and old computing technology.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/BYJUTA/", "id": 198, "guid": "fdce8fca-6aba-56f8-9c86-f50898ddb09d", "date": "2026-04-26T13:40:00-07:00", "start": "13:40", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-198-the-ironies-of-automation-in-the-age-of-ai-", "title": "The Ironies of Automation in the \"Age of AI\"", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "It's a system. It's people. It's systems of people. It's people in a system. \r\n\r\nWhen 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.\r\n\r\nThrough 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "4552c517-8b88-575b-90d8-976e2f4ebd04", "id": 139, "code": "8EQTDU", "public_name": "amanda casari", "avatar": "https://pretalx.northbaypython.org/media/avatars/8EQTDU_Uw7IIa3.jpg", "biography": "amanda has worked in technology and systems for over 20 years. She cares more about people than things.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/QHBEE9/", "id": 170, "guid": "dba04e59-d0bc-5dc6-8484-4d4f5bd658d6", "date": "2026-04-26T14:15:00-07:00", "start": "14:15", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-170-no-project-scope-survives-contact-with-users", "title": "No Project Scope Survives Contact with Users", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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\u2019re lucky, users show up and want to do something else. It starts small - a feature here, an edge case there. How do we navigate \u2018scope creep\u2019 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "d5abcb10-771b-5103-9b71-5a955db16dad", "id": 126, "code": "T7NNU3", "public_name": "Min Ragan-Kelley", "avatar": "https://pretalx.northbaypython.org/media/avatars/T7NNU3_xqcSRsH.jpeg", "biography": "Min is a co-founder of Project Jupyter, and contributor to the Jupyter project since 2006 (when it was all under IPython). Min got his PhD in computational plasma physics at UC Berkeley, while working on Jupyter on the side. Since 2013, working on Jupyter in some form or other has been most of his job. Min co-created and currently leads the JupyterHub project, starting in 2014.  Min just returned to the Berkeley Institute for Data Science (BIDS) to work on JupyterHub after 10 years in Norway at Simula Research Laboratory. Min contributes to Conda-Forge and various Jupyter subprojects, along with scattered open source work.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/CBQW73/", "id": 196, "guid": "2361d825-229f-509f-8cea-14c39bfcb89f", "date": "2026-04-26T15:15:00-07:00", "start": "15:15", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-196-running-resistance-tech-on-a-shoestring", "title": "Running Resistance Tech on a Shoestring", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "a19eb0a5-3602-58ab-a55c-90c80c6a195d", "id": 16, "code": "AT7KUA", "public_name": "Philip James", "avatar": "https://pretalx.northbaypython.org/media/avatars/profile_pre_wedding_1024_t6L1Tnf.png", "biography": "TKTK", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/HAK88G/", "id": 172, "guid": "c4af5198-fce9-52b7-b7f1-5fe03651464e", "date": "2026-04-26T15:45:00-07:00", "start": "15:45", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-172-anonymous-functions-and-other-ways-to-annoy-your-coworkers-", "title": "Anonymous Functions (and Other Ways to Annoy Your Coworkers)", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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.\r\n\r\nWe'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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "831fafb1-97bd-518e-b8bc-cea03c0eb43f", "id": 43, "code": "ZDSMPL", "public_name": "Joe Kaufeld", "avatar": "https://pretalx.northbaypython.org/media/avatars/joe_and_hedy_ev2fDE7.png", "biography": "Maker, breaker, and professional eater of bread, Joe is fascinated by the way things work.  Photography, 3D printing, and a lot of other hobbies mash together into the shape of a dude who just wants to leave the world better than he found it. Find him online at @itsthejoker@hachyderm.io, @filamentcolors.xyz on bluesky, or through email at hello@joekaufeld.com.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://pretalx.northbaypython.org/nbpy-2026/talk/WQJ8LC/", "id": 163, "guid": "3d388c82-21c7-546a-8ea6-e69732f089a3", "date": "2026-04-26T16:15:00-07:00", "start": "16:15", "logo": null, "duration": "00:25", "room": "Barn", "slug": "nbpy-2026-163-the-python-community-needs-more-cats", "title": "The Python Community Needs More Cats", "subtitle": "", "track": null, "type": "Talk", "language": "en", "abstract": "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\u2019s 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.  \r\n\r\nIn this talk I will discuss strategies for staying on target with your goals, communicating with team members about what\u2019s important and working around what isn\u2019t 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.", "description": null, "recording_license": "", "do_not_record": false, "persons": [{"guid": "46a11b93-0dfb-57c4-af54-da05ea641866", "id": 118, "code": "PV9L73", "public_name": "Deb Nicholson", "avatar": "https://pretalx.northbaypython.org/media/avatars/PV9L73_PJGBLdw.jpg", "biography": "Deb Nicholson is an open source software policy expert and a passionate community advocate. She is the Executive Director at the Python Software Foundation which serves as the non-profit steward of the Python programming language. She\u2019s won the O\u2019Reilly Open Source Award and the Award for the Advancement of Free Software for her efforts to broaden the free and open source software movement. She serves on the Board of Directors for the Spritely Institute and on the Advisory Board for Computer Science at Cambridge Rindge and Latin School. She lives with her husband and her lucky black cat in Cambridge, Massachusetts.", "answers": []}], "links": [], "attachments": [], "answers": []}]}}]}}}