PLAY PODCASTS
The Python Podcast.__init__

The Python Podcast.__init__

389 episodes — Page 5 of 8

Ep 188Keeping Up With The Python Community For Fun And Profit with Dan Bader

Full

Summary Keeping up with the work being done in the Python community can be a full time job, which is why Dan Bader has made it his! In this episode he discusses how he went from working as a software engineer, to offering training, to now managing both the Real Python and PyCoders properties. He also explains his strategies for tracking and curating the content that he produces and discovers, how he thinks about building products, and what he has learned in the process of running his businesses. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so check out Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Dan Bader about finding, filtering, and creating resources for Python developers at Real Python, PyCoders, and his own trainings Interview Introductions How did you get introduced to Python? Let’s start by discussing your primary job these days and how you got to where you are. In the past year you have also taken over management of the Real Python site. How did that come about and what are your responsibilities? You just recently took over management of the PyCoders newsletter and website. Can you describe the events that led to that outcome and the responsibilities that came along with it? What are the synergies that exist between your various roles and projects? What are the areas of conflict? (e.g. time constraints, conflicts of interest, etc.) Between PyCoders, Real Python, your training materials, your Python tips newsletter, and your coaching you have a lot of incentive to keep up to date with everything happening in the Python ecosystem. What are your strategies for content discovery? With the diversity in use cases, geography, and contributors to the landscape of Python how do you work to counteract any bias or blindspots in your work? There is a constant stream of information about any number of topics and subtopics that involve the Python language and community. What is your process for filtering and curating the resources that are ultimately included in the various media properties that you oversee? In my experience with the podcast one of the most difficult aspects of maintaining relevance as a content creator is obtaining feedback from your audience. What do you do to foster engagement and facilitate conversations around the work that you do? You have also built a few different product offerings. Can you discuss the process involved in identifying the relevant opportunities and the creation and marketing of them? Creating, collecting, and curating content takes a significant investment of time and energy. What are your avenues for ensuring the sustainability of your various projects? What are your plans for the future growth and development of your media empire? As someone who is so deeply involved in the conversations flowing through and around Python, what do you see as being the greatest threats and opportunities for the language and its community? Keep In Touch @dbader_org on Twitter Website dbader on GitHub Picks Tobias Data Engineering Podcast Dan Black code formatter Łukasz Langa Links Dan Bader Nerd Lettering Real Python PyCoders Computer Science Vancouver, BC Django Raymond Hettinger Data Science Flask Pythonista Cafe Python Tricks The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Dec 3, 201857 min

Ep 187Using Calibre To Keep Your Digital Library In Order with Kovid Goyal

Full

Summary Digital books are convenient and useful ways to have easy access to large volumes of information. Unfortunately, keeping track of them all can be difficult as you gain more books from different sources. Keeping your reading device synchronized with the material that you want to read is also challenging. In this episode Kovid Goyal explains how he created the Calibre digital library manager to solve these problems for himself, how it grew to be the most popular application for organizing ebooks, and how it works under the covers. Calibre is an incredibly useful piece of software with a lot of hidden complexity and a great story behind it. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so check out Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Kovid Goyal about Calibre, the powerful and free ebook management tool Interview Introductions How did you get introduced to Python? Can you start by explaining what Calibre is and how the project got started? How are you able to keep up to date with device support in Calibre, given the continual release of new devices and platforms that a user can read ebooks on? What are the main features of Calibre? What are some of the most interesting and most popular plugins that have been creatd for Calibre? Can you describe the software architecture for the project and how it has evolved since you first started working on it? You have been maintaining and improving Calibre for a long time now. What is your motivation to keep working on it? How has the focus of the project and the primary use cases changed over the years that you have been working on it? In addition to its longevity, Calibre has also become a de-facto standard for ebook management. What is your opinion as to why it has gained and kept its popularity? What are some of the competing options and how does Calibre differentiate from them? In addition to the myriad devices and platforms, there is a significant amount of complexity involved in supporting the different ebook formats. What have been the most challenging or complex aspects of managing and converting between the formats? One of the challenges around maintaining a private library of electronic resources is the prevalence of DRM restricted content available through major publishers and retailers. What are your thoughts on the current state of digital book marketplaces? What was your motivation for implementing Calibre in Python? If you were to start the project over today would you make the same choice? Are there any aspects of the project that you would implement differently if you were starting over? What are your plans for the future of Calibre? Keep In Touch kovidgoyal on GitHub Website Patreon Picks Tobias American Gods by Neil Gaiman Kovid Into Thin Air by John Krakauer About how an expedition to climb Everest went wrong. Wonderful account of the difficulties of high altitude mountaineering and the determination it needs. The Steerswoman’s Road by Rosemary Kirstein About the spirit of scientific enquiry in a fallen civilization on an alien planet with partial terraforming that is slowly failing. Links Calibre KDE Caltech Sony PRS500 Linux Kindle Kobo ePUB Calibre Recipes Rapydscrypt NG Goodreads Qt PyQt build-calibre Kitty DRM (Digital Rights Management) The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Nov 26, 201843 min

Ep 186Entity Extraction, Document Processing, And Knowledge Graphs For Investigative Journalists with Friedrich Lindenberg

Full

Summary Investigative reporters have a challenging task of identifying complex networks of people, places, and events gleaned from a mixed collection of sources. Turning those various documents, electronic records, and research into a searchable and actionable collection of facts is an interesting and difficult technical challenge. Friedrich Lindenberg created the Aleph project to address this issue and in this episode he explains how it works, why he built it, and how it is being used. He also discusses his hopes for the future of the project and other ways that the system could be used. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app or want to try a project you hear about on the show, you’ll need somewhere to deploy it, so check out Linode. With 200 Gbit/s private networking, scalable shared block storage, node balancers, and a 40 Gbit/s public network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode today to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Registration for PyCon US, the largest annual gathering across the community, is open now. Don’t forget to get your ticket and I’ll see you there! Your host as usual is Tobias Macey and today I’m interviewing Friedrich Lindenberg about Aleph, a tool to perform entity extraction across documents and structured data Interview Introductions How did you get introduced to Python? Can you start by explaining what Aleph is and how the project got started? What is investigative journalism? How does Aleph fit into their workflow? What are some other tools that would be used alongside Aleph? What are some ways that Aleph could be useful outside of investigative journalism? How is Aleph architected and how has it evolved since you first started working on it? What are the major components of Aleph? What are the types of documents and data formats that Aleph supports? Can you describe the steps involved in entity extraction? What are the most challenging aspects of identifying and resolving entities in the documents stored in Aleph? Can you describe the flow of data through the system from a document being uploaded through to it being displayed as part of a search query? What is involved in deploying and managing an installation of Aleph? What have been some of the most interesting or unexpected aspects of building Aleph? Are there any particularly noteworthy uses of Aleph that you are aware of? What are your plans for the future of Aleph? Keep In Touch Website @pudo on Twitter pudo on GitHub Picks Tobias Mechanical Soup Friedrich phonenumbers – because it’s useful pyicu – super nerdy but amazing sqlalchemy – my all-time favorite python package Links Aleph Organized Crime and Corruption Reporting Project OCR (Optical Character Recognition) Jorge Luis Borges Buenos Aires Investigative Journalism Azerbaijan Signal Open Corporates Open Refine Money Laundering E-Discovery CSV SQL Entity Extraction (Named Entity Recognition) Apache Tika Polyglot SpaCy Podcast.__init__ Episode LibreOffice Tesseract followthemoney Elasticsearch Knowledge Graph Neo4J Gephi Edward Snowden Document Cloud Overview Project Veracrypt Qubes OS I2 Analyst Notebook The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Nov 19, 201839 min

Ep 185Bringing Python To The Spanish Language Community with Maricela Sanchez

Full

Summary The Python Community is large and growing, however a majority of articles, books, and presentations are still in English. To increase the accessibility for Spanish language speakers, Maricela Sanchez helped to create the Charlas track at PyCon US, and is an organizer for Python Day Mexico. In this episode she shares her motivations for getting involved in community building, her experiences working on Python Day Mexico and PyCon Charlas, and the lessons that she has learned in the process. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Maricela Sanchez Miranda about her work in organizing PyCon Charlas, the spanish language track at PyCon US, as well as Python Day Mexico Interview Introductions How did you get introduced to Python? Can you briefly describe PyCon Charlas and Python Day Mexico? What has been your motivation for getting involved with organizing these community events? What do you find to be the unique characteristics of the Python community in Mexico? What kind of feedback have you gotton from the Charlas track at PyCon? What are your goals for fostering these Spanish language events? What are some of the lessons that you have learned from PyCon Charlas that were useful in organizing Python Day Mexico? What have been the most challenging or complicated aspects of organizing Python Day Mexico? How many attendees do you anticipate? How has that affected your planning and preparation? Are there any aspects of the geography, infrastructure, or culture of Mexico that you have found to be either beneficial or challenging for organizing a conference? Do you anticipate PyCon Charlas and Python Day Mexico becoming annual events? What is your advice for anyone who is interested in organizing a conference in their own region or language? Keep In Touch mayela on GitHub @mayela0x14 on Twitter Picks Tobias CardLine Dinosaurs Maricela Links Python Day Mexico PyCon Charlas PyCon Hatchery PyCon Latin America Mexico City Guadalajara The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Oct 29, 201819 min

Ep 184Of Checklists, Ethics, and Data with Emily Miller and Peter Bull

Full

Summary As data science becomes more widespread and has a bigger impact on the lives of people, it is important that those projects and products are built with a conscious consideration of ethics. Keeping ethical principles in mind throughout the lifecycle of a data project helps to reduce the overall effort of preventing negative outcomes from the use of the final product. Emily Miller and Peter Bull of Driven Data have created Deon to improve the communication and conversation around ethics among and between data teams. It is a Python project that generates a checklist of common concerns for data oriented projects at the various stages of the lifecycle where they should be considered. In this episode they discuss their motivation for creating the project, the challenges and benefits of maintaining such a checklist, and how you can start using it today. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Emily Miller and Peter Bull about Deon, an ethics checklist for data projects Interview Introductions How did you get introduced to Python? Can you start by describing what Deon is and your motivation for creating it? Why a checklist, specifically? What’s the advantage of this over an oath, for example? What is unique to data science in terms of the ethical concerns, as compared to traditional software engineering? What is the typical workflow for a team that is using Deon in their projects? Deon ships with a default checklist but allows for customization. What are some common addendums that you have seen? Have you received pushback on any of the default items? How does Deon simplify communication around ethics across team boundaries? What are some of the most often overlooked items? What are some of the most difficult ethical concerns to comply with for a typical data science project? How has Deon helped you at Driven Data? What are the customer facing impacts of embedding a discussion of ethics in the product development process? Some of the items on the default checklist coincide with regulatory requirements. Are there any cases where regulation is in conflict with an ethical concern that you would like to see practiced? What are your hopes for the future of the Deon project? Keep In Touch Emily LinkedIn ejm714 on GitHub Peter LinkedIn @pjbull on Twitter pjbull on GitHub Driven Data @drivendataorg on Twitter drivendataorg on GitHub Website Picks Tobias Richard Bond Glass Art Emily Tandem Coffee in Portland, Maine Peter The Model Bakery in Saint Helena and Napa, California Links Deon Driven Data International Development Brookings Institution Stata Econometrics Metis Bootcamp Pandas Podcast Episode C# .NET Podcast.__init__ Episode On Software Ethics Jupyter Notebook Podcast Episode Word2Vec cookiecutter data science Logistic Regression The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Oct 22, 201845 min

Ep 183How Python Is Used To Build A Startup At Wanderu with Chris Kirkos and Matt Warren

Full

Summary The breadth of use cases that Python supports, coupled with the level of productivity that it provides through its ease of use have contributed to the incredible popularity of the language. To explore the ways that it can contribute to the success of a young and growing startup two of the lead engineers at Wanderu discuss their experiences in this episode. Matt Warren, the technical operations lead, explains the ways that he is using Python to build and scale the infrastructure that Wanderu relies on, as well as the ways that he deploys and runs the various Python applications that power the business. Chris Kirkos, the lead software architect, describes how the original Django application has grown into a suite of microservices, where they have opted to use a different language and why, and how Python is still being used for critical business needs. This is a great conversation for understanding the business impact of the Python language and ecosystem. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Matt Warren and Chris Kirkos and about the ways that they are using Python at Wanderu Interview Introductions How did you get introduced to Python? Can you start by describing what Wanderu does? How is the platform architected? What are the broad categories of problems that you are addressing with Python? What are the areas where you chose to use a different language or service? What ratio of new projects and features are implemented using Python? How much of that decision process is influenced by the fact that you already have so much pre-existing Python code? For the projects where you don’t choose Python, what are the reasons for going elsewhere? What are some of the limitations of Python that you have encountered while working at Wanderu? What are some of the places that you were surprised to find Python in use at Wanderu? What have you enjoyed most about working with Python? What are some of the sharp edges that you would like to see smoothed over in future versions of the language? What is the most challenging bug that you have dealt with at Wanderu that was attributable in some sense to the fact that the code was written in Python? If you were to start over today on any of the pieces of the Wanderu platform, are there any that you would write in a different language? Which libraries have been the most useful for your work at Wanderu? Which ones have caused you the most pain? Keep In Touch Matt @matthewwwarren on Twitter LinkedIn Chris LinkedIn Picks Tobias DataGrip Matt Chacarero Chris PDB IPDB PUDB VSCode Links Wanderu Northeastern University C++ Perl Microservices PostgreSQL Data Engineering Podcast Episode MongoDB Django Node.js Go-lang AWS ETL (Extract, Transform, and Load) Data Warehouse Graph Database Twisted Podcast Episode Gevent Scrapy Virtualenv Ruby Rbenv Boto3 PyMongo Ansible Pip TLS Cryptography Podcast Episode Setuptools Openstack Requests PyCountry SOAP (Simple Object Access Protocol) XML Jinja OpenSSL pytest Bandit Podcast Episode Gang of Four The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Oct 15, 201834 min

