Python Dictionary PEP, Memory Leaks, and Monoliths vs Microservices
Summary
In this episode, Michael Kennedy and Brian Akin discuss a variety of topics ranging from proposed Python enhancements and architectural philosophies to practical development tools and tips for maintaining sanity in tech projects.
Python Language and Development
• Proposal for Dict Operators: Discussion centers on PEP 584, which aims to add + and - operators to the built-in dictionary class to simplify merging operations.
• Memory Leak Analysis: A look at tools for debugging memory leaks in Python applications, specifically highlighting the use of memory_profiler, Muppy, and objgraph for visualizing object references.
• The Monolith Debate: An exploration of the trend toward microservices versus the resurgence of the monolithic architecture, highlighting the trade-offs in complexity, debugging, and onboarding new team members.
Developer Productivity and Ethics
• Communications Management: A discussion on why open source maintainers should prioritize public, persistent, and searchable platforms like GitHub over transient, siloed communication tools like Slack.
• Ethical Advertising: A critique of the modern advertising model in tech media that relies on intrusive tracking, with a spotlight on the approach taken by Python Bytes to use non-tracking, ethical ads.
• Security and Utilities: An introduction to Firefox Send for secure, temporary file sharing with end-to-end encryption features.
Community and Tools
"The first 90% of the code takes 10% of the time. The remaining 10% takes the other 90% of the time." — The 90-90 Rule
• Plugin Frameworks: The Beer Garden project is introduced as a way to convert standard Python scripts into RESTful HTTP services easily.
• Software Development Laws: A review of famous, often humorous, industry rules such as Hofstetter's Law, Conway's Law, and the importance of naming things.
• Humor: The hosts share programming-related jokes, including tips on using the pyjokes library.