Podbean logo
  • Discover
  • Podcast Features
    • Podcast Hosting

      Start your podcast with all the features you need.

    • Podbean AI Podbean AI

      AI-Enhanced Audio Quality and Content Generation.

    • Blog to Podcast

      Repurpose your blog into an engaging podcast.

    • Video to Podcast

      Convert YouTube playlists to podcasts, videos to audios.

  • Monetization
    • Ads Marketplace

      Join Ads Marketplace to earn through podcast sponsorships.

    • PodAds

      Manage your ads with dynamic ad insertion capability.

    • Apple Podcasts Subscriptions Integration

      Monetize with Apple Podcasts Subscriptions via Podbean.

    • Live Streaming

      Earn rewards and recurring income from Fan Club membership.

  • Podbean App
    • Podcast Studio

      Easy-to-use audio recorder app.

    • Podcast App

      The best podcast player & podcast app.

  • Help and Support
    • Help Center

      Get the answers and support you need.

    • Podbean Academy

      Resources and guides to launch, grow, and monetize podcast.

    • Podbean Blog

      Stay updated with the latest podcasting tips and trends.

    • What’s New

      Check out our newest and recently released features!

    • Podcasting Smarter

      Podcast interviews, best practices, and helpful tips.

  • Popular Topics
    • How to Start a Podcast

      The step-by-step guide to start your own podcast.

    • How to Start a Live Podcast

      Create the best live podcast and engage your audience.

    • How to Monetize a Podcast

      Tips on making the decision to monetize your podcast.

    • How to Promote Your Podcast

      The best ways to get more eyes and ears on your podcast.

    • Podcast Advertising 101

      Everything you need to know about podcast advertising.

    • Mobile Podcast Recording Guide

      The ultimate guide to recording a podcast on your phone.

    • How to Use Group Recording

      Steps to set up and use group recording in the Podbean app.

  • All Arts Business Comedy Education
  • Fiction Government Health & Fitness History Kids & Family
  • Leisure Music News Religion & Spirituality Science
  • Society & Culture Sports Technology True Crime TV & Film
  • Live
  • How to Start a Podcast
  • How to Start a Live Podcast
  • How to Monetize a podcast
  • How to Promote Your Podcast
  • How to Use Group Recording
  • Log in
  • Start your podcast for free
  • Podcasting
    • Podcast Features
      • Podcast Hosting

        Start your podcast with all the features you need.

      • Podbean AI Podbean AI

        AI-Enhanced Audio Quality and Content Generation.

      • Blog to Podcast

        Repurpose your blog into an engaging podcast.

      • Video to Podcast

        Convert YouTube playlists to podcasts, videos to audios.

    • Monetization
      • Ads Marketplace

        Join Ads Marketplace to earn through podcast sponsorships.

      • PodAds

        Manage your ads with dynamic ad insertion capability.

      • Apple Podcasts Subscriptions Integration

        Monetize with Apple Podcasts Subscriptions via Podbean.

      • Live Streaming

        Earn rewards and recurring income from Fan Club membership.

    • Podbean App
      • Podcast Studio

        Easy-to-use audio recorder app.

      • Podcast App

        The best podcast player & podcast app.

  • Advertisers
  • Enterprise
  • Pricing
  • Resources
    • Help and Support
      • Help Center

        Get the answers and support you need.

      • Podbean Academy

        Resources and guides to launch, grow, and monetize podcast.

      • Podbean Blog

        Stay updated with the latest podcasting tips and trends.

      • What’s New

        Check out our newest and recently released features!

      • Podcasting Smarter

        Podcast interviews, best practices, and helpful tips.

    • Popular Topics
      • How to Start a Podcast

        The step-by-step guide to start your own podcast.

      • How to Start a Live Podcast

        Create the best live podcast and engage your audience.

      • How to Monetize a Podcast

        Tips on making the decision to monetize your podcast.

      • How to Promote Your Podcast

        The best ways to get more eyes and ears on your podcast.

      • Podcast Advertising 101

        Everything you need to know about podcast advertising.

      • Mobile Podcast Recording Guide

        The ultimate guide to recording a podcast on your phone.

      • How to Use Group Recording

        Steps to set up and use group recording in the Podbean app.

  • Discover
  • Log in
    Sign up free