Ep 182Building A Game In Python At PyWeek with Daniel Pope

Full

Summary Many people learn to program because of their interest in building their own video games. Once the necessary skills have been acquired, it is often the case that the original idea of creating a game is forgotten in favor of solving the problems we confront at work. Game jams are a great way to get inspired and motivated to finally write a game from scratch. This week Daniel Pope discusses the origin and format for PyWeek, his experience as a participant, and the landscape of options for building a game in Python. He also explains how you can register and compete in the next competition. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Daniel Pope about PyWeek, a one week challenge to build a game in Python Interview Introductions How did you get introduced to Python? Can you start by describing what PyWeek is and how the competition got started? What is your current role in relation to PyWeek and how did you get involved? What are the strengths of the Python lanaguage and ecosystem for developing a game? What are some of the common difficulties encountered by participants in the challenge? What are some of the most commonly used libraries and tools for creating and packaging the games? What are some shortcomings in the available tools or libraries for Python when it comes to game development? What are some examples of libraries or tools that were created and released as a result of a team’s efforts during PyWeek? How often do games that get started during PyWeek continue to be developed and improved? Have there ever been games that went on to be commercially viable? What are some of the most interesting or unusual games that you have seen submitted to PyWeek? Can you describe your experience as a competitor in PyWeek? How do you structure your time during the competition week to ensure that you can complete your game? What are the benefits and difficulties of the one week constraint for development? How has PyWeek changed over the years that you have been involved with it? What are your hopes for the competition as it continues into the future? Keep In Touch @lordmauve on Twitter Blog lordmauve on GitHub Picks Tobias The Architecht Show Dan Red Blob Games Designing Virtual Worlds by Richard Bartle Links PyWeek Two Sigma Game Jam Richard Jones PyGame Pyglet SDL PyGame Zero Cocos 2D Doctor Corovich’s Flying Atomic Squid Mortimer The Lepidopterist Ludum Dare The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Oct 9, 201830 min

Ep 181Managing Application Secrets with Brian Kelly

Full

Summary Any application that communicates with other systems or services will at some point require a credential or sensitive piece of information to operate properly. The question then becomes how best to securely store, transmit, and use that information. The world of software secrets management is vast and complicated, so in this episode Brian Kelly, engineering manager at Conjur, aims to help you make sense of it. He explains the main factors for protecting sensitive information in your software development and deployment, ways that information might be leaked, and how to get the whole team on the same page. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Brian Kelly about how to store, deploy, and use sensitive information in your applications Interview Introductions How did you get introduced to Python? To begin with, how do you define a secret in the context of an application? What are the broad categories for solutions to secrets management? What are the different aspects of secrets management in the lifecycle of developing, deploying, and maintaining an application? How does the scale of a project or organization impact the strategies that are reasonable for secrets management? What are some of the most challenging aspects of secrets management at the different stages of usage? What are some of the common reasons that secrets management strategies fail? What are some of the vulnerabilities or attack vectors that development teams should be thinking about when working with credentials? What are your thoughts on versioning of secrets? Beyond storing and deploying sensitive information, what are some of the secondary concerns around secrets management that development teams should be thinking about? How does the use of multiple environments (e.g. dev, QA, production, etc.) affect the strategies used for secrets management? What are some of the most useful resources that you have found for anyone looking to learn more about this subject? Keep In Touch @brikelly on Twitter Blog brikelly on GitHub Picks Tobias The Inheritance Cycle Brian Donegal Ireland Links Conjur CyberArk Datawire Transpiler IDL CSRF (Cross-Site Request Forgery) Hashicorp Vault Continuous Integration Continuous Delivery TLS (Transport Layer Security) RBAC (Role Based Access Control) Terraform SQL Injection Secretless MFA Duo Security Kubernetes Summon OWASP Top 10 Configuration Management Puppet Chef Ansible SaltStack Immutable Infrastructure Conjur Blog Krebs On Security The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Oct 2, 201839 min

Ep 180Django, Channels, And The Asynchronous Web with Andrew Godwin

Full

Summary Once upon a time the web was a simple place with one main protocol and a predictable sequence of request/response interactions with backend applications. This is the era when Django began, but in the intervening years there has been an explosion of complexity with new asynchronous protocols and single page Javascript applications. To help bridge the gap and bring the most popular Python web framework into the modern age Andrew Godwin created Channels. In this episode he explains how the first version of the asynchronous layer for Django applications was created, how it has changed in the jump to version 2, and where it will go in the future. Along the way he also discusses the challenges of async development, his work on designing ASGI as the spiritual successor to WSGI, and how you can start using all of this in your own projects today. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Andrew Godwin about Django Channels 2.x and the ASGI specification for modern, asynchronous web protocols Interview Introductions How did you get introduced to Python? Can you start with an overview of the problem that Channels is aiming to solve? Asynchronous frameworks have existed in Python for a long time. What are the tradeoffs in those frameworks that would lead someone to prefer the combination of Django and Channels? For someone who is familiar with traditional Django or working on an existing application, what are the steps involved in integrating Channels? Channels is a project that you have been working on for a significant amount of time and which you recently re-architected. What were the shortcomings in the 1.x release that necessitated such a major rewrite? How is the current system architected? What have you found to be the most challenging or confusing aspects of managing asynchronous web protocols both as an author of Channels/ASGI and someone building on top of them? While reading through the documentation there were mentions of the synchronous nature of the Django ORM. What are your thoughts on asynchronous database access and how important that is for future versions of Django and Channels? As part of your implementation of Channels 2.x you introduced a new protocol for asynchronous web applications in Python in the form of ASGI. How does this differ from the WSGI standard and what was your process for developing this specification? What are your hopes for what the Python community will do with ASGI? What are your plans for the future of Channels? What are some of the most interesting or unexpected uses of Channels and/or ASGI? Keep In Touch @andrewgodwin on Twitter Website andrewgodwin on GitHub Picks Tobias Nobody Listens To Paula Poundstone Andrew Literary Appreciation Of The Olson Timezones Database Links Channels ASGI Django South Django Migrations PHP Turbogears WSGI Websockets Eventlet HTTP WebRTC IPFS Twisted Tornado Podcast Episode Daphne Redis Uvicorn Heisenbugs Deadlock CherryPy Flask WSGI 2 Podcast Episode Starlette Django Rest Framework Thom Christie PEP Process Episode The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Sep 24, 201841 min

Ep 179The Business Of Technical Authoring With William Vincent

Full

Summary There are many aspects of learning how to program and at least as many ways to go about it. This is multiplicative with the different problem domains and subject areas where software development is applied. In this episode William Vincent discusses his experiences learning how web development mid-career and then writing a series of books to make the learning curve for Django newcomers shallower. This includes his thoughts on the business aspects of technical writing and teaching, the challenges of keeping content up to date with the current state of software, and the ever-present lack of sufficient information for new programmers. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing William Vincent about his experience learning to code mid-career and then writing a series of books to bring you along on his journey from beginner to advanced Django developer Interview Introductions How did you get introduced to Python? How has your experience as someone who began working as a developer mid-career influenced your approach to software? How do you compare Python options for web development (Django/Flask) to others such as Ruby on Rails or Node/Express in the JavaScript world? What was your motivation for writing a beginner guide to Django? What was the most difficult aspect of determining the appropriate level of depth for the content? At what point did you decide to publish the tutorial you were compiling as a book? In the posts that you wrote about your experience authoring the books you give a detailed description of the economics of being an author. Can you discuss your thoughts on that? Focusing on a library or framework, such as Django, increases the maintenance burden of a book, versus one that is written about fundamental principles of computing. What are your thoughts on the tradeoffs involved in selecting a topic for a technical book? Challenges of creating useful intermediate content (lots of beginner tutorials and deep dives, not much in the middle) After your initial foray into technical authoring you decided to follow it with two more books. What other topics are you covering with those? Once you are finished with the third do you plan to continue writing, or will you shift your focus to something else? Translating content to reach a larger audience What advice would you give to someone who is considering writing a book of their own? What alternative avenues do you think would be more valuable for themselves and their audience? Alternative avenues for providing useful training to developers Keep In Touch Email wsvincent on GitHub Website Picks Tobias Practical AI William awesome-django The Digital Doctor by Robert Wachter Links Quizlet Django Learn Python The Hard Way Invent Your Own Computer Games with Python Ruby on Rails Node.js Express LearnBoost David Heinemeier Hanson Meteor.js Class-Based Views Rails Tutorial Leanpub Gumroad Stack Overflow Egghead.io Frontend Masters Gatsby.js Jekyll Pachyderm Data Engineering Podcast Pachyderm Interview The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Sep 17, 201849 min

Ep 178Keep Your Code Clean Using pre-commit with Anthony Sottile

Full

Summary Maintaining the health and well-being of your software is a never-ending responsibility. Automating away as much of it as possible makes that challenge more achievable. In this episode Anthony Sottile describes his work on the pre-commit framework to simplify the process of writing and distributing functions to make sure that you only commit code that meets your definition of clean. He explains how it supports tools and repositories written in multiple languages, enforces team standards, and how you can start using it today to ship better software. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Anthony Sottile about pre-commit, a framework for managing and maintaining hooks for multiple languages Interview Introductions How did you get introduced to Python? Can you start by describing what a pre-commit hook is and some of the ways that they are useful for developers? What was you motivation for creating a framework to manage your pre-commit hooks? How does it differ from other projects built to manage these hooks? What are the steps for getting someone started with pre-commit in a new project? Which other event hooks would be most useful to implement for maintaining the health of a repository? What types of operations are most useful for ensuring the health of a project? What types of routines should be avoided as a pre-commit step? Installing the hooks into a user’s local environment is a manual step, so how do you ensure that all of your developers are using the configured hooks? What factors have you found that lead to developers skipping or disabling hooks? How is pre-commit implemented and how has that design evolved from when you first started? What have been the most difficult aspects of supporting multiple languages and package managers? What would you do differently if you started over today? Would you still use Python? For someone who wants to write a plugin for pre-commit, what are the steps involved? What are some of the strangest or most unusual uses of pre-commit hooks that you have seen? What are your plans for the future of pre-commit? Keep In Touch asottile on GitHub @codewithanthony on Twitter anthonywritescode on twitch anthonywritescode on YouTube Picks Tobias Tag Anthony Yes Theory Links pre-commit List of hooks Lyft Careers Git Git hooks https://githooks.com/?utm_source=rss&utm_medium=rss Flake8 Make Tox Type Annotations xargs Bash shlex The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Sep 10, 201824 min

Ep 177Infection Monkey Vulnerability Scanner with Daniel Goldberg

Full

Summary How secure are your servers? The best way to be sure that your systems aren’t being compromised is to do it yourself. In this episode Daniel Goldberg explains how you can use his project Infection Monkey to run a scan of your infrastructure to find and fix the vulnerabilities that can be taken advantage of. He also discusses his reasons for building it in Python, how it compares to other security scanners, and how you can get involved to keep making it better. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Daniel Goldberg about Infection Monkey, an open source system breach simulation tool for evaluating the security of your network Interview Introductions How did you get introduced to Python? What is infection monkey and what was the reason for building it? What was the reasoning for building it in Python? If you were to start over today what would you do differently? Penetration testing is typically an endeavor that requires a significant amount of knowledge and experience of security practices. What have been some of the most difficult aspects of building an automated vulnerability testing system? How does a deployed instance keep up to date with recent exploits and attack vectors? How does Infection Monkey compare to other tools such as Nessus and Nexpose? What are some examples of the types of vulnerabilities that can be discovered by Infection Monkey? What kinds of information can Infection Monkey discover during a scan? How does that information get reported to the user? How much security experience is necessary to understand and address the findings in a given report generated from a scan? What techniques do you use to ensure that the simulated compromises can be safely reverted? What are some aspects of network security and system vulnerabilities that Infection Monkey is unable to detect and/or analyze? For someone who is interested in using Infection Monkey what are the steps involved in getting it set up? What is the workflow for running a scan? Is Infection Monkey intended to be run continuously, or only with the interaction of an operator? What are your plans for the future of Infection Monkey? Keep In Touch danielguardicore on GitHub Guardicore Blog Picks Tobias Darkest Hour Daniel How Complex Systems Fail Links Infection Monkey Guardicore Stack Overflow Metasploit AsyncIO React Nessus Nexpose Shellshock Wannacry Simian Army Chaos Engineering Capuchin Monkey Google Summer of Code The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Sep 3, 201834 min

Ep 176Fast Stream Processing In Python Using Faust with Ask Solem

Full

