Python Bytes  By  cover art

Python Bytes

By: Michael Kennedy and Brian Okken
  • Summary

  • Python Bytes is a weekly podcast hosted by Michael Kennedy and Brian Okken. The show is a short discussion on the headlines and noteworthy news in the Python, developer, and data science space.
    Copyright 2016-2024
    Show more Show less
activate_primeday_promo_in_buybox_DT
Episodes
  • #392 The votes have been counted
    Jul 17 2024
    Topics covered in this episode: 2024 PSF Board Election & Proposed Bylaw Change ResultsSATYRN: A modern Jupyter client for MacIncident Report: Leaked GitHub Personal Access TokenExtra extra extraExtrasJokeWatch on YouTube About the show Sponsored by Code Comments, an original podcast from RedHat: pythonbytes.fm/code-comments Connect with the hosts Michael: @mkennedy@fosstodon.orgBrian: @brianokken@fosstodon.orgShow: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: 2024 PSF Board Election & Proposed Bylaw Change Results New board members Tania AllardKwonHan BaeCristián Maureira-FredesCongrats to new board membersIf you want to consider becoming a board member, there are 4 seats up for vote next year.All 3 bylaw changes passed, by a wide margin. Details of changesChange 1: Merging Contributing and Managing member classesChange 2: Simplifying the voter affirmation process by treating past voting activity as intent to continue votingChange 3: Allow for removal of Fellows by a Board vote in response to Code of Conduct violations, removing the need for a vote of the membership Michael #2: SATYRN: A modern Jupyter client for Mac A Jupyter client app for macOSComes with a command paletteLLM assistance (local or cloud?)Built in Black formatterCurrently in alphaBusiness model unknown Brian #3: Incident Report: Leaked GitHub Personal Access Token Suggested by Galen SwintSee also JFrog blog: Binary secret scanning helped us prevent (what might have been) the worst supply chain attack you can imagineA GitHub access token found it’s way into a .pyc file, then into a docker image.JFrog found it through some regular scans.JFrog notified PYPI security.Token was destroyed within 17 minutes. (nice turnaround)Followup scan revealed that no harm was done.Takaways (from Ee Durbin): Set aggressive expiration dates for API tokens (If you need them at all)Treat .pyc files as if they were source codePerform builds on automated systems from clean source only. Michael #4: Extra extra extra Python 3.13.0 beta 3 releasedIce got a lot betterI Will Piledrive You If You Say AI Again | Prime Reacts VideoFollow up actions for polyfill supply chain attackDeveloper Ecosystem Survey 2024Code in a Castle still has seats open Extras Brian: A new pytest course in the works Quick course focusing on core pytest features + some strategy and Design for Testability conceptsIdea everyone on the team (including managers) can take the new course.1-2 people on a team take “The Complete pytest Course” to become the teams local pytest experts.Python People is on an indefinite hold Python Test → back to Test & Code (probably) I’m planning a series (maybe a season) on TDD which will be language agnostic.Plus I still have tons of Test & Code stickers and no Python Test stickers.New episodes planned for August Joke: I need my intellisense (autocomplete)
    Show more Show less
    26 mins
  • #391 A weak episode
    Jul 9 2024
    Topics covered in this episode: Vendorize packages from PyPIA Guide to Python's Weak References Using weakref ModuleMaking Time SpeakHow Should You Test Your Machine Learning Project? A Beginner’s GuideExtrasJokeWatch on YouTube About the show Sponsored by Code Comments, an original podcast from RedHat: pythonbytes.fm/code-comments Connect with the hosts Michael: @mkennedy@fosstodon.orgBrian: @brianokken@fosstodon.orgShow: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: Vendorize packages from PyPI Allows pure-Python dependencies to be vendorized: that is, the Python source of the dependency is copied into your own package.Best used for small, pure-Python dependencies Brian #2: A Guide to Python's Weak References Using weakref Module Martin HeinzVery cool discussion of weakrefQuick garbage collection intro, and how references and weak references are used.Using weak references to build data structures. Example of two kinds of treesImplementing the Observer patternHow logging and OrderedDict use weak references Michael #3: Making Time Speak by Prayson, a former guest and friend of the showTranslating time into human-friendly spoken expressionsExample: clock("11:15") # 'quarter past eleven' Features Convert time into spoken expressions in various languages.Easy-to-use API with a simple and intuitive design.Pure Python implementation with no external dependencies.Extensible architecture for adding support for additional languages using the plugin design pattern. Brian #4: How Should You Test Your Machine Learning Project? A Beginner’s Guide François PorcherUsing pytest and pytest-cov for testing machine learning projectsLots of pieces can and should be tested just as normal functions. Example of testing a clean_text(text: str) -> str functionTest larger chunks with canned input and expected output. Example test_tokenize_text()Using fixtures for larger reusable components in testing Example fixture: bert_tokenizer() with pretrained dataChecking coverage Extras Michael: Twilio Authy Hack Google Authenticator is the only option? Really?Bitwarden to the rescueRequires (?) an update to their app, whose release notes (v26.1.0) only say “Bug fixes”Introducing Docs in Proton Drive This is what I called on Mozilla to do in “Unsolicited Advice for Mozilla and Firefox” But Proton got there firstEarly bird ending for Code in a Castle course Joke: I Lied
    Show more Show less
    26 mins
  • #390 Coding in a Castle
    Jul 2 2024
    Topics covered in this episode: Joining Strings in Python: A "Huh" Moment10 hard-to-swallow truths they won't tell you about software engineer jobMy thoughts on Python in ExcelExtra, extra, extraExtrasJokeWatch on YouTube About the show Sponsored by ScoutAPM: pythonbytes.fm/scout Connect with the hosts Michael: @mkennedy@fosstodon.orgBrian: @brianokken@fosstodon.orgShow: @pythonbytes@fosstodon.org Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesdays at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Brian #1: Joining Strings in Python: A "Huh" Moment Veronica Berglyd OlsenStandard solution to “read lines from a file, do some filtering, create a multiline string”: f = open("input_file.txt") filtered_text = "\n".join(x for x in f if not x.startswith("#")) This uses a generator, file reading, and passes the generator to join.Another approach is to add brackets and pass that generator to a list comprehension: f = open("input_file.txt") filtered_text = "\n".join([x for x in f if not x.startswith("#")]) At first glance, this seems to just be extra typing, but it’s actually faster by 16% on CPython due to the implementation of .join() doing 2 passes on input if passed a generator. From Trey Hunner: “I do know that it’s not possible to do 2 passes over a generator (since it’d be exhausted after the first pass) so from my understanding, the generator version requires an extra step of storing all the items in a list first.” Michael #2: 10 hard-to-swallow truths they won't tell you about software engineer job College will not prepare you for the jobYou will rarely get greenfield projectsNobody gives a BLANK about your clean codeYou will sometimes work with incompetent peopleGet used to being in meetings for hoursThey will ask you for estimates a lot of timesBugs will be your arch-enemy for lifeUncertainty will be your toxic friendIt will be almost impossible to disconnect from your jobYou will profit more from good soft skills than from good technical skills Brian #3: My thoughts on Python in Excel Felix ZumsteinInteresting take on one person’s experience with trying Python in Excel.“We wanted an alternative to VBA, but got an alternative to the Excel formula language”“Python runs in the cloud on Azure Container Instances and not inside Excel.”“DataFrames are great, but so are NumPy arrays and lists.”… lots of other interesting takaways. Michael #4: Extra, extra, extra Code in a castle - Michael’s Python Zero to Hero course in TuscanyPolyfill.io JavaScript supply chain attack impacts over 100K sites Now required reading: Reasons to avoid Javascript CDNsMac users served info-stealer malware through Google adsHTMX for the win!ssh to run remote commands > ssh user@server "command_to_run --arg1 --arg2" Extras Brian: A fun reaction to AI - I will not be showing the link on our live stream, due to colorful language. Michael: Coding in a Castle Developer Education EventPolyfill.io JavaScript supply chain attack impacts over 100K sites See Reasons to avoid Javascript CDNs Joke: HTML Hacker
    Show more Show less
    37 mins

What listeners say about Python Bytes

Average customer ratings
Overall
  • 5 out of 5 stars
  • 5 Stars
    1
  • 4 Stars
    0
  • 3 Stars
    0
  • 2 Stars
    0
  • 1 Stars
    0
Performance
  • 5 out of 5 stars
  • 5 Stars
    1
  • 4 Stars
    0
  • 3 Stars
    0
  • 2 Stars
    0
  • 1 Stars
    0
Story
  • 5 out of 5 stars
  • 5 Stars
    1
  • 4 Stars
    0
  • 3 Stars
    0
  • 2 Stars
    0
  • 1 Stars
    0

Reviews - Please select the tabs below to change the source of reviews.

Sort by:
Filter by:
  • Overall
    5 out of 5 stars
  • Performance
    5 out of 5 stars
  • Story
    5 out of 5 stars

Great content for Python programmers

I've listened for years and am grateful for its content. If you listen, you'll learn much about Python, its ecosystem. and its contributors.

Something went wrong. Please try again in a few minutes.

You voted on this review!

You reported this review!