Python Bytes

Python Bytes

Technology

#261 Please re-enable spacebar heating

#261 Please re-enable spacebar heating

2021-12-03
Download Right click and do "save link as"

Watch the live stream:

Watch on YouTube

About the show

Sponsored by us:

  • Check out the courses over at Talk Python
  • And Brian’s book too!

Special guest: Dr. Chelle Gentemann

Michael #1: rClone

  • via Mark Pender
  • Not much Python but useful for Python people :)
  • Rclone is a command line program to manage files on cloud storage.
  • Over 40 cloud storage products support rclone including S3 object stores
  • Rclone has powerful cloud equivalents to the unix commands rsync, cp, mv, mount, ls, ncdu, tree, rm, and cat.

Brian #2: check-wheel-contents

  • Suggested by several listeners, thank you.
  • “Getting the right files into your wheel is tricky, and sometimes we mess up and publish a wheel containing __pycache__ directories or tests/”
  • usage: check-wheel-contents [[HTML_REMOVED]] [HTML_REMOVED]
  • ex:
(venv) $ pwd /Users/okken/projects/cards (venv) $ check-wheel-contents dist dist/cards-1.0.0-py3-none-any.whl: OK
  • Checks
- W001 - Wheel contains .pyc/.pyo files - W002 - Wheel contains duplicate files - W003 - Wheel contains non-module at library toplevel - W004 - Module is not located at importable path - W005 - Wheel contains common toplevel name in library - W006 - __init__.py at top level of library - W007 - Wheel library is empty - W008 - Wheel is empty - W009 - Wheel contains multiple toplevel library entries - W010 - Toplevel library directory contains no Python modules - W101 - Wheel library is missing files in package tree - W102 - Wheel library contains files not in package tree - W201 - Wheel library is missing specified toplevel entry - W202 - Wheel library has undeclared toplevel entry
  • Readme has good description of each check, including common causes and solutions.

Chelle #3: xarray

  • Where can I find climate and weather data?
  • Binary to netCDF to Zarr… data is all its gory-ness
  • Data formats are critical for data providers but should be invisible to users
  • What is Xarray
  • An example reading climate data and making some maps

Michael #4: JetBrains Remote Development

  • If you can SSH to it, that can be your dev machine
  • Keep sensitive code and connections on a dedicated machine
  • Reproducible environments for the team
  • Spin up per-configured environments (venvs, services, etc)
  • Treat your dev machine like a temp git branch checkout for testing PRs, etc
  • They did bury the lead with Fleet in here too