Summary The need to process unbounded and continually streaming sources of data has become increasingly common. One of the popular platforms for implementing this is Kafka along with its streams API. Unfortunately, this requires all of your processing or microservice logic to be implemented in Java, so what’s a poor Python developer to do? If that developer is Ask Solem of Celery fame then the answer is, help to re-implement the streams API in Python. In this episode Ask describes how Faust got started, how it works under the covers, and how you can start using it today to process your fast moving data in easy to understand Python code. He also discusses ways in which Faust might be able to replace your Celery workers, and all of the pieces that you can replace with your own plugins. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Ask Solem about Faust, a library for building high performance, high throughput streaming systems in Python Interview Introductions How did you get introduced to Python? What is Faust and what was your motivation for building it? What were the initial project requirements that led you to use Kafka as the primary infrastructure component for Faust? Can you describe the architecture for Faust and how it has changed from when you first started writing it? What mechanism does Faust use for managing consensus and failover among instances that are working on the same stream partition? What are some of the lessons that you learned while building Celery that were most useful to you when designing Faust? What have you found to be the most common areas of confusion for people who are just starting to build an application on top of Faust? What has been the most interesting/unexpected/difficult aspects of building and maintaining Faust? What have you found to be the most challenging aspects of building streaming applications? What was the reason for releasing Faust as an open source project rather than keeping it internal to Robinhood? What would be involved in adding support for alternate queue or stream implementations? What do you have planned for the future of Faust? Keep In Touch @asksol on Twitter ask on GitHub Picks Tobias Super Troopers 2 Ask Microsound by Curtis Roads Links Faust RobinHood Kafka Streams RabbitMQ AsyncIO Celery Kafka Confluent Write-Ahead Log RocksDB Redis Pulsar KSQL Exactly Once Semantics The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Aug 27, 201828 min

Ep 175Don't Just Stand There, Get Programming! with Ana Bell

Full

Summary Writing a book is hard work, especially when you are trying to teach such a broad concept as programming. In this episode Ana Bell discusses her recent work in writing Get Programming: Learn To Code With Python, including her views on how to separate the principles from the implementation, making the book evergreen in its appeal, and how her experience as a lecturer at MIT has helped her maintain the perspectives of beginners. She also shares her views on the values of learning about programming, even when you have no intention of doing it as a career and ways to take the next steps if that is your goal. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. As you know, Python has become one of the most popular programming languages in the world, due to the size, scope, and friendliness of the language and community. But, it can be tough learning it when you’re just starting out. Luckily, there’s an easy way to get involved. Written by MIT lecturer Ana Bell and published by Manning Publications, Get Programming: Learn to code with Python is the perfect way to get started working with Python. Ana’s experience as a teacher of Python really shines through, as you get hands-on with the language without being drowned in confusing jargon or theory. Filled with practical examples and step-by-step lessons to take on, Get Programming is perfect for people who just want to get stuck in with Python. Get your copy of the book with a special 40% discount for Podcast.__init__ listeners at podcastinit.com/get-programming using code: Bell40! Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Ana Bell about her book, Get Programming: Learn to code with Python, and her approach to teaching how to code Interview Introductions How did you get introduced to Python? Can you start by describing your motivation for writing a book about learning to program? Who is the target audience for this book? What level of competence do you want the reader to have when they have completed it? What were the most challenging aspects of writing a book for beginning programmers? What did you do to recapture the “beginner mind” while writing? There are a large variety of books on learning to program and at least as many approaches. Can you describe the techniques that you use in your book to help readers grasp the concepts that you cover? One of the problems of writing a book about technology is that there is no stationary target to aim for due to the constant advancement of the industry. How do you reconcile that reality with the need for a book to remain relevant for an extended period of time? How do you decide what to include and what to leave out when writing about learning how to program? What advice do you have for people who have read your book and want to continue on to a career in development? Keep In Touch MIT Bio @anabellphd on Twitter Picks Tobias Netdata Ana Star Realms Between Two Cities Links Get Programming by Ana Bell edX MIT Machine Learning Github The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Aug 20, 201835 min

Ep 174The Masonite Web Framework With Joe Mancuso

Full

Summary Masonite is an ambitious new web framework that draws inspiration from many other successful projects in other languages. In this episode Joe Mancuso, the primary author and maintainer, explains his goal of unseating Django from its position of prominence in the Python community. He also discusses his motivation for building it, how it is architected, and how you can start using it for your own projects. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Joe Mancuso about Masonite, the modern and developer centric python web framework. Interview Introductions How did you get introduced to Python? What is Masonite and what was the motivation for creating it? How does it fit in the current landscape of Python web frameworks? Why might someone choose to use Masonite over Python frameworks? If someone isn’t already decided on using Python, what are some reasons that they might choose Masonite over frameworks in other languages? Can you describe the framework architecture and how it has evolved over the lifetime of the project? What are some examples of projects that have been built with Masonite and what aspects of the framework are they leveraging? For someone who is starting a new project with Masonite what are some of the concepts that they should be familiar with? What is their workflow for starting their project? How does that workflow change when working with an existing application? What are some of the plans that you have for the future of Masonite? Keep In Touch Joe Blog @masoniteproject on Twitter josephmancuso on GitHub Masonite MasoniteFramework on GitHub Docs Slack Picks Tobias Yeti Mugs Joe Gitbook.io Dev.to Links Masonite on GitHub Codecademy PHP Django Laravel Dependency Injection Inversion of Control WSGI Gunicorn Waitress Nexmo Masonite Slack Mathias Johansson Trello @masoniteproject Masonite Repo Masonite Documentation The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Aug 13, 201843 min

Ep 173Helping Teacher's Bring Python Into The Classroom With Nicholas Tollervey

Full

