{"podcast":{"title":"Python Bytes","slug":"python-bytes","podcast_index_feed_id":1021771,"rss_url":"https://pythonbytes.fm/episodes/rss","website_url":"https://pythonbytes.fm/","image_url":"https://cdn.pythonbytes.fm/static/img/podcast-theme-img_1400.jpg","author":"Michael Kennedy","episode_count":478,"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.","last_synced_at":null,"page_url":"https://stenobird.com/podcast/python-bytes"},"episode":{"title":"#469 Commands, out of the terminal","slug":"469-commands-out-of-the-terminal","published_at":"2026-02-09T08:00:00+00:00","page_url":"https://stenobird.com/podcast/python-bytes/469-commands-out-of-the-terminal","show_page_url":"https://stenobird.com/podcast/python-bytes","url":"https://pythonbytes.fm/episodes/show/469/commands-out-of-the-terminal","audio_url":"https://pythonbytes.fm/episodes/download/469/commands-out-of-the-terminal.mp3","summary":"A discussion on managing long-running terminal processes and the rise of specialized Python interpreters for AI. The episode also explores the cognitive costs of context switching in software development.","meta_description":"Explore new tools for terminal management, the 'Monty' secure Python interpreter for AI, and the importance of minimizing context switching.","key_points":["Main idea: The Command Book app provides a desktop interface to manage and monitor multiple long-running terminal processes without tab fatigue","Technical update: A significant change in Python 3.15 aims to eliminate the need for manual subprocess polling","New tool: 'Monty' is an experimental, minimal, and secure Python interpreter written in Rust, designed specifically to run LLM-generated code safely","Practical takeaway: Senior developers provide value not by knowing every fact, but by recognizing which technical details are relevant and which are distractions","Failure mode: Frequent context switching is destructive to productivity; developers should be allowed to finish current tasks before pivoting to new ones"],"chapters":[{"start_ms":205000,"title":"Managing Terminal Tabs with Command Book","summary":"An introduction to the Command Book app, a SwiftUI tool designed to manage multiple long-running terminal commands and logs in one place."},{"start_ms":815000,"title":"Ending Subprocess Polling","summary":"A look at upcoming changes in Python 3.15 that will improve how systems handle file descriptor readiness, reducing the need for complex workarounds."},{"start_ms":975000,"title":"Monty: A Secure Interpreter for AI","summary":"Discussion of the 'Monty' project, a minimal Rust-based Python interpreter built to execute AI-generated code within a controlled sandbox."},{"start_ms":1285000,"title":"The Value of Technical Discernment","summary":"Reflections on how expertise involves filtering information and avoiding the trap of chasing every new framework or technical detail."},{"start_ms":1440000,"title":"The Cost of Context Switching","summary":"An analysis of how frequent shifts between projects and tasks degrade developer productivity and the importance of finishing work in progress."}],"topics":["Python","Terminal Management","Software Engineering","AI Safety","Rust","Subprocess","Developer Productivity","Command Book"],"duration_seconds":2036,"processing_state":"processed","actions":[{"name":"request_transcript","method":"POST","url":"https://stenobird.com/v1/public/podcasts/python-bytes/episodes/469-commands-out-of-the-terminal/transcription-requests","description":"Idempotently request low-priority transcript generation for this episode."},{"name":"read_markdown","method":"GET","url":"https://stenobird.com/podcast/python-bytes/469-commands-out-of-the-terminal.md","description":"Read the agent-friendly Markdown representation of this episode resource."}]}}