Brian #5: The XY Problem

  • This topic is important because many of us, including listeners, are
    • novices in some topics and ask questions, sometimes without giving enough context.
    • experts in some topics and answer questions of others.
  • The XY Problem
    • “… You are trying to solve problem X, and you think solution Y would work, but instead of asking about X when you run into trouble, you ask about Y.” - From a Stack Exchange Answer
  • Example from xyproblem.info [HTML_REMOVED] How can I echo the last three characters in a filename? [HTML_REMOVED] If they're in a variable: echo ${foo: -3} [HTML_REMOVED] Why 3 characters? What do you REALLY want? [HTML_REMOVED] Do you want the extension? [HTML_REMOVED] Yes. [HTML_REMOVED] There's no guarantee that every filename will have a three-letter extension, [HTML_REMOVED] so blindly grabbing three characters does not solve the problem. [HTML_REMOVED] echo ${foo##*.}
  • Reason why it’s common and almost unavoidable:
    • Almost all design processes for software
      • I can achieve A if I do B and C.
      • I can achieve B if I do D and E.
      • And I can achieve C if I do F and G.
      • … I can achieve X if I do Y.
  • More important questions than “What is the XY Problem?”:
    • Is it possible to avoid? - not really
    • Is it possible to mitigate when asking questions? - yes
    • When answering questions where you expect XY might be an issue, how do you pull out information while providing information and be respectful to the asker?
  • One great response included
    • Asking Questions where you risk falling into XY
      • State your problem
      • State what you are trying to achieve
      • State how it fits into your wider design
    • Giving Answers to XY problems
      1. Answer the question (answer Y)
      2. Discuss the attempted solution (ask questions about context)
        • “Just curious. Are you trying to do (possible X)? If so, Y might not be appropriate because …”
        • “What is the answer to Y going to be used for?”
      3. Solve X
  • Also interesting reading
    • Einstellung effect - The Einstellung effect is the negative effect of previous experience when solving new problems.

Chelle #6: kerchunk - Making data access fast and invisible

  • S3 is pretty slow, especially when you have LOTS of files
  • We can speed it up by creating json files that just collect info from files and act as a reference
  • Then we can collate the references into MEGAJSON and just access lots of data at once
  • Make it easy to get data!

Extras

Michael:

  • Xojo - like modern VB6?
  • 10 Reasons You'll Love PyCharm Even More in 2021 webcast
  • Users revolt as Microsoft bolts a short-term financing app onto Edge

Chelle:

  • Why we need python & FOSS to solve the climate crisis

Joke: Spacebar Heating

view more

More Episodes

#259 That argument is a little late-bound
2021-11-17
#258 Python built us an anime dog!
2021-11-11
#257 Python Launcher - Launching Python Everywhere
2021-11-04
#256 And the best open source project prize goes to ...
2021-10-29
#255 Closember eve, the cure for Hacktoberfest?
2021-10-20
#254 Do Excel things, get notebook Python code with Mito
2021-10-13
#253 A new Python for you, and for everyone!
2021-10-07
#252 Jupyter is now a desktop app!
2021-09-29
#251 A 95% complete episode (wait for it)
2021-09-22
#250 skorch your scikit-learn together with PyTorch
2021-09-15
#249 All of Linux as a Python API
2021-09-09
#248 while True: stand up, sit down
2021-09-02
#247 Do you dare to press "."?
2021-08-26
#246 Love your crashes, use Rich to beautify tracebacks
2021-08-11
#245 Fire up your Python time machine (and test some code)
2021-08-04
#244 vendorizing your Python podcast
2021-07-30
#243 Django unicorns and multi-region PostgreSQL
2021-07-21
#242 from lib import * but less
2021-07-15
#241 f-yes we want some f-string tricks!
2021-07-07
#240 This is GitHub, your pilot speaking...
2021-07-02
  • ←
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • →
012345678910111213141516171819

Get this podcast on your
phone, FREE

Download Podbean app on App Store Download Podbean app on Google Play

Create your
podcast in
minutes

  • Full-featured podcast site
  • Unlimited storage and bandwidth
  • Comprehensive podcast stats
  • Distribute to Apple Podcasts, Spotify, and more
  • Make money with your podcast
Get started

It is Free

  • Podcast Services

    • Podcast Features
    • Pricing
    • Enterprise Solution
    • Private Podcast
    • The Podcast App
    • Live Stream
    • Audio Recorder
    • Remote Recording
    • Podbean AI
  •  
    • Create a Podcast
    • Video Podcast
    • Start Podcasting
    • Start Radio Talk Show
    • Education Podcast
    • Church Podcast
    • Nonprofit Podcast
    • Get Sermons Online
    • Free Audiobooks
  • MONETIZATION & MORE

    • Podcast Advertising
    • Dynamic Ads Insertion
    • Apple Podcasts Subscriptions
    • Switch to Podbean
    • YouTube to Podcast
    • Blog to Podcast
    • Submit Your Podcast
    • Podbean Plugins
    • Developers
  • KNOWLEDGE BASE

    • How to Start a Podcast
    • How to Start a Live Podcast
    • How to Monetize a Podcast
    • How to Promote Your Podcast
    • Mobile Podcast Recording Guide
    • How to Use Group Recording
    • Podcast Advertising 101
  • Support

    • Support Center
    • What’s New
    • Free Webinars
    • Podcast Events
    • Podbean Academy
    • Podbean Amplified Podcast
    • Badges
    • Resources
  • Podbean

    • About Us
    • Podbean Blog
    • Careers
    • Press and Media
    • Green Initiative
    • Affiliate Program
    • Contact Us
  • Privacy Policy
  • Cookie Policy
  • Terms of Use
  • Consent Preferences
  • Copyright © 2015-2025 Podbean.com