Summary There are a number of resources available for teaching beginners to code in Python and many other languages, and numerous endeavors to introduce programming to educational environments. Sometimes those efforts yield success and others can simply lead to frustration on the part of the teacher and the student. In this episode Nicholas Tollervey discusses his work as a teacher and a programmer, his work on the micro:bit project and the PyCon UK education summit, as well as his thoughts on the place that Python holds in educational programs for teaching the next generation. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Nicholas Tollervey about his efforts to improve the accessibility of Python for educators Interview Introductions How did you get introduced to Python? How has your experience as a teacher influenced your work as a software engineer? What are some of the ways that practicing software engineers can be most effective in supporting the efforts teachers and students to become computationally literate? What are your views on the reasons that computational literacy is important for students? What are some of the most difficult barriers that need to be overcome for students to engage with Python? How important is it, in your opinion, to expose students to text-based programming, as opposed to the block-based environment of tools such as Scratch? At what age range do you think we should be trying to engage students with programming? When the teacher’s day was introduced as part of the education summit for PyCon UK what was the initial reception from the educators who attended? How has the format for the teacher’s portion of the conference changed in the subsequent years? What have been some of the most useful or beneficial aspects for the teacher’s and how much engagement occurs between the conferences? What was your involvement in the initiative that brought the BBC micro:bit to UK classrooms? What kinds of feedback have you gotten from students who have had an opportunity to use them? What are some of the most interesting or unexpected uses of the micro:bit that you have seen? Keep In Touch @ntoll on Twitter ntoll on GitHub Website Picks Tobias The Dark Materials Trilogy Audiobooks by Phillip Pullman Nicholas Moon Dust by Andrew Smith Totally Wired by Andrew Smith Links ntoll.org Tuba Royal College of Music Fry IT MicroPython Podcast Interview With Damien George MicroPython Book Mu Scratch Jupyter John Pinner London Python Code Dojo Alan Turing Tim Berners-Lee Charles Babbage REPL (Read-Eval-Print Loop Daniel Pope PyGame Raspberry Pi Foundation PyGame Zero Network Zero GPIO Zero Computing At School BBC PSF TouchDevelop TypeScript Damien George ARM Code Kingdoms micro:bit Barclay’s PyCon US Education Summit Raspberry Pi Foundation Code Club Qumisha Goss Keynote Adafruit CircuitPython NeoPixel PyBoard The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Aug 6, 201859 min

Ep 172Continuous Delivery For Complex Systems Using Zuul with Monty Taylor

Full

Summary Continuous integration systems are important for ensuring that you don’t release broken software. Some projects can benefit from simple, standardized platforms, but as you grow or factor in additional projects the complexity of checking your deployments grows. Zuul is a deployment automation and gating system that was built to power the complexities of OpenStack so it will grow and scale with you. In this episode Monty Taylor explains how he helped start Zuul, how it is designed for scale, and how you can start using it for your continuous delivery systems. He also discusses how Zuul has evolved and the directions it will take in the future. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Monty Taylor about Zuul, a platform that drives continuous integration, delivery, and deployment systems with a focus on project gating and interrelated projects. Interview Introductions How did you get introduced to Python? Can you start by explaining what Zuul is and how the project got started? How do you view Zuul in the broader landscape of CI/CD systems (e.g. GoCD, Jenkins, Travis, etc.)? What is the workflow for someone who is defining a pipeline in Zuul? How are the pipelines tested and promoted? One of the problems that are often encountered in CI/CD systems is the difficulty of testing changes locally. What kind of support is available in Zuul for that? Can you describe the project architecture? What aspects of the architecture enable it to scale to large projects and teams? How difficult would it be to swap the Ansible integration for another orchestration tool? What would be involved in adding support for additional version control systems? What are your plans for the future of the project? Keep In Touch emonty on GitHub Website @e_monty on Twitter Picks Tobias Hitchhiker’s Guide To The Galaxy Monty Bojack Horseman Links Red Hat Zuul OpenStack Jim Blair Perl SNPP Rackspace NASA Drizzle Sun Microsystems MySQL Continuous Integration Continuous Delivery Launchpad Bzr Jenkins Jess Frazelle Graphite StatsD graphite.openstack.org grafana.openstack.org subunit Ansible Helm Software Factory Gerrit Git Perforce Subversion Zookeeper Gearman The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jul 30, 20181h 7m

Ep 171Michael Foord On Testing, Mock, TDD, And The Python Community

Full

Summary Michael Foord has been working on building and testing software in Python for over a decade. One of his most notable and widely used contributions to the community is the Mock library, which has been incorporated into the standard library. In this episode he explains how he got involved in the community, why testing has been such a strong focus throughout his career, the uses and hazards of mocked objects, and how he is transitioning to freelancing full time. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Michael Foord mockingly, about his career in Python Interview Introductions How did you get introduced to Python? One of the main threads in your career appears to be software testing. What aspects of testing do you find so interesting and how did you first get exposed to that aspect of building software? How has the language and ecosystem support for testing evolved over the course of your career? What are some of the areas that you find it to still be lacking? Mock is one of your projects that has been widely adopted and ultimately incorporated into the standard library. What was your reason for starting it in the first place? Mocking can be a controversial topic. What are your current thoughts on how and when to use mocks, stubs, and fixtures? How do you view the state of the art for testing in Python as it compares to other languages that you have worked in? You were fairly early in the move to supporting Python 2 and 3 in a single project with Mock. How has that overall experience changed in the intervening years since Python 2.4 and 3.2? What are some of the notable evolutions in Python and the software industry that you have experienced over your career? You recently transitioned to acting as a software trainer and consultant full time. Where are you focusing your energy currently and what are your grand plans for the future? Keep In Touch Email Website Twitter Picks Tobias -Ology Books Michael Imaginary Authors Falling Into The Sea City On Fire Links IronPython London IronPython in Action Mock UnitTest Play By Email Smalltalk Regular Expression Dijkstra’s Algorithm urllib2 Resolver Systems TDD (Test-Driven Development) PyCon Trent Nelson Fractals Unicode Joel Spolsky (Unicode) OOP (Object-Oriented Programming) End-to-end Testing Unit Testing Canonical Selenium Ansible Ansible Tower AWX (Open Source Tower Codebase) Continuous Integration Continuous Delivery Agile Software Development GitHub GitLab Jenkins Nightwatch.js py.test Martin Fowler Monkey Patching Decorator Context Manager autospec Golang 2to3 Six Instagram Keynote Trans-code Django Girls PyLadies Agile Abstractions David Beazley The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jul 23, 201855 min

Ep 170The Past, Present, and Future of Twisted with Moshe Zadka

Full

Summary Twisted is one of the earliest frameworks for developing asynchronous applications in Python and it has yet to fulfill its original purpose. It can be used to build network servers that integrate a multitude of protocols, increase the performance of your I/O bound applications, serve as the full web stack for your WSGI projects, and anything else that needs a battle tested and performant foundation. In this episode long time maintainer Moshe Zadka discusses the history of Twisted, how it has evolved over the years, the transition to Python 3, some of its myriad use cases, and where it is headed in the future. Try it out today and then send some thanks to all of the people who have dedicated their time to building it. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Join the community in the new Zulip chat workspace at podcastinit.com/chat Your host as usual is Tobias Macey and today I’m interviewing Moshe Zadka about Twisted, the original multi-function tool for asynchronous operations and network protocols in Python Interview Introductions How did you get introduced to Python? For anyone who isn’t familiar with Twisted can you share a brief overview of what it is? What was the original motivation for creating it? How did you get involved with the project and what is your current role in the team? How can people learn to use Twisted? What are some of the common difficulties that new users encounter? What did you learn working on Twisted? Who uses Twisted? When is Twisted the wrong choice? What are some examples of systems that aren’t using Twisted but should be? What are some of the ways that Twisted has evolved and changed over the years? What are some of the ways people can support Twisted? What are some of the plans for the future of Twisted? Keep In Touch Moshe Zadka Twisted Mailing List IRC Picks Tobias Leatherman Wave+ Moshe Unsong Book Links Twisted Glyph Lefkowitz IRC async/await Pyvideo PyCon 2017 Tutorial asyncio GTK SNMP Gunicorn uWSGI WSGI Nginx Supervisor asynchat asyncore Ncolony The Ultimate Quality Development System Moshe’s article on UQDS Unicode prefix 2to3 Six Unit Tests Automat TLA+ PyCon CA Presentation Sans IO Cory Benfield’s talk Tubes Hyper H2 H11 Apple Calendar Server Github Duo Security using Cyclone Matrix — Used by French government AIOHTTP The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jul 16, 201834 min

Ep 169Mike Driscoll And His Career In Python

Full

Summary Mike Driscoll has been writing blogs and books for the Python community for years, including his popular series on the Python Module Of The Week. In his daily work he uses Python to test graphical interfaces written in C++ and QT for embedded platforms. In this episode he explains his work, how he got involved in writing as a regular exercise, and an overview of his recent books. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Mike Driscoll about using Python to test QT UIs for embedded platforms, his experience running a popular Python blog, and being a self-published author Technically, I am testing a C++ Qt app that is deployed to an embedded system Interview Introductions How did you get introduced to Python? Can you start by describing the way in which you are using Python for your work? What benefits does Python provide for writing and running tests for projects written in other languages? What are the drawbacks or limitations? What are some of the tools or techniques that you have found most useful for your work? How much of that was hard-earned knowledge vs finding it in reference material or prior art? What are some of the most interesting and/or difficult aspects of testing graphical interfaces? What are some of the most surprising or unexpected aspects of the problem space that you have discovered through your work? What are some of the other ways in which you have worked with the Python language and community? What are you most interested in working toward in the future? Keep In Touch Blog @driscollis on Twitter driscollis on GitHub Books Picks Tobias Draw.io Mike Qt for Python Jupyter Notebook Links Mouse vs. Python C++ Qt Ag Leader Squish CFFI Ctypes Tcl Javascript Ruby Froglogic Selenium Pillow OpenCV WxPython PSF PyCon Brett Cannon Carol Willing ReportLab PDFRW Brett Cannon PyCon 2018 Keynote The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jul 8, 201823 min

Ep 168The Pulp Artifact Repository with Bihan Zhang and Austin Macdonald

Full

Summary Hosting your own artifact repositories can have a huge impact on the reliability of your production systems. It reduces your reliance on the availability of external services during deployments and ensures that you have access to a consistent set of dependencies with known versions. Many repositories only support one type of package, thereby requiring multiple systems to be maintained, but Pulp is a platform that handles multiple content types and is easily extendable to manage everything you need for running your applications. In this episode maintainers Bihan Zhang and Austin Macdonald explain how the Pulp project works, the exciting new changes coming in version 3, and how you can get it set up to use for your deployments today. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Austin Macdonald and Bihan Zhang about Pulp, a platform for hosting and managing software package repositories Interview Introductions How did you get introduced to Python? What is Pulp and how did the project get started? What are the use cases/benefits for hosting your own artifact repository? What is the high level architecture of the platform? Pulp 3 appears to be a fairly substantial change in architecture and design. What will be involved in migrating an existing installation to the new version when it is released? What is involved in adding support for a new type of artifact/package? How does Pulp compare to other artifact repositories? What are the major pieces of work that are required before releasing Pulp 3? What have been some of the most interesting/unexpected/challenging aspects of building and maintaining Pulp? What are your plans for the future of Pulp? Keep In Touch Austin asmacdo on GitHub @asmacdo on Twitter Bihan LinkedIn Pulp Project Email GitHub Website #pulp on freenode Picks Tobias Soonish Austin Shostakovitch String Quartet #8 Bihan AOPA: Air Safety Institute YouTube Channel Links Pulp RedHat French Horn XKCD RPM Debian PyPI Center For Open Science SciPy Ansible Django Project Django Storages Artifactory Warehouse OCI (Open Container Initiative) Crane Docker Twinehttps://github.com/pypa/twine?utm_source=rss&utm_medium=rss Maven Read-through Cache The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jul 2, 201830 min

Ep 167Bringing Africa Online At Ascoderu with Clemens Wolff

Full

Summary The future is here, it’s just not evenly distributed. One of the places where this is especially true is in sub-Saharan Africa which is a vast region with little to no reliable internet connectivity. To help communities in this region leapfrog infrastructure challenges and gain access to opportunities for education and market information the Ascoderu non-profit has built Lokole. In this episode one of the lead engineers on the project, Clemens Wolff, explains what it is, how it is built, and how the venerable e-mail protocols can continue to provide access cheaply and reliably. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Clemens Wolff about how Ascoderu is using Python to help communities in sub-Saharan Africa gain access to the digital age Interview Introductions How did you get introduced to Python? What is the mission of Ascoderu and how did the organization get started? How did you get involved? The primary project that you build and maintain is Lokole. What is it and how does it help you in achieving the goals of the organization? What are the limitations of using e-mail as the only interface to the broader internet? What are some of the most interesting or unexpected uses of email in isolation have you seen? From the user perspective, can you describe the overall experience of interacting with Lokole? What is happening in the background? Did you consider using a binary message format such as Avro, protocol buffers, or msgpack in place of JSON? What kind of fault tolerance techniques are built into the overall information flow? What are the most challenging or unexpected aspects of building Lokole and interacting with the user communities? What projects do you have planned for the future? Keep In Touch Email GitHub LinkedIn Picks Tobias Hubspot CRM Clemens Ali Farka Toure Links Ascoderu Lokole NLTK Haskell DRC Lokole client Lokole server Ali Express Raspberry Pi Orange Pi Uganda Tanzania JSON Avro msgpack gzip Gmail Lingala wvdial USB Modeswitch Gnome SIM database Benin Agricultural Engineer Outernet Internet In A Box mkvvconf Azure for non-profits Kubernetes Connexion Zalando Open API Sendgrid Azure Service Bus Ambassador Container Pillow United Nations Sustainable Development Goals The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jun 25, 201842 min

Ep 166Understanding Machine Learning Through Visualizations with Benjamin Bengfort and Rebecca Bilbro

Full

Summary Machine learning models are often inscrutable and it can be difficult to know whether you are making progress. To improve feedback and speed up iteration cycles Benjamin Bengfort and Rebecca Bilbro built Yellowbrick to easily generate visualizations of model performance. In this episode they explain how to use Yellowbrick in the process of building a machine learning project, how it aids in understanding how different parameters impact the outcome, and the improved understanding among teammates that it creates. They also explain how it integrates with the scikit-learn API, the difficulty of producing effective visualizations, and future plans for improvement and new features. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Rebecca Bilbro and Benjamin Bengfort about Yellowbrick, a scikit extension to use visualizations for assisting with model selection in your data science projects. Interview Introductions How did you get introduced to Python? Can you describe the use case for Yellowbrick and how the project got started? What is involved in visualizing scikit-learn models? What kinds of information do the visualizations convey? How do they aid in understanding what is happening in the models? How much direction does yellowbrick provide in terms of knowing which visualizations will be helpful in various circumstances? What does the workflow look like for someone using Yellowbrick while iterating on a data science project? What are some of the common points of confusion that your students encounter when learning data science and how has yellowbrick assisted in achieving understanding? How is Yellowbrick iplemented and how has the design changed over the lifetime of the project? What would be required to integrate with other visualization libraries and what benefits (if any) might that provide? What about other ML frameworks? What are some of the most challenging or unexpected aspects of building and maintaining Yellowbrick? What are the limitations or edge cases for yellowbrick? What do you have planned for the future of yellowbrick? Beyond visualization, what are some of the other areas that you would like to see innovation in how data science is taught and/or conducted to make it more accessible? Keep In Touch Rebecca Bilbro Github Twitter Benjamin Bengfort Github Twitter Picks Tobias Poutine Rebecca The color yellow Benjamin ALL CAPS Links Hadoop Natural Language Processing Machine Learning scikit-learn Model Selection Triple the machine learning workflow scikit-yb Yellowbrick Visualizer API Visual Tests Jupyter Matplotlib Tensorflow Hyperparameter Parallel Coordinates Radviz Rank2D Prediction Error Plot Residuals Plot Validation Curves Alpha Selection Frequency Distribution Plot Bayes Theorem Seaborn Stop Words N-gram Craig – Bias and Fairness of Algorithms Shiny Bokeh Keras StatsModels Tensorboard PyTorch NumPy Voxel Wizard of Oz The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jun 17, 201855 min

Ep 165Modern Database Clients On The Command Line with Amjith Ramanujam

Full

Summary The command line is a powerful and resilient interface for getting work done, but the user experience is often lacking. This can be especially pronounced in database clients because of the amount of information being transferred and examined. To help improve the utility of these interfaces Amjith Ramanujam built PGCLI, quickly followed by MyCLI with the Prompt Toolkit library. In this episode he describes his motivation for building these projects, how their popularity led him to create even more clients, and how these tools can help you in your command line adventures. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Amjith Ramanujam about DBCLI, an umbrella project for command line database clients with autocompletion and syntax highlighting. Interview Introductions How did you get introduced to Python? What is the DBCLI project? Which of the clients was the first to be created and what was your motivation for starting it? At what point did you decide to create the DBCLI umbrella for the different projects and what benefits does it provide? How much functionality is shared between the different clients? What additional functionality do the different clients provide over those that are distributed with their respective engines? How do you optimize for cases where large volumes of data are returned from a query? What are some of the most interesting or surprising things that you have learned about database engines in the process of building client interfaces for them? What are the most challenging aspects of building the different database clients? What are some unexpected hardships that you encountered through this open source project? What are some unexpected pleasant surprises that you encountered through this project? Why did you hand over the project leadership for pgcli and mycli to other devs? Was it a hard decision? Why do you optimize on being nice over being right? How did Microsoft get involved with dbcli? mssql-cli What’s been the reception for the projects? What are your plans for upcoming releases of the various clients? Which database engines are you planning to target next? Keep In Touch amjith on GitHub @amjithr on Twitter Blog Picks Tobias Downsizing Amjith Dosas Sarasate Links DBCLI Haskell Learn you as haskell List Comprehension PGCLI MyCLI MSSQL-CLI Prompt Toolkit Podcast.__init__ Interview BPython DjangoCon EU CLI Helpers Python Generators PGSpecial Longboarding Irina Truong Thomas Roten(sp) PostGreSQL MySQL Microsoft SQL Server SQLite Oracle DB Cassandra DB The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jun 11, 201830 min

Ep 164Pandas Extension Arrays with Tom Augspurger

Full

Summary Pandas is a swiss army knife for data processing in Python but it has long been difficult to customize. In the latest release there is now an extension interface for adding custom data types with namespaced APIs. This allows for building and combining domain specific use cases and alternative storage mechanisms. In this episode Tom Augspurger describes how the new ExtensionArray works, how it came to be, and how you can start building your own extensions today. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Tom Augspurger about the extension interface for Pandas data frames and the use cases that it enables Interview Introductions How did you get introduced to Python? Most people are familiar with Pandas, but can you describe at a high level the new extension interface? What is the story behind the implementation of this functionality? Prior to this interface what was the option for anyone who wanted to extend Pandas? What are some of the new data types that are available as external packages? What are some of the unique use cases that they enable? How is the new interface implemented within Pandas? What were the most challenging or difficult aspects of building this new functionality? What are some of the more interesting possibilities that you are aware of for new extension types? What are the limitations of the interface for libraries that add new array functionality? What is the next major change or improvement that you would like to add in Pandas? Keep In Touch tomaugspurger on GitHub @TomAugspurger on Twitter Picks Tobias Black Panther Tom Dask-ML Links Pandas ExtensionArray Original IP Address proposal Mid-implementation blog post Dataframe Numpy Cyberpandas Geopandas GIS Arrow CuPy JQ Wes McKinney Array ufunc Matplotlib Altair Seaborn Bokeh Podcast.__init__ Interview Dask Data Engineering Interview The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jun 4, 201833 min

Ep 163Making A Difference Through Software With Eric Schles

Full

Summary Software development is a skill that can create value and reduce drudgery in a wide variety of contexts. Sometimes the causes that are most in need of software expertise are also the least able to pay for it. By volunteering our time and abilities to causes that we believe in, we can help make a tangible difference in the world. In this episode Eric Schles describes his experiences working on social justice initiatives and the types of work that proved to be the most helpful to the groups that he was working with. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Eric Schles about how to get involved with social justice causes as an engineer Interview Introductions How did you get introduced to Python? What are some ways that engineers can create real-world impact with their skills? What are some of the common roadblocks to contribution that people should be aware of? What are some of the types of projects or tools that can provide the most value compared to the amount of effort? Do you have any advice for picking an organization or cause that will benefit the most from technical expertise? Many of the tools and systems that get built for public or non-profit organizations require some amount of data for them to be useful. Do you have any advice on methods for identifying, locating, or collecting the necessary information for feeding into these projects? What are some of the design factors that should be considered when building tools for these organizations to allow them to be maintainable and sustainable in the absense of an experienced engineer? Keep In Touch EricSchles on GitHub @EricSchles on Twitter Picks Tobias Shoes without laces Eric Catboost Pomegranate Links USDS 18F OCW Python Course SAS R Machine Learning Version Control GitHub Agile OCR (Optical Character Recognition) Eric Schles Interview On Podcast.__init__ Excel ETL (Extract Transform Load) Automate The Boring Stuff Web Scraping Thomas Levine Elasticsearch Trello The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

May 27, 201843 min

Ep 162Asking Questions From Data Using Active Learning with Tivadar Danka

Full

Summary One of the challenges of machine learning is obtaining large enough volumes of well labelled data. An approach to mitigate the effort required for labelling data sets is active learning, in which outliers are identified and labelled by domain experts. In this episode Tivadar Danka describes how he built modAL to bring active learning to bioinformatics. He is using it for doing human in the loop training of models to detect cell phenotypes with massive unlabelled datasets. He explains how the library works, how he designed it to be modular for a broad set of use cases, and how you can use it for training models of your own. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Tivadar Danka about modAL, a modular active learning framework for Python3 Interview Introductions How did you get introduced to Python? What is active learning? How does it differ from other approaches to machine learning? What is modAL and what was your motivation for starting the project? For someone who is using modAL, what does a typical workflow look like to train their models? How do you avoid oversampling and causing the human in the loop to become overwhelmed with labeling requirements? What are the most challenging aspects of building and using modAL? What do you have planned for the future of modAL? Keep In Touch @TivadarDanka on Twitter cosmic-cortex on GitHub https://www.tivadardanka.com?utm_source=rss&utm_medium=rss for anything else Picks Tobias Peter Rabbit Movie Tivadar Uri Alon: An Introduction to Systems Biology – Design Principles of Biological Circuits, book and online lectures Links modAL homepage modAL on GitHub modAL paper Bioinformatics Hungary Phenotypes Active Learning Supervised Learning Unsupervised Learning Snorkel Active Feature-Value Acquisition scikit-learn Entropy PyTorch Tensorflow Keras Jupyter Notebooks Bayesian Optimization Hyperparameters The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

May 21, 201827 min

Ep 161Great Expectations For Your Data Pipelines with Abe Gong and James Campbell

Full

Summary Testing is a critical activity in all software projects, but one that is often neglected in data pipelines. The complexities introduced by the inherent statefulness of the problem domain and the interdependencies between systems contribute to make pipeline testing difficult to manage. To make this endeavor more manageable Abe Gong and James Campbell have created Great Expectations. In this episode they discuss how you can use the project to create tests in the exploratory phase of building a pipeline and leverage those to monitor your systems in production. They also discussed how Great Expectations works, the difficulties associated with pipeline testing and managing associated technical debt, and their future plans for the project. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Finding a bug in production is never a fun experience, especially when your users find it first. Airbrake error monitoring ensures that you will always be the first to know so you can deploy a fix before anyone is impacted. With open source agents for Python 2 and 3 it’s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don’t waste time pinpointing what went wrong. Go to podcastinit.com/airbrake today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected] Your host as usual is Tobias Macey and today I’m interviewing James Campbell and Abe Gong about Great Expectations, a tool for testing the data in your analytics pipelines Interview Introduction How did you first get introduced to Python? What is Great Expectations and what was your motivation for starting it? What are some of the complexities associated with testing analytics pipelines? What types of tests can be executed to ensure data integrity and accuracy? What are some examples of the potential impact of pipeline debt? What is Great Expectations and how does it simplify the process of building and executing pipeline tests? What are some examples of the types of tests that can be built with Great Expectations? For someone getting started with Great Expectations what does the workflow look like? What was your reason for using Python for building it? How does the choice of language benefit or hinder the contexts in which Great Expectations can be used? What are some cases where Great Expectations would not be usable or useful? What have been some of the most challenging aspects of building and using Great Expectations? What are your hopes for Great Expectations going forward? Contact Info James jpcampb2 on GitHub Abe abegong on GitHub Website @AbeGong on Twitter Picks Tobias Fitbit Versa James Unplug and spend some time away from the computer Abe Superconductive Health Slack: Getting Past Burnout, Busy Work, and the Myth of Total Efficiency Links Superconductive Health Laboratory for Analytical Sciences Great Expectations Medium Post DAG (Directed Acyclic Graph) SLA (Service Level Agreement) Integration Testing Data Engineering Histogram Pandas SQLAlchemy Tutorial Videos Jupyter Notebooks Dataframe Airflow Luigi Spark Oozie Azkaban JSON XML The intro and outro music is from The Hug by The Freak Fandango Orchestra / CC BY-SA

