From 65e05cb246b0e2b2aa70df97a202445a6d25849b Mon Sep 17 00:00:00 2001 From: Amethyst Reese Date: Mon, 18 May 2026 14:51:11 -0700 Subject: [PATCH 1/2] Add videos from North Bay Python 2026 --- north-bay-python-2026/category.json | 3 ++ .../videos/an-economy-of-empathy.json | 29 ++++++++++++++++++ ...nd-other-ways-to-annoy-your-coworkers.json | 29 ++++++++++++++++++ ...eware-from-typo-fix-to-core-developer.json | 29 ++++++++++++++++++ ...ching-survival-skills-you-didn-t-know.json | 29 ++++++++++++++++++ .../videos/cursed-comedy.json | 30 +++++++++++++++++++ ...ython-apis-for-data-you-don-t-control.json | 29 ++++++++++++++++++ ...square-dancing-dancing-for-math-nerds.json | 29 ++++++++++++++++++ ...ect-scope-survives-contact-with-users.json | 29 ++++++++++++++++++ ...estrator-when-to-glue-when-to-compute.json | 29 ++++++++++++++++++ ...sting-crafting-the-perfect-board-game.json | 29 ++++++++++++++++++ ...nning-resistance-tech-on-a-shoestring.json | 29 ++++++++++++++++++ .../videos/state-of-exception-s.json | 29 ++++++++++++++++++ ...ronies-of-automation-in-the-age-of-ai.json | 29 ++++++++++++++++++ .../the-python-community-needs-more-cats.json | 29 ++++++++++++++++++ ...praxis-says-about-internet-networking.json | 29 ++++++++++++++++++ ...t-and-is-that-even-the-right-question.json | 29 ++++++++++++++++++ ...ve-changed-gears-i-ve-managed-to-find.json | 29 ++++++++++++++++++ 18 files changed, 497 insertions(+) create mode 100644 north-bay-python-2026/category.json create mode 100644 north-bay-python-2026/videos/an-economy-of-empathy.json create mode 100644 north-bay-python-2026/videos/anonymous-functions-and-other-ways-to-annoy-your-coworkers.json create mode 100644 north-bay-python-2026/videos/bumbling-into-beeware-from-typo-fix-to-core-developer.json create mode 100644 north-bay-python-2026/videos/crisis-technical-communication-teaching-survival-skills-you-didn-t-know.json create mode 100644 north-bay-python-2026/videos/cursed-comedy.json create mode 100644 north-bay-python-2026/videos/designing-python-apis-for-data-you-don-t-control.json create mode 100644 north-bay-python-2026/videos/modern-western-square-dancing-dancing-for-math-nerds.json create mode 100644 north-bay-python-2026/videos/no-project-scope-survives-contact-with-users.json create mode 100644 north-bay-python-2026/videos/python-as-orchestrator-when-to-glue-when-to-compute.json create mode 100644 north-bay-python-2026/videos/python-playtesting-crafting-the-perfect-board-game.json create mode 100644 north-bay-python-2026/videos/running-resistance-tech-on-a-shoestring.json create mode 100644 north-bay-python-2026/videos/state-of-exception-s.json create mode 100644 north-bay-python-2026/videos/the-ironies-of-automation-in-the-age-of-ai.json create mode 100644 north-bay-python-2026/videos/the-python-community-needs-more-cats.json create mode 100644 north-bay-python-2026/videos/what-feminist-theory-praxis-says-about-internet-networking.json create mode 100644 north-bay-python-2026/videos/what-is-correct-and-is-that-even-the-right-question.json create mode 100644 north-bay-python-2026/videos/while-i-ve-changed-gears-i-ve-managed-to-find.json diff --git a/north-bay-python-2026/category.json b/north-bay-python-2026/category.json new file mode 100644 index 000000000..068d2c158 --- /dev/null +++ b/north-bay-python-2026/category.json @@ -0,0 +1,3 @@ +{ + "title": "North Bay Python 2026" +} diff --git a/north-bay-python-2026/videos/an-economy-of-empathy.json b/north-bay-python-2026/videos/an-economy-of-empathy.json new file mode 100644 index 000000000..d73321ccf --- /dev/null +++ b/north-bay-python-2026/videos/an-economy-of-empathy.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.\n\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.\n\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.\n\nContent warning: Graphic descriptions of oppression, violence, sexual abuse, child abuse and animal abuse.", + "duration": 1628, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Mario Munoz" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/bf2b1CBz-wc/maxresdefault.jpg", + "title": "An Economy of Empathy", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=bf2b1CBz-wc" + } + ] +} diff --git a/north-bay-python-2026/videos/anonymous-functions-and-other-ways-to-annoy-your-coworkers.json b/north-bay-python-2026/videos/anonymous-functions-and-other-ways-to-annoy-your-coworkers.json new file mode 100644 index 000000000..7440bc946 --- /dev/null +++ b/north-bay-python-2026/videos/anonymous-functions-and-other-ways-to-annoy-your-coworkers.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.\n\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.", + "duration": 1620, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Joe Kaufeld" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/kEOgxtiYzpg/maxresdefault.jpg", + "title": "Anonymous Functions (and Other Ways to Annoy Your Coworkers)", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=kEOgxtiYzpg" + } + ] +} diff --git a/north-bay-python-2026/videos/bumbling-into-beeware-from-typo-fix-to-core-developer.json b/north-bay-python-2026/videos/bumbling-into-beeware-from-typo-fix-to-core-developer.json new file mode 100644 index 000000000..d912b9a82 --- /dev/null +++ b/north-bay-python-2026/videos/bumbling-into-beeware-from-typo-fix-to-core-developer.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.", + "duration": 1583, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Kattni" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/tFvqb3CabQ0/maxresdefault.jpg", + "title": "Bumbling into BeeWare: From typo-fix to core developer", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=tFvqb3CabQ0" + } + ] +} diff --git a/north-bay-python-2026/videos/crisis-technical-communication-teaching-survival-skills-you-didn-t-know.json b/north-bay-python-2026/videos/crisis-technical-communication-teaching-survival-skills-you-didn-t-know.json new file mode 100644 index 000000000..4e2c99696 --- /dev/null +++ b/north-bay-python-2026/videos/crisis-technical-communication-teaching-survival-skills-you-didn-t-know.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.\n\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!", + "duration": 1873, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Margaret Fero" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/LL62AQ6dt1U/maxresdefault.jpg", + "title": "Crisis (Technical) Communication: Teaching Survival Skills You Didn\u2019t Know...", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=LL62AQ6dt1U" + } + ] +} diff --git a/north-bay-python-2026/videos/cursed-comedy.json b/north-bay-python-2026/videos/cursed-comedy.json new file mode 100644 index 000000000..0d34f1de0 --- /dev/null +++ b/north-bay-python-2026/videos/cursed-comedy.json @@ -0,0 +1,30 @@ +{ + "copyright_text": "", + "description": "One of the benefits of having a partner in (code) crime is developing a rapport and asking dangerous questions that lead to unfortunate code.\n\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.\n\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.", + "duration": 1313, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Jamie Bliss", + "Piper Thunstrom" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/_-COxHJuP-4/maxresdefault.jpg", + "title": "Cursed Comedy", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=_-COxHJuP-4" + } + ] +} diff --git a/north-bay-python-2026/videos/designing-python-apis-for-data-you-don-t-control.json b/north-bay-python-2026/videos/designing-python-apis-for-data-you-don-t-control.json new file mode 100644 index 000000000..9c2c12203 --- /dev/null +++ b/north-bay-python-2026/videos/designing-python-apis-for-data-you-don-t-control.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.\n\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.\n\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.\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.", + "duration": 803, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Saurav Jain" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/8jFb-oAFqTg/maxresdefault.jpg", + "title": "Designing Python APIs for Data You Don\u2019t Control", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=8jFb-oAFqTg" + } + ] +} diff --git a/north-bay-python-2026/videos/modern-western-square-dancing-dancing-for-math-nerds.json b/north-bay-python-2026/videos/modern-western-square-dancing-dancing-for-math-nerds.json new file mode 100644 index 000000000..9f0fff9fd --- /dev/null +++ b/north-bay-python-2026/videos/modern-western-square-dancing-dancing-for-math-nerds.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.\n\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.", + "duration": 2085, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Dan Lyke" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/aJVvaz8eFwA/maxresdefault.jpg", + "title": "Modern Western Square Dancing: dancing for math nerds", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=aJVvaz8eFwA" + } + ] +} diff --git a/north-bay-python-2026/videos/no-project-scope-survives-contact-with-users.json b/north-bay-python-2026/videos/no-project-scope-survives-contact-with-users.json new file mode 100644 index 000000000..5d81808b3 --- /dev/null +++ b/north-bay-python-2026/videos/no-project-scope-survives-contact-with-users.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.", + "duration": 1628, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Min Ragan-Kelley" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/zuL1yAL1Mr0/maxresdefault.jpg", + "title": "No Project Scope Survives Contact with Users", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=zuL1yAL1Mr0" + } + ] +} diff --git a/north-bay-python-2026/videos/python-as-orchestrator-when-to-glue-when-to-compute.json b/north-bay-python-2026/videos/python-as-orchestrator-when-to-glue-when-to-compute.json new file mode 100644 index 000000000..c72942a82 --- /dev/null +++ b/north-bay-python-2026/videos/python-as-orchestrator-when-to-glue-when-to-compute.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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?\"\n\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. \n\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.\n\nKey Takeaways:\n1. Decision framework for orchestration vs. computation: Four-question evaluation to determine what belongs in Python versus compiled languages \n2. Three architectural patterns for integrating Python with high-performance code: When and how to use each pattern effectively (with code examples)\n3. Anti-pattern recognition: Build intuition for justified complexity versus technical debt", + "duration": 1302, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Freya Bhushan Mehta" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/CgE3ckge8Pc/maxresdefault.jpg", + "title": "Python as Orchestrator: When to Glue, When to Compute", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=CgE3ckge8Pc" + } + ] +} diff --git a/north-bay-python-2026/videos/python-playtesting-crafting-the-perfect-board-game.json b/north-bay-python-2026/videos/python-playtesting-crafting-the-perfect-board-game.json new file mode 100644 index 000000000..a28b6858b --- /dev/null +++ b/north-bay-python-2026/videos/python-playtesting-crafting-the-perfect-board-game.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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?\n\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.", + "duration": 1345, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Alla Barbalat" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/e-jqu4q9_Co/maxresdefault.jpg", + "title": "Python Playtesting: Crafting the Perfect Board Game", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=e-jqu4q9_Co" + } + ] +} diff --git a/north-bay-python-2026/videos/running-resistance-tech-on-a-shoestring.json b/north-bay-python-2026/videos/running-resistance-tech-on-a-shoestring.json new file mode 100644 index 000000000..ae31a9594 --- /dev/null +++ b/north-bay-python-2026/videos/running-resistance-tech-on-a-shoestring.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.", + "duration": 2062, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Philip James" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/2HrELUrXfoA/maxresdefault.jpg", + "title": "Running Resistance Tech on a Shoestring", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=2HrELUrXfoA" + } + ] +} diff --git a/north-bay-python-2026/videos/state-of-exception-s.json b/north-bay-python-2026/videos/state-of-exception-s.json new file mode 100644 index 000000000..0de1f7571 --- /dev/null +++ b/north-bay-python-2026/videos/state-of-exception-s.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.\n\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.", + "duration": 1407, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Benno Rice" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/slZsSksCX00/maxresdefault.jpg", + "title": "State of Exception(s)", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=slZsSksCX00" + } + ] +} diff --git a/north-bay-python-2026/videos/the-ironies-of-automation-in-the-age-of-ai.json b/north-bay-python-2026/videos/the-ironies-of-automation-in-the-age-of-ai.json new file mode 100644 index 000000000..01da4c1cc --- /dev/null +++ b/north-bay-python-2026/videos/the-ironies-of-automation-in-the-age-of-ai.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "It's a system. It's people. It's systems of people. It's people in a system.\n\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.\n\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.", + "duration": 1594, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "amanda casari" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/V9_AbI6ma54/maxresdefault.jpg", + "title": "The Ironies of Automation in the \"Age of AI\"", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=V9_AbI6ma54" + } + ] +} diff --git a/north-bay-python-2026/videos/the-python-community-needs-more-cats.json b/north-bay-python-2026/videos/the-python-community-needs-more-cats.json new file mode 100644 index 000000000..41b24c331 --- /dev/null +++ b/north-bay-python-2026/videos/the-python-community-needs-more-cats.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.\n\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.", + "duration": 1522, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Deb Nicholson" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/lHlAY1bLRBs/maxresdefault.jpg", + "title": "The Python Community Needs More Cats", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=lHlAY1bLRBs" + } + ] +} diff --git a/north-bay-python-2026/videos/what-feminist-theory-praxis-says-about-internet-networking.json b/north-bay-python-2026/videos/what-feminist-theory-praxis-says-about-internet-networking.json new file mode 100644 index 000000000..25745ff82 --- /dev/null +++ b/north-bay-python-2026/videos/what-feminist-theory-praxis-says-about-internet-networking.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.", + "duration": 1539, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Joelle Maslak" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/UJ9YN99VWfc/maxresdefault.jpg", + "title": "What Feminist Theory & Praxis Says About Internet Networking", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=UJ9YN99VWfc" + } + ] +} diff --git a/north-bay-python-2026/videos/what-is-correct-and-is-that-even-the-right-question.json b/north-bay-python-2026/videos/what-is-correct-and-is-that-even-the-right-question.json new file mode 100644 index 000000000..c79234b02 --- /dev/null +++ b/north-bay-python-2026/videos/what-is-correct-and-is-that-even-the-right-question.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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.\n\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.\n\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?\n\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.", + "duration": 2179, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Christopher Neugebauer" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/d7AeWFbOTHg/maxresdefault.jpg", + "title": "What is Correct?\" and is that even the right question any more?", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg" + } + ] +} diff --git a/north-bay-python-2026/videos/while-i-ve-changed-gears-i-ve-managed-to-find.json b/north-bay-python-2026/videos/while-i-ve-changed-gears-i-ve-managed-to-find.json new file mode 100644 index 000000000..ce72102b2 --- /dev/null +++ b/north-bay-python-2026/videos/while-i-ve-changed-gears-i-ve-managed-to-find.json @@ -0,0 +1,29 @@ +{ + "copyright_text": "", + "description": "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).\n\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.\n\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.\n\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.\n\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.\n\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.\n\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.", + "duration": 2181, + "language": "eng", + "recorded": "2025-04-26", + "related_urls": [ + { + "label": "Conference schedule", + "url": "https://pretalx.northbaypython.org/nbpy-2026/schedule/" + }, + { + "label": "Full playlist", + "url": "https://www.youtube.com/watch?v=d7AeWFbOTHg&list=PLaeNpBNgqQWsb59zqc_mng1OqG9XdFCiH" + } + ], + "speakers": [ + "Bob Monsour" + ], + "tags": [], + "thumbnail_url": "https://i.ytimg.com/vi/-M8ybrLFmzs/maxresdefault.jpg", + "title": "While I've changed gears... I've managed to find my web development tribe", + "videos": [ + { + "type": "youtube", + "url": "https://www.youtube.com/watch?v=-M8ybrLFmzs" + } + ] +} From 4f3debbebfc36db26bb5385097e0148883a4831d Mon Sep 17 00:00:00 2001 From: Amethyst Reese Date: Mon, 18 May 2026 15:01:16 -0700 Subject: [PATCH 2/2] Update talk dates --- ...-communication-teaching-survival-skills-you-didn-t-know.json | 2 +- north-bay-python-2026/videos/cursed-comedy.json | 2 +- .../designing-python-apis-for-data-you-don-t-control.json | 2 +- .../modern-western-square-dancing-dancing-for-math-nerds.json | 2 +- .../python-as-orchestrator-when-to-glue-when-to-compute.json | 2 +- .../python-playtesting-crafting-the-perfect-board-game.json | 2 +- .../what-is-correct-and-is-that-even-the-right-question.json | 2 +- .../videos/while-i-ve-changed-gears-i-ve-managed-to-find.json | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/north-bay-python-2026/videos/crisis-technical-communication-teaching-survival-skills-you-didn-t-know.json b/north-bay-python-2026/videos/crisis-technical-communication-teaching-survival-skills-you-didn-t-know.json index 4e2c99696..666718cc2 100644 --- a/north-bay-python-2026/videos/crisis-technical-communication-teaching-survival-skills-you-didn-t-know.json +++ b/north-bay-python-2026/videos/crisis-technical-communication-teaching-survival-skills-you-didn-t-know.json @@ -3,7 +3,7 @@ "description": "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.\n\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!", "duration": 1873, "language": "eng", - "recorded": "2025-04-26", + "recorded": "2025-04-25", "related_urls": [ { "label": "Conference schedule", diff --git a/north-bay-python-2026/videos/cursed-comedy.json b/north-bay-python-2026/videos/cursed-comedy.json index 0d34f1de0..70e643120 100644 --- a/north-bay-python-2026/videos/cursed-comedy.json +++ b/north-bay-python-2026/videos/cursed-comedy.json @@ -3,7 +3,7 @@ "description": "One of the benefits of having a partner in (code) crime is developing a rapport and asking dangerous questions that lead to unfortunate code.\n\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.\n\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.", "duration": 1313, "language": "eng", - "recorded": "2025-04-26", + "recorded": "2025-04-25", "related_urls": [ { "label": "Conference schedule", diff --git a/north-bay-python-2026/videos/designing-python-apis-for-data-you-don-t-control.json b/north-bay-python-2026/videos/designing-python-apis-for-data-you-don-t-control.json index 9c2c12203..fb05d02a3 100644 --- a/north-bay-python-2026/videos/designing-python-apis-for-data-you-don-t-control.json +++ b/north-bay-python-2026/videos/designing-python-apis-for-data-you-don-t-control.json @@ -3,7 +3,7 @@ "description": "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.\n\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.\n\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.\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.", "duration": 803, "language": "eng", - "recorded": "2025-04-26", + "recorded": "2025-04-25", "related_urls": [ { "label": "Conference schedule", diff --git a/north-bay-python-2026/videos/modern-western-square-dancing-dancing-for-math-nerds.json b/north-bay-python-2026/videos/modern-western-square-dancing-dancing-for-math-nerds.json index 9f0fff9fd..ef1121b72 100644 --- a/north-bay-python-2026/videos/modern-western-square-dancing-dancing-for-math-nerds.json +++ b/north-bay-python-2026/videos/modern-western-square-dancing-dancing-for-math-nerds.json @@ -3,7 +3,7 @@ "description": "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.\n\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.", "duration": 2085, "language": "eng", - "recorded": "2025-04-26", + "recorded": "2025-04-25", "related_urls": [ { "label": "Conference schedule", diff --git a/north-bay-python-2026/videos/python-as-orchestrator-when-to-glue-when-to-compute.json b/north-bay-python-2026/videos/python-as-orchestrator-when-to-glue-when-to-compute.json index c72942a82..acd74ed9f 100644 --- a/north-bay-python-2026/videos/python-as-orchestrator-when-to-glue-when-to-compute.json +++ b/north-bay-python-2026/videos/python-as-orchestrator-when-to-glue-when-to-compute.json @@ -3,7 +3,7 @@ "description": "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?\"\n\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. \n\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.\n\nKey Takeaways:\n1. Decision framework for orchestration vs. computation: Four-question evaluation to determine what belongs in Python versus compiled languages \n2. Three architectural patterns for integrating Python with high-performance code: When and how to use each pattern effectively (with code examples)\n3. Anti-pattern recognition: Build intuition for justified complexity versus technical debt", "duration": 1302, "language": "eng", - "recorded": "2025-04-26", + "recorded": "2025-04-25", "related_urls": [ { "label": "Conference schedule", diff --git a/north-bay-python-2026/videos/python-playtesting-crafting-the-perfect-board-game.json b/north-bay-python-2026/videos/python-playtesting-crafting-the-perfect-board-game.json index a28b6858b..d97cc5d2e 100644 --- a/north-bay-python-2026/videos/python-playtesting-crafting-the-perfect-board-game.json +++ b/north-bay-python-2026/videos/python-playtesting-crafting-the-perfect-board-game.json @@ -3,7 +3,7 @@ "description": "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?\n\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.", "duration": 1345, "language": "eng", - "recorded": "2025-04-26", + "recorded": "2025-04-25", "related_urls": [ { "label": "Conference schedule", diff --git a/north-bay-python-2026/videos/what-is-correct-and-is-that-even-the-right-question.json b/north-bay-python-2026/videos/what-is-correct-and-is-that-even-the-right-question.json index c79234b02..1425e4eeb 100644 --- a/north-bay-python-2026/videos/what-is-correct-and-is-that-even-the-right-question.json +++ b/north-bay-python-2026/videos/what-is-correct-and-is-that-even-the-right-question.json @@ -3,7 +3,7 @@ "description": "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.\n\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.\n\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?\n\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.", "duration": 2179, "language": "eng", - "recorded": "2025-04-26", + "recorded": "2025-04-25", "related_urls": [ { "label": "Conference schedule", diff --git a/north-bay-python-2026/videos/while-i-ve-changed-gears-i-ve-managed-to-find.json b/north-bay-python-2026/videos/while-i-ve-changed-gears-i-ve-managed-to-find.json index ce72102b2..1b584b7a2 100644 --- a/north-bay-python-2026/videos/while-i-ve-changed-gears-i-ve-managed-to-find.json +++ b/north-bay-python-2026/videos/while-i-ve-changed-gears-i-ve-managed-to-find.json @@ -3,7 +3,7 @@ "description": "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).\n\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.\n\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.\n\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.\n\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.\n\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.\n\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.", "duration": 2181, "language": "eng", - "recorded": "2025-04-26", + "recorded": "2025-04-25", "related_urls": [ { "label": "Conference schedule",