Continuing to Improve the Learning Experience at Real Python
<p>If you haven’t visited the Real Python website lately, then it’s time to check out a great batch of updates on realpython.com! Dan Bader returns to the show this week to discuss improvements to the site and more ways to learn Python.</p>
<p>Dan details changes to the website, including our Python reference area. This tool provides a quick reference for both beginners and experienced developers looking for concise definitions and refreshers on Python’s features.</p>
<p>We discuss the expansion of our live courses to include a beginner course and an intermediate deep dive. Dan also shares how we’re growing the team and highlights the ongoing commitment to our editorial standards.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Spotlight:</strong> <a href="https://realpython.com/workshops/python-for-beginners/">Python for Beginners: Code With Confidence</a></p>
<p>Learn the fundamentals of Python step-by-step in a friendly, interactive cohort. Build confidence writing code and understand the “why” behind Python’s core concepts.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:54 – Real Python Reference </li>
<li>00:08:31 – Integration with search </li>
<li>00:13:51 – Sponsor: Honeybadger </li>
<li>00:14:38 – Live courses </li>
<li>00:23:20 – Podcast visibility and interconnection </li>
<li>00:32:42 – Spotlight </li>
<li>00:33:35 – Editorial standards and goals for 2026 </li>
<li>00:36:28 – Building the team </li>
<li>00:37:52 – Real Python for teams </li>
<li>00:40:56 – Feedback and listening to users </li>
<li>00:43:23 – Thanks and goodbye </li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://realpython.com/ref/">Reference – Real Python</a></li>
<li><a href="https://realpython.com/live/">Cohort-Based Live Python Courses – Real Python</a></li>
<li><a href="https://realpython.com/podcasts/rpp/246/">Episode #246: Learning Intermediate Python With a Deep Dive Course</a></li>
<li><a href="https://realpython.com/podcasts/rpp/279/">Episode #279: Coding Python With Confidence: Beginners Live Course Participants</a></li>
<li><a href="https://realpython.com/podcasts/rpp/">The Real Python Podcast – Real Python</a></li>
<li><a href="https://realpython.com/learning-paths/">Python Learning Paths – Real Python</a></li>
<li><a href="https://realpython.com/editorial-guidelines/">Editorial Guidelines – Real Python</a></li>
<li><a href="https://realpython.com/team/">Meet Our Team – Real Python</a></li>
<li><a href="https://realpython.com/account/join-team/">Team Memberships – Real Python</a></li>
<li><a href="https://realpython.com/feedback/">Feedback – Real Python</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/python-decorators-101/">Python Decorators 101</a></li>
<li><a href="https://realpython.com/courses/python-basics-first-program/">Python Basics: Code Your First Python Program</a></li>
<li><a href="https://realpython.com/courses/intro-object-oriented-programming/">Intro to Object-Oriented Programming (OOP) in Python</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
Avoiding Error Culture and Getting Help Inside Python
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>This week’s episode is brought to you by Sentry.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Course Spotlight:</strong> <a href="https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/">SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files</a></p>
<p>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.</p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:02:42 – PyPI Hiring a Support Specialist </li>
<li>00:03:19 – PyPI Temporarily Halted New Users and Projects</li>
<li>00:04:14 – What we know about the xz Utils backdoor</li>
<li>00:05:38 – CPython, PyPI, and the backdoor of xz</li>
<li>00:07:18 – Episode 200 appreciation and the journey</li>
<li>00:09:18 – A visit from Dan</li>
<li>00:14:14 – Reading and Writing WAV Files in Python</li>
<li>00:19:56 – Sponsor: Sentry</li>
<li>00:21:03 – SQLite and SQLAlchemy in Python</li>
<li>00:27:36 – Getting Help (In Python)</li>
<li>00:32:49 – Laurence Tratt: Four Kinds of Optimization</li>
<li>00:40:54 – Video Course Spotlight</li>
<li>00:42:26 – Discussion: Error Culture</li>
<li>00:58:03 – botasaurus: The All in One Framework to Build Awesome Scrapers</li>
<li>01:01:04 – suby: Slightly Simplified Subprocesses</li>
<li>01:02:50 – Thanks and goodbye</li>
</ul>
<p>News:</p>
<ul>
<li><a href="https://pythonsoftwarefoundation.applytojob.com/apply/nyYHuOha9h/PyPI-Support-Specialist">PyPI Hiring a Support Specialist (Remote)</a></li>
<li><a href="https://arstechnica.com/security/2024/03/pypi-halted-new-users-and-projects-while-it-fended-off-supply-chain-attack/">PyPI Temporarily Halted New Users and Projects</a> – 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.</li>
<li><a href="https://arstechnica.com/security/2024/04/what-we-know-about-the-xz-utils-backdoor-that-almost-infected-the-world/">What we know about the xz Utils backdoor that almost infected the world - Ars Technica</a></li>
<li><a href="https://discuss.python.org/t/cpython-pypi-and-many-python-packages-are-not-affected-by-the-backdoor-of-xz/49873">CPython, PyPI, and many Python packages are not affected by the backdoor of xz - Core Development - Discussions on Python.org</a></li>
</ul>
<p>Topics:</p>
<ul>
<li><a href="https://realpython.com/python-wav-files/">Reading and Writing WAV Files in Python</a> – 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.</li>
<li><a href="https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/">SQLite and SQLAlchemy in Python: Beyond Flat Files</a> – 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.</li>
<li><a href="https://www.sqlite.org/testing.html">How SQLite Is Tested</a> – 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.</li>
<li><a href="https://pulsar17.me/2024/02/ongettinghelp">Getting Help (In Python)</a> – When trying to remember just where <code>sleep()</code> 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.</li>
<li><a href="https://tratt.net/laurie/blog/2023/four_kinds_of_optimisation.html">Laurence Tratt: Four Kinds of Optimization</a> – “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.</li>
</ul>
<p>Discussion:</p>
<ul>
<li><a href="https://www.ryancheley.com/2023/10/29/error-culture/">Error Culture</a></li>
<li><a href="https://www.ryancheley.com/2023/11/09/error-culture-part-ii/">Error Culture Part II</a></li>
<li><a href="https://www.ryancheley.com/2023/11/14/error-culture-part-iii/">Error Culture Part III</a></li>
</ul>
<p>Projects:</p>
<ul>
<li><a href="https://github.com/omkarcloud/botasaurus">botasaurus: The All in One Framework to Build Awesome Scrapers</a></li>
<li><a href="https://github.com/pomponchik/suby">suby: Slightly Simplified Subprocesses</a></li>
</ul>
<p>Additional Links:</p>
<ul>
<li><a href="https://xkcd.com/327/">xkcd: Exploits of a Mom</a></li>
<li><a href="https://www.sqlite.org/testing.html">How SQLite Is Tested</a></li>
<li><a href="https://realpython.com/pandas-settingwithcopywarning/">SettingWithCopyWarning in pandas: Views vs Copies – Real Python</a></li>
<li><a href="https://99percentinvisible.org/episode/mini-stories-volume-4/2/">99% Invisible - Mini-Stories: Volume 4</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/playing-and-recording-sound-python/">Playing and Recording Sound in Python</a></li>
<li><a href="https://realpython.com/courses/exploring-scopes-and-closures-in-python/">Exploring Scopes and Closures in Python</a></li>
<li><a href="https://realpython.com/courses/sqlite-sqlalchemy-python-beyond-flat-files/">SQLite and SQLAlchemy in Python: Move Your Data Beyond Flat Files</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>
Improving the Learning Experience on Real Python
<p>If you haven’t visited the website lately, then you’re missing out on the updates to realpython.com! The site features a completely refreshed layout with multiple sections to help you take advantage of even more great educational Python content. This week on the show, we have Dan Bader, the person behind Real Python, and all these architectural changes.</p>
<p>Among the features changed are a new bookmarking system, a section to keep track of what you’ve been learning lately, and a much more advanced way to search the site. A new tile system makes it easier to explore learning paths, quizzes, office hours, and other sections of the site.</p>
<p>Dan shares details about the website technology stack and why he started using Python for the core content management system. He also talks about the struggle of being the sole maintainer and feature architect.</p>
<div class="alert alert-primary" role="alert">
<p><strong>Spotlight:</strong> <a href="https://realpython.com/products/python-basics-book/">Python Basics: A Practical Introduction to Python 3</a></p>
<p>Go from beginner to intermediate in Python with this complete curriculum, up-to-date for Python 3.9. <em>Python Basics</em> includes exercises, interactive quizzes, and sample projects, so you’ll always know what to focus on next in order to build a strong Python foundation. <a href="https://realpython.com/products/python-basics-paperback/">Paperback copies are available now.</a></p>
</div>
<p>Topics:</p>
<ul>
<li>00:00:00 – Introduction</li>
<li>00:01:44 – Welcome to the show Dan!</li>
<li>00:03:12 – What updates are happening on the website? </li>
<li>00:04:40 – The “Continue Learning” section</li>
<li>00:16:02 – Updating how search works</li>
<li>00:21:41 – Sponsor: PyCharm</li>
<li>00:22:22 – Implementing bookmarking of articles</li>
<li>00:26:39 – A development team of one</li>
<li>00:28:16 – Surfacing features with explore</li>
<li>00:35:39 – How to take advantage of the new features? </li>
<li>00:39:26 – Spotlight: Python Basics in paper back available now!</li>
<li>00:41:12 – What did it take to implement progress system?</li>
<li>00:47:27 – Closed captions and transcripts complete across all courses</li>
<li>00:48:47 – Python Basics and CPython Internals books</li>
<li>00:53:38 – What are you excited about in the world of Python?</li>
<li>00:58:40 – What do you want to learn next?</li>
<li>01:02:21 – What is something you thought you knew about Real Python but were wrong about it?</li>
<li>01:06:00 – Request for reviews, feedback, and questions</li>
<li>01:09:06 – Thanks and goodbye</li>
</ul>
<p>Show Links:</p>
<ul>
<li><a href="https://realpython.com/">The New Homepage of Real Python</a> (must be signed-in to see it – or you can <a href="https://twitter.com/dbader_org/status/1365083048388173826">view a screenshot here</a>)</li>
<li><a href="https://realpython.com/article-bookmarks-search-improvements/">New Features Announcement Post: Article Bookmarks, Completion Status, and Search Improvements</a></li>
<li><a href="https://realpython.com/courses/real-python-welcome/">Course: Welcome to Real Python!</a></li>
<li><a href="https://realpython.com/team/dbader/">About Dan Bader</a></li>
<li><a href="https://realpython.com/learning-paths/">Python Learning Paths</a></li>
<li><a href="https://realpython.com/quizzes/">Python Quizzes</a></li>
<li><a href="https://realpython.com/office-hours/">Office Hours</a></li>
<li><a href="https://realpython.com/teams">Real Python for Teams (Online Python training for businesses)</a></li>
<li><a href="https://realpython.com/products/python-basics-book/">Python Basics: A Practical Introduction to Python 3</a></li>
<li><a href="https://realpython.com/products/cpython-internals-book/">CPython Internals: Your Guide to the Python 3 Interpreter</a></li>
<li><a href="https://realpython.com/podcast-question">Leave a voicemail for a chance to get it featured on the show!</a></li>
<li><a href="https://basecamp.com/books">Books by Basecamp</a></li>
</ul>
<p>Level up your Python skills with our expert-led courses:</p>
<ul>
<li><a href="https://realpython.com/courses/django-admin-customization/">Django Admin Customization</a></li>
<li><a href="https://realpython.com/courses/django-portfolio-project/">Getting Started With Django: Building a Portfolio App</a></li>
<li><a href="https://realpython.com/courses/records-sets-ideal-data-structure/">Records and Sets: Selecting the Ideal Data Structure</a></li>
</ul> <p><a rel="payment" href="https://realpython.com/join">Support the podcast & join our community of Pythonistas</a></p>