May 13, 201850 min

Ep 160Exploring Color Theory In Python With Thomas Mansencal

Full

Summary We take it for granted every day, but creating and displaying vivid colors in our digital media is a complicated and often difficult process. There are different ways to represent color, the ways in which they are displayed can cause them to look different, and translating between systems can cause losses of information. To simplify the process of working with color information in code Thomas Mansencal wrote the Colour project. In this episode we discuss his motiviation for creating and sharing his library, how it works to translate and manage color representations, and how it can be used in your projects. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Finding a bug in production is never a fun experience, especially when your users find it first. Airbrake error monitoring ensures that you will always be the first to know so you can deploy a fix before anyone is impacted. With open source agents for Python 2 and 3 it’s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don’t waste time pinpointing what went wrong. Go to podcastinit.com/airbrake today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) Your host as usual is Tobias Macey and today I’m interviewing Thomas Mansencal about Colour, a python library for working with algorithms and transformations to explore color theory Interview Introductions How did you get introduced to Python? What is color theory? How does Colour assist in the process of working with some of the practical applications of colour science? What was your motivation for creating Colour? What are some example use cases for colour? One of the aspects of color in digital environments that is often confusing is the number of different ways that it can be represented. What are the relative benefits of things like RGB, HSV, CMYK, etc.? How is the Colour library architected and how has that evolved over time? Are there new developments in the area of color theory that need to be periodically incorporated into the library? What have you found to be some of the most often misunderstood aspects of color? What have been some of the most difficult or frustrating aspects of building, maintaining, and promoting Colour? What are some of the most interesting or unexpected uses of Colour that you have seen? What are your plans for the future of Colour? Keep In Touch Website Picks Tobias Beasts of Olympus by Lucy Coates Thomas Coursera Mathematics Machine Learning Course Links Colour Color Theory Color Science Weta Digital Wingnut AR Visual Effects Artist Allegro AutoDesk Maya PyQT Isaac Newton Color Wheel Colorimetry CIE VY Canis Majoris (Red Hypergiant) Rigel (Blue-White Supergiant) Kelvin Temperature Scale Black Body Radiation HDRI (High Dynamic Range Imaging) Adobe DNG SDK ICC OpenColorIO MERCK Group Color Space RGB HSV CMYK CIE XYZ CIE RGB CIE Lab CIE Luv sRGB Gamma Correction Additive Color Space Subtractive Color Space Color Blindness Gustavo Machado Rods and Cones Dichromacy Color Appearance Model Uniform Color Spaces JOSS ArXiv CIECAM02 Color Appearance Model Cinematic Color Jeremy Selan (Author of OpenColorIO) Academy Color Encoding System Color Appearance Models by Mark D. Fairchild The Reproduction of Colour by Dr. R.W.G. Hunt Color Science: Concepts and Methods, Quantitative Data and Formulae, 2nd Edition by Günther Wyszecki and W. S. Stiles Katherine Crowson Google Colab The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

May 6, 201857 min

Ep 159Destroy All Software With Gary Bernhardt

Full

Summary Many developers enter the market from backgrounds that don’t involve a computer science degree, which can lead to blind spots of how to approach certain types of problems. Gary Bernhardt produces screen casts and articles that aim to teach these principles with code to make them approachable and easy to understand. In this episode Gary discusses his views on the state of software education, both in academia and bootcamps, the theoretical concepts that he finds most useful in his work, and some thoughts on how to build better software. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Finding a bug in production is never a fun experience, especially when your users find it first. Airbrake error monitoring ensures that you will always be the first to know so you can deploy a fix before anyone is impacted. With open source agents for Python 2 and 3 it’s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don’t waste time pinpointing what went wrong. Go to podcastinit.com/airbrake today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) Your host as usual is Tobias Macey and today I’m interviewing Gary Bernhardt about teaching and learning Python in the current software landscape Interview Introductions How did you get introduced to Python? As someone who makes a living from teaching aspects of programming what is your view on the state of software education? What are some of the ways that we as an industry can improve the experience of new developers? What are we doing right? You spend a lot of time exploring some of the fundamental aspects of programming and computation. What are some of the lessons that you have learned which transcend software languages? Utility of graphs in understanding software Mechanical sympathy What are the benefits of ‘from scratch’ tutorials that explore the steps involved in building simple versions of complex topics such as compilers or web frameworks? Keep In Touch @garybernhardt on Twitter garybernhardt on GitHub Picks Tobias Terry Pratchett Gary Destroy All Software Deconstruct Conference Out Of The Tarpit Algorithms + Data Structures = Programs by Niklaus Wirth Dan Grossman Programming Languages Course (click the “Videos” links under “course materials”) U of W John Carmack post reconsidering some earlier positions Links Wat Birth and Death of Javascript Destroy All Software Deconstruct Data Structures Computer Science Compilers Programming Bootcamps Graph Theory Julia Evans @b0rk on Twitter Allen Downey Jupyter Notebook Halting Problem Idris Visual Basic 3.0 Set Theory ML Family of Languages SML, a simple dialect of ML SML/NJ, a compiler for SML OCamL, a more modern dialect of ML F#, an even newer dialect of ML Clojure, a modern Lisp-like language Lua Grammar (scroll to the very bottom for the full grammar) John Carmack Twitter Thread Explaining Episode Context The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Apr 30, 201852 min

Ep 158Scaling Deep Learning Using Polyaxon with Mourad Mourafiq

Full

Summary With libraries such as Tensorflow, PyTorch, scikit-learn, and MXNet being released it is easier than ever to start a deep learning project. Unfortunately, it is still difficult to manage scaling and reproduction of training for these projects. Mourad Mourafiq built Polyaxon on top of Kubernetes to address this shortcoming. In this episode he shares his reasons for starting the project, how it works, and how you can start using it today. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Finding a bug in production is never a fun experience, especially when your users find it first. Airbrake error monitoring ensures that you will always be the first to know so you can deploy a fix before anyone is impacted. With open source agents for Python 2 and 3 it’s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don’t waste time pinpointing what went wrong. Go to podcastinit.com/airbrake today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) Your host as usual is Tobias Macey and today I’m interviewing Mourad Mourafiq about Polyaxon, a platform for building, training and monitoring large scale deep learning applications. Interview Introductions How did you get introduced to Python? Can you give a quick overview of what Polyaxon is and your motivation for creating it? What is a typical workflow for building and testing a deep learning application? How is Polyaxon implemented? How has the internal architecture evolved since you first started working on it? What is unique to deep learning workloads that makes it necessary to have a dedicated tool for deploying them? What does Polyaxon add on top of the existing functionality in Kubernetes? It can be difficult to build a docker container that holds all of the necessary components for a complex application. What are some tips or best practices for creating containers to be used with Polyaxon? What are the relative tradeoffs of the various deep learning frameworks that you support? For someone who is getting started with Polyaxon what does the workflow look like? What is involved in migrating existing projects to run on Polyaxon? What have been the most challenging aspects of building Polyaxon? What are your plans for the future of Polyaxon? Keep In Touch Website @mmourafiq on Twitter mouradmourafiq on GitHub Picks Tobias Kubernetes Kubernetes Up And Running Kelsey Hightower Food Fight Show With Kelsey Hightower Mourad Schopenhauer Links Polyaxon Investment Banking Luxembourg Matlab Text Mining Tensorflow Docker Kubernetes Deep Learning Free Deep Learning Textbook Machine Learning Engineer Hyperparameters Continuous Integration PyTorch MXNet Scikit-Learn Helm Mesos Spark SparkML The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Apr 23, 201836 min

Ep 157Electricity Map: Real Time Visibility of Power Generation with Olivier Corradi

Full

