What is error culture, and how do you avoid it within your organization? How do you navigate alert and notification fatigue? Hey, it’s episode #200! Real Python’s editor-in-chief, Dan Bader, joins us this week to celebrate. Christopher Trudeau also returns to bring another batch of PyCoder’s Weekly articles and projects.
We discuss an article series about error culture. We dig into false positives, hero culture, and the tendency to start ignoring alerts. We contrast our personal experiences and propose possible remedies. Dan describes configuring Real Python’s alert system.
We also share several other articles and projects from the Python community, including a news roundup, reading and writing WAV files in Python, moving beyond flat files toward SQLite and SQLAlchemy, getting help in Python, exploring four kinds of optimization, a framework for building web scrapers, and a project to simply subprocesses.
This week’s episode is brought to you by Sentry.
Course Spotlight: SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files
In this video course, you’ll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods.
Topics:
- 00:00:00 – Introduction
- 00:02:42 – PyPI Hiring a Support Specialist
- 00:03:19 – PyPI Temporarily Halted New Users and Projects
- 00:04:14 – What we know about the xz Utils backdoor
- 00:05:38 – CPython, PyPI, and the backdoor of xz
- 00:07:18 – Episode 200 appreciation and the journey
- 00:09:18 – A visit from Dan
- 00:14:14 – Reading and Writing WAV Files in Python
- 00:19:56 – Sponsor: Sentry
- 00:21:03 – SQLite and SQLAlchemy in Python
- 00:27:36 – Getting Help (In Python)
- 00:32:49 – Laurence Tratt: Four Kinds of Optimization
- 00:40:54 – Video Course Spotlight
- 00:42:26 – Discussion: Error Culture
- 00:58:03 – botasaurus: The All in One Framework to Build Awesome Scrapers
- 01:01:04 – suby: Slightly Simplified Subprocesses
- 01:02:50 – Thanks and goodbye
News:
- PyPI Hiring a Support Specialist (Remote)
- PyPI Temporarily Halted New Users and Projects – To fend off a supply-chain attack, PyPI temporarily halted new users and projects for about 10 hours last week. This article discusses why, and the scourge of supply-chain attacks.
- What we know about the xz Utils backdoor that almost infected the world - Ars Technica
- CPython, PyPI, and many Python packages are not affected by the backdoor of xz - Core Development - Discussions on Python.org
Topics:
- Reading and Writing WAV Files in Python – In this tutorial, you’ll learn how to work with WAV audio files in Python using the standard-library wave module. Along the way, you’ll synthesize sounds from scratch, visualize waveforms in the time domain, animate real-time spectrograms, and apply special effects to widen the stereo field.
- SQLite and SQLAlchemy in Python: Beyond Flat Files – In this video course, you’ll learn how to store and retrieve data using Python, SQLite, and SQLAlchemy as well as with flat files. Using SQLite with Python brings with it the additional benefit of accessing data with SQL. By adding SQLAlchemy, you can work with data in terms of objects and methods.
- How SQLite Is Tested – The page describes how SQLite is rigorously tested using four test harnesses, fuzz testing, anomaly testing like crash and I/O error simulations, and other techniques to ensure reliability.
- Getting Help (In Python) – When trying to remember just where sleep() was in the Python standard library, Ishaan stumbled through the built-in help and learned how to use it to answer just these kinds of questions.
- Laurence Tratt: Four Kinds of Optimization – “Premature optimization might be the root of all evil, but overdue optimization is the root of all frustration. No matter how fast hardware becomes, we find it easy to write programs which run too slow.” Read on to learn what to do about it.
Discussion:
- Error Culture
- Error Culture Part II
- Error Culture Part III
Projects:
- botasaurus: The All in One Framework to Build Awesome Scrapers
- suby: Slightly Simplified Subprocesses
Additional Links:
- xkcd: Exploits of a Mom
- How SQLite Is Tested
- SettingWithCopyWarning in pandas: Views vs Copies – Real Python
- 99% Invisible - Mini-Stories: Volume 4
Level up your Python skills with our expert-led courses:
- Playing and Recording Sound in Python
- Exploring Scopes and Closures in Python
- SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files
Support the podcast & join our community of Pythonistas