Summary One of the biggest issues facing us is the availability of sustainable energy sources. As individuals and energy consumers it is often difficult to understand how we can make informed choices about energy use to reduce our impact on the environment. Electricity Map is a project that provides up to date and historical information about the balance of how the energy we are using is being produced. In this episode Olivier Corradi discusses his motivation for creating Electricity Map, how it is built, and his goals for the project and his other work at Tomorrow Co. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Finding a bug in production is never a fun experience, especially when your users find it first. Airbrake error monitoring ensures that you will always be the first to know so you can deploy a fix before anyone is impacted. With open source agents for Python 2 and 3 it’s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don’t waste time pinpointing what went wrong. Go to podcastinit.com/airbrake today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) Your host as usual is Tobias Macey and today I’m interviewing Olivier Corradi about Electricity Map and using Python to analyze data of global power generation Interview Introductions How did you get introduced to Python? What was your motivation for creating Electricity Map? How can an average person use or benefit from the information that is available in the map? What sources are you using to gather the information about how electricity is generated and distributed in various geographic regions? Is there any standard format in which this data is produced? What are the biggest difficulties associated with collecting and consuming this data? How much confidence do you have in the accuracy of the data sources? Is there any penalty for misrepresenting the fuel consumption or waste generation for a given plant? Can you describe the architecture of the system and how it has evolved? What are some of the most interesting uses of the data in your database and API that you are aware of? How do you measure the impact or effectiveness of the information that you provide through the different interfaces to the data that you have aggregated? How have you built a community around the project? How has the community helped in building and growing Electricity Map? What are some of the most unexpected things that you have learned in the process of building Electricity Map? What are your plans for the future of Electricity Map? Keep In Touch @corradio on Twitter LinkedIn corradio on GitHub Picks Tobias Rollerblading Olivier Deep Mind AlphaGo Documentary Consumer’s Guide To Climate Change Impact Links Electricity Map Machine Learning Youtube Climate Change Fossil Fuels Carbon Intensity Greenhouse Gas Equivalencies Calculations Open Data Electricity Map Project Source Lignite Marginal Carbon Intensity Electricity Map Forecast API IPCC (Intergovernmental Panel on Climate Change Redis D3.js Spark Tensorflow Spatiotemporal Data MongoDB Matrix Inversion PyGRIB Tomorrow Co. The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Apr 15, 201847 min

Ep 156Building And Growing Nylas with Christine Spang

Full

Summary Email is one of the oldest methods of communication that is still in use on the internet today. Despite many attempts at building a replacement and predictions of its demise we are sending more email now than ever. Recognizing that the venerable inbox is still an important repository of information, Christine Spang co-founded Nylas to integrate your mail with the rest of your tools, rather than just replacing it. In this episode Christine discusses how Nylas is built, how it is being used, and how she has helped to grow a successful business with a strong focus on diversity and inclusion. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. Finding a bug in production is never a fun experience, especially when your users find it first. Airbrake error monitoring ensures that you will always be the first to know so you can deploy a fix before anyone is impacted. With open source agents for Python 2 and 3 it’s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don’t waste time pinpointing what went wrong. Go to podcastinit.com/airbrake today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Christine Spang about Nylas and the modern era of email Interview Introductions How did you get introduced to Python? Can you explain what Nylas is and some of its history? What do you think it is about email as a protocol and a means of communication that has made it so resilient in the face of technological evolution? What lessons did you learn from your initial offering of the N1 mail client and how has that informed your current focus? Nylas as a company appears to have a strong focus on diversity and inclusion. Can you speak to how you encourage that type of environment and how it manifests at work? What are some of the ways that Python is used at Nylas? Can you share some examples of services that you have written in other languages and why you felt that Python was not the right choice? What are some of the use cases that Nylas enables? What are some of the most interesting or innovative uses of the Nylas platform that you have seen? How do you manage privacy and security in your sync service given the sensitivity of the data that you are handling? What are some of the biggest challenges that you are currently facing at Nylas? What do you think will be the future of email? Keep In Touch LinkedIn @spang on Twitter Website GitHub Picks Tobias Trello Christine Founders For Change Links Nylas MIT KSplice Debian Lisp REST Email N1 Mail Client Mailspring Nylas Employee Handbook Hackbright Academy Code2040 TextIO Key Values IMAP OAuth MySQL Gevent React CRM (Customer Relationship Management) SendGrid MailGun MailChimp GDPR (General Data Protection Regulation) SOC2 OWASP Top 10 Principle of Least Privilege The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Apr 8, 201843 min

Ep 155Synthetic Data Generation Using Mimesis with Nikita Sobolev

Full

Summary Most applications require data to operate on in order to function, but sometimes that data is hard to come by, so why not just make it up? Mimesis is a library for randomly generating data of different types, such as names, addresses, and credit card numbers, so that you can use it for testing, anonymizing real data, or for placeholders. This week Nikita Sobolev discusses how the project got started, the challenges that it has posed, and how you can use it in your applications. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) Your host as usual is Tobias Macey and today I’m interviewing Nikita Sobolev about Mimesis, a library for quickly generating synthetic data Interview Introductions How did you get introduced to Python? What is mimesis and how does it compare to other projects such as faker and factory_boy? What was the motivation for creating it? One of the features that is advertised is the speed of Mimesis. What techniques are used to ensure that the data is generated quickly? What are the built in mechanisms for generating data? What options do users have for customizing the types of data that can get generated? What are some of the most complicated providers to write and maintain? What are some of the use cases outside of unit or integration tests where Mimesis could be beneficial? How would you use Mimesis to anonymize data from a production environment to be used for testing? What are the most challenging aspects of maintaining the Mimesis project? What are some of the plans that you have for the future of Mimesis? Keep In Touch sobolevn on GitHub @sobolevn on Twitter Email Picks Tobias Coco Nikita I Am A Mediocre Developer Links Mimesis Django Faker Factory Boy Internationalization (I18N) Unicode Enum Pipfile GeoJSON Mimesis Cloud Sanic GraphQL Impostor Syndrome Imposter Syndrome Disclaimer: Add this to all of your projects! Jacob Kaplan-Moss PyCon Keynote The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Apr 1, 201832 min

Ep 154Luminoth: AI Powered Computer Vision for Python with Joaquin Alori

Full

Summary Making computers identify and understand what they are looking at in digital images is an ongoing challenge. Recent years have seen notable increases in the accuracy and speed of object detection due to deep learning and new applications of neural networks. In order to make it easier for developers to take advantage of these techniques Tryo Labs built Luminoth. In this interview Joaquín Alori explains how how Luminoth works, how it can be used in your projects, and how it compares to API oriented services for computer vision. Introduction Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. For complete visibility into your application stack, deployment tracking, and powerful alerting, DataDog has got you covered. With their monitoring, metrics, and log collection agent, including extensive integrations and distributed tracing, you’ll have everything you need to find and fix bugs in no time. Go to podcastinit.com/datadog today to start your free 14 day trial and get a sweet new T-Shirt. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) Your host as usual is Tobias Macey and today I’m interviewing Joaquín Alori about Luminoth, a deep learning toolkit for computer vision in Python Interview Introductions How did you get introduced to Python? What is Luminoth and what was your motivation for creating it? Computer vision has been a focus of AI research for decades. How do current approaches with deep learning compare to previous generations of tooling? What are some of the most difficult problems in visual processing that still need to be solved? What are the limitations of Luminoth for building a computer vision application and how do they differ from the capabilities of something built with a prior generation of tooling such as OpenCV? For someone who is interested in using Luminoth in their project what is the current workflow? How do the capabilities of Luminoth compare with some of the various service based options such as Rekognition for Amazon or the Cloud Vision API from Google? What are some of the motivations for using Luminoth in place of these services? What are some of the highest priority features that you are focusing on implementing in Luminoth? When is Luminoth the wrong choice for a computer vision application and what are some of the strongest alternatives at the moment? Keep In Touch @JoaquinAlori on Twitter LinkedIn Picks Tobias PyCon US Joaquin 3Blue1Brown Links Luminoth Luminoth Release Announcement Tryo Labs Uruguay Industrial Engineering Manufacturing Engineering Elon Musk Artificial Intelligence Deep Learning Neural Networks Object Detection Image Segmentation Convolutional Neural Network Recurrent Neural Network Back Propagation Geoff Hinton Capsule Networks Generative Adversarial Networks SVM (Support Vector Machine) Haar Classifiers OpenCV Drones GPU (Graphics Processing Unit) Rekognition Cloud Vision API TensorFlow Object Detection API Sonnet DeepMind Caffe The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Mar 25, 201821 min

Ep 153Thonny: The IDE For Beginning Programmers with Aivar Annamaa

Full

Summary Learning to program is a rewarding pursuit, but is often challenging. One of the roadblocks on the way to proficiency is getting a development environment installed and configured. In order to simplify that process Aivar Annamaa built Thonny, a Python IDE designed for beginning programmers. In this episode he discusses his initial motivations for starting Thonny and how it helps newcomers to Python learn and understand how to write software. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 40Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute. For complete visibility into your application stack, deployment tracking, and powerful alerting, DataDog has got you covered. With their monitoring, metrics, and log collection agent, including extensive integrations and distributed tracing, you’ll have everything you need to find and fix bugs in no time. Go to podcastinit.com/datadog today to start your free 14 day trial and get a sweet new T-Shirt. To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons. Visit podcastinit.com to subscribe to the show, sign up for the newsletter, and read the show notes. Your host as usual is Tobias Macey and today I’m interviewing Aivar Annamaa about Thonny, a Python IDE for beginning programmers Interview Introductions How did you get introduced to Python? What was your motivation for building an IDE focused on beginning programmers? What are the features of Thonny that make it easier for users to understand what is happening in their programs? What have you found to be the types of issues that users most frequently struggle with and how does Thonny help overcome those gaps in understanding? What kinds of tutorials or supporting material have you found to be the most useful for teaching students the principles that they need to be able to take advantage of the environment that Thonny provides? How is Thonny built and what have been the most challenging aspects of writing an IDE in Python? What are some of the interface design choices that you have made to avoid confusing or overwhelming beginning users? Once a user becomes more proficient in Python is there a point where it no longer makes sense to continue using Thonny for development? I noticed that Thonny has an plugin architecture and there is an extension for interacting with the BBC micro:bit. What are some of the other types of extensions that you would like to see built for Thonny? Keep In Touch Aivar @aivarannamaa on Twitter aivarannamaa on GitHub Google Scholar Page Thonny Website Forum @thonnyide on Twitter Source repository and wiki Picks Tobias Data Engineering Podcast Kubo and the Two Strings Aivar MicroPython Podcast.__init__ Interview How to Talk So Kids Will Listen & Listen So Kids Will Talk Links Thonny University of Tartu Estonia Recursion TKinter Aivar Estonian Textbook Pascal MyPy Podcast.__init__ Interview BBC Micro:bit Version Control GitHub GitLab Elm Compiler Messages The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Mar 18, 201829 min

Ep 152Keeping The Beets with Adrian Sampson

Full

Summary Maintaining a consistent taxonomy for your music library is a challenging and time consuming endeavor. Eventually you end up with a mess of folders and files with inconsistent names and missing metadata. Beets is built to solve this problem by programmatically managing the tags and directory structure for all of your music files and providing a fast lookup when you are trying to find that perfect song to play. Adrian Sampson began the project because he was trying to clean up his own music collection and in this episode he discusses how the project was built, how streaming media is affecting our relationship to digital music, and how he envisions Beets position in the ecosystem in the future. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Adrian Sampson about Beets, the swiss army knife for managing your music library. Interview Introductions How did you get introduced to Python? What is Beets and what was your reason for creating it? What was your reason for using Python and if you were to start over today would you make the same choice? If I have a directory with inconsistent naming conventions, poor organization, and some random folders full of mixed MP3 files how can Beets help me and what does the workflow look like? How is Beets architected to allow for interactively processing a large volume of media files and how has the design evolved over the time that you have been working on it? What are your thoughts on the current trend toward streaming music services replacing local media files? What have been some of the most challenging aspects of building Beets? What are some of the most interesting uses for Beets that you have seen? What are some of the other projects for managing a music library and how does Beets compare to them? Are there any features that you have planned for the future of Beets, or any new functionality that you would like to see contributed? Keep In Touch sampsyo on GitHub Website @samps on Twitter Picks Tobias Mozart’s Requiem Wikipedia YouTube Gov’t Mule Darkest Hour Adrian Spiralizer Spiralized Beats With Pesto Links Beets SQLite Mutagen ID3 Tags Musicbrainz Bandcamp Free Music Archive Cornell AcoustID Chromaprint Musicbrainz Picard iTunes Spotify Amazon Music DLNA UPnP AURA The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Mar 12, 201839 min

Ep 151Salabim: Logistics Simulation with Ruud van der Ham

Full

Summary Determining the best way to manage the capacity and flow of goods through a system is a complicated issue and can be exceedingly expensive to get wrong. Rather than experimenting with the physical objects to determine the optimal algorithm for managing the logistics of everything from global shipping lanes to your local bank, it is better to do that analysis in a simulation. Ruud van der Ham has been working in this area for the majority of his professional life at the Dutch port of Rotterdam. Using his acquired domain knowledge he wrote Salabim as a library to assist others in writing detailed simulations of their own and make logistical analysis of real world systems accessible to anyone with a Python interpreter. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Ruud van der Ham about Salabim, a Python library for conducting discrete event simulations Interview Introductions How did you get introduced to Python? Can you start by explaining what Discrete Event Simulation is and how Salabim helps with that? Can you explain how you chose the name? What was your motivation for creating Salabim and how does it compare to other tools for discrete event simulation? How does discrete event simulation compare with state machines? How is Salabim implemented and how has the design evolved over the time that you have been working on it? I understand that you have done a majority of Salabim was written on an iPad. Can you speak about why you have chosen that as your development environment and your experience working in that manner? What are some examples of the types of models that you can model with Salabim? What would an implementation of one of these models look like for someone using Salabim? What options does a user have to verify the accuracy of a simulation created with Salabim? One of the nice aspects of Salabim is the fact that it provides a visual output as a simulation runs. Can you describe the workflow for someone who wants to use Salabim for modeling and visualizing a system? At what point does a system become too complex to encapsulate in a simulation and what techniques can you use to modularize it to make a simulation useful? When is Salabim not the right tool to use and what would you suggest for people who find themselves in that situation? What have been some of the most complicated or difficult aspects of building and maintaining Salabim? What are some of the new features or improvements that you have planned for the future of Salabim? Keep In Touch Email Picks Tobias Cuisinart Burr Mill Coffee Grinder Ruud Pythonista (Python for iOS) Python Notes for Professionals Fluent Python by Luciano Ramalho Links Salabim GitHub Dining Philosophers Animation Elevator Animation Rotterdam Discrete Event Simulation Container Terminal Automation Basic Algol Pascal Operations Research Continuous Simulation Simula Coroutines SymPy Another DES in Python: SimPy DES in Julia: SimJulia DES in R: Simmer DES in Delphi/Pascal: Tomas Pillow PyPy Delphi PyGame PyQT TkInter Inspect Module OpenCV Blender The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Mar 4, 201851 min

Ep 150Laboratory: Safer Refactoring with Joe Alcorn

Full

Summary Every piece of software that has been around long enough ends up with some piece of it that needs to be redesigned and refactored. Often the code that needs to be updated is part of the critical path through the system, increasing the risks associated with any change. One way around this problem is to compare the results of the new code against the existing logic to ensure that you aren’t introducing regressions. This week Joe Alcorn shares his work on Laboratory, how the engineers at GitHub inspired him to create it as an analog to the Scientist gem, and how he is using it for his day job. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. A brief announcement before we start the show: If you work with data or want to learn more about how the projects you have heard about on the show get used in the real world then join me at the Open Data Science Conference in Boston from May 1st through the 4th. It has become one of the largest events for data scientists, data engineers, and data driven businesses to get together and learn how to be more effective. To save 60% off your tickets go to podcastinit.com/odsc-east-2018 and register. Your host as usual is Tobias Macey and today I’m interviewing Joe Alcorn about using Laboratory as a safety net for your refactoring. Interview Introductions How did you get introduced to Python? Can you start be explaining what Laboratory is and what motivated you to start the project? How much of the design and implementation were directly inspired by the Scientist project from GitHub and how much of it did you have to figure out from scratch due to differences in the target languages? What have been some of the most challenging aspects of building and maintaining Laboratory, and have you had any opportunities to use it on itself? For someone who would like to use Laboratory in their project, what does the workflow look like and what potential pitfalls should they watch out for? In the documentation you mention that portions of code that perform I/O and create side effects should be avoided. Have you found any strategies to allow for stubbing out the external interactions while still executing the rest of the logic? How do you keep track of the results for active experiments and what sort of reporting is available? What are some examples of the types of routines that would be good candidates for conducting an experiment? What are some of the most complicated or difficult pieces of code that you have refactored with the help of Laboratory? Given the fact that Laboratory is intended to be run in production and provide a certain measure of safety, what methods do you use to ensure that users of the library will not suffer from a drastic increase in overhead or unintended aberrations in the functionality of their software? Are there any new features or improvements that you have planned for future releases of Laboratory? Keep In Touch joealcorn on GitHub Website Picks Tobias Chronicles of Narnia Joe Why We Sleep: Unlocking The Power of Sleep and Dreams by Matthew Walker, PhD Links Marvel App GitHub: Move Fast and Fix Things GitHub Scientist: Measure Twice, Cut Over Once Scientist Laboratory Sure Footed Refactoring Graphite StatsD The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Feb 26, 201821 min

Ep 149Software Architecture For Developers with Neal Ford

Full

Summary Whether it is intentional or accidental, every piece of software has an existing architecture. In this episode Neal Ford discusses the role of a software architect, methods for improving the design of your projects, pitfalls to avoid, and provides some resources for continuing to learn about how to design and build successful systems. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. A few announcements before we start the show: There is still time to register for the O’Reilly Software Architecture Conference in New York. Use the link podcastinit.com/sacon-new-york to register and save 20% If you work with data or want to learn more about how the projects you have heard about on the show get used in the real world then join me at the Open Data Science Conference in Boston from May 1st through the 4th. It has become one of the largest events for data scientists, data engineers, and data driven businesses to get together and learn how to be more effective. To save 60% off your tickets go to podcastinit.com/odsc-east-2018 and register. With many thanks to O’Reilly Media, I have two items to give away. To sign up you just need to subscribe to the mailing list at podcastinit.com and you will have the chance to win either a copy of Neal’s book, Building Evolutionary Architectures, or a Bronze ticket to the O’Reilly Software Architecture Conference in New York. I will be picking the winners on February 21st. Your host as usual is Tobias Macey and today I’m interviewing Neal Ford about principles of software architecture for developers Interview Introductions How did you get introduced to Python? A majority of your work has been focused on software architectures and how that can be used to facilitate delivery of working systems. Can you start by giving a high level description of what software architecture is and how it fits into the overall development process? One of the difficulties that arise in long-lived projects is that technical debt accrues to the point that forward progress stagnates due to fear that any changes will cause the system to stop functioning. What are some methods that developers can use to either guard against that eventuality, or address it when it happens? What are some of the broad categories of architectural patterns that developers should be aware of? Are there aspects of the language that a system or application is being implemented in which influence the style of architecture that is commonly used? What are some architectural anti-patterns that you have found to be the most commonly occurring? Software is useless if there is no way to deliver it to the end user. What are some of the challenges that are most often overlooked by engineering teams and how do you solve for them? Beyond the purely technological aspects, what other elements of software production and delivery are necessary for a successful architecture? What resources can you recommend for someone who is interested in learning more about software architecture, whether as an individual contributor or in a full time architect role? Keep In Touch Website @neal4d on Twitter Picks Tobias Jumanji: Welcome to the Jungle Lost City of Z Neal DeveloperToArchitect.com EvolutionaryArchitecture.com Broken Earth Series Links Thoughtworks Neal’s Blog Lisp Thoughtworks Technology Radar Martin Fowler: Who Needs an Architect? O’Reilly Software Architecture Conference Soft Skills Microservices Building Evolutionary Architectures Github: Move Fast and Fix Things Continuous Delivery Github Scientist

Feb 18, 201850 min

Ep 148ZimboPy

Full

Summary Learning to code is one of the most effective ways to be successful in the modern economy. To that end, Marlene Mhangami and Ronald Maravanyika created the ZimboPy organization to teach women and girls in Zimbabwe how to program in Python. In this episode they are joined by Mike Place to discuss how ZimboPy got started, the projects that their students have worked on, and how the community can get involved. Preface mu- Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. – I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. – When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. – If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. – Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) – To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. – Your host as usual is Tobias Macey and today I’m interviewing Marlene Mhangami, Mike Place, and Ronald Maravanyika about ZimboPy, an organization that teaches women and girls in Zimbabwe how to program using Python Interview Introductions How did you get introduced to Python? Can you start by explaining what the mission of ZimboPy is and how it got started? Which languages did you consider using for your lessons and what was your reason for choosing Python? What subject matter do you cover in addition to pure programming concepts? What are some of the types of projects that the students have completed as part of their work with ZimboPy? What have been the most challenging aspects of running ZimboPy? How is ZimboPy supported and what are your plans to ensure future sustainability? Can you share some success stories for the women and girls that you have worked with? For anyone who is interested in replicating your work for other communities what advice do you have? Keep In Touch Mike cachedout on GitHub @cachedout on Twitter cachedout on Keybase Ronald Rmaravanyika on GitHub @Rmaravanyika on Twitter Marlene @marlene_zw on Twitter LinkedIn Picks Tobias Click Ronald Odoo formerly OpenERP Links ZimboPy Unilever Django Girls Thomas Hatch SaltStack Zimbabwe Mechatronics Raspberry Pi OpenCV ZimboPy Curriculum ZimboPy Storefront Oxfam Open Collective ZimboPy Mentorship Registration The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Feb 11, 201829 min

Ep 147PyRay: Pure Python 3D Rendering with Rohit Pandey

Full

Summary Using a rendering library can be a difficult task due to dependency issues and complicated APIs. Rohit Pandey wrote PyRay to address these issues in a pure Python library. In this episode he explains how he uses it to gain a more thorough understanding of mathematical models, how it compares to other options, and how you can use it for creating your own videos and GIFs. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. A few announcements before we start the show: There’s still time to get your tickets for PyCon Colombia, happening February 9th and 10th. Go to pycon.co to learn more and register. There is also still time to register for the O’Reilly Software Architecture Conference in New York. Use the link podcastinit.com/sacon-new-york to register and save 20% If you work with data or want to learn more about how the projects you have heard about on the show get used in the real world then join me at the Open Data Science Conference in Boston from May 1st through the 4th. It has become one of the largest events for data scientists, data engineers, and data driven businesses to get together and learn how to be more effective. To save 60% off your tickets go to podcastinit.com/odsc-east-2018 and register. Your host as usual is Tobias Macey and today I’m interviewing Rohit Pandey about PyRay, a 3d rendering library written completely in python Interview Introductions How did you get introduced to Python? Can you start by explaining what PyRay is and what motivated you to create it? [rohit] PyRay is an open source library written completely in Python that let’s you render three and higher dimensional objects and scenes. Development on it has been ongoing and new features have so far come about from videos for my Youtube channel. What does the internal architecture of PyRay look like and how has that design evolved since you first started working on it? What capabilities are unlocked by having a pure Python rendering library which would otherwise be impractical or impossible for Python developers to do with existing options? [rohit] Having a pure Python library makes it accessible with minimal fixed cost to Python users. The tradeoff is you lose on speed, but for many applications that isn’t an issue. I haven’t seen a library coded completely in Python that let’s you manipulate 3d and higher dimensional objects. The core usecase right now is Mathematical artwork. Google geometric gifs and you’ll see some fascinating, mesmerizing results. But those are created for the most part using tools that are not Python. Which is a pity since Python has a very extensive library of Mathematical functions. What have been some of the most challenging aspects of building and maintaining PyRay? [rohit] 3d objects – getting mesh plots. I have to develop routines from scratch for almost everything – shading objects, etc. Animated routines for characters. What are some of the most interesting or unexpected uses of PyRay that you are aware of? [rohit] Physical simulations. Ex: Testing if a solid is a fair die, getting lower bounds for space packing efficiencies of solids. Creating interactive demos where a user can draw to provide input. For someone who wanted to contribute to PyRay are there any particular skills or experience that would be most helpful? Basic linear algebra and python What are some of the features or improvements that you have planned for the future of PyRay? Keep In Touch pyray repo – https://github.com/ryu577/pyray?utm_source=rss&utm_medium

Feb 5, 201842 min

Ep 146MonkeyType with Carl Meyer and Matt Page

Full

Summary One of the draws of Python is how dynamic and flexible the language can be. Sometimes, that flexibility can be problematic if the format of variables at various parts of your program is unclear or the descriptions are inaccurate. The growing middle ground is to use type annotations as a way of providing some verification of the format of data as it flows through your application and enforcing gradual typing. To make it simpler to get started with type hinting, Carl Meyer and Matt Page, along with other engineers at Instagram, created MonkeyType to analyze your code as it runs and generate the type annotations. In this episode they explain how that process works, how it has helped them reduce bugs in their code, and how you can start using it today. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. A few announcements before we start the show: There’s still time to get your tickets for PyCon Colombia, happening February 9th and 10th. Go to pycon.co to learn more and register. There is also still time to register for the O’Reilly Software Architecture Conference in New York Feb 25-28. Use the link podcastinit.com/sacon-new-york to register and save 20% If you work with data or want to learn more about how the projects you have heard about on the show get used in the real world then join me at the Open Data Science Conference in Boston from May 1st through the 4th. It has become one of the largest events for data scientists, data engineers, and data driven businesses to get together and learn how to be more effective. To save 60% off your tickets go to podcastinit.com/odsc-east-2018 and register. Your host as usual is Tobias Macey and today I’m interviewing Carl Meyer and Matt Page about MonkeyType, a system to collect type information at runtime for your Python 3 code Interview Introductions How did you get introduced to Python? What is MonkeyType and how did the project get started? How much overhead does the MonkeyType tracing add to the running system, and what techniques have you used to minimize the impact on production systems? Given that the type information is collected from call traces at runtime, and some functions may accept multiple different types for the same arguments (e.g. add), do you have any logic that will allow for combining that information into a higher-order type that gets set as the annotation? How does MonkeyType function internally and how has the implementation evolved over the time that you have been working on it? Once the type annotations are present in your code base, what other tooling are you using to take advantage of that information? It seems as though using MonkeyType to trace your running production systems could be a way to inadvertantly identify dead sections of code that aren’t being executed. Have you investigated ways to use the collected type information perform that analysis? What have been some of the most challenging aspects of building, using, and maintaining MonkeyType? What have been some of the most interesting or noteworthy things that you have learned in the process of working on and with MonkeyType? What have you found to be the most useful and most problematic aspects of the typing capabilities provided in recent versions of Python? For someone who wants to start using MonkeyType today, what is involved in getting it set up and using it in a new or existing codebase? What features or improvements do you have planned for future releases of MonkeyType? Keep In Touch Carl Email @carljm on Twitter Matt Email @void_star on Twitter

Jan 28, 201848 min

Ep 145Learn Leap Fly: Using Python To Promote Global Literacy with Kjell Wooding

Full

Summary Learning how to read is one of the most important steps in empowering someone to build a successful future. In developing nations, access to teachers and classrooms is not universally available so the Global Learning XPRIZE serves to incentivize the creation of technology that provides children with the tools necessary to teach themselves literacy. Kjell Wooding helped create Learn Leap Fly in order to participate in the competition and used Python and Kivy to build a platform for children to develop their reading skills in a fun and engaging environment. In this episode he discusses his experience participating in the XPRIZE competition, how he and his team built what is now Kasuku Stories, and how Python and its ecosystem helped make it possible. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Kjell Wooding about Learn Leap Fly, a startup using Python on mobile devices to facilitate global learning Interview Introductions How did you get introduced to Python? Can you start by describing what Learn Leap Fly does and how the company got started? What was your motivation for using Kivy as the primary technology for your mobile applications as opposed to the platform native toolkits or other multi-platform frameworks? What are some of the pedagogical techniques that you have incorporated into the technological aspects of your mobile application and are there any that you were unable to translate to a purely technical implementation. How do you measure the effectiveness of the work that you are doing? How has the framework of the XPRIZE influenced the way in which you have approached the design and development of your work? What have been some of the biggest challenges that you faced in the process of developing and deploying your submission for the XPRIZE? What are some of the features that you have planned for future releases of your platform? Keep In Touch Learn Leap Fly Website @learnleapfly on Twitter Kjell llfkj on GitHub @pdokj on Twitter Picks Tobias Yamaha YHT-4930UBL Home Theater System Kjell Instant Pot Anova Sous Vide Modernist Cooking at Home Links Programming Python (O’Reilly) Learn Leap Fly Tim Ferriss Peter Diamandis Global Learning XPRIZE Kasuku Beta Program XPRIZE Foundation Kivy Kivy Flappy Bird Podcast.init Kivy Interview Deliberate Practice Google Pixel C Bayesian Learning SciPy NumPy Keras The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jan 21, 201843 min

Ep 144Healthchecks.io: Open Source Alerting For Your Cron Jobs with Pēteris Caune

Full

Summary Your backups are running every day, right? Are you sure? What about that daily report job? We all have scripts that need to be run on a periodic basis and it is easy to forget about them, assuming that they are working properly. Sometimes they fail and in order to know when that happens you need a tool that will let you know so that you can find and fix the problem. Pēteris Caune wrote Healthchecks to be that tool and made it available both as an open source project and a hosted version. In this episode he discusses his motivation for starting the project, the lessons he has learned while managing the hosting for it, and how you can start using it today. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Pēteris Caune about Healthchecks, a Django app which serves as a watchdog for your cron tasks Interview Introductions How did you get introduced to Python? Can you start by explaining what Healthchecks is and what motivated you to build it? How does Healthchecks compare with other cron monitoring projects such as Cronitor or Dead Man’s Snitch? Your pricing on the hosted service for Healthchecks.io is quite generous so I’m curious how you arrived at that cost structure and whether it has proven to be profitable for you? How is Healthchecks functionality implemented and how has the design evolved since you began working on and using it? What have been some of the most challenging aspects of working on Healthchecks and managing the hosted version? For someone who wants to run their own instance of the service what are the steps and services involved? What are some of the most interesting or unusual uses of Healtchecks that you are aware of? Given that Healthchecks is intended to be used as part of an operations management and alerting system, what are the considerations that users should be aware of when deploying it in a highly available configuration? What improvements or features do you have planned for the future of Healthchecks? Keep In Touch cuu508 on GitHub Blog @cuu508 on Twitter Picks Tobias LG 55UJ6300 Pēteris Zwift TrainerRoad Links Healthchecks.io GitHub Riga Latvia Cross Country Cycling Semantic Web Django Flask Cron Cronitor.io Dead Man’s Snitch IPv6 Load Balancing PostGreSQL MySQL Fabric Ansible Dokku Kubernetes Hetzner CloudFlare PGPool II Streaming Replication Citus Data Website Data Engineering Podcast Interview Heroku Fork the Evolution of healthchecks.io Hosting Setup The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jan 14, 201827 min

Ep 143Bonobo: Lightweight ETL Toolkit for Python 3 with Romain Dorgueil

Full

Summary A majority of the work that we do as programmers involves data manipulation in some manner. This can range from large scale collection, aggregation, and statistical analysis across distrbuted systems, or it can be as simple as making a graph in a spreadsheet. In the middle of that range is the general task of ETL (Extract, Transform, and Load) which has its own range of scale. In this episode Romain Dorgueil discusses his experiences building ETL systems and the problems that he routinely encountered that led him to creating Bonobo, a lightweight, easy to use toolkit for data processing in Python 3. He also explains how the system works under the hood, how you can use it for your projects, and what he has planned for the future. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Romain Dorgueil about Bonobo, a data processing toolkit for modern Python Interview Introductions How did you get introduced to Python? What is Bonobo and what was your motivation for creating it? What is the story behind the name? How does Bonobo differ from projects such as Luigi or Airflow? [RD] After I explain why that’s totally different things, maybe a good follow up would be to ask about differences from other data streaming solutions, like Apache Beam or Spark. How is Bonobo implemented and how has its architecture evolved since you began working on it? What have been some of the most challenging aspects of building and maintaining Bonobo? What are some extensions that you would like to have but don’t have the time to implement? What are some of the most interesting or creative uses of Bonobo that you are aware of? What do you have planned for the future of Bonobo? Keep In Touch Bonobo Project Bonobo ETL Slack GitHub Romain Website @rdorgueil on Twitter hartym on GitHub Picks Tobias Data Skeptic: Quantum Computing Romain Medikit, or how to manage hundreds of projects at the same time, still being able to sleep at night. Rocker, a better builder for docker images. Links Bonobo RedHat Anaconda Installer ETL Pentaho RDC.ETL DAG (Directed Acyclic Graph) Luigi Airflow NamedTuple Jupyter OAuth Graphviz Dask Data Engineering Podcast Dask Interview Selenium Zapier IFTTT (If This Then That) FPGA The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Jan 7, 201853 min

Ep 142Orange: Visual Data Mining Toolkit with Janez Demšar and Blaž Zupan

Full

Summary Data mining and visualization are important skills to have in the modern era, regardless of your job responsibilities. In order to make it easier to learn and use these techniques and technologies Blaž Zupan and Janez Demšar, along with many others, have created Orange. In this episode they explain how they built a visual programming interface for creating data analysis and machine learning workflows to simplify the work of gaining insights from the myriad data sources that are available. They discuss the history of the project, how it is built, the challenges that they have faced, and how they plan on growing and improving it in the future. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Blaž Zupan and Janez Demsar about Orange, a toolbox for interactive machine learning and data visualization in Python Interview Introductions How did you get introduced to Python? What is Orange and what was your motivation for building it? Who is the target audience for this project? How is the graphical interface implemented and what kinds of workflows can be implemented with the visual components? What are some of the most notable or interesting widgets that are available in the catalog? What are the limitations of the graphical interface and what options do user have when they reach those limits? What have been some of the most challenging aspects of building and maintaining Orange? What are some of the most common difficulties that you have seen when users are just getting started with data analysis and machine learning, and how does Orange help overcome those gaps in understanding? What are some of the most interesting or innovative uses of Orange that you are aware of? What are some of the projects or technologies that you consider to be your competition? Under what circumstances would you advise against using Orange? What are some widgets that you would like to see in future versions? What do you have planned for future releases of Orange? Keep In Touch Blaž University Bio @bzupan on Twitter BlazZupan on GitHub Google Scholar Janez University Bio @jademsar on Twitter janezd on GitHub Google Scholar Picks Tobias Data Stories: What’s Going On In This Graph? Blaž How I Built This Janez Advent of Code Links University of Ljubljani Data Explorer Silicon Graphics Visual Programming PyQT Linear Regression t-SNE K-Means TCL/TK Numpy Scikit-Learn SciPy Textable.io RapidMiner Single Cell Genomics Transfer Learning Orange Video Tutorials The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Dec 31, 201749 min

Ep 141Dramatiq: Distributed Task Queue For Python 3 with Bogdan Popa

Full

Summary A majority of projects will eventually need some way of managing periodic or long-running tasks outside of the context of the main application. This is where a distributed task queue becomes useful. For many in the Python community the standard option is Celery, though there are other projects to choose from. This week Bogdan Popa explains why he was dissatisfied with the current landscape of task queues and the features that he decided to focus on while building Dramatiq, a new, opinionated distributed task queue for Python 3. He also describes how it is designed, how you can start using it, and what he has planned for the future. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Bogdan Popa about Dramatiq, a distributed task processing library for Python with a focus on simplicity, reliability and performance Interview Introductions How did you get introduced to Python? What is Dramatiq and what was your motivation for creating it? How does Dramatiq compare to other task queues in Python such as Celery or RQ? How is Dramatiq implemented and how has the internal architecture evolved? What have been some of the most difficult aspects of building Dramatiq? What are some of the features that you are most proud of? For someone who is interested in integrating Dramatiq into an application, can you describe the steps involved and the API? Do you provide any form of migration path or compatibility layer for people who are currently using Celery or RQ? Can you describe the licensing structure for the project and your reasoning? How did you determine the price point for commercial licenses? Have you been successful in selling licenses for commercial use? What are some of the features that you have planned for future releases? Keep In Touch Project Website Personal Website Bogdanp on GitHub @Bogdanp on Twitter Picks Tobias The Anybodies by N.E. Bode Bogdan Pipenv Links Dramatiq LeadPages Lisp Celery RQ Billiard Kombu Google App Engine GAE Task Queue RabbitMQ APScheduler Redis Memcached LRU (Least Recently Used) Middleware Gevent Pika SQS (Amazon Simple Queue Service) Google Cloud PubSub Django API* Bundler Cargo The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Dec 24, 201738 min

Ep 140Jake Vanderplas: Data Science For Academic Research

Full

Summary Jake Vanderplas is an astronomer by training and a prolific contributor to the Python data science ecosystem. His current role is using Python to teach principles of data analysis and data visualization to students and researchers at the University of Washington. In this episode he discusses how he got started with Python, the challenges of teaching best practices for software engineering and reproducible analysis, and how easy to use tools for data visualization can help democratize access to, and understanding of, data. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Jake Vanderplas about data science best practices, and applying them to academic sciences Interview Introductions How did you get introduced to Python? How has your astronomy background informed and influenced your current work? In your work at the University of Washington, what are some of the most common difficulties that students face when learning data science? How does that list differ for professional scientists who are learning how to apply data science to their work? Where is the tooling still lacking in terms of enabling consistent and repeatable workflows? One of the projects that you are spending time on now is Altair, which is a library for generating visualizations from Pandas dataframes. How does that work factor into your teaching? What are some of the most novel applications of data science that you have been involved with? What are some of the trends in data analysis that you are most excited for? Keep In Touch Website @jakevdp jakevdp on GitHub Picks Tobias The Redwall Cookbook Jake Kevin M. Kruse White Flight by Kevin Kruse Links UW eScience Institute NumPy SciPy SciPy Conference PyCon Pandas Sloan Digital Sky Survey Spectroscopy Software Carpentry Data Carpentry Git Mercurial Matplotlib Altair Conda Xonsh Jupyter Jupyter Lab Vega Vega-lite Interactive Data Lab D3 Mike Bostock Brian Granger Bokeh Grammar of Graphics ggplot2 Holoviews Wikimedia AstroPy Podcast.__init__ Interview About AstroPy LIGO Wes McKinney Feather The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Dec 17, 201749 min

Ep 139Kenneth Reitz

Full

Summary Kenneth Reitz has contributed many things to the Python community, including projects such as Requests, Pipenv, and Maya. He also started the community written Hitchhiker’s Guide to Python, and serves on the board of the Python Software Foundation. This week he talks about his career in the Python community and digs into some of his current work. Preface Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great. I would like to thank everyone who supports us on Patreon. Your contributions help to make the show sustainable. When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at podastinit.com/linode and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. And now you can deliver your work to your users even faster with the newly upgraded 200 GBit network in all of their datacenters. If you’re tired of cobbling together your deployment pipeline then it’s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote the book about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to podcatinit.com/gocd. Professional support and enterprise plugins are available for added piece of mind. Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email [email protected]) To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media. Your host as usual is Tobias Macey and today I’m interviewing Kenneth Reitz about his career in Python Interview Introductions How did you get introduced to Python? An overarching theme of your open source projects is the idea of making them “For Humans”. Can you elaborate on how that came to be a focus for you and how that informs the way that you design and write your code? What are the projects that you are most proud of and which do you think have had the biggest impact on the Python community? A: Requests, Hitchhiker’s Guide to Python, and Pipenv (yet to come to full fruition). Which projects have you authored which are relatively unknown but you think people would benefit from using more often? A: Maya: Datetime for Humans, and Records: SQL for Humans. Outside of the code that you write, what are some of your personal missions for the software industry in general and the Python community in particular? A: I consider myself a “spiritual alchemist”, which means “transformation of dark into light”. I seek to do “the great work”, in however in manifests, outside of the programming world, as well as within it. What do you think is the biggest gap in the tool chest for Python developers? A: I seek to fill all the voids that I see, and I’ve done my best to do that to the best of my ability. I think we have a lot of work to do in the area of single-file executable builds (a-la Go). What are your ambitions for future projects? A: At the moment, I have no current plans for future projects, but I’m sure something will come along at some point If you weren’t working with Python what would you be doing instead? A: I’d have a lot less money and I’d be a lot less fufilled. Keep In Touch Website @kennethreitz on Twitter kennethreitz on GitHub Picks Tobias Algorithms to Live By Kenneth The Linux Programming Interface Links Heroku Salesforce PSF Board of Directors Caldera Linux C Pascal Basic Groovy Java PHP Ruby The Design of Everyday Things Requests Hitchhiker’s Guide Pipenv Pipfile The Update Framework Falsehoods Programmer’s Believe About Time PEP20 Py2EXE Cxfreeze Briefcase The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Dec 10, 201742 min