﻿<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="xslsheet"?>
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:podcast="https://podcastindex.org/namespace/1.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <atom:link rel="self" type="application/atom+xml" href="https://serve.podhome.fm/rss/0e91aeb8-10b7-54d0-8ded-d832dd2d857b" title="MP3 Audio" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com/" />
    <podcast:podping usesPodping="true" />
    <podcast:podroll>
      <podcast:remoteItem feedGuid="1c0357c0-6aba-5766-a2d5-2090d8dab6bc" feedUrl="https://feeds.fireside.fm/dataengineering/rss" />
      <podcast:remoteItem feedGuid="c9abdd38-a5dc-5eb2-96fd-f833f93208a7" feedUrl="https://serve.podhome.fm/rss/c9abdd38-a5dc-5eb2-96fd-f833f93208a7" />
    </podcast:podroll>
    <image>
      <url>https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg</url>
      <title>The Python Podcast.__init__</title>
      <link>https://www.pythonpodcast.com</link>
    </image>
    <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
    <podcast:trailer pubdate="Sat, 21 Mar 2015 14:21:00 +0000" url="https://serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253218687976247e01a0e5-0af4-4622-9f96-f3939076d123v1.mp3" length="26308891" type="audio/mpeg">Podcast.__init__ - Introduction</podcast:trailer>
    <podcast:updateFrequency rrule="FREQ=WEEKLY;INTERVAL=2">Weekly</podcast:updateFrequency>
    <podcast:medium>podcast</podcast:medium>
    <title>The Python Podcast.__init__</title>
    <description><![CDATA[The podcast about Python and the people who make it great]]></description>
    <link>https://www.pythonpodcast.com</link>
    <language>en</language>
    <copyright><![CDATA[© 2024 Boundless Notions, LLC.]]></copyright>
    <podcast:locked owner="hosts@podcastinit.com">no</podcast:locked>
    <podcast:guid>0e91aeb8-10b7-54d0-8ded-d832dd2d857b</podcast:guid>
    <podcast:person role="Host" group="Cast" href="https://www.boundlessnotions.com" img="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638557955481531561square.jpg">Tobias Macey</podcast:person>
    <generator>Podhome (https://www.podhome.fm)</generator>
    <managingEditor>hosts@podcastinit.com</managingEditor>
    <lastBuildDate>Fri, 21 Mar 2025 09:34:39 +0000</lastBuildDate>
    <pubDate>Fri, 21 Mar 2025 09:34:39 +0000</pubDate>
    <itunes:title>The Python Podcast.__init__</itunes:title>
    <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
    <itunes:new-feed-url>https://serve.podhome.fm/rss/0e91aeb8-10b7-54d0-8ded-d832dd2d857b</itunes:new-feed-url>
    <itunes:author>Tobias Macey</itunes:author>
    <itunes:owner>
      <itunes:name>Tobias Macey</itunes:name>
      <itunes:email>hosts@podcastinit.com</itunes:email>
    </itunes:owner>
    <itunes:explicit>false</itunes:explicit>
    <itunes:category text="Technology" />
    <itunes:category text="Education" />
    <itunes:type>episodic</itunes:type>
    <item>
      <title>Update Your Model's View Of The World In Real Time With Streaming Machine Learning Using River</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Preamble</h2>
<p>This is a <a href="https://www.themachinelearningpodcast.com/river-streaming-machine-learning-episode-8/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cross-over episode</a> from our new show <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Machine Learning Podcast</a>, the show about going from idea to production with machine learning.</p>
<h2>Summary</h2>
<p>The majority of machine learning projects that you read about or work on are built around batch processes. The model is trained, and then validated, and then deployed, with each step being a discrete and isolated task. Unfortunately, the real world is rarely static, leading to concept drift and model failures. River is a framework for building streaming machine learning projects that can constantly adapt to new information. In this episode Max Halford explains how the project works, why you might (or might not) want to consider streaming ML, and how to get started building with River.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to the Machine Learning Podcast, the podcast about machine learning and how to bring it from idea to delivery.</li>
<li>Building good ML models is hard, but testing them properly is even harder. At Deepchecks, they built an open-source testing framework that follows best practices, ensuring that your models behave as expected. Get started quickly using their built-in library of checks for testing and validating your model&#8217;s behavior and performance, and extend it to meet your specific needs as your model evolves. Accelerate your machine learning projects by building trust in your models and automating the testing that you used to do manually. Go to <a href="https://www.themachinelearningpodcast.com/deepchecks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">themachinelearningpodcast.com/deepchecks</a> today to get started!</li>
<li>Your host is Tobias Macey and today I&#8217;m interviewing Max Halford about River, a Python toolkit for streaming and online machine learning</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introduction</li>
<li>How did you get involved in machine learning?</li>
<li>Can you describe what River is and the story behind it?</li>
<li>What is &quot;online&quot; machine learning?
<ul>
<li>What are the practical differences with batch ML?</li>
<li>Why is batch learning so predominant?</li>
<li>What are the cases where someone would want/need to use online or streaming ML?</li>
</ul>
</li>
<li>The prevailing pattern for batch ML model lifecycles is to train, deploy, monitor, repeat. What does the ongoing maintenance for a streaming ML model look like?
<ul>
<li>Concept drift is typically due to a discrepancy between the data used to train a model and the actual data being observed. How does the use of online learning affect the incidence of drift?</li>
</ul>
</li>
<li>Can you describe how the River framework is implemented?
<ul>
<li>How have the design and goals of the project changed since you started working on it?</li>
</ul>
</li>
<li>How do the internal representations of the model differ from batch learning to allow for incremental updates to the model state?</li>
<li>In the documentation you note the use of Python dictionaries for state management and the flexibility offered by that choice. What are the benefits and potential pitfalls of that decision?</li>
<li>Can you describe the process of using River to design, implement, and validate a streaming ML model?
<ul>
<li>What are the operational requirements for deploying and serving the model once it has been developed?</li>
</ul>
</li>
<li>What are some of the challenges that users of River might run into if they are coming from a batch learning background?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen River used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on River?</li>
<li>When is River the wrong choice?</li>
<li>What do you have planned for the future of River?</li>
</ul>
<h2>Contact Info</h2>
<ul>
<li><a href="mailto:maxhalford25@gmail.com">Email</a></li>
<li><a href="https://twitter.com/halford_max?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@halford_max</a> on Twitter</li>
<li><a href="https://github.com/MaxHalford?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MaxHalford</a> on GitHub</li>
</ul>
<h2>Parting Question</h2>
<ul>
<li>From your perspective, what is the biggest barrier to adoption of machine learning today?</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. <a href="">Podcast.__init__</a> covers the Python language, its community, and the innovative ways it is being used.</li>
<li>Visit the <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@themachinelearningpodcast.com">hosts@themachinelearningpodcast.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://podcasts.apple.com/us/podcast/the-machine-learning-podcast/id1626358243?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://riverml.xyz/0.11.1/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">River</a></li>
<li><a href="https://scikit-multiflow.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-multiflow</a></li>
<li><a href="https://en.wikipedia.org/wiki/Federated_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Federated Machine Learning</a></li>
<li><a href="https://arxiv.org/abs/1106.5730?context=cs&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hogwild!</a> Google Paper</li>
<li><a href="https://huyenchip.com/2022/02/07/data-distribution-shifts-and-monitoring.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chip Huyen concept drift blog post</a></li>
<li><a href="https://rise.cs.berkeley.edu/wp-content/uploads/2017/02/clipper_final.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dan Crenshaw Berkeley Clipper MLOps</a></li>
<li><a href="https://www.wikiwand.com/en/Robustness_principle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robustness Principle</a></li>
<li><a href="https://www.kaggle.com/c/nyc-taxi-trip-duration?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NY Taxi Dataset</a></li>
<li><a href="https://github.com/online-ml/river-torch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RiverTorch</a></li>
<li><a href="https://www.notion.so/d1e86fcdf21e4deda16eedab2b3361fb?v=503f44740b8b44a99a961aa96e9e46e1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">River Public Roadmap</a></li>
<li><a href="https://github.com/online-ml/beaver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beaver</a> tool for deploying online models</li>
<li><a href="https://prodi.gy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prodigy ML human in the loop labeling</a></li>
</ul>
<p>The intro and outro music is from <a href="https://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Tales_Of_A_Dead_Fish/Hitmans_Lovesong/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hitman&#8217;s Lovesong feat. Paola Graziano</a> by <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>/<a href="https://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA 3.0</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Friver-streaming-machine-learning-episode-388%2F&amp;action_name=Update+Your+Model%27s+View+Of+The+World+In+Real+Time+With+Streaming+Machine+Learning+Using+River+-+Episode+388&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p><p>Sponsored By:</p><ul><li><a href="https://www.pythonpodcast.com/linode" rel="nofollow">Linode</a>: <a href="https://www.pythonpodcast.com/linode" rel="nofollow">Do you want to try out some of the tools and applications that you heard about on Podcast.\_\_init\_\_? Do you have a side project that you want to share with the world? With Linode's managed Kubernetes platform it's now even easier to get started with the latest in cloud technologies. With the combined power of the leading container orchestrator and the speed and reliability of Linode's object storage, node balancers, block storage, and dedicated CPU or GPU instances, you've got everything you need to scale up. Go to [pythonpodcast.com/linode](https://www.pythonpodcast.com/linode) today and get a $100 credit to launch a new cluster, run a server, upload some data, or... And don't forget to thank them for being a long time supporter of Podcast.\_\_init\_\_!</a></li></ul>]]></description>
      <guid isPermaLink="false">podlove-2022-12-12t02:17:13+00:00-f3b1aa30d86dfd1</guid>
      <link>https://www.pythonpodcast.com/river-streaming-machine-learning-episode-388</link>
      <pubDate>Mon, 12 Dec 2022 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="115.98" duration="35.35">So, Max, can you start by introducing yourself? Oh, hey there. So I'm Max. Yes. I consider myself as a data scientist. My day job is doing data science. I actually measure the carbon footprint of clothing items. But I have a wide interest in, you know, technical topics, so be it software engineering or data engineering, do a lot of open source. My academic background is leaning towards finance and computer science and statistics. I actually did a PhD in applied machine learning, which I finished a couple of years ago. So, yeah, an all around node, basically.</podcast:soundbite>
      <podcast:soundbite startTime="1339.19" duration="57.14">So I think first off, the the fact is that I I'm actually still young, and there's so many things that I don't know. And I don't have, like, the technical savvy to be able to suggest ways forward. But this is obviously things that, you know, I think about. So these things like Hub Wild, which is a a project from Google, they have a a paper where they discuss these things. I think that's a really simple thing that if you wanted to do this, if you're the the listener wanting to do something like this, I think there's a simple pattern, which is to maybe once a month have a model that is retrained and that you just train in batch, and that model is going to be is gonna be like a hydro. Like, you're gonna copy it, and you're gonna send it to each user. And then each copy for each user is going to be able to learn in this whole environment. And for instance, a good idea would maybe to with your model to increase, like, the learning rates so that every sample that the user gives you matters a lot.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:16:23</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Update Your Model's View Of The World In Real Time With Streaming Machine Learning Using River</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>388</itunes:episode>
      <podcast:episode>388</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317176043721c28514a7-bc3b-406a-8f90-c43980a2f075v1.mp3" length="45739398" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317176043721c28514a7-bc3b-406a-8f90-c43980a2f075v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c28514a7-bc3b-406a-8f90-c43980a2f075638558834999153081.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c28514a7-bc3b-406a-8f90-c43980a2f075638558834995489741.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c28514a7-bc3b-406a-8f90-c43980a2f075638558834993594503.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Declarative Machine Learning For High Performance Deep Learning Models With Predibase</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Preamble</h2>
<p>This is a <a href="https://www.themachinelearningpodcast.com/predibase-declarative-machine-learning-episode-4/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cross-over episode</a> from our new show <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Machine Learning Podcast</a>, the show about going from idea to production with machine learning.</p>
<h2>Summary</h2>
<p>Deep learning is a revolutionary category of machine learning that accelerates our ability to build powerful inference models. Along with that power comes a great deal of complexity in determining what neural architectures are best suited to a given task, engineering features, scaling computation, etc. Predibase is building on the successes of the Ludwig framework for declarative deep learning and Horovod for horizontally distributing model training. In this episode CTO and co-founder of Predibase, Travis Addair, explains how they are reducing the burden of model development even further with their managed service for declarative and low-code ML and how they are integrating with the growing ecosystem of solutions for the full ML lifecycle.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great!</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host is Tobias Macey and today I&#8217;m interviewing Travis Addair about Predibase, a low-code platform for building ML models in a declarative format</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introduction</li>
<li>How did you get involved in machine learning?</li>
<li>Can you describe what Predibase is and the story behind it?</li>
<li>Who is your target audience and how does that focus influence your user experience and feature development priorities?</li>
<li>How would you describe the semantic differences between your chosen terminology of &quot;declarative ML&quot; and the &quot;autoML&quot; nomenclature that many projects and products have adopted?
<ul>
<li>Another platform that launched recently with a promise of &quot;declarative ML&quot; is Continual. How would you characterize your relative strengths?</li>
</ul>
</li>
<li>Can you describe how the Predibase platform is implemented?
<ul>
<li>How have the design and goals of the product changed as you worked through the initial implementation and started working with early customers?</li>
<li>The operational aspects of the ML lifecycle are still fairly nascent. How have you thought about the boundaries for your product to avoid getting drawn into scope creep while providing a happy path to delivery?</li>
</ul>
</li>
<li>Ludwig is a core element of your platform. What are the other capabilities that you are layering around and on top of it to build a differentiated product?</li>
<li>In addition to the existing interfaces for Ludwig you created a new language in the form of PQL. What was the motivation for that decision?
<ul>
<li>How did you approach the semantic and syntactic design of the dialect?</li>
<li>What is your vision for PQL in the space of &quot;declarative ML&quot; that you are working to define?</li>
</ul>
</li>
<li>Can you describe the available workflows for an individual or team that is using Predibase for prototyping and validating an ML model?
<ul>
<li>Once a model has been deemed satisfactory, what is the path to production?</li>
</ul>
</li>
<li>How are you approaching governance and sustainability of Ludwig and Horovod while balancing your reliance on them in Predibase?</li>
<li>What are some of the notable investments/improvements that you have made in Ludwig during your work of building Predibase?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Predibase used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Predibase?</li>
<li>When is Predibase the wrong choice?</li>
<li>What do you have planned for the future of Predibase?</li>
</ul>
<h2>Contact Info</h2>
<ul>
<li><a href="https://www.linkedin.com/in/travisaddair/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/tgaddair?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tgaddair</a> on GitHub</li>
<li><a href="https://twitter.com/travisaddair?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@travisaddair</a> on Twitter</li>
</ul>
<h2>Parting Question</h2>
<ul>
<li>From your perspective, what is the biggest barrier to adoption of machine learning today?</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://predibase.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Predibase</a></li>
<li><a href="https://horovod.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Horovod</a></li>
<li><a href="https://ludwig-ai.github.io/ludwig-docs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ludwig</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ludwig-horovod-distributed-declarative-deep-learning-episode-341/?utm_source=rss&utm_medium=rss">Podcast.__init__ Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Support-vector_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Support Vector Machine</a></li>
<li><a href="https://hadoop.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hadoop</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://eng.uber.com/michelangelo-machine-learning-platform/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uber Michaelangelo</a></li>
<li><a href="https://en.wikipedia.org/wiki/Automated_machine_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AutoML</a></li>
<li><a href="https://spark.apache.org/mllib/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark ML Lib</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="https://continual.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continual</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/continual-declarative-machine-learning-episode-222/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://machinelearning.apple.com/research/overton?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Overton</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://docs.ray.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a></li>
<li><a href="https://developer.nvidia.com/nvidia-triton-inference-server?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nvidia Triton</a></li>
<li><a href="https://github.com/whylabs/whylogs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Whylogs</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/whylogs-data-logging-data-observability-episode-283/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://wandb.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Weights and Biases</a></li>
<li><a href="https://mlflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MLFlow</a></li>
<li><a href="https://www.comet.com/site/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Comet</a></li>
<li><a href="https://en.wikipedia.org/wiki/Confusion_matrix?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Confusion Matrices</a></li>
<li><a href="https://www.getdbt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dbt</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pytorch.org/docs/stable/jit.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Torchscript</a></li>
<li><a href="https://en.wikipedia.org/wiki/Self-supervised_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Self-supervised Learning</a></li>
</ul>
<p>The intro and outro music is from <a href="https://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Tales_Of_A_Dead_Fish/Hitmans_Lovesong/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hitman&#8217;s Lovesong feat. Paola Graziano</a> by <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>/<a href="https://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA 3.0</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpredibase-declarative-machine-learning-episode-387%2F&amp;action_name=Declarative+Machine+Learning+For+High+Performance+Deep+Learning+Models+With+Predibase+-+Episode+387&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-12-05t00:36:57+00:00-d50e203e235a018</guid>
      <link>https://www.pythonpodcast.com/predibase-declarative-machine-learning-episode-387</link>
      <pubDate>Mon, 5 Dec 2022 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="126.52" duration="34.10">I was working for Lawrence Livermore National Lab on processing about 10 terabytes of seismic data. And our goal was to try to do some analysis of it to detect nuclear weapons tests, interestingly enough. But what we found was that there were a lot of over 50% of the data or so was noise, and we had no good way to detect it. So started pulling out some of my undergrad AI textbooks, started implementing some support vector machine and ran it on top of Hadoop and got just really excited about the whole thing.</podcast:soundbite>
      <podcast:soundbite startTime="849.78" duration="39.50">And we also believe this ties in very nicely to our version of AutoML, which we would call iterative ML or iter ML, where we see it being much more of a conversation that you're having with the system where you try something out, the system can propose some new things to modify in the in the specification for the model. You can choose to either accept or reject any of those things, train for a little bit more, and then use the results of that previous run to then inform what you're gonna try next. So it becomes a very in the loop back and forth process that progresses in a much more in a way that we think is much more like how traditional software development is done.</podcast:soundbite>
      <podcast:soundbite startTime="1994.20" duration="40.25">You have ways of doing what we call hypothetical queries that are kind of similar to what you might do for real time prediction, where you want to take, like, an entirely new data point and then express it as a query that then can be predicted on. And so I think, you know, certainly 1 powerful use case of people is this idea of a more efficient way of doing batch prediction that fits in nicely in to other tools that do ELT. Like dbt is a really good example there where we already have a dbt integration that we we've written that some of our customers are using. And so if you want to be able to express your prediction pipeline as SQL, essentially, like people provides a very natural way to do that.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:22</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Declarative Machine Learning For High Performance Deep Learning Models With Predibase</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>387</itunes:episode>
      <podcast:episode>387</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530795181045788ddc136-a325-44b9-a3cb-8eb9559d09b3v1.mp3" length="38529709" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530795181045788ddc136-a325-44b9-a3cb-8eb9559d09b3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_88ddc136-a325-44b9-a3cb-8eb9559d09b3638558823174648014.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/88ddc136-a325-44b9-a3cb-8eb9559d09b3638558823172389433.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/88ddc136-a325-44b9-a3cb-8eb9559d09b3638558823170302538.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build Better Machine Learning Models With Confidence By Adding Validation With Deepchecks</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Preamble</h2>
<p>This is a <a href="https://www.themachinelearningpodcast.com/wrap-your-model-in-a-full-stack-application-in-an-afternoon-with-baseten/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cross-over episode</a> from our new show <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Machine Learning Podcast</a>, the show about going from idea to production with machine learning.</p>
<h2>Summary</h2>
<p>Machine learning has the potential to transform industries and revolutionize business capabilities, but only if the models are reliable and robust. Because of the fundamental probabilistic nature of machine learning techniques it can be challenging to test and validate the generated models. The team at Deepchecks understands the widespread need to easily and repeatably check and verify the outputs of machine learning models and the complexity involved in making it a reality. In this episode Shir Chorev and Philip Tannor explain how they are addressing the problem with their open source deepchecks library and how you can start using it today to build trust in your machine learning applications.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to the Machine Learning Podcast, the podcast about machine learning and how to bring it from idea to delivery.</li>
<li>Do you wish you could use artificial intelligence to drive your business the way Big Tech does, but don&#8217;t have a money printer? Graft<img src="https://s.w.org/images/core/emoji/14.0.0/72x72/2122.png?utm_source=rss&utm_medium=rss" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> is a cloud-native platform that aims to make the AI of the 1% accessible to the 99%. Wield the most advanced techniques for unlocking the value of data, including text, images, video, audio, and graphs. No machine learning skills required, no team to hire, and no infrastructure to build or maintain. For more information on Graft or to schedule a demo, visit <a href="https://www.themachinelearningpodcast.com/graft?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">themachinelearningpodcast.com/graft</a> today and tell them Tobias sent you.</li>
<li>Predibase is a low-code ML platform without low-code limits. Built on top of our open source foundations of Ludwig and Horovod, our platform allows you to train state-of-the-art ML and deep learning models on your datasets at scale. Our platform works on text, images, tabular, audio and multi-modal data using our novel compositional model architecture. We allow users to operationalize models on top of the modern data stack, through REST and PQL – an extension of SQL that puts predictive power in the hands of data practitioners. Go to <a href="https://www.themachinelearningpodcast.com/predibase?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">themachinelearningpodcast.com/predibase</a> today to learn more and try it out!</li>
<li>Data powers machine learning, but poor data quality is the largest impediment to effective ML today. Galileo is a collaborative data bench for data scientists building Natural Language Processing (NLP) models to programmatically inspect, fix and track their data across the ML workflow (pre-training, post-training and post-production) – no more excel sheets or ad-hoc python scripts. Get meaningful gains in your model performance fast, dramatically reduce data labeling and procurement costs, while seeing 10x faster ML iterations. Galileo is offering listeners a free 30 day trial and a 30% discount on the product there after. This offer is available until Aug 31, so go to <a href="https://www.themachinelearningpodcast.com/galileo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">themachinelearningpodcast.com/galileo</a> and request a demo today!</li>
<li>Your host is Tobias Macey and today I&#8217;m interviewing Shir Chorev and Philip Tannor about Deepchecks, a Python package for comprehensively validating your machine learning models and data with minimal effort.</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introduction</li>
<li>How did you get involved in machine learning?</li>
<li>Can you describe what Deepchecks is and the story behind it?</li>
<li>Who is the target audience for the project?
<ul>
<li>What are the biggest challenges that these users face in bringing ML models from concept to production and how does DeepChecks address those problems?</li>
</ul>
</li>
<li>In the absence of DeepChecks how are practitioners solving the problems of model validation and comparison across iteratiosn?
<ul>
<li>What are some of the other tools in this ecosystem and what are the differentiating features of DeepChecks?</li>
</ul>
</li>
<li>What are some examples of the kinds of tests that are useful for understanding the &quot;correctness&quot; of models?
<ul>
<li>What are the methods by which ML engineers/data scientists/domain experts can define what &quot;correctness&quot; means in a given model or subject area?</li>
</ul>
</li>
<li>In software engineering the categories of tests are tiered as unit -&gt; integration -&gt; end-to-end. What are the relevant categories of tests that need to be built for validating the behavior of machine learning models?</li>
<li>How do model monitoring utilities overlap with the kinds of tests that you are building with deepchecks?</li>
<li>Can you describe how the DeepChecks package is implemented?
<ul>
<li>How have the design and goals of the project changed or evolved from when you started working on it?</li>
<li>What are the assumptions that you have built up from your own experiences that have been challenged by your early users and design partners?</li>
</ul>
</li>
<li>Can you describe the workflow for an individual or team using DeepChecks as part of their model training and deployment lifecycle?</li>
<li>Test engineering is a deep discipline in its own right. How have you approached the user experience and API design to reduce the overhead for ML practitioners to adopt good practices?</li>
<li>What are the interfaces available for creating reusable tests and composing test suites together?</li>
<li>What are the additional services/capabilities that you are providing in your commercial offering?
<ul>
<li>How are you managing the governance and sustainability of the OSS project and balancing that against the needs/priorities of the business?</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen DeepChecks used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on DeepChecks?</li>
<li>When is DeepChecks the wrong choice?</li>
<li>What do you have planned for the future of DeepChecks?</li>
</ul>
<h2>Contact Info</h2>
<ul>
<li>Shir
<ul>
<li><a href="https://www.linkedin.com/in/shirchorev/?originalSubdomain=il&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/shir22?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">shir22</a> on GitHub</li>
</ul>
</li>
<li>Philip
<ul>
<li><a href="https://www.linkedin.com/in/philip-tannor-a6a910b7?originalSubdomain=il&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/philiptannor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@philiptannor</a> on Twitter</li>
</ul>
</li>
</ul>
<h2>Parting Question</h2>
<ul>
<li>From your perspective, what is the biggest barrier to adoption of machine learning today?</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. <a href="">Podcast.__init__</a> covers the Python language, its community, and the innovative ways it is being used.</li>
<li>Visit the <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@themachinelearningpodcast.com">hosts@themachinelearningpodcast.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://podcasts.apple.com/us/podcast/the-machine-learning-podcast/id1626358243?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/deepchecks/deepchecks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeepChecks</a></li>
<li><a href="https://en.wikipedia.org/wiki/Random_forest?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Random Forest</a></li>
<li><a href="https://en.wikipedia.org/wiki/Talpiot_program?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Talpiot Program</a></li>
<li><a href="https://github.com/slundberg/shap/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SHAP</a>
<ul>
<li><a href="https://www.pythonpodcast.com/shap-explainable-machine-learning-episode-335/?utm_source=rss&utm_medium=rss">Podcast.__init__ Episode</a></li>
</ul>
</li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://greatexpectations.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Great Expectations</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/great-expectations-technical-debt-data-pipeline-episode-117/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from <a href="https://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Tales_Of_A_Dead_Fish/Hitmans_Lovesong/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hitman&#8217;s Lovesong feat. Paola Graziano</a> by <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>/<a href="https://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA 3.0</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdeepchecks-machine-learning-validation-episode-386%2F&amp;action_name=Build+Better+Machine+Learning+Models+With+Confidence+By+Adding+Validation+With+Deepchecks+-+Episode+386&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-11-28t01:30:17+00:00-36d12ff2ae2d116</guid>
      <link>https://www.pythonpodcast.com/deepchecks-machine-learning-validation-episode-386</link>
      <pubDate>Mon, 28 Nov 2022 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="137.59" duration="35.12">And Shir, how about yourself? I'm Shir. So I also started my army career and also a lot of my deeper dive into tech with the TARPY Orth program, where Filip and I were together in the same year group. I started initially in, low level cyber research in Unit A200 and later on transitioned into machine learning where I worked on various anti terror related use cases, which was cool. And except from being the CTO of DeepChex, I, in the little spare time, love also doing various types of sports and riding my electrical unit site with the helmet on to stay safe.</podcast:soundbite>
      <podcast:soundbite startTime="1247.97" duration="36.88">I think 1 of the challenges is really to make sure we check the model and the data from lots of different scenarios or different perspectives. And 1 of the things that we feel, and it's also the feedback that we've been receiving from our users, is that the fact that they're now able to run with really minimal effort, so many tests, both on their data and the splits and the model and performance and performance in different segments and different metrics and comparing it to a baseline. So, really lots of different things that are relevant in the context of machine learning is something that that's more kind of how to address in general, the notion of testing and machine learning, talking about the structure of the package itself.</podcast:soundbite>
      <podcast:soundbite startTime="84.82" duration="44.22">So, Philip, can you start by introducing yourself? My name is Philip Tanner. Born in the US, but I lived most of my life here in Israel. I got a lot of my professional background actually from the Tapi'oq program. It's a excellence program that's done for technological leadership in the defense system in Israel. I kinda started off with operations research. It's kind of like, you know, consulting, you know, BCG McKinsey type things within the military. And then at some point, before, like, I ever heard about machine learning, there was this kind of competitive Kaggle like group that presented a project to me of, like, using random forest for something, like, incredible. And I was, like, knocked off my chair. I said I have to move over to machine learning. I'm, you know, I'm not doing anything else aside from this kind of, and I was, you know, a big fan of machine learning ever since.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:37</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build Better Machine Learning Models With Confidence By Adding Validation With Deepchecks</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>386</itunes:episode>
      <podcast:episode>386</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252989984677738508bf9c-fe9c-4110-be81-24595ce00869v1.mp3" length="31208139" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252989984677738508bf9c-fe9c-4110-be81-24595ce00869v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8508bf9c-fe9c-4110-be81-24595ce00869638558794417304776.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8508bf9c-fe9c-4110-be81-24595ce00869638558794415087248.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8508bf9c-fe9c-4110-be81-24595ce00869638558794413167670.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build A Full Stack ML Powered App In An Afternoon With Baseten</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Preamble</h2>
<p>This is a <a href="https://www.themachinelearningpodcast.com/wrap-your-model-in-a-full-stack-application-in-an-afternoon-with-baseten/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cross-over episode</a> from our new show <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Machine Learning Podcast</a>, the show about going from idea to production with machine learning.</p>
<h2>Summary</h2>
<p>Building an ML model is getting easier than ever, but it is still a challenge to get that model in front of the people that you built it for. Baseten is a platform that helps you quickly generate a full stack application powered by your model. You can easily create a web interface and APIs powered by the model you created, or a pre-trained model from their library. In this episode Tuhin Srivastava, co-founder of Basten, explains how the platform empowers data scientists and ML engineers to get their work in production without having to negotiate for help from their application development colleagues.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to the Machine Learning Podcast, the podcast about machine learning and how to bring it from idea to delivery.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host is Tobias Macey and today I&#8217;m interviewing Tuhin Srivastava about Baseten, an ML Application Builder for data science and machine learning teams</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introduction</li>
<li>How did you get involved in machine learning?</li>
<li>Can you describe what Baseten is and the story behind it?</li>
<li>Who are the target users for Baseten and what problems are you solving for them?</li>
<li>What are some of the typical technical requirements for an application that is powered by a machine learning model?
<ul>
<li>In the absence of Baseten, what are some of the common utilities/patterns that teams might rely on?</li>
</ul>
</li>
<li>What kinds of challenges do teams run into when serving a model in the context of an application?</li>
<li>There are a number of projects that aim to reduce the overhead of turning a model into a usable product (e.g. Streamlit, Hex, etc.). What is your assessment of the current ecosystem for lowering the barrier to product development for ML and data science teams?</li>
<li>Can you describe how the Baseten platform is designed?
<ul>
<li>How have the design and goals of the project changed or evolved since you started working on it?</li>
<li>How do you handle sandboxing of arbitrary user-managed code to ensure security and stability of the platform?</li>
</ul>
</li>
<li>How did you approach the system design to allow for mapping application development paradigms into a structure that was accessible to ML professionals?</li>
<li>Can you describe the workflow for building an ML powered application?</li>
<li>What types of models do you support? (e.g. NLP, computer vision, timeseries, deep neural nets vs. linear regression, etc.)
<ul>
<li>How do the monitoring requirements shift for these different model types?</li>
<li>What other challenges are presented by these different model types?</li>
</ul>
</li>
<li>What are the limitations in size/complexity/operational requirements that you have to impose to ensure a stable platform?</li>
<li>What is the process for deploying model updates?</li>
<li>For organizations that are relying on Baseten as a prototyping platform, what are the options for taking a successful application and handing it off to a product team for further customization?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Baseten used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Baseten?</li>
<li>When is Baseten the wrong choice?</li>
<li>What do you have planned for the future of Baseten?</li>
</ul>
<h2>Contact Info</h2>
<ul>
<li><a href="https://twitter.com/tuhinone?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tuhinone</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/tuhin-srivastava-60601114/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Parting Question</h2>
<ul>
<li>From your perspective, what is the biggest barrier to adoption of machine learning today?</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. <a href="">Podcast.__init__</a> covers the Python language, its community, and the innovative ways it is being used.</li>
<li>Visit the <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@themachinelearningpodcast.com">hosts@themachinelearningpodcast.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://podcasts.apple.com/us/podcast/the-machine-learning-podcast/id1626358243?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.baseten.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Baseten</a></li>
<li><a href="https://www.baseten.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gumroad</a></li>
<li><a href="https://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="https://streamlit.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Streamlit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/streamlit-web-application-episode-238/?utm_source=rss&utm_medium=rss">Podcast.__init__ Episode</a></li>
</ul>
</li>
<li><a href="https://retool.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Retool</a></li>
<li><a href="https://hex.tech/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hex</a>
<ul>
<li><a href="https://www.pythonpodcast.com/hex-collaborative-notebooks-episode-294/?utm_source=rss&utm_medium=rss">Podcast.__init__ Episode</a></li>
</ul>
</li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://github.com/react-monaco-editor/react-monaco-editor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React Monaco</a></li>
<li><a href="https://huggingface.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Huggingface</a></li>
<li><a href="https://www.airtable.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airtable</a></li>
<li><a href="https://openai.com/dall-e-2/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dall-E 2</a></li>
<li><a href="https://en.wikipedia.org/wiki/GPT-3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPT-3</a></li>
<li><a href="https://wandb.ai/site?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Weights and Biases</a></li>
</ul>
<p>The intro and outro music is from <a href="https://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Tales_Of_A_Dead_Fish/Hitmans_Lovesong/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hitman&#8217;s Lovesong feat. Paola Graziano</a> by <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>/<a href="https://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA 3.0</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbaseten-full-stack-ml-app-episode-385%2F&amp;action_name=Build+A+Full+Stack+ML+Powered+App+In+An+Afternoon+With+Baseten+-+Episode+385&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-11-21t18:34:38+00:00-ffc9f5dc71a1147</guid>
      <link>https://www.pythonpodcast.com/baseten-full-stack-ml-app-episode-385</link>
      <pubDate>Mon, 21 Nov 2022 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="542.30" duration="32.46">As far as the overall process for being able to build these full stack applications with base 10, as you said, it gives you, you know, a lot of useful tools that are all tightly integrated to be able to manage that end to end flow of, I've got a model. Now I need to build the app around it. In the absence of base 10, what are some of the strategies and utilities and kind of development patterns that teams have built up to be able to solve that problem and some of the pain points that they're experiencing as far as trying to integrate all of those components on their own?</podcast:soundbite>
      <podcast:soundbite startTime="73.81" duration="21.83">Your host is Tobias Macy, and today, I'm interviewing Tuohin Srivastava about Base 10, an ML application builder for data science and machine learning teams. So, Tuheen, can you start by introducing yourself? Yeah. Hey. I'm Tuheen. I'm the CEO and 1 of the cofounders of Base 10. I have a background in machine learning, have been founded a couple of companies. I've been working on Base 10 since 2019.</podcast:soundbite>
      <podcast:soundbite startTime="295.00" duration="44.49">In terms of the problems that you're solving, you made it pretty clear that, you know, there's the initial step of, I've got a model and I can put an API in front of it, but then how do you actually build the whole application around it? And so in terms of the solution for that problem, I'm wondering if you could speak to the type of user that you're focused on addressing to fill that requirement and some of the types of organizations that might rely on that capability rather than maybe having their own in house team to productionize these applications around these models or sort of what the typical flow is from, I've got a model and I've got a prototype built with this, you know, full stack app builder in the form of base 10, and then now I actually want to, you know, bring the feature set even further.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:22</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build A Full Stack ML Powered App In An Afternoon With Baseten</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>385</itunes:episode>
      <podcast:episode>385</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320661718767a3ff1388-7a43-48d7-adc9-de535e27b837v1.mp3" length="27165385" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320661718767a3ff1388-7a43-48d7-adc9-de535e27b837v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a3ff1388-7a43-48d7-adc9-de535e27b837638558840876176227.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a3ff1388-7a43-48d7-adc9-de535e27b837638558840874101122.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a3ff1388-7a43-48d7-adc9-de535e27b837638558840872171259.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Skip Straight To The Fun Part Of Your Project With PyScaffold</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Starting a new project is always exciting and full of possibility, until you have to set up all of the repetitive boilerplate. Fortunately there are useful project templates that eliminate that drudgery. PyScaffold goes above and beyond simple template repositories, and gives you a toolkit for different application types that are packed with best practices to make your life easier. In this episode Florian Wilhelm shares the story behind PyScaffold, how the templates are designed to reduce friction when getting a new project off the ground, and how you can extend it to suit your needs. Stop wasting time with boring boilerplate and get straight to the fun part with PyScaffold!</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great!</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Florian Wilhelm about PyScaffold, a Python project template generator with batteries included</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what PyScaffold is and the story behind it?
<ul>
<li>What is the main goal of the project?</li>
</ul>
</li>
<li>There are a huge number of templates and starter projects available (both in Python and other languages). What are the aspects of PyScaffold that might encourage someone to adopt it?</li>
<li>What are the different types/categories of applications that you are focused on supporting with the scaffolding?
<ul>
<li>For each category, what is your selection process for which dependencies to include?</li>
</ul>
</li>
<li>How do you approach the work of keeping the various components up to date with community &quot;best practices&quot;?</li>
<li>Can you describe how PyScaffold is implemented?
<ul>
<li>How have the design and goals of the project changed since you first started it?</li>
</ul>
</li>
<li>What is the user experience for someone bootstrapping a project with PyScaffold?
<ul>
<li>How can you adapt an existing project into the structure of a pyscaffold template?</li>
<li>Are there any facilities for updating a project started with PyScaffold to include patches/changes in the source template?</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen PyScaffold used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on PyScaffold?</li>
<li>When is PyScaffold the wrong choice?</li>
<li>What do you have planned for the future of PyScaffold?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://florianwilhelm.info/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/florian-wilhelm-621ba834/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/FlorianWilhelm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FlorianWilhelm</a> on GitHub</li>
<li><a href="https://twitter.com/florianwilhelm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@florianwilhelm</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt3322312/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Daredevil</a> TV series</li>
</ul>
</li>
<li>Florian
<ul>
<li><a href="https://www.imdb.com/title/tt8291284/?ref_=nv_sr_srsg_0&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Peripheral</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://pyscaffold.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyScaffold</a></li>
<li><a href="https://www.inovex.de/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Innovex</a></li>
<li><a href="https://www.sap.com/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SAP</a></li>
<li><a href="https://cookiecutter.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cookiecutter</a></li>
<li><a href="https://docs.pytest.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pytest</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-16-holger-krekel-on-py-test/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.sphinx-doc.org/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sphinx</a></li>
<li><a href="https://pre-commit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pre-commit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pre-commit-with-anthony-sottile-episode-178/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black</a></li>
<li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a>
<ul>
<li><a href="https://www.pythonpodcast.com/flake8-static-analysis-episode-309/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://python-poetry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poetry</a></li>
<li><a href="https://github.com/pypa/setuptools?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Setuptools</a></li>
<li><a href="https://www.mkdocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mkdocs</a></li>
<li><a href="https://www.writethedocs.org/guide/writing/reStructuredText/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReStructured Text</a></li>
<li><a href="https://en.wikipedia.org/wiki/Markdown?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Markdown</a></li>
<li><a href="https://github.com/pypa/setuptools_scm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Setuptools-SCM</a></li>
<li><a href="https://hatch.pypa.io/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hatch</a></li>
<li><a href="https://flit.pypa.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flit</a></li>
<li><a href="https://github.com/python-versioneer/python-versioneer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Versioneer</a></li>
<li><a href="https://gource.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gource</a> git visualization</li>
<li><a href="https://mypyc.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy Compiler</a></li>
<li><a href="https://doc.rust-lang.org/cargo/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust Cargo</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyscaffold-project-template-boilerplate-episode-384%2F&amp;action_name=Skip+Straight+To+The+Fun+Part+Of+Your+Project+With+PyScaffold+-+Episode+384&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-11-07t00:16:07+00:00-acb49c7834aff86</guid>
      <link>https://www.pythonpodcast.com/pyscaffold-project-template-boilerplate-episode-384</link>
      <pubDate>Mon, 7 Nov 2022 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2630.88" duration="104.64">And then there's always, like, trust. For instance, I trust Anderson, like, 100%. And I've known him now for many years. And, of course, if he has an opinion on something, this opinion is, like, really valuable. And this is also why I said, like, okay. I wanna also go on to other projects. So still, I want to contribute. But since you have been doing, like, the most work and the greatest feature in the last years, you have been implemented, so you should be the core maintainer of Pyescafold. And this is, like, the usual kind of, if you call it, ring of trust, or you have certain people, known them for many years, and they have done an awesome job. And, of course, you trust them more in contrast to someone coming in and saying, okay. I wanna change completely the goal of PyScaffold. Still, in this case, 1 has to be, like, really also, again, appreciate that they have cool ideas, but in a nice way, saying no. And this, like, learning to say no in an open source project for me was the hardest thing because you have motivated people, and they say, okay. Let's add this, and here's the pull request. And I've already put, like, maybe days of work into my pull request, so please accept it. And then saying, no. This changes the whole project into a direction that we kind of don't wanna go. It's the hardest part, but I think it's also something you have to do as an open source maintainer because, otherwise, you're kind of losing the goal of your project.</podcast:soundbite>
      <podcast:soundbite startTime="369.60" duration="49.57">So, basically, the main idea was so the cookie cutter, you can basically use for for everything. Right? So you can roll your own templates. It's really easy to configure your own templates, but you still have to have the kind of knowledge. Right? Or if you look on the web page now, you have, like, tons of different templates, and somehow you need to decide. So what is the right template for me and what are the pros and cons of each template? And still, you have to kind of read a little bit in the documentation what it is really for and how you should use it. And the idea with PyScaffold is more or less that you have something really opinionated. That's kind of a best practice approach that comes with everything that you need to get started developing your own package really easily.</podcast:soundbite>
      <podcast:soundbite startTime="1266.34" duration="74.93">And then you could even use poetry. So, actually, if you wanna develop a Python library or application, you should not care that much about the build system in the best case because this should be completely transparent for you. It should just know the command how to build the wheel and not decide, okay. Should I rather go for there there's also flits. There are so many different tools, and some implement those caps. Some implement there's also PyFlux or something that only comes with this new way of the underscore underscore pipe packages. So this way of not having isolated environments at all. And yeah. So this is still some beast we kind of say, okay. We are re agnostic. Who knows if we later gonna adopt something or not? So I would rather actually keep or stick to the UNIX philosophy, which is do 1 thing and do it really well. And a project setup has actually or should, in best case, have nothing to do with how you manage your virtual environment. Right? It should be kind of a to it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:46</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Skip Straight To The Fun Part Of Your Project With PyScaffold</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>384</itunes:episode>
      <podcast:episode>384</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322327757965db1b3659-52a3-45a0-9705-fb7cc7356763v1.mp3" length="34701215" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322327757965db1b3659-52a3-45a0-9705-fb7cc7356763v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_db1b3659-52a3-45a0-9705-fb7cc7356763638558847964914666.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/db1b3659-52a3-45a0-9705-fb7cc7356763638558847960256537.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/db1b3659-52a3-45a0-9705-fb7cc7356763638558847958243006.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Add Configuration Best Practices To Your Application In An Afternoon With Dynaconf</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Application configuration is a deceptively complex problem. Everyone who is building a project that gets used more than once will end up needing to add configuration to control aspects of behavior or manage connections to other systems and services. At first glance it seems simple, but can quickly become unwieldy. Bruno Rocha created Dynaconf in an effort to provide a simple interface with powerful capabilities for managing settings across environments with a set of strong opinions. In this episode he shares the story behind the project, how its design allows for adapting to various applications, and how you can start using it today for your own projects.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great!</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Bruno Rocha about Dynaconf, a powerful and flexible framework for managing your application&#8217;s configuration settings</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Dynaconf is and the story behind it?</li>
<li>What are your main goals for Dynaconf?
<ul>
<li>What kinds of projects (e.g. web, devops, ML, etc.) are you focused on supporting with Dynaconf?</li>
</ul>
</li>
<li>Settings management is a deceptively complex and detailed aspect of software engineering, with a lot of conflicting opinions about the &quot;right way&quot;. What are the design philosophies that you lean on for Dynaconf?</li>
<li>Many engineers end up building their own frameworks for managing settings as their use cases and environments get increasingly complicated. What are some of the ways that those efforts can go wrong or become unmaintainable?</li>
<li>Can you describe how Dynaconf is implemented?
<ul>
<li>How have the design and goals of the project evolved since you first started it?</li>
</ul>
</li>
<li>What is the workflow for getting started with Dynaconf on a new project?
<ul>
<li>How does the usage scale with the complexity of the host project?</li>
</ul>
</li>
<li>What are some strategies that you recommend for integrating Dynaconf into an existing project that already has complex requirements for settings across multiple environments?</li>
<li>Secrets management is one of the most frequently under- or over-engineered aspects of application configuration. What are some of the ways that you have worked to strike a balance of making the &quot;right way&quot; easy?</li>
<li>What are some of the more advanced or under-utilized capabilities of Dynaconf?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Dynaconf used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Dynaconf?</li>
<li>When is Dynaconf the wrong choice?</li>
<li>What do you have planned for the future of Dynaconf?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/rochacbruno?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rochacbruno</a> on GitHub</li>
<li><a href="https://twitter.com/rochacbruno?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@rochacbruno</a> on Twitter</li>
<li><a href="https://beacons.ai/rochacbruno?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/rochacbruno/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/mozilla/sops?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SOPS</a></li>
</ul>
</li>
<li>Bruno
<ul>
<li><a href="https://tv.apple.com/us/show/severance/umc.cmc.1srk2goyh2q2zdxcx605w8vtx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Severance</a> tv series</li>
<li>Learn <a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.dynaconf.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dynaconf</a></li>
<li><a href="https://github.com/dynaconf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dynaconf GitHub Org</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bash</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://12factor.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">12 Factor Applications</a></li>
<li><a href="https://toml.io/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TOML</a></li>
<li><a href="https://www.vaultproject.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hashicorp Vault</a></li>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pydantic</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://crates.io/crates/hydroconf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hydroconf</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdynaconf-application-configuration-management-episode-383%2F&amp;action_name=Add+Configuration+Best+Practices+To+Your+Application+In+An+Afternoon+With+Dynaconf+-+Episode+383&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-10-30t23:16:37+00:00-eae12f1ce1dd81f</guid>
      <link>https://www.pythonpodcast.com/dynaconf-application-configuration-management-episode-383</link>
      <pubDate>Sun, 30 Oct 2022 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="52.79" duration="28.14">So, Bruno, can you start by introducing yourself? Hi. Thanks for inviting me for this podcast. My name is Bruno Rocha. I live in Portugal. Some things about me, I'm a member of the Python Software Foundation. I'm a senior engineer on Red Hat Ansible. I have a YouTube and a Twitch stream channel targeting mostly Portuguese speaking audience where I talk about Python and programming. And besides that, I like bicycles. That's all about me.</podcast:soundbite>
      <podcast:soundbite startTime="2375.49" duration="57.10">I think the best way to manage secrets today is using encrypted vault services, especially if you are working in the cloud. So you're gonna have tooling that will it will depend on the environment you are running. But for example, you have a w s secret manager, you have HashCorp Vault and you can use encrypted environment variables depending on the on the place you are deploying your application. I think that's the best because you are delegating responsibility for this where the secrets are stored and how it's encrypted to another service that is really good on doing this and well tested for this specifically. And Dynacom supports out of the box loading data from HashCorp Vault today. So you can like just pass the configuration, the host, and your token for Vault, and then it you can pass, I don't remember exactly, but I think the name space and then it goes there and reads your secrets.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:03:59</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Add Configuration Best Practices To Your Application In An Afternoon With Dynaconf</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>383</itunes:episode>
      <podcast:episode>383</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253078128727670df6935e-9a31-4af6-9e11-8e041d890b38v1.mp3" length="42443473" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253078128727670df6935e-9a31-4af6-9e11-8e041d890b38v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_0df6935e-9a31-4af6-9e11-8e041d890b38638558822667880577.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0df6935e-9a31-4af6-9e11-8e041d890b38638558822663165159.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0df6935e-9a31-4af6-9e11-8e041d890b38638558822661217121.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Take A Tour Of The Hidden Language Of Hardware And How It Powers Your Code</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Software is eating the world, but that code has to have hardware to execute the instructions. Most people, and many software engineers, don&#8217;t have a proper understanding of how that hardware functions. Charles Petzold wrote the book &quot;Code: The Hidden Language of Computer Hardware and Software&quot; to make this a less opaque subject. In this episode he discusses what motivated him to revise that work in the second edition and the additional details that he packed in to explore the functioning of the CPU.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great!</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Charles Petzold about his work on the second edition of Code: The Hidden Language of Computer Hardware and Software</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the focus and goal of &quot;Code&quot; and the story behind it?
<ul>
<li>Who is the target audience for the book?</li>
</ul>
</li>
<li>The sequencing of the topics parallels the curriculum of a computer engineering course of study. Why do you think that it is useful/important for a general audience to understand the electrical engineering principles that underly modern computers?</li>
<li>What was your process for determining how to segment the information that you wanted to address in the book to balance the pacing of the reader with the density of the information?</li>
<li>Technical books are notoriously challenging to write due to the constantly changing subject matter. What are some of the ways that the first edition of &quot;Code&quot; was becoming outdated?
<ul>
<li>What are the most notable changes in the foundational elements of computing that have happened in the time since the first edition was published?</li>
</ul>
</li>
<li>One of the concepts that I have found most helpful as a software engineer is that of &quot;mechanical sympathy&quot;. What are some of the ways that a better understanding of computer hardware and electrical signal processing can influence and improve the way that an engineer writes code?</li>
<li>What are some of the insights that you gained about your own use of computers and software while working on this book?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while writing &quot;Code&quot; and revising it for the second edition?</li>
<li>Once the reader has finished with your book, what are some of the other references/resources that you recommend?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="http://charlespetzold.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt2084970/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Imitation Game</a> movie</li>
</ul>
</li>
<li>Charles
<ul>
<li><a href="http://charlespetzold.com/books/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Annotated Turing</a> book by Charles Petzold</li>
<li><a href="https://www.penguinrandomhouse.com/books/668293/confidence-man-by-maggie-haberman/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Confidence Man: The Making of Donald Trump and the Breaking of America</a> by Maggie Haberman</li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.microsoftpressstore.com/store/code-the-hidden-language-of-computer-hardware-and-software-9780137909100?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code: The Hidden Language of Computer Hardware and Software</a></li>
<li><a href="https://fortran-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fortran</a></li>
<li><a href="https://en.wikipedia.org/wiki/PL/I?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PL/I</a></li>
<li><a href="https://en.wikipedia.org/wiki/BASIC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BASIC</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C#</a></li>
<li><a href="https://en.wikipedia.org/wiki/Zilog_Z80?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Z80</a></li>
<li><a href="https://en.wikipedia.org/wiki/Intel_8080?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Intel 8080</a></li>
<li><a href="https://www.pcmag.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PC Magazine</a></li>
<li><a href="https://en.wikipedia.org/wiki/Assembly_language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Assembly Language</a></li>
<li><a href="https://en.wikipedia.org/wiki/Logic_gate?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logic Gates</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C Language</a></li>
<li><a href="https://en.wikipedia.org/wiki/ASCII?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASCII == American Standard Code for Information Interchange</a></li>
<li><a href="https://github.com/mono/SkiaSharp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SkiaSharp</a></li>
<li><a href="https://en.wikipedia.org/wiki/Algol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Algol</a></li>
<li><a href="http://charlespetzold.com/code/CodeBibliography.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code first edition bibliography</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcode-hidden-language-second-edition-episode-382%2F&amp;action_name=Take+A+Tour+Of+The+Hidden+Language+Of+Hardware+And+How+It+Powers+Your+Code+-+Episode+382&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-10-21t20:29:06+00:00-32735904b71ebae</guid>
      <link>https://www.pythonpodcast.com/code-hidden-language-second-edition-episode-382</link>
      <pubDate>Sun, 23 Oct 2022 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="68.06" duration="28.38">Hi. I am Charles Petzold, as you just said. I have been writing about computers and computer programming since about 1984. 1 of my major achievements is a series of books about programming applications for Microsoft Windows. But in 1999, I wrote a book called Code, the hidden language of computer hardware and software, which begins at a rather simple level and eventually describes how computers work.</podcast:soundbite>
      <podcast:soundbite startTime="966.04" duration="61.31">Yeah. It's good to know that the microprocessor is not executing things at infinite speed, that there's no clock cycles involved. Exactly. And the other aspect of the audience that you were discussing is not the software engineer, not the technical person necessarily, but people who just interact with computers on a daily basis as, you know, these days is mostly everyone. And And I'm wondering what you see as the benefit for that group of people to be able to have at least some conceptual understanding of what computers are doing and how. I hope that for those people, the book demystifies computers. A lot of people tend to think of what goes on inside a computer as magic of some kind, and I would like to dispel that. It is not magic at all. And so once you get to a point where you understand that it's just little circuits doing this stuff, I think the computer becomes a lot less scary.</podcast:soundbite>
      <podcast:soundbite startTime="178.88" duration="40.38">Yeah. Well, back in the late seventies, I got involved in building electronic music instruments for my own personal use. And, eventually, I built a digital music synthesizer that was capable of generating 80 sign curves in real time. In order to control this thing, I built a z 80 based computer. Prior to starting messing around with electronic music, I had no background in digital electronics at all, but managed to teach myself some of the stuff from books and started wiring up integrated circuits and getting a good understanding of what was going on.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:50</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Take A Tour Of The Hidden Language Of Hardware And How It Powers Your Code</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>382</itunes:episode>
      <podcast:episode>382</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300627971718b4bc24d6-06bf-4344-aee1-397abf68b23bv1.mp3" length="32361710" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300627971718b4bc24d6-06bf-4344-aee1-397abf68b23bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b4bc24d6-06bf-4344-aee1-397abf68b23b638558799717081548.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b4bc24d6-06bf-4344-aee1-397abf68b23b638558799713737773.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b4bc24d6-06bf-4344-aee1-397abf68b23b638558799711557074.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Take Control Of Your Electrical Systems With The Open Source FlexMeasures Energy Management System</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The generation, distribution, and consumption of energy is one of the most critical pieces of infrastructure for the modern world. With the rise of renewable energy there is an accompanying need for systems that can respond in real-time to the availability and demand for electricity. FlexMeasures is an open source energy management system that is designed to integrate a variety of inputs intelligently allocate energy resources to reduce waste in your home or grid. In this episode Nicolas Höning explains how the project is implemented, how it is being used in his startup Seita, and how you can try it out for your own energy needs.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great!</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nicolas Höning about FlexMeasures, an open source project designed to manage energy resources dynamically to improve efficiency</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what FlexMeasures is and the story behind it?
<ul>
<li>What are the primary goals/objectives of the project?</li>
<li>The energy sector is huge. Where can FlexMeasures be used?</li>
</ul>
</li>
<li>Energy systems are typically governed by a marketplace system. What are the benefits that FlexMeasures can provide for each side of that market?
<ul>
<li>How do renewable sources of energy confuse/complicate the role that the different stakeholders represent?</li>
<li>What are the different points of interaction that producers/consumers might have with the FlexMeasures platform?</li>
</ul>
</li>
<li>What are some examples of the types of decisions/recommendations that FlexMeasures might generate and how to they manifest in the energy systems?
<ul>
<li>What are the types of information that FlexMeasures relies on for driving those decisions?</li>
</ul>
</li>
<li>Can you describe how FlexMeasures is implemented?
<ul>
<li>How have the design and goals of the system changed/evolved since you started working on it?</li>
</ul>
</li>
<li>What are the interfaces that you provide for integrating with and extending the functionality of a FlexMeasures installation?</li>
<li>What are the operating scales that FlexMeasures is designed for?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen FlexMeasures used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on FlexMeasures?</li>
<li>When is FlexMeasures the wrong choice?</li>
<li>What do you have planned for the future of FlexMeasures?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.nicolashoening.de/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/nhoening?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@nhoening</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/nhoening/?originalSubdomain=nl&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.disneyplus.com/series/she-hulk-attorney-at-law/gPwaYusKqRQh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">She-Hulk</a></li>
</ul>
</li>
<li>Nicholas
<ul>
<li><a href="https://www.netflix.com/title/81216677?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kleo</a> on Netflix</li>
<li><a href="https://altair-viz.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Altair</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li>FlexMeasures:
<ul>
<li><a href="https://github.com/flexMeasures?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
<li><a href="https://www.lfenergy.org/projects/flexmeasures/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linux Energy Foundation</a></li>
<li><a href="https://lists.lfenergy.org/g/flexmeasures/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
<li><a href="https://twitter.com/flexmeasures?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>
</li>
<li><a href="https://www.eyequant.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EyeQuant</a></li>
<li><a href="https://en.wikipedia.org/wiki/Energy_management_system?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Energy Management System</a></li>
<li><a href="https://openems.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenEMS</a></li>
<li><a href="https://en.wikipedia.org/wiki/Information_and_communications_technology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ICT == Information and Communications Technology</a></li>
<li><a href="https://www.home-assistant.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HomeAssistant</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-94-home-assistant-with-paulus-schoutsen/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/SeitaBV/v2g-liberty?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FlexMeasures HomeAssistant Plugin</a></li>
<li><a href="https://www.usef.energy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Universal Smart Energy Framework</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.timescale.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TimescaleDB</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/timescaledb-round-2-episode-65/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://openweathermap.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenWeatherMap</a></li>
<li><a href="https://github.com/SeitaBV/timely-beliefs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Timely-Beliefs</a> library</li>
<li><a href="https://flask.palletsprojects.com/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://click.palletsprojects.com/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Click</a></li>
<li><a href="http://www.pyomo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyomo</a></li>
<li><a href="https://scikit-learn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://sktime.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sktime</a></li>
<li><a href="https://www.lfenergy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LF Energy</a></li>
<li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black</a></li>
<li><a href="https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arima Model</a></li>
<li><a href="https://en.wikipedia.org/wiki/Random_forest?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Random Forest</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fflexmeasures-energy-management-system-episode-381%2F&amp;action_name=Take+Control+Of+Your+Electrical+Systems+With+The+Open+Source+FlexMeasures+Energy+Management+System+-+Episode+381&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-10-16t20:16:05+00:00-f6d2e40d84fd2a9</guid>
      <link>https://www.pythonpodcast.com/flexmeasures-energy-management-system-episode-381</link>
      <pubDate>Sun, 16 Oct 2022 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="955.54" duration="64.27">1 thing we see in the Netherlands, and I think that the Netherlands are a bit ahead of the curve there, is more dynamic prices. I think you can choose between 5 suppliers now that will buy power on the day ahead market, which has 24 different slots. But then they will just give you those 24 prices. So the the the afternoon before, you will know what your 24 prices will be the next day. And if you have, you know, some optimized optimized system like what we did, for instance, in the vehicle to grid project, that's going to turn out quite well for you then. You will not consume energy when those prices are high. Of course, what's interesting is that this might create more of a divide between those people that can afford that that has this cool infrastructure plus software, and they get their average energy bill. Well, they keep it low, let's say. And who's going to pay a lot? That's probably going to if everything goes like this, it's going to be the poor people.</podcast:soundbite>
      <podcast:soundbite startTime="214.25" duration="54.65">Flex measures, basically, an energy management system. It helps you manage your energy. In the last couple of years, energy management has meant that you manage the data around your energy, metering data. You put it on NICE dashboards and you do billing around it. You know, that's also significant work to be done. Flex Measures focuses more on the energy flexibility and optimizing when energy is consumed during the day because that's an a very important piece in the energy transition. As any any expert will tell you, we'll need to get to this kind of optimization, at some point. Otherwise, we will not get the fit between available renewable energy and the actual consumption to have a stable energy system. So flex measures helps you find the best times for your flexible energy assets. Let's say, a battery.</podcast:soundbite>
      <podcast:soundbite startTime="429.78" duration="58.78">As a big goal, the big hairy goal is that Plaxminder should really help to speed up the energy transition and, you know, become 1 of the standard pieces of climate tech, infrastructure tech that you would also always consider when you start a new modern energy project where your real time optimization is a part of the solution. The main way I think Flex Measures can help is really being a developer friendly tool, solve a lot of these things that take you weeks of work, get your data model right, get your data integrations right, get some monitoring right, decide how to implement where your algorithms should be run, have a queue for that, you know, processing queues. There's all these things that developers know will keep you busy before you get to the real use case, before you really help your customer, or you are implementing something very shortly, very quick hack.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:17</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Take Control Of Your Electrical Systems With The Open Source FlexMeasures Energy Management System</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>381</itunes:episode>
      <podcast:episode>381</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306276101439db6a3724-4fcf-4cba-b432-7a3c4b8b57f1v1.mp3" length="36276050" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306276101439db6a3724-4fcf-4cba-b432-7a3c4b8b57f1v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_db6a3724-4fcf-4cba-b432-7a3c4b8b57f1638558817142010267.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/db6a3724-4fcf-4cba-b432-7a3c4b8b57f1638558817138988719.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/db6a3724-4fcf-4cba-b432-7a3c4b8b57f1638558817135413696.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>How And Why To Build Effective Teams As An Engineering Leader</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Your ability to build and maintain a software project is tempered by the strength of the team that you are working with. If you are in a position of leadership, then you are responsible for the growth and maintenance of that team. In this episode Jigar Desai, currently the SVP of engineering at Sisu Data, shares his experience as an engineering leader over the past several years and the useful insights he has gained into how to build effective engineering teams.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great!</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>The biggest challenge with modern data systems is understanding what data you have, where it is located, and who is using it. Select Star&#8217;s data discovery platform solves that out of the box, with a fully automated catalog that includes lineage from where the data originated, all the way to which dashboards rely on it and who is viewing them every day. Just connect it to your dbt, Snowflake, Tableau, Looker, or whatever you&#8217;re using and Select Star will set everything up in just a few hours. Go to <a href="https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss">pythonpodcast.com/selectstar</a> today to double the length of your free trial and get a swag package when you convert to a paid plan.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jigar Desai about building effective engineering teams</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What have you found to be the central challenges involved in building an effective engineering team?
<ul>
<li>What are the measures that you use to determine what &quot;effective&quot; means for a given team?</li>
</ul>
</li>
<li>how to establish mutual trust in an engineering team</li>
<li>challenges introduced at different levels of team size/organizational complexity</li>
<li>establishing and managing career ladders</li>
<li>You have mostly worked in heavily tech-focused companies. How do industry verticals impact the ways that you think about formation and structure of engineering teams?
<ul>
<li>What are some of the different roles that you might focus on hiring/team compositions in industries that aren&#8217;t purely software? (e.g. fintech, logistics, etc.)</li>
</ul>
</li>
<li>notable evolutions in engineering practices/paradigm shifts in the industry
<ul>
<li>What are some of the predictions that you have about how the future of engineering will look?</li>
<li>What impact do you think low-code/no-code solutions will have on the types of projects that code-first developers will be tasked with?</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen organizational leaders address the work of building and scaling engineering capacity?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working in engineering leadership?</li>
<li>What are the most informative mistakes that you would like to share?</li>
<li>What are some resources and reference material that you recommend for anyone responsible for the success of their engineering teams?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/jigardesai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt12593682/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bullet Train</a> movie</li>
</ul>
</li>
<li>Jigar
<ul>
<li><a href="https://www.imdb.com/title/tt1745960/?ref_=nv_sr_srsg_0&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Top Gun Maverick</a> movie</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://sisudata.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sisu Data</a></li>
<li><a href="https://www.openstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_%28programming_language%29?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Feffective-engineering-teams-jigar-desai-episode-380%2F&amp;action_name=How+And+Why+To+Build+Effective+Teams+As+An+Engineering+Leader+-+Episode+380&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-10-10t01:14:39+00:00-f289d41c84069ee</guid>
      <link>https://www.pythonpodcast.com/effective-engineering-teams-jigar-desai-episode-380</link>
      <pubDate>Mon, 10 Oct 2022 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="3676.95" duration="33.46">So when we come together as a team, when we were talking about vision and strategy and road map, I think it's also equally important to celebrate successes, celebrate wins, recognizing people, making sure that they not only feel that they have a lot of work to do in terms of achieving this vision and strategy, but everything that they're they're working on is something getting recognized. So I do feel creating a stronger engineering culture involves recognizing rewarding people and celebrating successes too.</podcast:soundbite>
      <podcast:soundbite startTime="189.87" duration="29.27">So I have been managing and supporting teams for last 15 years. And what I've seen is sometimes it's a team of highly caliber individuals, but the team overall is mediocre. And then I've seen mediocre talent, but team is high performing. And major difference that I've found in these 2 teams is 1 team is really clear about their goals and objectives. There is a clear vision in place, and everybody is kind of moving in the same direction.</podcast:soundbite>
      <podcast:soundbite startTime="636.29" duration="35.98">In my mind, a lot of times, people just kind of think about taking tickets or tasks from someone when they don't have enough context on what problem they're trying to solve. So what I generally do is set a lot of context on what is the problem, bring customers into the mix, and explain why we need to solve these problems. Also, the vision and strategy should be focused on the problem set rather than solutions. So a lot of times people make a mistake where they mix up vision with solutioning. So they go into a lot of details about how you can implement things rather than what needs to be implemented.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:04:50</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>How And Why To Build Effective Teams As An Engineering Leader</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>380</itunes:episode>
      <podcast:episode>380</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530051389237400fc6456-659e-4000-abdb-383d04d766dfv1.mp3" length="51191010" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530051389237400fc6456-659e-4000-abdb-383d04d766dfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_00fc6456-659e-4000-abdb-383d04d766df638558799475675138.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00fc6456-659e-4000-abdb-383d04d766df638558799471359757.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00fc6456-659e-4000-abdb-383d04d766df638558799469515039.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Complete Your Hardware "Weekend Projects" In An Actual Weekend With Belay</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Working on hardware projects often has significant friction involved when compared to pure software. Brian Pugh enjoys tinkering with microcontrollers, but his &quot;weekend projects&quot; often took longer than a weekend to complete, so he created Belay. In this episode he explains how Belay simplifies the interactions involved in developing for MicroPython boards and how you can use it to speed up your own experimentation.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great!</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>The biggest challenge with modern data systems is understanding what data you have, where it is located, and who is using it. Select Star&#8217;s data discovery platform solves that out of the box, with a fully automated catalog that includes lineage from where the data originated, all the way to which dashboards rely on it and who is viewing them every day. Just connect it to your dbt, Snowflake, Tableau, Looker, or whatever you&#8217;re using and Select Star will set everything up in just a few hours. Go to <a href="https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss">pythonpodcast.com/selectstar</a> today to double the length of your free trial and get a swag package when you convert to a paid plan.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Brian Pugh about Belay, a python library that enables the rapid development of projects that interact with hardware via a micropython-compatible board.</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Belay is and the story behind it?</li>
<li>Who are the target users for Belay?</li>
<li>What are some of the points of friction involved in developing for hardware projects?
<ul>
<li>What are some of the features of Belay that make that a smoother process?</li>
</ul>
</li>
<li>What are some of the ways that simplifying the develop/debug cycles can improve the overall experience of developing for hardware platforms?
<ul>
<li>What are some of the inherent limitations of constrained hardware that Belay is unable to paper over?</li>
</ul>
</li>
<li>Can you describe how Belay is implemented?</li>
<li>What does the workflow look like when using Belay as compared to using MicroPython directly?</li>
<li>What are some of the ways that you are using Belay in your own projects?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Belay used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Belay?</li>
<li>When is Belay the wrong choice?</li>
<li>What do you have planned for the future of Belay?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/BrianPugh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BrianPugh</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/briannpugh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://gunnar.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gunnar Computer Glasses</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/brianpugh/belay?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Belay</a></li>
<li><a href="https://www.geomagical.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Geomagical</a></li>
<li><a href="https://en.wikipedia.org/wiki/PIC_microcontrollers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PIC Microcontroller</a></li>
<li><a href="https://en.wikipedia.org/wiki/AVR_microcontrollers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AVR Microcontroller</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-15-damien-george-talks-to-us-about-micropython/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://circuitpython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CircuitPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/circuitpython-hardware-hacking-episode-212/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.celeryq.dev/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="https://en.wikipedia.org/wiki/Potentiometer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Potentiometer</a></li>
<li><a href="https://www.raspberrypi.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi</a></li>
<li><a href="https://www.raspberrypi.com/products/raspberry-pi-pico/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi Pico</a></li>
<li><a href="https://en.wikipedia.org/wiki/Analog-to-digital_converter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ADC Converter</a></li>
<li><a href="https://thonny.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thonny</a>
<ul>
<li><a href="https://www.pythonpodcast.com/thonny-with-aivar-annamaa-episode-153/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.adafruit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adafruit</a></li>
<li><a href="https://store.micropython.org/category/pyboards?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyboard</a></li>
<li><a href="https://docs.python.org/3/library/inspect.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Inspect Module</a></li>
<li><a href="https://docs.python.org/3/library/tokenize.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Tokenize</a></li>
<li><a href="https://github.com/BrianPugh/magnetometer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magnetometer Project</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lidar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lidar</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbelay-micropython-hardware-helper-episode-379%2F&amp;action_name=Complete+Your+Hardware+%22Weekend+Projects%22+In+An+Actual+Weekend+With+Belay+-+Episode+379&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-10-03t02:11:04+00:00-0e80f69642bb78c</guid>
      <link>https://www.pythonpodcast.com/belay-micropython-hardware-helper-episode-379</link>
      <pubDate>Mon, 3 Oct 2022 02:15:00 +0000</pubDate>
      <podcast:soundbite startTime="416.35" duration="45.37">So, originally, I developed BELAY with the intention that the microcontroller is gonna be continuously attached to the computer. And it doesn't have to be like your main desktop or something. It could be a more simple single board computer like a Raspberry Pi. And it originally stemmed from 1 of my Raspberry Pi projects. I needed to read a potentiometer. And the Raspberry Pi doesn't have a built in ADC converter. And with the silicon shortage and everything, an ADC converter that's compatible with the Raspberry Pi costs, like, $15 or whatever. And I was like, no. I'd rather just buy a bunch of Pi Picos that are, you know, much more generically useful. But then, of course, I then had to deal with this whole communication protocol, firmware development, and things like that. And so, you know, that that led into developing this library because it was such a pain.</podcast:soundbite>
      <podcast:soundbite startTime="824.20" duration="40.50">Right. So the primary goal was just to simplify the interactions between the computer and the micro controller. But, you know, while developing that, I inherently developed what what I think is a better experience to develop with, and that's, you know, defining these short terse functions that are doing the actual hardware interactions. There's typically not too much to debug with that in micro Python because a lot of libraries, like, you know, from Adafruit or whatever, they do a lot of the heavy lifting for you. And so you only have to have, like, 3 lines of code. There's not much to debug. And then that moves the rest of the logic that, like, you know, is your custom? What do I do with these inputs? What do I do with these outputs? It moves it back onto your computer instead of on the MicroPython interpreter.</podcast:soundbite>
      <podcast:soundbite startTime="912.49" duration="34.09">So, you know, whenever you're developing in Belay, you naturally try and make your tasks, your functions that interact with the hardware as short as possible. And, you know, so not everyone does this, but it's actually gonna end up enforcing good practice because it abstracts away the hardware interactions So even So even though Belay is sort of like, if you don't use it in your final product, it encourages better code structure just just for the maintainability of your project.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:30</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Complete Your Hardware "Weekend Projects" In An Actual Weekend With Belay</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>379</itunes:episode>
      <podcast:episode>379</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530680505643744ec71c2-aa70-44d8-b7f9-833f5c89a848v1.mp3" length="35387316" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530680505643744ec71c2-aa70-44d8-b7f9-833f5c89a848v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_44ec71c2-aa70-44d8-b7f9-833f5c89a848638558818935127122.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/44ec71c2-aa70-44d8-b7f9-833f5c89a848638558818932839936.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/44ec71c2-aa70-44d8-b7f9-833f5c89a848638558818929911475.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Catching Up With Pyre, A Fast Type Checker For Python</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Static typing versus dynamic typing is one of the oldest debates in software development. In recent years a number of dynamic languages have worked toward a middle ground by adding support for type hints. Python&#8217;s type annotations have given rise to an ecosystem of tools that use that type information to validate the correctness of programs and help identify potential bugs. At Instagram they created the Pyre project with a focus on speed to allow for scaling to huge Python projects. In this episode Shannon Zhu discusses how it is implemented, how to use it in your development process, and how it compares to other type checkers in the Python ecosystem.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Shannon Zhu about Pyre, a type checker for Python 3 built from the ground up to support gradual typing and deliver responsive incremental checks</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Pyre is and the story behind it?</li>
<li>There have been a number of tools created to support various aspects of typing for Python. How would you describe the various goals that they support and how Pyre fits in that ecosystem?</li>
<li>What are the core goals and notable features of Pyre?</li>
<li>Can you describe how Pyre is implemented?
<ul>
<li>How have the design and goals of the project changed/evolved since you started working on it?</li>
</ul>
</li>
<li>What are the different ways that Pyre is used in the development workflow for a team or individual?</li>
<li>What are some of the challenges/roadblocks that people run into when adopting type definitions in their Python projects?</li>
<li>How has the evolution of type annotations and overall support for them affected your work on Pyre?</li>
<li>As someone who is working closely with type systems, what are the strongest aspects of Python&#8217;s implementation and opportunities for improvement?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Pyre used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Pyre?</li>
<li>When is Pyre the wrong choice?</li>
<li>What do you have planned for the future of Pyre?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/shannonzhu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">shannonzhu</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.amazon.com/dp/B09QHCPD34/ref=dvm_us_or_cs_SH_all_22LTUM_s1_i0_TSTO-PV_Motion/?_encoding=UTF8&amp;pd_rd_w=clIu2&amp;content-id=amzn1.sym.5a6065ca-20a9-43e0-bf13-e291e9c0d7ff&amp;pf_rd_p=5a6065ca-20a9-43e0-bf13-e291e9c0d7ff&amp;pf_rd_r=JRZGJHWYK1W8HKNBGEK0&amp;pd_rd_wg=OX0ys&amp;pd_rd_r=62039a1a-bb02-4239-9251-db1d461b1e75&amp;ref_=pd_gw_unk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lord Of The Rings: The Rings of Power</a> on Amazon Video</li>
</ul>
</li>
<li>Shannon
<ul>
<li><a href="https://horribleguild.com/product/the-kings-dilemma/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">King&#8217;s Dilemma</a> board game</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://pyre-check.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PYre</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/microsoft/pyright?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyRight</a></li>
<li><a href="https://github.com/google/pytype?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyType</a></li>
<li><a href="https://github.com/Instagram/MonkeyType?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MonkeyType</a>
<ul>
<li><a href="https://www.pythonpodcast.com/monkeytype-with-carl-meyer-and-matt-page-episode-146/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C</a></li>
<li><a href="https://peps.python.org/pep-0484/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 484</a></li>
<li><a href="https://peps.python.org/pep-0484/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flow</a></li>
<li><a href="https://hacklang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hack</a></li>
<li><a href="https://en.wikipedia.org/wiki/Continuous_integration?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Integration</a></li>
<li><a href="https://ocaml.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OCaml</a></li>
<li><a href="https://peps.python.org/pep-0675/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 675</a> &#8211; Arbitrary literal strings</li>
<li><a href="https://en.wikipedia.org/wiki/Gradual_typing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gradual Typing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AST == Abstract Syntax Tree</a></li>
<li><a href="https://microsoft.github.io/language-server-protocol/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Language Server Protocol</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tensor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensor</a></li>
<li><a href="https://wiki.haskell.org/Type_arithmetic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Type Arithmetic</a></li>
<li><a href="https://www.youtube.com/watch?v=nRt_xk2MGYU&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon: Securing Code With The Python Type System</a></li>
<li><a href="https://www.youtube.com/watch?v=pMgmKJyWKn8&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon: Type Checked Python In The Real World</a></li>
<li><a href="https://www.youtube.com/watch?v=wbohVjhqg7c&amp;list=PL2Uw4_HvXqvYeXy8ab7iRHjA-9HiYhRQl&amp;index=2&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon: Łukasz Lange 2022 Keynote</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyre-type-checker-episode-378%2F&amp;action_name=Catching+Up+With+Pyre%2C+A+Fast+Type+Checker+For+Python+-+Episode+378&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-09-19t01:06:56+00:00-ba8344310a54356</guid>
      <link>https://www.pythonpodcast.com/pyre-type-checker-episode-378</link>
      <pubDate>Mon, 19 Sep 2022 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2322.45" duration="70.37">And in terms of your experience of working on the PyRE project and working with people who are using it for their day to day development and interaction with their development processes, what are some of the most interesting or innovative or unexpected ways that you've seen Pyre applied? There are a lot of different, you know, tools and structures that you end up needing when you, like, scale out Python to support huge production systems. And so there are, actually, I think are quite a lot of innovative ways that you can make semantic understanding of control flow, like, quite applicable. I think the first thing that comes to mind is is our effort to detect security vulnerabilities. So I've mentioned this before, you know, but in that context, I was really talking about building, like, additional static analysis that reuses the Python type checkers back end and, of course, reuses the type information to actually do, like, taint analysis, for example. But the type system and the type checker itself can actually also play a pretty neat role in catching and eliminating kind of entire classes of vulnerabilities, for example, like command or SQL injection, even in ways that just standard linters can't, like data validation, etcetera.</podcast:soundbite>
      <podcast:soundbite startTime="685.79" duration="94.75">Another interesting element of to your point, the type system well, I guess the type system was already there, but the type annotations and type enforcement in Python is something that was added as not necessarily an afterthought, but added as something that to to an already existing language and ecosystem, which brings up the idea of gradual typing, which is 1 of the goals of Pyre. And I'm wondering if you can talk to some of the ways that that manifests. And for people who might not be familiar with that concept, sort of what that actually means to be able to do gradual typing and how you might incorporate that into an existing code base? Basically, gradual typing is a necessary crutch in order to convert an existing Python project that doesn't have types into 1 that does without saying halting all production and getting your entire team to just annotate things for a few months, which is just never realistic in the real world. So gradual typing essentially is a way to, like, add a stopgap. Like there's basically a type that we use that kind of breaks the type system. It can be compatible with any other type, and this is used in gradual typing to allow you to incrementally add types and only deal with type inconsistencies between the types you've already added rather than having to deal with all the downstream effects of every type that you've added, which essentially becomes 1 of those viral problems where you end up with more and more and more errors and fixing those results in more errors until you find yourself sitting down to convert your entire code base in 1 sitting, which is not possible.</podcast:soundbite>
      <podcast:soundbite startTime="146.18" duration="51.82">Can you describe a bit about what the Pyre project is and some of the story behind either how it got started, if you are familiar with that history or at least your introduction to it and why you wanted to spend your time and energy on this particular area. The first part, you know, is like, what is Pyre? It's, I guess, simply type checker for Python, and we originally started building this back in 2017. And some of the initial motivation there was to solve the type checking needs for Instagram, which is a huge Python code base. And they were 1 of the very first early adopters for Python annotations when they were kind of introduced to the language in PEP 484. And the codebase is growing really fast, and we really needed faster type checking results to keep that development experience reasonable.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:45</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Catching Up With Pyre, A Fast Type Checker For Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>378</itunes:episode>
      <podcast:episode>378</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253212137252476736a41d-4ecc-4b97-990e-eb5e78c96a7cv1.mp3" length="38189908" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253212137252476736a41d-4ecc-4b97-990e-eb5e78c96a7cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_6736a41d-4ecc-4b97-990e-eb5e78c96a7c638558843141286977.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6736a41d-4ecc-4b97-990e-eb5e78c96a7c638558843138572608.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6736a41d-4ecc-4b97-990e-eb5e78c96a7c638558843136630073.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Standardizing On Python For All Software Projects At Ascend.io</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Every software project is subject to a series of decisions and tradeoffs. One of the first decisions to make is which programming language to use. For companies where their product is software, this is a decision that can have significant impact on their overall success. In this episode Sean Knapp discusses the languages that his team at Ascend use for building a service that powers complex and business critical data workflows. He also explains his motivation to standardize on Python for all layers of their system to improve developer productivity.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Sean Knapp about his motivations and experiences standardizing on Python for development at Ascend</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Ascend is and the story behind it?</li>
<li>How many engineers work at Ascend?
<ul>
<li>What are their different areas of focus?</li>
</ul>
</li>
<li>What are your policies for selecting which technologies (e.g. languages, frameworks, dev tooling, deployment, etc.) are supported at Ascend?
<ul>
<li>What does it mean for a technology to be supported?</li>
</ul>
</li>
<li>You recently started standardizing on Python as the default language for development. How has Python been used up to now?
<ul>
<li>What other languages are in common use at Ascend?</li>
<li>What are some of the challenges/difficulties that motivated you to establish this policy?</li>
</ul>
</li>
<li>What are some of the tradeoffs that you have seen in the adoption of Python in place of your other adopted languages?
<ul>
<li>How are you managing ongoing maintenance of projects/products that are not written in Python?</li>
</ul>
</li>
<li>What are some of the potential pitfalls/risks that you are guarding against in your investment in Python?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Python used where it was previously a different technology?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on aligning all of your development on a single language?</li>
<li>When is Python the wrong choice?</li>
<li>What do you have planned for the future of engineering practices at Ascend?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/seanknapp/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/seanknapp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@seanknapp</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.delverlab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Delver Lens</a> app for scanning <a href="https://magic.wizards.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magic: The Gathering</a> cards</li>
</ul>
</li>
<li>Sean
<ul>
<li><a href="https://typer.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typer</a></li>
<li><a href="https://duckdb.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DuckDB</a></li>
<li><a href="https://amzn.to/3qAacCe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amp It Up</a> book (affiliate link)</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.ascend.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ascend</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/ascend-data-automation-episode-320/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://en.wikipedia.org/wiki/Sawzall_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Sawzall</a></li>
<li><a href="https://en.wikipedia.org/wiki/Technical_debt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Technical Debt</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://grpc.io/about/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gRPC</a></li>
<li><a href="https://golang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Go Language</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://spark.apache.org/docs/latest/api/python/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PySpark</a></li>
<li><a href="https://arrow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Arrow</a></li>
<li><a href="https://thrift.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thrift</a></li>
<li><a href="https://en.wikipedia.org/wiki/SQL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQL</a></li>
<li><a href="https://www.scala-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scala</a></li>
<li><a href="https://www.snowflake.com/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowflake</a> runtime for Python <a href="https://docs.snowflake.com/en/developer-guide/snowpark/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowpark</a></li>
<li><a href="https://typer.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typer</a> CLI framework</li>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pydantic</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pydantic-data-validation-episode-263/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.pulumi.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pulumi</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pulumi-infrastructure-as-code-episode-261/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pyinfra.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyInfra</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pyinfra-configuration-management-episode-270/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.packer.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Packer</a></li>
<li><a href="https://plotly.com/dash/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plot.ly Dash</a></li>
<li><a href="https://duckdb.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DuckDB</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fascend-python-standardization-episode-377%2F&amp;action_name=Standardizing+On+Python+For+All+Software+Projects+At+Ascend.io+-+Episode+377&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-09-13t01:23:48+00:00-28ba815b4d39222</guid>
      <link>https://www.pythonpodcast.com/ascend-python-standardization-episode-377</link>
      <pubDate>Tue, 13 Sep 2022 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="184.55" duration="16.78">So now you've come full circle back and you're running your own business, and you mentioned a little bit about what Ascend is. I'm wondering if you can dig a bit more into the types of work that you're doing and some of the story behind how you ended up focusing on this problem area and dedicating so much of your time and energy to it.</podcast:soundbite>
      <podcast:soundbite startTime="645.89" duration="17.15">And so as you were first getting started with Ascend, what were the set of languages, technologies, frameworks that you decided you wanted to focus on, and what are some of the ways that maybe that started to kind of splinter or grow as you grew the company?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:26</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Standardizing On Python For All Software Projects At Ascend.io</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>377</itunes:episode>
      <podcast:episode>377</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316158645446c666b8d1-4385-4171-9a8e-b4beed199c24v1.mp3" length="34589622" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316158645446c666b8d1-4385-4171-9a8e-b4beed199c24v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c666b8d1-4385-4171-9a8e-b4beed199c24638558831354311139.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c666b8d1-4385-4171-9a8e-b4beed199c24638558831348614500.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c666b8d1-4385-4171-9a8e-b4beed199c24638558831346487723.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Exploring The Process And Practice Of Building Better Software Through Code Reviews</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Writing code is only one piece of creating good software. Code reviews are an important step in the process of building applications that are maintainable and sustainable. In this episode On Freund shares his thoughts on the myriad purposes that code reviews serve, as well as exploring some of the patterns and anti-patterns that grow up around a seemingly simple process.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing On Freund about the intricacies and importance of code reviews</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving us your description of what a code review is?
<ul>
<li>What is the purpose of the code review?</li>
</ul>
</li>
<li>At face value a code review appears to be a simple task. What are some of the subtleties that become evident with time and experience?</li>
<li>What are some of the ways that code reviews can go wrong?</li>
<li>What are some common anti-patterns that get applied to code reviews?</li>
<li>What are the elements of code review that are useful to automate?
<ul>
<li>What are some of the risks/bad habits that can result from overdoing automated checks/fixes or over-reliance on those tools in code reviews?</li>
</ul>
</li>
<li>identifying who can/should do a review for a piece of code</li>
<li>how to use code reviews as a teaching tool for new/junior engineers</li>
<li>how to use code reviews for avoiding siloed experience/promoting cross-training</li>
<li>PR templates for capturing relevant context</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen code reviews used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while leading and supporting engineering teams?</li>
<li>What are some resources that you recommend for anyone who wants to learn more about code review strategies and how to use them to scale their teams?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/onfreund/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/onfreund?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@onfreund</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.goodreads.com/book/show/28110852-the-girl-who-drank-the-moon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Girl Who Drank The Moon</a></li>
</ul>
</li>
<li>On
<ul>
<li><a href="https://www.imdb.com/title/tt3032476/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Better Call Saul</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.trywilco.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wilco</a></li>
<li><a href="https://en.wikipedia.org/wiki/Code_review?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code Review</a></li>
<li><a href="https://www.home-assistant.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Assistant</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-94-home-assistant-with-paulus-schoutsen/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://trunkbaseddevelopment.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trunk-based Development</a></li>
<li><a href="https://trunkbaseddevelopment.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git Flow</a></li>
<li><a href="https://nvie.com/posts/a-successful-git-branching-model/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pair Programming</a></li>
<li><a href="https://martinfowler.com/articles/feature-toggles.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feature Flags</a>
<ul>
<li><a href="https://www.pythonpodcast.com/feature-flags-episode-239/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Performance_indicator?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KPI == Key Performance Indicator</a></li>
<li><a href="https://mitodl.github.io/handbook/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT Open Learning Engineering Handbook</a></li>
<li><a href="https://github.com/python/peps?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP Repository</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcode-review-for-better-software-episode-376%2F&amp;action_name=Exploring+The+Process+And+Practice+Of+Building+Better+Software+Through+Code+Reviews+-+Episode+376&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-09-04t17:34:20+00:00-eedac54b3569dd7</guid>
      <link>https://www.pythonpodcast.com/code-review-for-better-software-episode-376</link>
      <pubDate>Mon, 5 Sep 2022 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2360.15" duration="61.11">So I think a team has a few unfair advantages over an open source project, specifically when it comes to code reviews. I'm not slamming open source projects. I'm a contributor to a lot of them. I love the concept and the idea, but, specifically, when it comes to code reviews, teams have some great advantages. First of all, the team is curated. Right? Everyone, like I said earlier, everyone has gone through some process to be included on that team. And that process usually determines 2 things. 1, the technical ability of that person to work on this project, and 2, the social ability or cultural ability of this person to work on this project. You know, it's not as if people are objectively good or bad or objectively tests this, whether it's an internal 1, whether it's an external 1, it doesn't tests this, whether it's an internal 1, whether it's an external 1, it doesn't matter.</podcast:soundbite>
      <podcast:soundbite startTime="89.04" duration="33.74">And do you remember how you first got introduced to Python? I'll start by adding a disclaimer. I'm in no way a Python expert, not even close. It's probably not 1 of the top 2 languages in my arsenal, but I do love it. I think it's a great language. Got exposed to it many times throughout my career, but I seriously started using it when I was contributing to an open source project that was using Python. It's a project called Home Assistant for home automation. The entire system is in Python, so that kind of forced me to really get into the language.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:24</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Exploring The Process And Practice Of Building Better Software Through Code Reviews</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>376</itunes:episode>
      <podcast:episode>376</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300391952298672bc6db-db9d-429a-a267-37bddbe81939v1.mp3" length="45097768" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300391952298672bc6db-db9d-429a-a267-37bddbe81939v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_672bc6db-db9d-429a-a267-37bddbe81939638558799135666915.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/672bc6db-db9d-429a-a267-37bddbe81939638558799131451741.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/672bc6db-db9d-429a-a267-37bddbe81939638558799129336968.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Ship With Confidence By Automating Quality Assurance</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Quality assurance in the software industry has become a shared responsibility in most organizations. Given the rapid pace of development and delivery it can be challenging to ensure that your application is still working the way it&#8217;s supposed to with each release. In this episode Jonathon Wright discusses the role of quality assurance in modern software teams and how automation can help.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jonathon Wright about the role of automation in your testing and QA strategies</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you share your relationship with software testing/QA and automation?</li>
<li>What are the main categories of how companies and software teams address testing and validation of their applications?
<ul>
<li>What are some of the notable tradeoffs/challenges among those approaches?</li>
</ul>
</li>
<li>With the increased adoption of agile practices and the &quot;shift left&quot; mentality of DevOps, who is responsible for software quality?
<ul>
<li>What are some of the cases where a discrete QA role or team becomes necessary? (or is it always necessary?)</li>
</ul>
</li>
<li>With testing and validation being a shared responsibility, competing with other priorities, what role does automation play?
<ul>
<li>What are some of the ways that automation manifests in software quality and testing?</li>
<li>How is automation distinct from software tests and CI/CD?</li>
</ul>
</li>
<li>For teams who are investing in automation for their applications, what are the questions they should be asking to identify what solutions to adopt? (what are the decision points in the build vs. buy equation?)</li>
<li>At what stage(s) of the software lifecycle does automation live?</li>
<li>What is the process for identifying which capabilities and interactions to target during the initial application of automation for QA and validation?</li>
<li>One of the perennial challenges with any software testing, particularly for anything in the UI, is that it is a constantly moving target. What are some of the patterns and techniques, both from a developer and tooling perspective, that increase the robustness of automated validation?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen automation used for QA?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on QA and automation?</li>
<li>When is automation the wrong choice?</li>
<li>What are some of the resources that you recommend for anyone who wants to learn more about this topic?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/automation/?originalSubdomain=uk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/Jonathon_Wright?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Jonathon_Wright</a> on Twitter</li>
<li><a href="https://www.jonathon-wright.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li>The Sandman <a href="https://www.netflix.com/title/81150303?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netflix series</a> and <a href="https://www.neilgaiman.com/works/Comics/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphic Novels</a> by <a href="https://www.neilgaiman.com/About_Neil?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neil Gaimain</a></li>
</ul>
</li>
<li>Jonathon
<ul>
<li><a href="https://www.hbo.com/house-of-the-dragon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">House of the Dragon</a> HBO series</li>
<li><a href="https://www.imdb.com/title/tt8879940/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mystic Quest</a> TV series</li>
<li><a href="https://www.imdb.com/title/tt0472954/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">It&#8217;s Always Sunny in Philadelphia</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.haskell.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Haskell</a></li>
<li><a href="https://www.idris-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Idris</a></li>
<li><a href="https://en.wikipedia.org/wiki/Esperanto?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Esperanto</a></li>
<li><a href="https://en.wikipedia.org/wiki/Klingon_language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Klingon</a></li>
<li><a href="https://www.gilb.com/competitive-engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Planguage</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp Language</a></li>
<li><a href="https://en.wikipedia.org/wiki/Test-driven_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TDD == Test Driven Development</a></li>
<li><a href="https://en.wikipedia.org/wiki/Behavior-driven_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BDD == Behavior Driven Development</a></li>
<li><a href="https://cucumber.io/docs/gherkin/reference/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gherkin Format</a></li>
<li><a href="https://en.wikipedia.org/wiki/Integration_testing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Integration Testing</a></li>
<li><a href="https://principlesofchaos.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Engineering</a></li>
<li><a href="https://www.gremlin.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gremlin</a></li>
<li><a href="https://chaostoolkit.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Toolkit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/chaos-toolkit-chaos-engineering-episode-199/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Requirements_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Requirements Engineering</a></li>
<li><a href="https://www.keysight.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keysight</a></li>
<li><a href="https://theqalead.com/podcasts/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QA Lead Podcast</a></li>
<li><a href="https://www.youtube.com/watch?v=_hnxJEqq_6k&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cognitive Learning TED Talk</a></li>
<li><a href="https://opentelemetry.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenTelemetry</a>
<ul>
<li><a href="https://www.pythonpodcast.com/opentelemetry-observability-episode-268/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Quality_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quality Engineering</a></li>
<li><a href="https://www.selenium.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium</a></li>
<li><a href="https://swagger.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swagger</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/XPath?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XPath</a></li>
<li><a href="https://en.wikipedia.org/wiki/Regular_expression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Regular Expression</a></li>
<li><a href="https://testguild.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Test Guild</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fkeysight-quality-assurance-automation-episode-375%2F&amp;action_name=Ship+With+Confidence+By+Automating+Quality+Assurance+-+Episode+375&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-08-28t19:53:41+00:00-a614aa6dabbe4f9</guid>
      <link>https://www.pythonpodcast.com/keysight-quality-assurance-automation-episode-375</link>
      <pubDate>Sun, 28 Aug 2022 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2664.98" duration="39.49">Yeah. Well, you've just gotta think about it in the same way that you would apply ML with your own projects. Right? They've gotta be explainable AI. Right? You know, you need to be understand the use case because they're very narrow as we know within the landscape. And something very simple like self healing, a domain object model reference of an x path or a regular expression has been around for years. So, you know, what's revolutional about, you know, what's coming out at the moment? Of course, computer vision helps. You know, computer vision, you know, 1 of my guys called this morning, did a bit of a demo with meta, you know, where we're identifying things in that environment. So, yeah, there's a door over there or something's happening over here. Yeah. That's pretty simple.</podcast:soundbite>
      <podcast:soundbite startTime="63.71" duration="17.55">So, Jonathan, can you start by introducing yourself? Well, it's a pleasure to be here. Yes. I'm Jonathan Wright based out in Oxford in the UK. I've been in the automation landscape for the last 4 decades. Sometimes referred to as the automation cyborg sent back in time to save the world from bad software.</podcast:soundbite>
      <podcast:soundbite startTime="606.24" duration="39.95">You know? And then, you know, that brings you into integration tests where now you have to test all the way through and figuring out what are the happy paths and, you know, when is good enough good enough, you know, to to your point of code coverage or kind of chaos engineering. Another interesting aspect of the overall question of kind of testing and quality assurance is who is responsible for it, where early in the, you know, life cycle of software engineering as a discipline, it was very common for you to have kind of the waterfall approach of, you know, design, build, test, release. And the testing part was usually its own department where the software engineers would write the code, and then they would hand it off to the QA department and say, good luck. Go see if it breaks.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:09:05</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Ship With Confidence By Automating Quality Assurance</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>375</itunes:episode>
      <podcast:episode>375</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304208245843b13edb1e-c389-4902-8b5a-59242ca5c1d1v1.mp3" length="60879967" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304208245843b13edb1e-c389-4902-8b5a-59242ca5c1d1v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b13edb1e-c389-4902-8b5a-59242ca5c1d1638558808006875195.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b13edb1e-c389-4902-8b5a-59242ca5c1d1638558808002676079.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b13edb1e-c389-4902-8b5a-59242ca5c1d1638558808000515094.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Remove Roadblocks And Let Your Developers Ship Faster With Self-Serve Infrastructure</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The goal of every software team is to get their code into production without breaking anything. This requires establishing a repeatable process that doesn&#8217;t introduce unnecessary roadblocks and friction. In this episode Ronak Rahman discusses the challenges that development teams encounter when trying to build and maintain velocity in their work, the role that access to infrastructure plays in that process, and how to build automation and guardrails for everyone to take part in the delivery process.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ronak Rahman about how automating the path to production helps to build and maintain development velocity</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Quali is and the story behind it?</li>
<li>What are the problems that you are trying to solve for software teams?
<ul>
<li>How does Quali help to address those challenges?</li>
</ul>
</li>
<li>What are the bad habits that engineers fall into when they experience friction with getting their code into test and production environments?
<ul>
<li>How do those habits contribute to negative feedback loops?</li>
</ul>
</li>
<li>What are signs that developers and managers need to watch for that signal the need for investment in developer experience improvements on the path to production?</li>
<li>Can you describe what you have built at Quali and how it is implemented?
<ul>
<li>How have the design and goals shifted/evolved from when you first started working on it?</li>
</ul>
</li>
<li>What are the positive and negative impacts that you have seen from the evolving set of options for application deployments? (e.g. K8s, containers, VMs, PaaS, FaaS, etc.)</li>
<li>Can you describe how Quali fits into the workflow of software teams?</li>
<li>Once a team has established patterns for deploying their software, what are some of the disruptions to their flow that they should guard against?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Quali used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Quali?</li>
<li>When is Quali the wrong choice?</li>
<li>What do you have planned for the future of Quali?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://twitter.com/ofronak?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@OfRonak</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt11743610/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Terminal List</a> on Amazon</li>
</ul>
</li>
<li>Ronak
<ul>
<li><a href="https://www.netflix.com/title/80987903?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Midnight Gospel</a> on Amazon</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.quali.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quali</a>
<ul>
<li><a href="https://www.qtorque.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Torque</a></li>
<li><a href="https://marketplace.visualstudio.com/items?itemName=Quali-Torque.torque-language-extension&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Studio Plugin</a></li>
</ul>
</li>
<li><a href="https://subversion.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Subversion</a></li>
<li><a href="https://en.wikipedia.org/wiki/Infrastructure_as_code?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IaC == Infrastructure as Code</a></li>
<li><a href="https://en.wikipedia.org/wiki/DevOps?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DevOps</a></li>
<li><a href="https://www.terraform.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Terraform</a></li>
<li><a href="https://www.pulumi.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pulumi</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pulumi-infrastructure-as-code-episode-261/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://aws.amazon.com/cloudformation/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloudformation</a></li>
<li><a href="https://flask.palletsprojects.com/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fquali-self-serve-infrastructure-episode-374%2F&amp;action_name=Remove+Roadblocks+And+Let+Your+Developers+Ship+Faster+With+Self-Serve+Infrastructure+-+Episode+374&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-08-14t10:30:56+00:00-c2be45765f825ba</guid>
      <link>https://www.pythonpodcast.com/quali-self-serve-infrastructure-episode-374</link>
      <pubDate>Sun, 14 Aug 2022 10:00:00 +0000</pubDate>
      <podcast:soundbite startTime="831.28" duration="34.58">I remember running cables in a raised coal room. We had our servers that were mostly idle. And so now we had hypervisors that provided the compute and storage in a way that I could now make my machines not be idle, and I'm getting more out of it. And then Cloud took that on steroids. If I am now making my development teams and consumers of infrastructure hoard and, you know, over spec and provision out too early by infrastructure feels like a step backwards, you know, to me.</podcast:soundbite>
      <podcast:soundbite startTime="1138.34" duration="35.19">I think we can all agree, I believe, like, I don't think anybody loves process, you know, necessarily, but process was put in place for a good reason. Right? Downstream effects of work around culture will subvert those processes and risk delivering on all those reasons the processes were put in place in the first place. And now we're going to go from a place where processes help keep things in the rails and safe and predictable, but now we're gonna be managing by crisis. Kinda wanna go down that way.</podcast:soundbite>
      <podcast:soundbite startTime="2460.09" duration="28.91">I think the first step, you know, I wish we could and I'm sure we'll evolve to even do more, but that subject is a very interesting 1. You know, what we're doing is we're trying to speed up velocity by as mentioned, we automate the release of the infrastructure stack. Great. I think the key method and I saw this when I was started working with Torq myself. 1 of the things that helped me evolve and get my production system, and I'll describe that production system that I started with here in a second.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:01:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Remove Roadblocks And Let Your Developers Ship Faster With Self-Serve Infrastructure</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>374</itunes:episode>
      <podcast:episode>374</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321530647688ba97d72d-02ea-4351-bb1d-eebb87b6222ev1.mp3" length="46706756" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321530647688ba97d72d-02ea-4351-bb1d-eebb87b6222ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ba97d72d-02ea-4351-bb1d-eebb87b6222e638558844519043144.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ba97d72d-02ea-4351-bb1d-eebb87b6222e638558844516062560.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ba97d72d-02ea-4351-bb1d-eebb87b6222e638558844513964675.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Benefits Of Python And Django For Going From Zero To MVP At Speed</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Every startup begins with an idea, but that won&#8217;t get you very far without testing the feasibility of that idea. A common practice is to build a Minimum Viable Product (MVP) that addresses the problem that you are trying to solve and working with early customers as they engage with that MVP. In this episode Tony Pavlovych shares his thoughts on Python&#8217;s strengths when building and launching that MVP and some of the potential pitfalls that businesses can run into on that path.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tony Pavlovych about Python&#8217;s strengths for startups and the steps to building an MVP (minimum viable product)</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what PLANEKS is and the story behind it?</li>
<li>One of the services that you offer is building an MVP. What are the goals and outcomes associated with an MVP?
<ul>
<li>What is the process for identifying the product focus and feature scope?</li>
</ul>
</li>
<li>What are some of the common misconceptions about building and launching MVPs that you have dealt with in your work with customers?
<ul>
<li>What are the common pitfalls that companies encounter when building and validating an MVP?</li>
</ul>
</li>
<li>Can you describe the set of tools and frameworks (e.g. Django, Poetry, cookiecutter, etc.) that you have invested in to reduce the overhead of starting and maintaining velocity on multiple projects?
<ul>
<li>What are the configurations that are most critical to keep constant across projects to maintain familiarity and sanity for your developers? (e.g. linting rules, build toolchains, etc.)</li>
</ul>
</li>
<li>What are the architectural patterns that you have found most useful to make MVPs flexible for adaptation and extension?</li>
<li>Once the MVP is built and launched, what are the next steps to validate the product and determine priorities?</li>
<li>What benefits do you get from choosing Python as your language for building an MVP/launching a startup?
<ul>
<li>What are the challenges/risks involved in that choice?</li>
</ul>
</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on MVPs for your clients at PLANEKS?</li>
<li>When is an MVP the wrong choice?</li>
<li>What are the developments in the Python and broader software ecosystem that you are most interested in for the work you are doing for your team and clients?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/tonypavlovych/?originalSubdomain=ua&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/koxudaxi/datamodel-code-generator?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">datamodel-code-generator</a></li>
</ul>
</li>
<li>Tony
<ul>
<li><a href="https://amzn.to/3cMuXXy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Screw It, Let&#8217;s Do It</a> by Richard Branson (affiliate link)</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.planeks.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PLANEKS</a></li>
<li><a href="https://en.wikipedia.org/wiki/Minimum_viable_product?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Minimum Viable Product</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://cookiecutter.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cookiecutter</a></li>
<li><a href="https://github.com/rg3915/django-boilerplate?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Boilerplate</a></li>
<li><a href="https://en.wikipedia.org/wiki/Optical_character_recognition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OCR == Optical Character Recognition</a></li>
<li><a href="https://github.com/madmaze/pytesseract?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tesseract</a> OCR framework</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fplaneks-python-mvp-development-episode-373%2F&amp;action_name=The+Benefits+Of+Python+And+Django+For+Going+From+Zero+To+MVP+At+Speed+-+Episode+373&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-07-31t23:04:53+00:00-d9fafee6eaccf11</guid>
      <link>https://www.pythonpodcast.com/planeks-python-mvp-development-episode-373</link>
      <pubDate>Sun, 31 Jul 2022 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="777.69" duration="18.45">So a big difference is the audience and a bit time of the implementation of these stages. And at the same time, you should remember that MVP is already the first version of your product because prototype and proof of concept, these are preparational stuff. This is something for mostly internal use.</podcast:soundbite>
      <podcast:soundbite startTime="2258.19" duration="21.33">So MVP is still the first minimum version of your product. It's minimum but viable. Don't go, really further with that. Don't try to build the entire product with the MVP approach because building products will require even more dedication from you. Nevertheless, MVP will still be complicated and challenging.</podcast:soundbite>
      <podcast:soundbite startTime="490.24" duration="35.50">So MVP helps you to spend not too much effort and not too much of your time, not so many time, not too many resources on something, but still get the feedback and get information, get insights to build this product well and to adjust it to your customer needs. So it will help you to collect maximum feedback from your potential customer. That's what it's made for. It helps you to analyze the market demand, for example, to proof your idea. That's the basics.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:06</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Benefits Of Python And Django For Going From Zero To MVP At Speed</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>373</itunes:episode>
      <podcast:episode>373</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322079513624c61dbab3-03ff-4a6b-a133-f637c4a4f5c0v1.mp3" length="32579969" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322079513624c61dbab3-03ff-4a6b-a133-f637c4a4f5c0v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c61dbab3-03ff-4a6b-a133-f637c4a4f5c0638558846906089910.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c61dbab3-03ff-4a6b-a133-f637c4a4f5c0638558846903063101.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c61dbab3-03ff-4a6b-a133-f637c4a4f5c0638558846900984040.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Powering The Next Generation Of Application Architectures With Web Assembly And The Fermyon Platform</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Application architectures have been in a constant state of evolution as new infrastructure capabilities are introduced. Virtualization, cloud, containers, mobile, and now web assembly have each introduced new options for how to build and deploy software. Recognizing the transformative potential of web assembly, Matt Butcher and his team at Fermyon are investing in tooling and services to improve the developer experience. In this episode he explains the opportunity that web assembly offers to all language communities, what they are building to power lightweight server-side microservices, and how Python developers can get started building and contributing to this nascent ecosystem.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to <a href="https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dataengineeringpodcast.com/shipyard</a> to get started automating with a free developer plan today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Matt Butcher about Fermyon and the impact of WebAssembly on software architecture and deployment across language boundaries</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For anyone who isn&#8217;t familiar with WebAssembly can you give your elevator pitch for why it matters?</li>
<li>What is the current state of language support for Python in the WASM ecosystem?</li>
<li>Can you describe what Fermyon is and the story behind it?</li>
<li>What are your goals with Fermyon and what are the products that you are building to support those goals?</li>
<li>There has been a steady progression of technologies aimed at better ways to build, deploy, and manage software (e.g. virtualization, cloud, containers, etc.). What are the problems with the previous options and how does WASM address them?</li>
<li>What are some examples of the types of applications/services that work well in a WASM environment?</li>
<li>Can you describe how you have architected the Fermyon platform?
<ul>
<li>How did you approach the design of the interfaces and tooling to support developer ergonomics?</li>
<li>How have the design and goals of the platform changed or evolved since you started working on it?</li>
</ul>
</li>
<li>Can you describe what a typical workflow is for an application team that is using Spin/Fermyon to build and deploy a service?</li>
<li>What are some of the architectural patterns that WASM/Fermyon encourage?</li>
<li>What are some of the limitations that WASM imposes on services using it as a runtime? (e.g. system access, threading/multiprocessing, library support, C extensions, etc.)</li>
<li>What are the new and emerging topics and capabilities in the WASM ecosystem that you are keeping track of?</li>
<li>With Spin as the core building block of your platform, how are you approaching governance and sustainability of the open source project?
<ul>
<li>What are your guiding principles for when a capability belongs in the OSS vs. commercial offerings?</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Fermyon used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Fermyon?</li>
<li>When is Fermyon the wrong choice?</li>
<li>What do you have planned for the future of Fermyon?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/mattbutcher/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/technosophos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@technosophos</a> on Twitter</li>
<li><a href="https://github.com/technosophos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">technosophos</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.marvel.com/movies/thor-love-and-thunder?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thor: Love &amp; Thunder</a> movie</li>
</ul>
</li>
<li>Matt
<ul>
<li><a href="https://www.goodreads.com/book/show/34569357-remembrance-of-earth-s-past?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Remembrance of Earth&#8217;s Past</a> trilogy (&quot;Three Body Problem&quot; is the first) by Cixin Liu</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://fermyon.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fermyon</a></li>
<li>Our <a href="https://www.fermyon.com/wasm-languages/python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python entry</a> for the <a href="https://www.fermyon.com/wasm-languages/webassembly-language-support?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wasm Language Matrix</a></li>
<li><a href="https://github.com/singlestore-labs/python-wasi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SingleStore&#8217;s WASI-Python</a></li>
<li>Great notes about <a href="https://pythondev.readthedocs.io/wasm.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wasm support in CPyton</a></li>
<li><a href="https://pyodide.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyodide</a> for Python in the Browser</li>
<li><a href="https://slashdot.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SlashDot</a></li>
<li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web Assembly (WASM)</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://www.assemblyscript.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AssemblyScript</a></li>
<li><a href="https://grain-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grain</a> WASM language</li>
<li><a href="https://www.singlestore.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SingleStore</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/a-multipurpose-database-for-transactions-and-analytics-to-simplify-your-data-architecture-with-singlestore/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://wasi.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WASI</a></li>
<li><a href="https://github.com/PyO3/pyo3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyO3</a></li>
<li><a href="https://pyoxidizer.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOxidizer</a></li>
<li><a href="https://rustpython.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RustPython</a></li>
<li><a href="https://www.drupal.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Drupal</a></li>
<li><a href="https://www.openstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack</a></li>
<li><a href="https://deislabs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deis</a></li>
<li><a href="https://helm.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Helm</a></li>
<li><a href="https://redpanda.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedPanda</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/vectorized-red-panda-streaming-data-episode-152/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.envoyproxy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Envoy Proxy</a></li>
<li><a href="https://www.fastly.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fastly</a></li>
<li><a href="https://en.wikipedia.org/wiki/Function_as_a_service?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Functions as a Service</a></li>
<li><a href="https://cloudevents.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CloudEvents</a></li>
<li><a href="https://www.finickywhiskers.com/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Finicky Whiskers</a></li>
<li><a href="https://github.com/fermyon/spin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fermyon Spin</a></li>
<li><a href="https://www.nomadproject.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nomad</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tree_shaking?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tree Shaking</a></li>
<li><a href="https://github.com/zappa/Zappa?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zappa</a></li>
<li><a href="https://github.com/aws/chalice?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chalice</a></li>
<li><a href="https://www.openfaas.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenFaaS</a></li>
<li><a href="https://www.cncf.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CNCF</a></li>
<li><a href="https://bytecodealliance.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bytecode Alliance</a></li>
<li><a href="https://www.fermyon.com/blog/hashiconf-eu-spin-nomad-2022?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Finicky Whiskers Minecraft</a></li>
<li><a href="https://kotlinlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kotlin</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ffermyon-web-assembly-application-architecture-episode-372%2F&amp;action_name=Powering+The+Next+Generation+Of+Application+Architectures+With+Web+Assembly+And+The+Fermyon+Platform+-+Episode+372&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-07-24t18:49:48+00:00-466027a0ae50499</guid>
      <link>https://www.pythonpodcast.com/fermyon-web-assembly-application-architecture-episode-372</link>
      <pubDate>Mon, 25 Jul 2022 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="303.99" duration="33.37">I think it was probably around this time of year in 2015, kinda late summer, that the Mozilla blog announced WebAssembly as a kind of group effort to build a runtime for the browser and a byte code format for the browser that would allow a variety of languages to be compiled to this bytecode format and then executed in the browser. So in a way, you know, kind of the original vision behind WebAssembly was to to allow developers to use a language other than JavaScript and pick a language that made the most sense for the problem they were trying to solve.</podcast:soundbite>
      <podcast:soundbite startTime="1871.73" duration="33.40">So Fermion is building a couple of big things. The first is tooling for developers. The second is a host runtime where applications can be executed. So step 1 for us, you know, for any good technology, particularly a developer oriented technology, if you can't tell a really compelling developer story, nobody's gonna use it. Right? I think the Docker really underscored this very well because Docker understood that in order to get developers to use it, they needed a very simple way of executing things things in containers, and they built a Dockerfile, and they built a really easy to use Docker CLI.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:10:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Powering The Next Generation Of Application Architectures With Web Assembly And The Fermyon Platform</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>372</itunes:episode>
      <podcast:episode>372</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315746683654f98fa3b2-2ae0-4137-ad88-ac4d4d6f0ce4v1.mp3" length="57184308" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315746683654f98fa3b2-2ae0-4137-ad88-ac4d4d6f0ce4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f98fa3b2-2ae0-4137-ad88-ac4d4d6f0ce4638558829971038595.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f98fa3b2-2ae0-4137-ad88-ac4d4d6f0ce4638558829966209547.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f98fa3b2-2ae0-4137-ad88-ac4d4d6f0ce4638558829964266738.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Gain A Deeper Understanding Of What Your Code Is Doing And Where It Spends Its Time With VizTracer</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>As your code scales beyond a trivial level of complexity and sophistication it becomes difficult or impossible to know everything that it is doing. The flow of logic and data through your software and which parts are taking the most time are impossible to understand without help from your tools. VizTracer is the tool that you will turn to when you need to know all of the execution paths that are being exercised and which of those paths are the most expensive. In this episode Tian Gao explains why he created VizTracer and how you can use it to gain a deeper familiarity with the code that you are responsible for maintaining.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to <a href="https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dataengineeringpodcast.com/shipyard</a> to get started automating with a free developer plan today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tian Gao about VizTracer, a low-overhead logging/debugging/profiling tool that can trace and visualize your python code execution</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what VizTracer is and the story behind it?</li>
<li>What are the main goals that you are focused on with VizTracer?</li>
<li>What are some examples of the types of bugs that profiling can help diagnose?
<ul>
<li>How does profiling work together with other debugging approaches? (e.g. logging, breakpoint debugging, etc.)</li>
</ul>
</li>
<li>There are a number of profiling utilities for Python. What feature or combination of features were missing that motivated you to create VizTracer?</li>
<li>Can you describe how VizTracer is implemented?
<ul>
<li>How have the design and goals changed since you started working on it?</li>
<li>There are a number of styles of profiling, what was your process for deciding which approach to use?</li>
</ul>
</li>
<li>What are the most complex engineering tasks involved in building a profiling utility?</li>
<li>Can you describe the process of using VizTracer to identify and debug errors and performance issues in a project?</li>
<li>What are the options for using VizTracer in a production environment?</li>
<li>What are the interfaces and extension points that you have built in to allow developers to customize VizTracer?</li>
<li>What are some of the ways that you have used VizTracer while working on VizTracer?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen VizTracer used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on VizTracer?</li>
<li>When is VizTracer the wrong choice?</li>
<li>What do you have planned for the future of VizTracer?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/gaogaotiantian?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gaogaotiantian</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/tian-gao-34bb6326/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt5651844/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Travelers</a> show on Netflix</li>
</ul>
</li>
<li>Tian
<ul>
<li><a href="https://github.com/gaogaotiantian/objprint?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">objprint</a></li>
<li><a href="https://www.netflix.com/title/81303831?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lincoln Lawyer</a></li>
<li><a href="https://space.bilibili.com/245645656/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">bilibili</a> &#8211; Tian&#8217;s coding sessions in Chinese</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://viztracer.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Viztracer</a></li>
<li><a href="https://docs.python.org/3/library/profile.html#module-cProfile?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python cProfile</a></li>
<li><a href="https://en.wikipedia.org/wiki/Profiling_(computer_programming)#Statistical_profilers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sampling Profiler</a></li>
<li><a href="https://perfetto.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perfetto</a></li>
<li><a href="https://coverage.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coverage.py</a>
<ul>
<li><a href="https://www.pythonpodcast.com/coverage-py-with-ned-batchelder-episode-121/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.python.org/3/library/sys.html#sys.setprofile?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python setxprofile hook</a></li>
<li><a href="https://en.wikipedia.org/wiki/Circular_buffer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Circular Buffer</a></li>
<li><a href="https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+/refs/heads/master/tracing/docs/getting-started.md?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Catapult Trace Viewer</a></li>
<li><a href="https://github.com/benfred/py-spy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">py-spy</a></li>
<li><a href="https://github.com/giampaolo/psutil?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">psutil</a></li>
<li><a href="https://www.sourceware.org/gdb/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gdb</a></li>
<li><a href="https://www.brendangregg.com/flamegraphs.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flame graph</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fviztracer-visual-python-profiling-episode-371%2F&amp;action_name=Gain+A+Deeper+Understanding+Of+What+Your+Code+Is+Doing+And+Where+It+Spends+Its+Time+With+VizTracer+-+Episode+371&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-07-17t23:41:19+00:00-bbf40252b9bfbae</guid>
      <link>https://www.pythonpodcast.com/viztracer-visual-python-profiling-episode-371</link>
      <pubDate>Sun, 17 Jul 2022 23:45:00 +0000</pubDate>
      <podcast:soundbite startTime="2267.46" duration="70.31">You note about the multithread, multiprocess visibility, something that we forgot to dig into. So I'm wondering if you can talk a bit more about some of the ways that you built in that capability to be able to actually manage the sub processes and the threads and how you think about presenting that information in the visualization about, you know, is it important to actually segment out which processes and which threads are calling which functions and how that factors into the overall execution flow and timing information. I always thought that multiprocessing and multithread support is the killing feature for VTracer. When people start developing multiprocessormultithread programs, it's very difficult for them to understand the synchronization. They can probably using other profilers to see, okay, which function takes the longest, but why? Sometimes processes are waiting for their subprocess to give their useful information, this time spent on IO, and you just don't know which piece is waiting and how much time it's waiting and which processes is waiting. A fundamental feature of vistracer is timeline.</podcast:soundbite>
      <podcast:soundbite startTime="146.83" duration="53.93">And in terms of the VizTracer project, can you talk a bit more about what it is that you've built and some of the story behind why you wanted to spend your time creating it and the problem that you're trying to solve? A lot of people use Tracer as a profiling tool, and I think it's more than that. So it can be used as a profiling, but I'm I'm thinking that it's more like a program execution visualization tool. So basically it visualizes how your program is executed. The idea behind this is actually from a product from my previous company that we had a really, really cool debugging tool for c and c plus plus which is much, much powerful than BeastTracer. And the good thing is that you can visualize your program, different process, different threads on the timeline, which is a tool that is missing in Python.</podcast:soundbite>
      <podcast:soundbite startTime="550.62" duration="73.94">And in terms of the overall debugging flow, you mentioned that things like this tracer and other profilers are generally focused on trying to understand what are the performance impacts on the overall runtime of my program, how do I figure out what to tune or what to optimize. And I'm wondering if you can talk to some of the ways that people will integrate profiling into their overall debugging process and how they approach the understanding of what their program is doing and figuring out where they should spend their effort on maintenance or improvements. I think that is actually the strength of this tracer because there is a timeline of this tracer. So you can see all the call facts, not the averaged or summarized 1. You can basically see function a called function b at this time, and then function b called function c and function returns and then function d is called. So you know your execution flow, how your program is executed, which function is executed, and when. But for the normal profilers, basically, you can only know that this function in this whole process has run for a minute or 2, and that is normally not super helpful for logic debugging.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:33</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Gain A Deeper Understanding Of What Your Code Is Doing And Where It Spends Its Time With VizTracer</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>371</itunes:episode>
      <podcast:episode>371</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322044203938a366a0ab-eae7-4fe5-a4e9-f5ceadb4bcb8v1.mp3" length="42482911" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322044203938a366a0ab-eae7-4fe5-a4e9-f5ceadb4bcb8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a366a0ab-eae7-4fe5-a4e9-f5ceadb4bcb8638558847064145753.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a366a0ab-eae7-4fe5-a4e9-f5ceadb4bcb8638558847061181138.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a366a0ab-eae7-4fe5-a4e9-f5ceadb4bcb8638558847059094239.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Stream Processing In Real Time And At Scale In Pure Python With Bytewax</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Analysis of streaming data in real time has long been the domain of big data frameworks, predominantly written in Java. In order to take advantage of those capabilities from Python requires using client libraries that suffer from impedance mis-matches that make the work harder than necessary. Bytewax is a new open source platform for writing stream processing applications in pure Python that don&#8217;t have to be translated into foreign idioms. In this episode Bytewax founder Zander Matheson explains how the system works and how to get started with it today.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>The biggest challenge with modern data systems is understanding what data you have, where it is located, and who is using it. Select Star&#8217;s data discovery platform solves that out of the box, with a fully automated catalog that includes lineage from where the data originated, all the way to which dashboards rely on it and who is viewing them every day. Just connect it to your dbt, Snowflake, Tableau, Looker, or whatever you&#8217;re using and Select Star will set everything up in just a few hours. Go to <a href="https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss">pythonpodcast.com/selectstar</a> today to double the length of your free trial and get a swag package when you convert to a paid plan.</li>
<li>Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to <a href="https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dataengineeringpodcast.com/shipyard</a> to get started automating with a free developer plan today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Zander Matheson about Bytewax, an open source Python framework for building highly scalable dataflows to process ANY data stream.</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Bytewax is and the story behind it?</li>
<li>Who are the target users for Bytewax?</li>
<li>What is the problem that you are trying to solve with Bytewax?</li>
<li>What are the alternative systems/architectures that you might replace with Bytewax?</li>
<li>Can you describe how Bytewax is implemented?
<ul>
<li>What are the benefits of Timely Dataflow as a core building block for a system like Bytewax?</li>
<li>How have the design and goals of the project changed/evolved since you first started working on it?</li>
</ul>
</li>
<li>What are the axes available for scaling Bytewax execution?</li>
<li>How have you approached the design of the Bytewax API to make it accessible to a broader audience?</li>
<li>Can you describe what is involved in building a project with Bytewax?
<ul>
<li>What are some of the stream processing concepts that engineers are likely to run up against as they are experimenting and designing their code?</li>
</ul>
</li>
<li>What is your motivation for providing the core technology of your business as an open source engine?
<ul>
<li>How are you approaching the balance of project governance and sustainability with opportunities for commercialization?</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Bytewax used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Bytewax?</li>
<li>When is Bytewax the wrong choice?</li>
<li>What do you have planned for the future of Bytewax?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://join.slack.com/t/bytewaxcommunity/shared_invite/zt-vkos2f6r-_SeT9pF2~n9ArOaeI3ND2w?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slack</a></li>
<li><a href="https://twitter.com/MathesonZander?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://www.linkedin.com/in/alexandermatheson/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.altaracks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alta Racks</a></li>
</ul>
</li>
<li>Zander
<ul>
<li><a href="https://www.athertonbikes.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Atherton Bikes</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.bytewax.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bytewax</a>
<ul>
<li><a href="https://github.com/bytewax/bytewax?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>
</li>
<li><a href="https://flink.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flink</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/apache-flink-with-fabian-hueske-episode-57/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark Streaming</a></li>
<li><a href="https://docs.confluent.io/platform/current/connect/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kafka Connect</a></li>
<li><a href="https://faust.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Faust</a>
<ul>
<li><a href="https://www.pythonpodcast.com/fast-stream-processing-in-python-using-faust-with-ask-solem-episode-176/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://ray.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/TimelyDataflow/timely-dataflow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Timely Dataflow</a></li>
<li><a href="https://github.com/PyO3/pyo3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyO3</a></li>
<li><a href="https://materialize.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Materialize</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/materialize-streaming-analytics-episode-112/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/HyperLogLog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HyperLogLog</a></li>
<li><a href="https://riverml.xyz/0.11.1/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python River Library</a></li>
<li><a href="https://www.omnicalculator.com/statistics/shannon-entropy#how-to-calculate-entropy-entropy-formula?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shannon Entropy Calculation</a></li>
<li><a href="https://www.bytewax.io/blog/cyberthreats/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The blog post using incremental shannon entropy</a></li>
<li><a href="https://nats.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NATS</a></li>
<li><a href="https://github.com/bytewax/bytewax/blob/main/docs/articles/deployment/waxctl.md?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">waxctl</a></li>
<li><a href="https://prometheus.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prometheus</a></li>
<li><a href="https://grafana.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grafana</a></li>
<li><a href="https://github.com/python-streamz/streamz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Streamz</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbytewax-python-stream-processing-episode-370%2F&amp;action_name=Stream+Processing+In+Real+Time+And+At+Scale+In+Pure+Python+With+Bytewax+-+Episode+370&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-07-10t22:53:47+00:00-c5d64eb7180224c</guid>
      <link>https://www.pythonpodcast.com/bytewax-python-stream-processing-episode-370</link>
      <pubDate>Sun, 10 Jul 2022 23:00:00 +0000</pubDate>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:32</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Stream Processing In Real Time And At Scale In Pure Python With Bytewax</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>370</itunes:episode>
      <podcast:episode>370</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253145885910569366e4f5-2ec5-4a3d-87ac-98a8556de64fv1.mp3" length="35097586" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253145885910569366e4f5-2ec5-4a3d-87ac-98a8556de64fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_9366e4f5-2ec5-4a3d-87ac-98a8556de64f638558825601435576.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/9366e4f5-2ec5-4a3d-87ac-98a8556de64f638558825598279184.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/9366e4f5-2ec5-4a3d-87ac-98a8556de64f638558825595151321.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Tetra: A Full Stack Web Framework That Doesn't Make You Write Everything Twice</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Building a fully functional web application has been growing in complexity along with the growing popularity of javascript UI frameworks such as React, Vue, Angular, etc. Users have grown to expect interactive experiences with dynamic page updates, which leads to duplicated business logic and complex API contracts between the server-side application and the Javascript front-end. To reduce the friction involved in writing and maintaining a full application Sam Willis created Tetra, a framework built on top of Django that embeds the Javascript logic into the Python context where it is used. In this episode he explains his design goals for the project, how it has helped him build applications more rapidly, and how you can start using it to build your own projects today.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>So now your modern data stack is set up. How is everyone going to find the data they need, and understand it? Select Star is a data discovery platform that automatically analyzes &amp; documents your data. For every table in Select Star, you can find out where the data originated, which dashboards are built on top of it, who’s using it in the company, and how they’re using it, all the way down to the SQL queries. Best of all, it’s simple to set up, and easy for both engineering and operations teams to use. With Select Star’s data catalog, a single source of truth for your data is built in minutes, even across thousands of datasets. Try it out for free and double the length of your free trial today at <a href="https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss">pythonpodcast.com/selectstar</a>. You&#8217;ll also get a swag package when you continue on a paid plan.</li>
<li>Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to <a href="https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dataengineeringpodcast.com/shipyard</a> to get started automating with a free developer plan today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Sam Willis about Tetra, a full stack component framework for your Django applications</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Tetra is and the story behind it?</li>
<li>What are the problems that you are aiming to solve with this project?
<ul>
<li>What are some of the other ways that you have addressed those problems?</li>
<li>What are the shortcomings that you encountered with those solutions?</li>
</ul>
</li>
<li>What was missing in the existing landscape of full-stack application development patterns that prompted you to build a new meta-framework?</li>
<li>What are some of the sources of inspiration (positive and negative) that you looked to while deciding on the component selection and implementation strategy?</li>
<li>Can you describe how Tetra is implemented?
<ul>
<li>What are the core principles that you are relying on to drive your design of APIs and developer experience?</li>
</ul>
</li>
<li>What is the process for building a full component in Tetra?</li>
<li>What are some of the application design challenges that are introduced by Combining the javascript and Django logic and attributes? (e.g. reusing JS logic/CSS styles across components)</li>
<li>A perennial challenge with combining the syntax across multiple languages in a single file is editor support. How are you thinking about that with Tetra&#8217;s implementation?</li>
<li>What is your grand vision for Tetra and how are you working to make it sustainable?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Tetra used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Tetra?</li>
<li>When is Tetra the wrong choice?</li>
<li>What do you have planned for the future of Tetra?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://mobile.twitter.com/samwillis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@samwillis</a> on Twitter</li>
<li><a href="http://samwillis.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/samwillis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/samwillis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">samwillis</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.themachinelearningpodcast.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Machine Learning Podcast</a></li>
</ul>
</li>
<li>Sam
<ul>
<li><a href="https://en.wikipedia.org/wiki/Slow_Horses?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slow Horses</a> TV Show</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.tetraframework.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tetra Framework</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://dotnet.microsoft.com/en-us/apps/aspnet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASP</a></li>
<li><a href="https://alpinejs.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alpine.js</a></li>
<li><a href="https://htmx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HTMX</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby on Rails</a></li>
<li><a href="https://www.flutterbox.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flutterbox</a></li>
<li><a href="https://vuejs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vue.js</a></li>
<li><a href="https://laravel-livewire.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Laravel Livewire</a></li>
<li><a href="https://docs.python.org/3/reference/import.html#import-hooks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Import Hooks</a></li>
<li><a href="https://github.com/samwillis/python-inline-source?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">python-inline-source</a></li>
<li><a href="https://tailwindcss.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tailwind CSS</a></li>
<li><a href="https://postcss.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostCSS</a></li>
<li><a href="https://docs.python.org/3/library/pickle.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pickle</a></li>
<li><a href="https://github.com/fernet/spec/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fernet</a></li>
<li><a href="https://esbuild.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">esbuild</a></li>
<li><a href="https://webpack.js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Webpack</a></li>
<li><a href="https://rich.readthedocs.io/en/stable/introduction.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rich</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftetra-full-stack-component-web-framework-episode-369%2F&amp;action_name=Tetra%3A+A+Full+Stack+Web+Framework+That+Doesn%27t+Make+You+Write+Everything+Twice+-+Episode+369&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-07-03t20:51:37+00:00-94a85e141782600</guid>
      <link>https://www.pythonpodcast.com/tetra-full-stack-component-web-framework-episode-369</link>
      <pubDate>Sun, 3 Jul 2022 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="300.00" duration="44.15">So I had been spending quite a lot of time doing kind of front end development with front end frameworks like Vue, and I was growing frustrated with the disconnect between the front end and the back end. The fact that you have to constantly code APIs, REST APIs, or whatever you want to use to connect your front end to your back end, and it really slows down the sort of velocity at which you can work. It provides it's a forms of barrier. Every time you want to try something, you've gotta swap back to the other project to implement the bit that you need to bring bring extra state to the to the front.</podcast:soundbite>
      <podcast:soundbite startTime="1447.73" duration="29.16">So in terms of the actual implementation and how you have approached this problem with TETRA, I'm wondering if you can just talk through some of the design and architecture and implementation details of what you're building and how you're weaving this into the Django framework and integrating the Alpine library and just the overall thought process that went into how to construct this into something that was kind of internally cohesive and made sense for somebody who's building on top of it?</podcast:soundbite>
      <podcast:soundbite startTime="682.95" duration="50.67">So the plan is to build something that allows you to simplify the process of building websites and web apps. I wanted to make it so that people didn't need to install Node. Js, didn't need to set up a full stack of front end tooling just to build a simple website, which seems to be the default now. It seems that everyone that's learning to build websites now are told to start with React, install, JS, and to get their heads around webpack and all sorts of other build tooling, which just makes it so much harder. So the plan is to sort of combine that all into Tetra.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:07</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Tetra: A Full Stack Web Framework That Doesn't Make You Write Everything Twice</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>369</itunes:episode>
      <podcast:episode>369</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302635485005054ea084-f61f-498f-ba10-3dca3f0cf020v1.mp3" length="37324463" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302635485005054ea084-f61f-498f-ba10-3dca3f0cf020v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_054ea084-f61f-498f-ba10-3dca3f0cf020638558800935878587.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/054ea084-f61f-498f-ba10-3dca3f0cf020638558800932987703.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/054ea084-f61f-498f-ba10-3dca3f0cf020638558800930805063.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Design Real-World Objects In Python With CadQuery</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Virtually everything that you interact with on a daily basis and many other things that make modern life possible were designed and modeled in software called CAD or Computer-Aided Design. These programs are advanced suites with graphical editing environments tailored to domain experts in areas such as mechanical engineering, electrical engineering, architecture, etc. While the UI-driven workflow is more accessible, it isn&#8217;t scalable which opens the door to code-driven workflows. In this episode Jeremy Wright discusses the design, uses, and benefits of the CadQuery framework for building 3D CAD models entirely in Python.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>So now your modern data stack is set up. How is everyone going to find the data they need, and understand it? Select Star is a data discovery platform that automatically analyzes &amp; documents your data. For every table in Select Star, you can find out where the data originated, which dashboards are built on top of it, who’s using it in the company, and how they’re using it, all the way down to the SQL queries. Best of all, it’s simple to set up, and easy for both engineering and operations teams to use. With Select Star’s data catalog, a single source of truth for your data is built in minutes, even across thousands of datasets. Try it out for free and double the length of your free trial today at <a href="https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss">pythonpodcast.com/selectstar</a>. You&#8217;ll also get a swag package when you continue on a paid plan.</li>
<li>Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to <a href="https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dataengineeringpodcast.com/shipyard</a> to get started automating with a free developer plan today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jeremy Wright about CadQuery, an easy-to-use Python module for building parametric 3D CAD models</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what CAD is and some of the real-world applications of it?</li>
<li>Can you describe what CadQuery is and the story behind it?
<ul>
<li>How did you get involved with it and what keeps you motivated?</li>
<li>What are the different methods that are in common use for building CAD models?</li>
<li>Are there approaches that are more common for models used in different industries?</li>
</ul>
</li>
<li>What was missing in other projects for programmatically generating CAD models that motivated you to build CadQuery?</li>
<li>Can you describe how the CadQuery library is implemented?
<ul>
<li>How have the design and goals of the project changed or evolved since you started working on it?</li>
<li>How would you characterize the rate of change/evolution in the CAD ecosystem, and how has that factored into your work on CadQuery?</li>
</ul>
</li>
<li>How did you approach the process of API design?
<ul>
<li>How do you balance accessibility for non-professionals with domain-related nomenclature?</li>
</ul>
</li>
<li>Can you describe some example workflows for going from idea to finished product with CadQuery?</li>
<li>How are you using CadQuery in your own work?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen CadQuery used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on CadQuery?</li>
<li>When is CadQuery the wrong choice?</li>
<li>What do you have planned for the future of CadQuery?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://discord.gg/Bj9AQPsCfx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Discord</a></li>
<li><a href="https://twitter.com/wrightjmf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/jmwright?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://gitlab.com/jmwright?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitLab</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt9419884/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Doctor Strange: In The Multiverse of Madness</a></li>
</ul>
</li>
<li>Jeremy
<ul>
<li><a href="https://en.wikipedia.org/wiki/Star_Trek:_Strange_New_Worlds?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Star Trek: Strange New Worlds</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other shows. The <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> covers the latest on modern data management. The <a href="https://www.themachinelearningpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Podcast</a> helps you go from idea to production with machine learning.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://cadquery.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CadQuery</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computer-aided_design?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CAD == Computer Assisted Design</a></li>
<li><a href="https://en.wikipedia.org/wiki/3D_printing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3D Printer</a></li>
<li><a href="https://en.wikipedia.org/wiki/CNC_router?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jeremy&#8217;s CNC Router</a></li>
<li><a href="https://jquery.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jQuery</a></li>
<li><a href="https://www.blender.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blender</a></li>
<li><a href="https://www.autodesk.com/products/fusion-360/personal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fusion 360</a></li>
<li><a href="https://dev.opencascade.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Cascade (OCCT)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Fluent_interface?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fluent API</a></li>
<li><a href="https://www.freecadweb.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FreeCAD</a></li>
<li><a href="https://www.kicad.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KiCAD</a></li>
<li><a href="https://github.com/7BIndustries/Semblage?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Semblage</a></li>
<li><a href="https://github.com/CadQuery/CQ-editor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cq-editor</a></li>
<li><a href="https://github.com/bernhard-42/jupyter-cadquery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jupyter-cadquery</a></li>
<li><a href="https://github.com/michaelgale/cq-kit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cq-kit</a></li>
<li><a href="https://fxbricks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FX Bricks</a></li>
<li><a href="https://en.wikipedia.org/wiki/Voxel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Voxels</a></li>
<li><a href="https://github.com/gumyr/cq_warehouse?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cq_warehouse</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcadquery-python-programmatic-cad-episode-368%2F&amp;action_name=Design+Real-World+Objects+In+Python+With+CadQuery+-+Episode+368&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-06-27t01:37:40+00:00-1eb561059c6860a</guid>
      <link>https://www.pythonpodcast.com/cadquery-python-programmatic-cad-episode-368</link>
      <pubDate>Mon, 27 Jun 2022 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="191.53" duration="36.29">CAD is very integral to our daily lives, even though we don't interact with it directly a lot of times. The simplest definition would be that CAD is software that allows a user to create a 2 d or 3 d object, which is then usually manufactured in the real world using things like 3 d printers, vinyl cutters, CNC routers, things like that. They don't have to be manufactured in the real world. CAD can be used to create assets for video games or digital art or things like that. And so everything from the car you drive to the toaster you use, everything pretty much has been designed with CAD.</podcast:soundbite>
      <podcast:soundbite startTime="245.82" duration="53.58">Cad Query is a Python API that attempts to create CAD objects in a way that we hope fits the way a person thinks about the design and about the way it should be made, and captures their design intent. So what that means in practice is that the user may start with a block of metal, like steel, and say, I wanna drill 2 holes in the top of the block. Part of their design intent is that they always want the hole to start from the top face, even if there's a chip off of 1 side or you have, you know, chamfers and angles or rounds on the sides. And so a programmer can actually tell Cad Query what they want to do explicitly using what we call selectors. And a selector just tells Cadbury that no matter what else I do to this block, no matter how else it changes, I want you to put the holes on this face.</podcast:soundbite>
      <podcast:soundbite startTime="1885.86" duration="40.06">A few of the innovative ways that we've seen CAD Query used. There are lots of them, but 1 would be that there was a Cadcware user who wanted to create 3 d models of brain scans. And then what they would do is they would 3 d print those models and fill them with water. And then they would use those to test MRI machines. So they had channels in them and they would fill with water, and the MRI machine would kind of treat that somewhat like an actual human brain for testing. And so that was a pretty ingenious and probably somewhat difficult way to use Cadbury and 3 d printing to accomplish a goal.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:04</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Design Real-World Objects In Python With CadQuery</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>368</itunes:episode>
      <podcast:episode>368</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531593340006323d84ca8-ffc3-4f83-a952-b02ce2b35a9fv1.mp3" length="42646976" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531593340006323d84ca8-ffc3-4f83-a952-b02ce2b35a9fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_23d84ca8-ffc3-4f83-a952-b02ce2b35a9f638558830704508444.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/23d84ca8-ffc3-4f83-a952-b02ce2b35a9f638558830701807355.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/23d84ca8-ffc3-4f83-a952-b02ce2b35a9f638558830699930524.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Intelligent Dependency Resolution For Optimal Compatibility And Security With Project Thoth</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Building any software project is going to require relying on dependencies that you and your team didn&#8217;t write or maintain, and many of those will have dependencies of their own. This has led to a wide variety of potential and actual issues ranging from developer ergonomics to application security. In order to provide a higher degree of confidence in the optimal combinations of direct and transitive dependencies a team at Red Hat started Project Thoth. In this episode Fridolín Pokorný explains how the Thoth resolver uses multiple signals to find the best combination of dependency versions to ensure compatibility and avoid known security issues.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. And now you can launch a managed MySQL, Postgres, or Mongo database cluster in minutes to keep your critical data safe with automated backups and failover. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Need to automate your Python code in the cloud? Want to avoid the hassle of setting up and maintaining infrastructure? Shipyard is the premier orchestration platform built to help you quickly launch, monitor, and share python workflows in a matter of minutes with 0 changes to your code. Shipyard provides powerful features like webhooks, error-handling, monitoring, automatic containerization, syncing with Github, and more. Plus, it comes with over 70 open-source, low-code templates to help you quickly build solutions with the tools you already use. Go to <a href="https://www.dataengineeringpodcast.com/shipyard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dataengineeringpodcast.com/shipyard</a> to get started automating with a free developer plan today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Fridolín Pokorný about Project Thoth, a resolver service that computes the optimal combination of versions for your dependencies</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Project Thoth is and the story behind it?</li>
<li>What are some examples of the types of problems that can be introduced by mismanaged dependency versions?</li>
<li>The Python ecosystem has seen a number of dependency management tools introduced recently. What are the capabilities that Thoth offers that make it stand out?
<ul>
<li>How does it compare to e.g. pip, Poetry, pip-tools, etc.?</li>
<li>How do those other tools approach resolution of dependencies?</li>
</ul>
</li>
<li>Can you describe how Thoth is implemented?
<ul>
<li>How have the scope and design of the project evolved since it was started?</li>
</ul>
</li>
<li>What are the sources of information that it relies on for generating the possible solution space?
<ul>
<li>What are the algorithms that it relies on for finding an optimal combination of packages?</li>
</ul>
</li>
<li>Can you describe how Thoth fits into the workflow of a developer while selecting a set of dependencies and keeping them up to date over the life of a project?</li>
<li>What are the opportunities for expanding Thoth&#8217;s application to other language ecosystems?</li>
<li>What are the interfaces available for extending or integrating with Thoth?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Thoth used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Thoth?</li>
<li>When is Thoth the wrong choice?</li>
<li>What do you have planned for the future of Thoth?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/fridex/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="http://fridex.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://brassagainst.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brass Against</a></li>
</ul>
</li>
<li>Fridolin
<ul>
<li><a href="https://github.com/thoth-station/micropipenv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">micropipenv</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.redhat.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redhat</a>
<ul>
<li><a href="https://next.redhat.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Emerging Technologies Group</a></li>
</ul>
</li>
<li><a href="https://thoth-station.ninja/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Thoth</a></li>
<li><a href="https://github.com/thoth-station/thamos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thamos CLI</a></li>
<li><a href="https://github.com/pypa/advisory-database?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPA Advisory Database</a></li>
<li><a href="https://developers.redhat.com/articles/2021/10/06/find-and-compare-python-libraries-project2vec?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project2Vec</a></li>
<li><a href="https://github.com/thoth-station/prescriptions?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thoth Prescriptions</a></li>
<li><a href="https://en.wikipedia.org/wiki/Thoth?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thoth: Egyptian God</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fthoth-dependency-resolution-episode-367%2F&amp;action_name=Intelligent+Dependency+Resolution+For+Optimal+Compatibility+And+Security+With+Project+Thoth+-+Episode+367&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-06-15t02:48:16+00:00-464fdc26f6cd5f6</guid>
      <link>https://www.pythonpodcast.com/thoth-dependency-resolution-episode-367</link>
      <pubDate>Wed, 15 Jun 2022 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="242.28" duration="27.35">As far as the types of problems that you have seen, and you mentioned PIP doesn't always give a very good or clear answer as to what are the actual versions of the transitory dependencies that I have, What are some of the types of problems that can be introduced by having versions that aren't sort of optimally determined or that aren't locked to a specific version or a specific release for those nonprimary, dependencies.</podcast:soundbite>
      <podcast:soundbite startTime="647.15" duration="22.10">We had pretty quick developments, and I personally liked it because it was, like, let's create a prototype. Let's prove it works. And if it works, let's try to incorporate it into the system. I think we, took many blind paths when it comes to implementation. It was sometimes completely rewritten.</podcast:soundbite>
      <podcast:soundbite startTime="134.21" duration="11.57">I think the most interesting 1 for this talk is DOT's resolver that can resolve application dependencies, similar to PIP, but in a more clever fashion, let's say.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:31:32</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Intelligent Dependency Resolution For Optimal Compatibility And Security With Project Thoth</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>367</itunes:episode>
      <podcast:episode>367</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307775872736c7b18aa0-23ba-4206-bb85-8c95686853cev1.mp3" length="25998636" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307775872736c7b18aa0-23ba-4206-bb85-8c95686853cev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c7b18aa0-23ba-4206-bb85-8c95686853ce638558822481333921.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c7b18aa0-23ba-4206-bb85-8c95686853ce638558822475395251.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c7b18aa0-23ba-4206-bb85-8c95686853ce638558822473482637.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Take A Deep Dive On How Code Completion Works And How To Customize It</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Most developers have encountered code completion systems and rely on them as part of their daily work. They allow you to stay in the flow of programming, but have you ever stopped to think about how they work? In this episode Meredydd Luff takes us behind the scenes to dig into the mechanics of code completion engines and how you can customize them to fit your particular use case.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Meredydd Luff about how code completion works and what it takes to build your own</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Most programmers are familiar with the idea of code completion, but can you just give the elevator pitch to get us all on the same page?</li>
<li>You gave a presentation recently at PyCon about how to build a code completion system. What was your approach to identifying what fundamental concepts needed to be addressed and how to fit that lesson into the available time?</li>
<li>In the presentation you mentioned that you had built a more full-featured completion engine into Anvil. Can you describe what possessed you to build your own code completion tool?
<ul>
<li>What are the core components required to build a completion engine?</li>
<li>What are the benefits that can be realized by customizing the completion engine for a given language or task?</li>
</ul>
</li>
<li>Can you describe the feature set and implementation details of the full-fledged completion engine that is available in Anvil?</li>
<li>Beyond the toy example, there are a number of considerations to address if you want to make the completion engine &quot;production grade&quot;. Can you talk through some of the obvious edge cases and how to solve for them? (e.g. handling parsing of incomplete code)</li>
<li>What are the inputs that you use to build up the list of candidate tokens for completion?</li>
<li>Once you have a functioning baseline for offering completions, what are some of the signals that you hook into for ranking suggestions?</li>
<li>In your presentation you leaned on the machinery available in the Python standard library. What are some of the ways that you might think about generalizing across languages vs. coupling to a given language?</li>
<li>What design/architectural advice do you have for compartmentalizing logic in a full-featured completion engine?</li>
<li>What are some of the complexities that become a factor when you are trying to scale across an entire code base?</li>
<li>Beyond just being able to parse and process a body of code, there is also the question of integrating with the development environment. What are some of the challenges that get introduced when trying to access the appropriate set(s) of files and code through the editor interface(s)?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen code completion applied to developer experience?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on code completion for Anvil?</li>
<li>When is code completion more effort than it&#8217;s worth?</li>
<li>What do you have planned for the future of the Anvil code completion functionality?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/meredydd/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/meredydd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">meredydd</a> on GitHub</li>
<li><a href="https://twitter.com/meredydd?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@meredydd</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.weirdal.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">&quot;Weird Al&quot; Yankovic</a></li>
</ul>
</li>
<li>Meredydd
<ul>
<li><a href="https://www.timescale.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TimescaleDB</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/timescaledb-round-2-episode-65/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.timescale.com/promscale?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Promscale</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.youtube.com/watch?v=aRO7DkJrA_c&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon presentation about building a completion engine</a></li>
<li><a href="https://anvil.works/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anvil</a>
<ul>
<li><a href="https://www.pythonpodcast.com/anvil-web-application-development-episode-215/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.nano-editor.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nano</a></li>
<li><a href="https://microsoft.github.io/language-server-protocol/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Language Server Protocol</a></li>
<li><a href="https://jedi.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jedi</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-113-jedi-code-completion-with-david-halter/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://skulpt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Skulpt</a></li>
<li><a href="https://en.wikipedia.org/wiki/Parsing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parser</a></li>
<li><a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Abstract Syntax Tree</a></li>
<li><a href="https://www.openapis.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenAPI</a></li>
<li><a href="https://copilot.github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub Copilot</a></li>
<li><a href="https://en.wikipedia.org/wiki/Halting_problem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Halting Problem</a></li>
<li><a href="https://ocw.mit.edu/ans7870/6/6.005/s16/classes/18-parser-generators/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parser Generator</a></li>
<li><a href="https://docs.python.org/3/reference/grammar.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Language Grammar Definition</a></li>
<li><a href="https://lezer.codemirror.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lezer Parser Generator</a></li>
<li><a href="https://github.com/tree-sitter/tree-sitter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tree-sitter</a></li>
<li><a href="https://pyscript.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyScript</a></li>
<li><a href="https://grafana.com/oss/tempo/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grafana Tempo Tracing Service</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcode-completion-deep-dive-episode-366%2F&amp;action_name=Take+A+Deep+Dive+On+How+Code+Completion+Works+And+How+To+Customize+It+-+Episode+366&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-05-30t20:17:50+00:00-e907ce900110b35</guid>
      <link>https://www.pythonpodcast.com/code-completion-deep-dive-episode-366</link>
      <pubDate>Mon, 30 May 2022 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="216.30" duration="20.59">Code completion is that little pop up box you get if you're using a development environment like PyCharm or Versus Code. As you type, it'll be giving you a little pop up box of things you might want to type next, you know, it'll help you autocomplete typically variable names, sometimes other identifiers in your code. I mean, it really is in any modern developer toolkit, and for very good reasons.</podcast:soundbite>
      <podcast:soundbite startTime="1036.93" duration="32.02">In terms of the opportunities for improving the overall capabilities and kind of enhancing the developer's experience beyond those core elements, what are some of the other opportunities for customization and improvement and some of the ways that somebody might think about extending an existing completion engine to fit a particular domain or specific use case, like, for instance, if they're trying to add some DSL component to a development environment to address, you know, the needs of their end users?</podcast:soundbite>
      <podcast:soundbite startTime="507.79" duration="22.01">In the presentation and earlier in this conversation, you mentioned that you had actually built a completion engine for use in the anvil environment. And I'm wondering if you can just talk to what led you to attack this problem in anger and actually subject yourself to building a full featured completion engine and how naive you are going into it and how much you regret that decision now.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:00:11</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Take A Deep Dive On How Code Completion Works And How To Customize It</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>366</itunes:episode>
      <podcast:episode>366</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529755829201596d3d037-9bbc-4873-bbcc-0b9a17f70bc8v2.mp3" length="52287201" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529755829201596d3d037-9bbc-4873-bbcc-0b9a17f70bc8v2.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_96d3d037-9bbc-4873-bbcc-0b9a17f70bc8638558789122267761.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/96d3d037-9bbc-4873-bbcc-0b9a17f70bc8638558789119434034.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/96d3d037-9bbc-4873-bbcc-0b9a17f70bc8638558789117725662.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Hunting Black Swans With Bees: Catching Up With The Inimitable Russell Keith-Magee</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Russell Keith-Magee is an accomplished engineer and a fixture of the Python community. His work on the Beeware suite of projects is one of the most ambitious undertakings in the ecosystem and unfailingly forward-looking. With his recent transition to working for Anaconda he is now able to dedicate his full focus to the effort. In this episode he reflects on the journey that he has taken so far, how Beeware is helping to address some of the threats to Python&#8217;s long term viability, and how he envisions its future in light of the recent release of PyScript, an in-browser runtime for Python.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Russell Keith-Magee about the latest status of the Beeware project, the state of Python&#8217;s black swans, and how the PyScript project ties into his ambitions for world domination</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For anyone who hasn&#8217;t been graced with the BeeWare vision, can you give the elevator pitch of what it is and why it matters?</li>
<li>At PyCon US 2019 you presented a keynote about the various potential threats to the Python language community and its future viability. With the clarity of 3 years hindsight, how has the landscape shifted?</li>
<li>What is PyScript and how does it fit into the venn diagram of BeeWare&#8217;s objectives and the portents of black swan events (and what is your involvement with it)?
<ul>
<li>How does it differ from the dozens of other &quot;Python in the browser&quot; and &quot;Python transpiled to Javascript&quot; projects that have sprouted over the years?</li>
</ul>
</li>
<li>Now that you have been granted the opportunity to dedicate your full attention to BeeWare and build a team to support it, what new potential does that unlock?</li>
<li>What are the current areas of focus/challenges that you are spending your time on for the BeeWare project?</li>
<li>What are some of the efforts in the BeeWare suite that proved to be dead-ends?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen the BeeWare suite/PyScript used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on BeeWare?</li>
<li>When is BeeWare the wrong choice?</li>
<li>What do you have planned for the future of BeeWare/PyScript/Python/world domination?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/freakboy3742/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://cecinestpasun.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/freakboy3742?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@freakboy3742</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://joby.com/us-en/gorillapod/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joby Gorillapod</a></li>
</ul>
</li>
<li>Russell
<ul>
<li><a href="https://pyscript.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyScript</a></li>
<li><a href="https://www.imdb.com/title/tt2235759/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Great</a> TV Show</li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.pythonpodcast.com/python-potential-black-swans-episode-221/?utm_source=rss&utm_medium=rss">Black Swans Episode</a></li>
<li><a href="https://www.pythonpodcast.com/episode-64-beeware-with-russell-keith-magee/?utm_source=rss&utm_medium=rss">BeeWare Episode</a></li>
<li><a href="https://beeware.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BeeWare</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://cordova.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cordova</a></li>
<li><a href="https://en.wikipedia.org/wiki/Black_swan_theory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black Swan</a></li>
<li><a href="https://en.wikipedia.org/wiki/Apple_II?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apple II</a></li>
<li><a href="https://en.wikipedia.org/wiki/Altair_8800?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Altair</a></li>
<li><a href="https://beeware.org/project/projects/tools/briefcase/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Briefcase</a></li>
<li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web Assembly (WASM)</a></li>
<li><a href="https://www.destroyallsoftware.com/screencasts?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gary Bernhardt</a></li>
<li><a href="https://pyscript.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyScript</a></li>
<li><a href="https://pyodide.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyodide</a></li>
<li><a href="https://beeware.org/project/projects/libraries/toga/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toga</a></li>
<li><a href="https://kotlinlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kotlin</a></li>
<li><a href="https://www.swift.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swift</a></li>
<li><a href="https://en.wikipedia.org/wiki/Gaffer_tape?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gaffer Tape</a></li>
<li><a href="https://replit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Repl.it</a></li>
<li><a href="https://www.brython.info/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brython</a></li>
<li><a href="https://www.transcrypt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transcrypt</a></li>
<li><a href="https://www.pythonanywhere.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Anywhere</a></li>
<li><a href="https://beeware.org/it_IT/project/projects/attic/batavia/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Batavia</a></li>
<li><a href="https://www.anaconda.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anaconda</a></li>
<li><a href="https://docs.conda.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conda</a></li>
<li><a href="https://github.com/beeware/voc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Voc</a></li>
<li><a href="https://maestral.app/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Maestral</a></li>
<li><a href="https://eddington-gui.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eddington GUI</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbeeware-revisited-episode-365%2F&amp;action_name=Hunting+Black+Swans+With+Bees%3A+Catching+Up+With+The+Inimitable+Russell+Keith-Magee+-+Episode+365&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-05-24t02:29:40+00:00-17f3c47b0119f8d</guid>
      <link>https://www.pythonpodcast.com/beeware-revisited-episode-365</link>
      <pubDate>Tue, 24 May 2022 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="79.00" duration="45.55">Hi. So my name is Russell Keith McGees. Thanks for having me, again once again. I am a long term fixture in the Python community. I joined the Django project as a core team member in early 2006, and I've kind of just rolled on from there. I'm a regular fixture at conferences. And after many years of working on Django, I sort of moved on to my own project, which is a BWA project looking at Python on mobile, making Python a viable language for GUI development on all the platforms, over the desktop platforms where you have been able to, but it hasn't been very popular as a GUI language, but also on the new platforms, iPhones, androids, things like that, where Python basically doesn't have a story at the moment for doesn't have a good story at the moment.</podcast:soundbite>
      <podcast:soundbite startTime="259.36" duration="66.11">The main focus for the conversation today I wanna have is kind of catching up on where Bware is, capitalizing on your recent news about the fact that you are now working on it full time and checking back in about the kind of current state of what you see as the, you know, potential black swan events for the Python language and community. For anybody who isn't familiar with the Bware project and your overall vision there, I'm wondering if you can just give the elevator pitch of what it is and why it matters. So the idea behind the Bware project, there's a couple of innovative pictures you can give depending on who you're talking to. 1 is to say it's Django but for application development. So Django is a framework for perfectionists with deadlines. It lets people crank out a website very, very rapidly. The web is still good. The web is still useful. The web is still being used everywhere, but there are occasions when a website just doesn't cut it, and you need a mobile app. And be wary as they try and fill that gap to make it as easy to develop a mobile application as it is for you to build a website with Django.</podcast:soundbite>
      <podcast:soundbite startTime="2839.11" duration="91.44">In terms of your own adventure and experience and sort of career path you've been on since starting the BEWARE suite, what are some of the most interesting or unexpected or challenging lessons that you've learned in the process? I guess it's never underestimating how much a hostile platform can make your life difficult. IOS and Android both, neither of them are free of sin in this particular case. They are a constant source of frustration because we are not doing things the way they would like you to be doing things. And the transition to m 1 hardware, Apple has got Xcode and they've got instructions of what they'd like you to be doing, but if you want to not use Xcode and not use the libraries or they use the Swift as as this sort of blessed language, you are so on your own. It's not funny. Like, it's possible and it can be done, but it's not something anyone is doing accidentally. Likewise, Android's build tooling, I swear if I ever meet some of those developers in a dark alley, it's not gonna be a fun conversation because they just why they do some of the things they do, how it does them, the way they report errors, the way things come out are just beggars belief sometimes. And it shouldn't be this hard. It really shouldn't. If I am able to stop anyone else from having to go through this pain, then I'm going to consider that time well spent.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:56:11</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Hunting Black Swans With Bees: Catching Up With The Inimitable Russell Keith-Magee</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>365</itunes:episode>
      <podcast:episode>365</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299596929981fdf781e0-44f2-4649-a1ec-2c2340a8fc8av1.mp3" length="44339988" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299596929981fdf781e0-44f2-4649-a1ec-2c2340a8fc8av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fdf781e0-44f2-4649-a1ec-2c2340a8fc8a638558796391261172.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fdf781e0-44f2-4649-a1ec-2c2340a8fc8a638558796388183135.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fdf781e0-44f2-4649-a1ec-2c2340a8fc8a638558796386430810.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Take Control Of Your Digital Photos By Running Your Own Smart Library Manager With LibrePhotos</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Digital cameras and the widespread availability of smartphones has allowed us all to generate massive libraries of personal photographs. Unfortunately, now we are all left to our own devices of how to manage them. While cloud services such as iPhotos and Google Photos are convenient, they aren&#8217;t always affordable and they put your pictures under the control of large companies with their own agendas. LibrePhotos is an open source and self-hosted alternative to these services that puts you in control of your digital memories. In this episode the maintainer of LibrePhotos, Niaz Faridani-Rad, explains how he got involved with the project, the capabilities that it offers for managing your image library, and how to get your own instance set up to take back control of your pictures.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This episode is sponsored by Mergify. It’s an amazing tool to make you and your team way more productive with GitHub. Mergify is all about leveling up your pull requests with useful features that eliminate busy work. Automatic merges allow you define the conditions for acceptance and Mergify will take care of merging the pull request as soon as it’s ready. Automatic updates take care of merging your pull requests serially on top of each other, so there is no way to introduce a regression. With a merge queue you can merge your urgent pull request first, organize your Prs as you wish and Mergify will merge them in that order. Mergify&#8217;s backports feature will even copy the pull request into another branch once the pull request has been merged, shipping your bug fixes on multiple branches automatically. By saving time you and your team can focus on projects that matter. Mergify is coordinated with any CI and fully integrated into GitHub. They have a Startup Program that offers a 12 months credit to leverage Mergify (up to $21,000 of value). Start saving time; visit <a href="https://www.pythonpodcast.com/mergify?utm_source=rss&utm_medium=rss">pythonpodcast.com/mergify</a> today to sign up for a demo and get started! Or just click the link in the show notes.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Niaz Faridani-Rad about LibrePhotos, an open source, self-hosted application for managing your personal photo collection</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what LibrePhotos is and the story behind it?</li>
<li>What are the core objectives of the project?
<ul>
<li>What kind of users are you focused on?</li>
</ul>
</li>
<li>What are some of the major features of LibrePhotos?</li>
<li>There are a number of open source and commercial options for different photo oriented use cases. What are the main capabilities that influence someone&#8217;s decision to use one over the other?</li>
<li>Many people&#8217;s baseline expectations will be around services such as Google Photos or iPhotos. What are some of the challenges that you face in trying to provide a comparable experience?
<ul>
<li>One of the features that users rely on with these services is backup/disaster recovery of their photo library. What is the recommended approach for users of LibrePhotos?</li>
</ul>
</li>
<li>Can you describe how LibrePhotos is architected?
<ul>
<li>How have the design and goals evolved since you first started working on it?</li>
</ul>
</li>
<li>How have recent advances in machine learning algorithms and related tooling improved the availability and quality of advanced features in LibrePhotos?
<ul>
<li>How much improvement of accuracy in face/object recognition do you see as users invest in cataloging and organizing their collections?</li>
<li>Is there a minimum quantity of images/iindividual people that are necessary to start using the ML powered features?</li>
</ul>
</li>
<li>What kinds of storage locations are supported?</li>
<li>What are the interfaces available for extending/enhancing/integrating with LibrePhotos?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen LibrePhotos used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on LibrePhotos?</li>
<li>When is LibrePhotos the wrong choice?</li>
<li>What do you have planned for the future of LibrePhotos?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/derneuere?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">derneuere</a> on GitHub</li>
<li><a href="https://twitter.com/der_neuere?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@der_neuere</a> on Twitter</li>
<li><a href="https://niaz.omg.lol/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/niaz-faridani-rad-b1959676/?originalSubdomain=de&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt1464335/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uncharted</a> movie</li>
</ul>
</li>
<li>Niaz
<ul>
<li><a href="https://store.steampowered.com/steamdeck?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Steam Deck</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/LibrePhotos/librephotos/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LibrePhotos</a></li>
<li><a href="https://www.reddit.com/r/selfhosted?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Self-hosted Sub-Reddit</a></li>
<li><a href="https://github.com/hooram/ownphotos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OwnPhotos</a></li>
<li><a href="https://photos.google.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Photos</a></li>
<li><a href="https://en.wikipedia.org/wiki/Google_Takeout?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Takeout</a></li>
<li><a href="https://www.digikam.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Digikam</a></li>
<li><a href="https://en.wikipedia.org/wiki/X265?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">x265</a></li>
<li><a href="https://www.adobe.com/creativecloud/file-types/image/raster/heic-file.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HEIC Files</a></li>
<li><a href="https://en.wikipedia.org/wiki/Raw_image_format?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RAW Image Format</a></li>
<li><a href="https://imagemagick.org/index.php?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ImageMagick</a></li>
<li><a href="https://en.wikipedia.org/wiki/Panoramic_photography?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Panorama Photograph</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lytro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lytro</a> light field cameras</li>
<li><a href="https://python-rq.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rq</a> asynchronous task library</li>
<li><a href="https://www.typescriptlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typescript</a></li>
<li><a href="https://redux-toolkit.js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redux Toolkit</a></li>
<li><a href="https://keras.io/api/applications/mobilenet/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MobileNet v3</a></li>
<li><a href="http://dlib.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DLib</a></li>
<li><a href="https://www.arm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ARM Processor</a></li>
<li><a href="https://docs.docker.com/compose/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker Compose</a></li>
<li><a href="https://docs.librephotos.com/2/features/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LibrePhotos Comparison Page</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Flibrephotos-digital-photo-management-episode-364%2F&amp;action_name=Take+Control+Of+Your+Digital+Photos+By+Running+Your+Own+Smart+Library+Manager+With+LibrePhotos+-+Episode+364&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-05-15t01:24:03+00:00-9fa1aaef71e1c46</guid>
      <link>https://www.pythonpodcast.com/librephotos-digital-photo-management-episode-364</link>
      <pubDate>Mon, 16 May 2022 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="379.76" duration="45.06">So the core objective is basically that I want to create a community of people around people photos so that it's self sustaining. Right? So that it's always maintained, and you can always improve it. If multiple people work on it, you can always expand the scope. So, usually, if an idea sounds good to me, then then somebody can, like, implement it. But 1 important thing for me is that everybody only works on the stuff he or she wants to work on. Right? So that way, you always get, like, basically, a self directed road map because, obviously, some users have, like, really ambitious ideas, but nobody wants to implement them. So they never happen. The obvious stuff obviously gets implemented pretty fast because it's easy to do and obvious.</podcast:soundbite>
      <podcast:soundbite startTime="1420.58" duration="107.57">The biggest issue that you currently have with, like, machine learning is that mostly researcher write this code, and they always love their graphs where they explain how their algorithm is the best algorithm, but basically never explain how to actually use the thing they developed. So we have, like I said, like, a couple of libraries that we actually use. The face recognition API, which is basically the standard for every Python app that uses face recognition. There are a couple of different ones, but they only perform, like, a bit better and the API is, like, not that user friendly. The recent advances, like the newest thing we currently use, is for semantic search that we use. I think it's called Open Clip that allows us basically to search for any kind of phrase, and then we get the images back, which is really nice, right, because that's a really advanced feature. We basically only have to run this library and save all these clips, these clip embeddings, basically, and then we have to search for them. And then we get quite good results back. It's not yet activated by default because we don't know yet how to mix that with, like, searching for metadata. So it's kind of exclusive right now. So you either want to search for metadata or you want to search semantically, basically. Because as soon as you have both, you need some kind of ranking, and that's pretty hard to do right. But we also use, like, a lot of different things. I'm also very excited about MobileNet v 3, which is an object detection algorithm, which we want to implement that was developed for, like, smartphones to detect objects. That's really resource friendly, and and it's also good enough for most people.</podcast:soundbite>
      <podcast:soundbite startTime="2088.53" duration="46.84">I'm always, like, really amazed what kinds of data collections people have. So 1 guy was asking me if Libre photo supports half a 1000000 faces, and I'm just like, what's the use case for that? Like, are you surveilling, like, a small country or something? That was really interesting. So especially now that Google Photos basically costs money, now I have, like, a lot of people who have, like, 200, 000, like, or 500 photos. So I have to make sure that everything fetches in a fast way. Yeah. That was really unexpected at first. But now I know about it, and I can ask even the people everything performs well because getting a dataset set up and running with, like, half a 1000000 images is obviously a lot of work.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:15</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Take Control Of Your Digital Photos By Running Your Own Smart Library Manager With LibrePhotos</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>364</itunes:episode>
      <podcast:episode>364</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303380887056ce9e8108-72bd-4a11-8ee3-4b704a0cbf0dv1.mp3" length="31588058" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303380887056ce9e8108-72bd-4a11-8ee3-4b704a0cbf0dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ce9e8108-72bd-4a11-8ee3-4b704a0cbf0d638558804145135975.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ce9e8108-72bd-4a11-8ee3-4b704a0cbf0d638558804142824352.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ce9e8108-72bd-4a11-8ee3-4b704a0cbf0d638558804140910545.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Making Investment Data Easy To Access And Analyze With The OpenBB Terminal</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Investing effectively is largely a game of information access and analysis. This can involve a substantial amount of research and time spent on finding, validating, and acquiring different information sources. In order to reduce the barrier to entry and provide a powerful framework for amateur and professional investors alike Didier Rodrigues Lopes created the OpenBB Terminal. In this episode he explains how a pandemic project that started as an experiment has led to him founding a new company and dedicating his time to growing and improving the project and its community.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Didier Rodrigues Lopes about the OpenBB Terminal, a modern Python-based integrated environment for investment research</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what OpenBB is and the story behind it?
<ul>
<li>What is the problem that you are trying to address by creating the OpenBB project and providing it as open source?</li>
</ul>
</li>
<li>What are some of the use cases where someone might need to use this project?</li>
<li>The elephant in the room for financial data research is the Bloomberg Terminal. What are the other tools or services available for that purpose?
<ul>
<li>What are the differentiating features of the OpenBB Terminal?</li>
</ul>
</li>
<li>Can you describe how the OpenBB Terminal is implemented?
<ul>
<li>How have the design and goals/scope of the project changed since you started working on it?</li>
</ul>
</li>
<li>Can you describe a typical workflow for someone who is using the OpenBB Terminal?
<ul>
<li>How have you approached the user experience design, and what are you optimizing for?</li>
<li>What kinds of utilities do you offer beyond raw data access?</li>
</ul>
</li>
<li>What are some examples of data sources that you rely on?
<ul>
<li>What is involved in integrating a new data source?</li>
</ul>
</li>
<li>What are the extension points and integration capabilities for expanding the functionality of the tool?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen OpenBB Terminal used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on OpenBB Terminal?</li>
<li>When is OpenBB Terminal the wrong choice?</li>
<li>What do you have planned for the future of OpenBB Terminal?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/DidierRLopes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DidierRLopes</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/didier-lopes/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/didier_lopes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@didier_lopes</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.netflix.com/title/81149450?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vikings: Valhalla</a> show on Netflix</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://openbb-finance.github.io/OpenBBTerminal/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenBB</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://papermill.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Papermill</a></li>
<li><a href="https://www.bloomberg.com/professional/solution/bloomberg-terminal/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bloomberg Terminal</a></li>
<li><a href="https://robinhood.com/us/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robinhood</a></li>
<li><a href="https://www.coinbase.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coinbase</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fopenbb-terminal-investment-data-framework-episode-363%2F&amp;action_name=Making+Investment+Data+Easy+To+Access+And+Analyze+With+The+OpenBB+Terminal+-+Episode+363&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-05-10t00:44:21+00:00-6c94621522056b9</guid>
      <link>https://www.pythonpodcast.com/openbb-terminal-investment-data-framework-episode-363</link>
      <pubDate>Tue, 10 May 2022 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="121.32" duration="33.05">In terms of the OpenBB terminal, can you give a bit of an overview about what it is and some of the story behind how it came to be and what your overall goals are with it? Yeah. So OpenVPN is an investment research, platform for everyone, anywhere. And it all started because I wasn't happy with any of the investment research platforms, although They were either too expensive or too limiting in terms of features and data. And being myself like a software engineer, enjoying 2 code, I really like something that I could customize in my own way, and there was nothing like that out there. I was learning about investment at the time.</podcast:soundbite>
      <podcast:soundbite startTime="67.40" duration="20.12">So, Didier, can you start by introducing yourself? Yes. Hi, Tobias. Thank you for having me. My name is, Didier Rudixlops, and I started GameStorm Terminal, 1 1 year and a half ago, and now it's called OpenBV terminal. I'm originally from Portugal. I was born in Switzerland, but I'm Portuguese. I'm currently living in London and working on the OpenBV terminal full time.</podcast:soundbite>
      <podcast:soundbite startTime="396.46" duration="35.07">And the obvious elephant in the room and what I'm assuming the name is inspired by is the Bloomberg terminal, which I've heard a lot about in various contexts. And I'm wondering what you see as the differentiating features that the open b b terminal has and some of the cases where the Bloomberg terminal might still have the advantage or some of the ways that you're looking to not necessarily compete with, but at least provide an alternative to that for people who don't necessarily have the capital available to be able to invest in what I understand is a quite substantial subscription cost.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:14</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Making Investment Data Easy To Access And Analyze With The OpenBB Terminal</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>363</itunes:episode>
      <podcast:episode>363</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307318114606cf0664cf-54e9-4bf4-958e-87f31fddc9e8v1.mp3" length="36731669" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307318114606cf0664cf-54e9-4bf4-958e-87f31fddc9e8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_cf0664cf-54e9-4bf4-958e-87f31fddc9e8638558820700148210.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/cf0664cf-54e9-4bf4-958e-87f31fddc9e8638558820697068131.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/cf0664cf-54e9-4bf4-958e-87f31fddc9e8638558820694709446.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Accelerate Your Machine Learning Experimentation With Automatic Checkpoints Using FLOR</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The experimentation phase of building a machine learning model requires a lot of trial and error. One of the limiting factors of how many experiments you can try is the length of time required to train the model which can be on the order of days or weeks. To reduce the time required to test different iterations Rolando Garcia Sanchez created FLOR which is a library that automatically checkpoints training epochs and instruments your code so that you can bypass early training cycles when you want to explore a different path in your algorithm. In this episode he explains how the tool works to speed up your experimentation phase and how to get started with it.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Rolando Garcia about FLOR, a suite of machine learning tools for hindsight logging that lets you speed up model experimentation by checkpointing training data</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what FLOR is and the story behind it?</li>
<li>What is the core problem that you are trying to solve for with FLOR?
<ul>
<li>What are the fundamental challenges in model training and experimentation that make it necessary?</li>
<li>How do machine learning reasearchers and engineers address this problem in the absence of something like FLOR?</li>
</ul>
</li>
<li>Can you describe how FLOR is implemented?
<ul>
<li>What were the core engineering problems that you had to solve for while building it?</li>
</ul>
</li>
<li>What is the workflow for integrating FLOR into your model development process?</li>
<li>What information are you capturing in the log structures and epoch checkpoints?
<ul>
<li>How does FLOR use that data to prime the model training to a given state when backtracking and trying a different approach?</li>
</ul>
</li>
<li>How does the presence of FLOR change the costs of ML experimentation and what is the long-range impact of that shift?
<ul>
<li>Once a model has been trained and optimized, what is the long-term utility of FLOR?</li>
</ul>
</li>
<li>What are the opportunities for supporting e.g. Horovod for distributed training of large models or with large datasets?</li>
<li>What does the maintenance process for research-oriented OSS projects look like?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen FLOR used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on FLOR?</li>
<li>When is FLOR the wrong choice?</li>
<li>What do you have planned for the future of FLOR?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/rlnsanz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rlnsanz</a> on GitHub</li>
<li><a href="https://twitter.com/rogarcia_sanz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@rogarcia_sanz</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.thebatman.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Batman</a></li>
</ul>
</li>
<li>Rolando
<ul>
<li><a href="https://tv.apple.com/us/show/severance/umc.cmc.1srk2goyh2q2zdxcx605w8vtx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Severance</a></li>
<li><a href="https://github.com/features/codespaces?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub Codespaces</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/ucbrise/flor/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FLOR</a></li>
<li><a href="https://www.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UC Berkeley</a></li>
<li><a href="https://dsf.berkeley.edu/jmh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joe Hellerstein</a></li>
<li><a href="https://ml-ops.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MLOps</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/mlops-for-data-engineers-episode-281/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://rise.cs.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RISE Lab</a></li>
<li><a href="https://amplab.cs.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AMP Lab</a></li>
<li><a href="https://github.com/ucbrise/clipper?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clipper Model Serving</a></li>
<li><a href="http://www.ground-context.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ground Data Context Service</a></li>
<li><a href="https://rlnsanz.github.io/dat/Flor_CMI_18_CameraReady.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Context: The Missing Piece Of The Machine Learning Lifecycle</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://en.wikipedia.org/wiki/Copy-on-write?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Copy on write</a></li>
<li><a href="https://github.com/berkerpeksag/astor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASTor</a></li>
<li><a href="https://greentreesnakes.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Green Tree Snakes: Python AST Documentation</a></li>
<li><a href="https://mlflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MLFlow</a></li>
<li><a href="https://aws.amazon.com/sagemaker/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon Sagemaker</a></li>
<li><a href="https://github.com/cloudpipe/cloudpickle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloudpickle</a></li>
<li><a href="https://horovod.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Horovod</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ludwig-horovod-distributed-declarative-deep-learning-episode-341/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.anyscale.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray Anyscale</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fflor-machine-learning-experiment-episode-362%2F&amp;action_name=Accelerate+Your+Machine+Learning+Experimentation+With+Automatic+Checkpoints+Using+FLOR+-+Episode+362&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-05-02t10:08:36+00:00-4d03589972edb2b</guid>
      <link>https://www.pythonpodcast.com/flor-machine-learning-experiment-episode-362</link>
      <pubDate>Mon, 2 May 2022 10:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1520.72" duration="36.31">I think the first consequence is just more data or more of a record available for analysis after the fact. I'm not sure what all the different institutions of that might be. I have some examples from students that I think are quite creative. I mentioned earlier that 1 of the horror stories in the lab was that people were training models, finding a missing logging statement, and then rerunning that whole execution. But I think the truth or the more common case was even scarier than that, which is you forgot the login statement. It's gonna be too expensive to rerun, so you just kinda make a guess and move on.</podcast:soundbite>
      <podcast:soundbite startTime="182.13" duration="34.03">So, Flor, the project here, when I entered in my graduate studies in 2017, I joined the RISE Lab, which was a successor to the AMP Lab at UC Berkeley. It was being headed or directed by Jan Stoica, Roluca Popat, Joe Hellerstein, and Joey Gonzales. So, jointly, they were experts in systems, security, databases, and ML or ML systems. So it was a really fortunate combination of experts at Berkeley. I came in, and I was advised by Joe Hellerstein.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:46:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Accelerate Your Machine Learning Experimentation With Automatic Checkpoints Using FLOR</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>362</itunes:episode>
      <podcast:episode>362</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253164401911737d95f61d-3a77-4acb-bc8a-b7f8472505ccv1.mp3" length="32413153" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253164401911737d95f61d-3a77-4acb-bc8a-b7f8472505ccv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7d95f61d-3a77-4acb-bc8a-b7f8472505cc638558832368977951.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7d95f61d-3a77-4acb-bc8a-b7f8472505cc638558832366313060.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7d95f61d-3a77-4acb-bc8a-b7f8472505cc638558832364513601.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Automatically Enforce Software Structures With Powerful Code Modifications Powered By LibCST</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Programmers love to automate tedious processes, including refactoring your code. In order to support the creation of code modifications for your Python projects Jimmy Lai created LibCST. It provides a richly typed and high level API for creating and manipulating concrete syntax trees of your source code. In this episode Jimmy Lai and Zsolt Dollenstein explain how it works, some of the linting and automatic code modification utilities that you can build with it and how to get started with using it to maintain your own Python projects.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Zsolt Dollenstein and Jimmy Lai about LibCST, a concrete syntax tree parser and serializer library for Python</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what LibCST is and the story behind it?</li>
<li>How does a concrete syntax tree differ from an abstract syntax tree?
<ul>
<li>What are some of the situations where the preservation of the exact structure is necessary?</li>
</ul>
</li>
<li>There are a few other libraries in Python for creating concrete syntax trees. What was missing in the available options that made it necessary to create LibCST?</li>
<li>What are the use cases that LibCST is focused on supporting</li>
<li>Can you describe how LibCST is implemented?
<ul>
<li>How have the design and goals of the project changed or evolved since you started working on it?</li>
</ul>
</li>
<li>How might I use LibCST for something like restructuring a set of modules to move a function definition while maintaining proper imports?
<ul>
<li>How do the capabilities of LibCST for codemodding compare to the Rope framework?</li>
</ul>
</li>
<li>What are some other workflows that someone might build with LibCST?</li>
<li>What are some of the ways that LibCST is being used in your own work?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen LibCST used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on LibCST?</li>
<li>When is LibCST the wrong choice?</li>
<li>What do you have planned for the future of LibCST?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li>Zsolt
<ul>
<li><a href="https://github.com/zsol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">zsol</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/zsoltdollenstein/?originalSubdomain=uk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
<li>Jimmy
<ul>
<li><a href="https://github.com/jimmylai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jimmylai</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/jimmylai1/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.osprey.com/us/en/product/manta-24-MANTA24_550.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Osprey Manta Backpack</a></li>
</ul>
</li>
<li>Zsolt
<ul>
<li><a href="https://github.com/nathro/AutoTransform?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Autotransform</a></li>
<li><a href="https://glean.software/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Glean</a></li>
</ul>
</li>
<li>Jimmy
<ul>
<li>Paying down technical debt</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/Instagram/LibCST/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LibCST</a></li>
<li><a href="https://carta.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Carta</a></li>
<li><a href="https://docs.python.org/3/library/2to3.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">lib2to3</a></li>
<li><a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Abstract Syntax Tree</a></li>
<li><a href="https://en.wikipedia.org/wiki/Parse_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Concrete Syntax Tree</a></li>
<li><a href="https://pyre-check.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyre</a></li>
<li><a href="https://parso.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parso</a></li>
<li><a href="https://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-45-cython-with-craig-citro-and-robert-bradshaw/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/mypyc/mypyc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mypyc</a></li>
<li><a href="https://github.com/python-rope/rope?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rope</a></li>
<li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a>
<ul>
<li><a href="https://www.pythonpodcast.com/flake8-static-analysis-episode-309/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pylint.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pylint</a></li>
<li><a href="https://eslint.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ESLint</a></li>
<li><a href="https://github.com/Instagram/fixit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fixit</a></li>
<li><a href="https://github.com/Instagram/MonkeyType?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MonkeyType</a>
<ul>
<li><a href="https://www.pythonpodcast.com/monkeytype-with-carl-meyer-and-matt-page-episode-146/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Flibcst-automated-code-modification-episode-361%2F&amp;action_name=Automatically+Enforce+Software+Structures+With+Powerful+Code+Modifications+Powered+By+LibCST+-+Episode+361&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-04-25t19:16:46+00:00-6edc3f7e9092181</guid>
      <link>https://www.pythonpodcast.com/libcst-automated-code-modification-episode-361</link>
      <pubDate>Mon, 25 Apr 2022 19:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2637.88" duration="13.52">Code quality is important and hard. Way harder than I thought. And just rewrite everything in Rust. No. No. Don't in fact, no. Just don't don't rewrite stuff in Rust without a good reason. No.</podcast:soundbite>
      <podcast:soundbite startTime="385.71" duration="32.84">Yeah. I mean, so I get this question a lot from people who are not familiar with this space. The most concise way I can describe this is AST is useful for machines and for people who want to reason about, like, the semantics of the code, like, what the code is intended to do. But CST is useful for, like, presenting the code to humans. And so, yeah, as as you mentioned, like, the CST includes a bunch of additional stuff compared to AST, like, I don't know, white space, comments, extra non semantic commas and parentheses, and these kinds of things.</podcast:soundbite>
      <podcast:soundbite startTime="122.32" duration="20.18">I had to go dig deep on to this question. So, like, I remember at my previous company, they threw me in the deep end, they had some massive Django Python 2 codebase. They told me to do some like minor infrastructure features. And that's when I realized that c plus plus is not the best language in the world, but it's instead it's Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:56:48</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Automatically Enforce Software Structures With Powerful Code Modifications Powered By LibCST</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>361</itunes:episode>
      <podcast:episode>361</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531634025305368294dfb-b18f-4dec-8dca-b6e799fe2ce3v1.mp3" length="43379514" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531634025305368294dfb-b18f-4dec-8dca-b6e799fe2ce3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_68294dfb-b18f-4dec-8dca-b6e799fe2ce3638558832022345242.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/68294dfb-b18f-4dec-8dca-b6e799fe2ce3638558832018600510.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/68294dfb-b18f-4dec-8dca-b6e799fe2ce3638558832016079170.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Cloud Native Networking For Developers With The Gloo Platform</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h1>Summary</h1>
<p>Communication is a fundamental requirement for any program or application. As the friction involved in deploying code has gone down, the motivation for architecting your system as microservices goes up. This shifts the communication patterns in your software from function calls to network calls. In this episode Idit Levine explains how the Gloo platform that she and her team at Solo have created makes it easier for you to configure and monitor the network topologies for your microservice environments. She also discusses what developers need to know about networking in cloud native environments and how a combination of API gateways and service mesh technologies allow you to more rapidly iterate on your systems.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Idit Levine about what developers need to know about service-oriented networking and her work at Solo on the Gloo project</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Solo is and the story behind it?</li>
<li>How much should developers need to know about the ways that their applications and services are communicating?</li>
<li>What is the current state of networking for applications across physical, cloud, and containerized environments?</li>
<li>How do service mesh features influence the architectural decisions that software teams make while building their applications?
<ul>
<li>What operational capabilities do they unlock?</li>
</ul>
</li>
<li>What are the aspects of application networking that are simplified or enhanced by service mesh platforms?
<ul>
<li>In what ways has service mesh introduced new complexity to operating software systems?</li>
</ul>
</li>
<li>How can developers mirror the network topologies for production environments while working on new features?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Gloo used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Gloo?</li>
<li>When is Gloo the wrong choice?</li>
<li>What do you have planned for the future of Gloo?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/iditlevine/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/Idit_Levine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Idit_Levine</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.netflix.com/title/80236319?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shadow and Bone</a> on Netflix</li>
</ul>
</li>
<li>Idit
<ul>
<li><a href="https://www.hbo.com/movies/the-inventor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elizabeth Holmes HBO Documentary</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.solo.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Solo</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computational_biology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computational Biology</a></li>
<li><a href="https://microservices.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microservices</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://en.wikipedia.org/wiki/Service_mesh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Service Mesh</a></li>
<li><a href="https://istio.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Istio</a></li>
<li><a href="https://linkerd.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkerD</a></li>
<li><a href="https://www.envoyproxy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Envoy Proxy</a></li>
<li><a href="https://microservices.io/patterns/apigateway.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">API Gateway</a></li>
<li><a href="https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CRD == Custom Resource Definition</a></li>
<li><a href="https://www.solo.io/products/gloo-edge/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gloo Edge</a></li>
<li><a href="https://bazel.build/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bazel Build System</a></li>
<li><a href="https://graphql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphQL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mutual_authentication?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mTLS</a></li>
<li><a href="https://www.gitops.tech/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitOps</a></li>
<li><a href="https://dagger.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagger</a></li>
<li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WASM == Web Assembly</a></li>
<li><a href="https://gateway-api.sigs.k8s.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes Gateway API</a></li>
<li><a href="https://www.consul.io/docs/connect?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Consul Connect</a></li>
<li><a href="https://ebpf.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">eBPF</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsolo-gloo-cloud-native-networking-episode-360%2F&amp;action_name=Cloud+Native+Networking+For+Developers+With+The+Gloo+Platform+-+Episode+360&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-04-18t22:07:36+00:00-005c3b3b42bc67d</guid>
      <link>https://www.pythonpodcast.com/solo-gloo-cloud-native-networking-episode-360</link>
      <pubDate>Tue, 19 Apr 2022 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="163.85" duration="25.83">So as I said first, I mean, I wish I could say to you that it started from an ID, honestly. So it did not started because of an ID. It seriously was me working in a few start up that got acquires and then worked in a big company. Just felt that we can do it better. So, basically, the idea was, you know, I felt that we can manage that better, be more optimized. You know? No politics. It's just like, this is a technology. That's what it should be about. I started so as that position.</podcast:soundbite>
      <podcast:soundbite startTime="585.03" duration="38.28">So I think that that's also risky because what if this the engineer, honestly, forgot to to include that library? There is a lot of risk around that, and I think that's exactly what the service mesh is trying to do. Honestly, as an engineer, you shouldn't worry about this stuff. Just assume that it's happening. So as an engineer, honestly, you don't have to be familiar with it out you know, what is the details, how the communication should work, how the security working, and so on. I think that that's something that we can obstruct for the engineers if they are not interested in. And, honestly, I think it's also giving some insurance to the CSA of the world or the IT people that they need to know that this is being forced.</podcast:soundbite>
      <podcast:soundbite startTime="95.76" duration="15.54">And, yeah, and I started solo, honestly, to have an amazing environment for engineers to work market after I worked in a lot of company, and I thought that we can make something that will be funner for people to work with. So that's basically why I started. So, hopefully, it's helpful.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:34</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Cloud Native Networking For Developers With The Gloo Platform</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>360</itunes:episode>
      <podcast:episode>360</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530455496950965a1b5d7-20d0-4d6c-815d-5fdbec42dda0v1.mp3" length="39455187" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530455496950965a1b5d7-20d0-4d6c-815d-5fdbec42dda0v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_65a1b5d7-20d0-4d6c-815d-5fdbec42dda0638558809483660017.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/65a1b5d7-20d0-4d6c-815d-5fdbec42dda0638558809481313567.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/65a1b5d7-20d0-4d6c-815d-5fdbec42dda0638558809479151877.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Accelerate And Simplify Cloud Native Development For Kubernetes Environments With Gefyra</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Cloud native architectures have been gaining prominence for the past few years due to the rising popularity of Kubernetes. This introduces new complications to development workflows due to the need to integrate with multiple services as you build new components for your production systems. In order to reduce the friction involved in developing applications for cloud native environments Michael Schilonka created Gefyra. In this episode he explains how it connects your local machine to a running Kubernetes environment so that you can rapidly iterate on your software in the context of the whole system. He also shares how the Django Hurricane plugin lets your applications work closely with the Kubernetes process model.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>So now your modern data stack is set up. How is everyone going to find the data they need, and understand it? Select Star is a data discovery platform that automatically analyzes &amp; documents your data. For every table in Select Star, you can find out where the data originated, which dashboards are built on top of it, who’s using it in the company, and how they’re using it, all the way down to the SQL queries. Best of all, it’s simple to set up, and easy for both engineering and operations teams to use. With Select Star’s data catalog, a single source of truth for your data is built in minutes, even across thousands of datasets. Try it out for free and double the length of your free trial today at <a href="https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss">pythonpodcast.com/selectstar</a>. You&#8217;ll also get a swag package when you continue on a paid plan.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Michael Schilonka about Gefyra and what is involved with developing applications for Kubernetes environments</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Gefyra is and the story behind it?</li>
<li>What are the challenges that Kubernetes introduces to the development process?
<ul>
<li>What are some of the strategies that developers might use for developing and testing applications that are deployed to Kubernetes environments?</li>
</ul>
</li>
<li>What are the use cases that Gefyra is focused on enabling?
<ul>
<li>What are some of the other tools or platforms that Gefyra might replace or supplement?</li>
</ul>
</li>
<li>What are the services that need to be present in the K8s cluster to enable Gefyra&#8217;s functionality?</li>
<li>Can you describe how Gefyra is implemented?
<ul>
<li>How have the design and goals of the project changed since you first started working on it?</li>
</ul>
</li>
<li>What is the process for getting Gefyra set up between a K8s cluster and a developer&#8217;s laptop?</li>
<li>Can you describe what the developer&#8217;s workflow looks like when using Gefyra?
<ul>
<li>How do you avoid collisions/resource contention among a team of developers who are working on the same project?</li>
</ul>
</li>
<li>What are some of the ways that developing for Kubernetes influences the architectural and design decisions for a project?</li>
<li>What are some of the additional practices or systems that you have found to be beneficial for accelerating development in cloud-native environments?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Gefyra used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Gefyra?</li>
<li>When is Gefyra the wrong choice?</li>
<li>What do you have planned for the future of Gefyra?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/michael-schilonka/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/Schille?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Schille</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/kubernetes-el/kubernetes-el?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">kubernetes.el</a> &#8211; Kubernetes interface for Emacs</li>
</ul>
</li>
<li>Michael
<ul>
<li>It&#8217;s fermentation friday, perfect for baking a <a href="https://www.youtube.com/watch?v=bSYdABrPrtM&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sourdough bread</a> or <a href="https://www.youtube.com/watch?v=AVV3UJCFnA4&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">brewing beer</a></li>
<li>Two of my favorit YouTube channels <a href="https://www.youtube.com/c/inanutshell?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kurzgesagt – In a Nutshell</a> and <a href="https://www.youtube.com/c/lockpickinglawyer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LockPickingLawyer</a></li>
<li>For entrepreneurial spirits: Reddit community research with (GummySearch)[https://gummysearch.com/]?utm_source=rss&utm_medium=rss</li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/nolar/kopf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kopf framework</a></li>
<li><a href="https://github.com/indygreg/PyOxidizer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOxidizer</a></li>
<li><a href="https://github.com/nschloe/tuna?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tuna</a></li>
<li><a href="https://github.com/WireGuard/wireguard-go?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wireguard-go</a></li>
<li><a href="https://k3d.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://k3d.io/?utm_source=rss&utm_medium=rss</a></li>
<li><a href="https://kind.sigs.k8s.io/docs/user/quick-start/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">kind</a></li>
<li><a href="https://django-hurricane.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Hurricane</a></li>
<li><a href="https://www.blueshoe.de/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blueshoe</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://k3d.io/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">K3d</a></li>
<li><a href="https://www.telepresence.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Telepresence</a></li>
<li><a href="https://unikube.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unikube</a></li>
<li><a href="https://docs.microsoft.com/en-us/azure/architecture/patterns/sidecar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sidecar Pattern</a></li>
<li><a href="https://docs.docker.com/compose/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker-compose</a></li>
<li>Kubernetes Patterns book
<ul>
<li><a href="https://www.oreilly.com/library/view/kubernetes-patterns/9781492050278/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">O&#8217;Reilly Platform</a></li>
<li><a href="https://amzn.to/35Z7gIC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon</a> (affiliate link)</li>
</ul>
</li>
<li><a href="https://codezero.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeZero</a></li>
<li><a href="https://coredns.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CoreDNS</a></li>
<li><a href="https://www.nginx.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nginx</a></li>
<li><a href="https://github.com/cookiecutter/cookiecutter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cookiecutter</a></li>
<li><a href="https://www.tornadoweb.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-40-ben-darnell-on-tornado/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://uwsgi-docs.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">uWSGI</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-25-uwsgi-core-developers/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://12factor.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">12 Factor App</a></li>
<li><a href="https://github.com/Blueshoe/pycloak?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pycloak</a></li>
<li><a href="https://www.keycloak.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keycloak</a></li>
<li><a href="https://kubernetes.io/docs/concepts/extend-kubernetes/operator/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes Operator</a></li>
<li><a href="https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes CRD (Custom Resource Definition</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgefyra-cloud-native-development-episode-359%2F&amp;action_name=Accelerate+And+Simplify+Cloud+Native+Development+For+Kubernetes+Environments+With+Gefyra+-+Episode+359&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-04-09t22:02:24+00:00-d65ed39321404fc</guid>
      <link>https://www.pythonpodcast.com/gefyra-cloud-native-development-episode-359</link>
      <pubDate>Mon, 11 Apr 2022 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1653.33" duration="47.66">I think 1 of the biggest learnings I had implementing Jfira was creating an operator That is the most important part of the cluster side components is managed with an operator. And this was the first operator that I've written myself, and it was quite interesting how we can make use of custom resource definitions, which is sort of an extension model to Kubernetes APIs and making Kubernetes aware of maybe domain specific objects, but also for the process of making Gfira work. And this was quite interesting and helped me a lot to decouple the CLI of Gfira from the cluster side components.</podcast:soundbite>
      <podcast:soundbite startTime="211.35" duration="36.55">We have been doing software development in all kinds of fashion from bare metal deployments, Vagrant, Ansible scripts, and so on and so forth. And back in 2018, my team decided to do exclusively Kubernetes. We tried to, yeah, move all of our projects to Kubernetes infrastructures and all of our clients as well. Yeah. We decided for projects that are not feasible or too far away or too small to hand them over to other service providers and to really focus on writing software that has q and a as a target platform.</podcast:soundbite>
      <podcast:soundbite startTime="433.31" duration="22.95">And that is Jifaira. In terms of the overall complexities that come up when you're developing an application that is intended to be deployed onto Kubernetes. What are the points of friction that they run into when using a quote, unquote more traditional workflow where you're just developing on your local machine or maybe even using something like Docker Compose?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:14</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Accelerate And Simplify Cloud Native Development For Kubernetes Environments With Gefyra</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>359</itunes:episode>
      <podcast:episode>359</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314663138677818c9077-bea5-415f-9c67-98ef41399ecdv1.mp3" length="32140667" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314663138677818c9077-bea5-415f-9c67-98ef41399ecdv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_818c9077-bea5-415f-9c67-98ef41399ecd638558825893950751.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/818c9077-bea5-415f-9c67-98ef41399ecd638558825891120558.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/818c9077-bea5-415f-9c67-98ef41399ecd638558825889199552.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building A Community And Technology Stack For Scalable Big Data Geoscience At Pangeo</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Science is founded on the collection and analysis of data. For disciplines that rely on data about the earth the ability to simulate and generate that data has been growing faster than the tools for analysis of that data can keep up with. In order to help scale that capacity for everyone working in geosciences the Pangeo project compiled a reference stack that combines powerful tools into an out-of-the-box solution for researchers to be productive in short order. In this episode Ryan Abernathy and Joe Hamman explain what the Pangeo project really is, how they have integrated a combination of XArray, Dask, and Jupyter to power these analytical workflows, and how it has helped to accelerate research on multidimensional geospatial datasets.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>So now your modern data stack is set up. How is everyone going to find the data they need, and understand it? Select Star is a data discovery platform that automatically analyzes &amp; documents your data. For every table in Select Star, you can find out where the data originated, which dashboards are built on top of it, who’s using it in the company, and how they’re using it, all the way down to the SQL queries. Best of all, it’s simple to set up, and easy for both engineering and operations teams to use. With Select Star’s data catalog, a single source of truth for your data is built in minutes, even across thousands of datasets. Try it out for free and double the length of your free trial today at <a href="https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss">pythonpodcast.com/selectstar</a>. You&#8217;ll also get a swag package when you continue on a paid plan.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ryan Abernathy and Joe Hamman about Pangeo, a community platform for Big Data geoscience</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Pangeo is and the story behind it?
<ul>
<li>What is your role in the project/community and how did you get involved?</li>
</ul>
</li>
<li>What are the goals of the project and community?
<ul>
<li>What are the areas of effort and how are they organized?</li>
</ul>
</li>
<li>What are the scientific domains that Pangeo is focused on supporting?
<ul>
<li>What are the primary challenges associated with data management and analysis in these scientific communities?</li>
</ul>
</li>
<li>What are the forms that these data take and how have they been evolving? (e.g. formats/sources)</li>
<li>What are some of the challenges introduced by the widespread adoption of cloud resources and the associated architectural patterns?</li>
<li>Can you describe the technical components that fall under the Pangeo umbrella?
<ul>
<li>How do they come together to form a functional workflow for geo sciences?</li>
</ul>
</li>
<li>How has the scope of the Pangeo project changed or evolved since it started?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Pangeo used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Pangeo?</li>
<li>When is Pangeo the wrong choice?</li>
<li>What do you have planned for the future of Pangeo?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li>Joe
<ul>
<li><a href="https://twitter.com/HammanHydro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@HammanHydro</a> on Twitter</li>
</ul>
</li>
<li>Ryan
<ul>
<li><a href="https://twitter.com/rabernat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@rabernat</a> on Twitter</li>
<li><a href="https://github.com/rabernat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rabernat</a> on GitHub</li>
<li><a href="https://ocean-transport.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.rei.com/learn/expert-advice/mountain-biking-beginners.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mountain Biking</a></li>
</ul>
</li>
<li>Ryan
<ul>
<li><a href="https://www.amazon.com/Klara-Sun-novel-Kazuo-Ishiguro/dp/059331817X?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Klara And The Sun</a> by Kazuo Ishiguro</li>
</ul>
</li>
<li>Joe
<ul>
<li><a href="https://davidepstein.com/the-range/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Range</a> by David Epstein</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="http://pangeo.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pangeo</a></li>
<li><a href="https://pangeo-forge.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pangeo Forge</a></li>
<li><a href="https://carbonplan.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CarbonPlan</a></li>
<li><a href="https://m2lines.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">M2LInES</a></li>
<li><a href="https://leap.columbia.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LEAP</a></li>
<li><a href="https://www.columbia.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Columbia University</a></li>
<li><a href="https://xarray.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XArray</a></li>
<li><a href="https://web.mit.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MatLab</a></li>
<li><a href="https://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C</a></li>
<li><a href="https://fortran-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fortran</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://en.wikipedia.org/wiki/IDL_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IDL</a></li>
<li><a href="https://www.hdfgroup.org/solutions/hdf5/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HDF5</a></li>
<li><a href="https://www.unidata.ucar.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unidata</a></li>
<li><a href="https://www.unidata.ucar.edu/software/netcdf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetCDF</a></li>
<li><a href="https://cfconventions.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CF Metadata Conventions</a></li>
<li><a href="https://intake.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Intake</a>
<ul>
<li><a href="https://www.pythonpodcast.com/intake-data-catalog-episode-213/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://filesystem-spec.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FSSpec</a></li>
<li><a href="https://parquet.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parquet</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/data-serialization-with-doug-cutting-and-julien-le-dem-episode-8/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://zarr.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zarr</a></li>
<li><a href="https://www.dataengineeringpodcast.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a></li>
<li><a href="https://pangeo-forge.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pangeo Forge</a></li>
<li><a href="https://airbyte.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airbyte</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/airbyte-open-source-data-integration-episode-173/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="">Fivetran</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/fivetran-data-replication-episode-93/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.stitchdata.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitch</a></li>
<li><a href="https://tiledb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TileDB</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/tiledb-universal-data-engine-episode-146/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://projectpythia.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pythia</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpangeo-big-data-geoscience-episode-358%2F&amp;action_name=Building+A+Community+And+Technology+Stack+For+Scalable+Big+Data+Geoscience+At+Pangeo+-+Episode+358&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-03-27t18:32:00+00:00-7b2ecbac89b8f35</guid>
      <link>https://www.pythonpodcast.com/pangeo-big-data-geoscience-episode-358</link>
      <pubDate>Mon, 28 Mar 2022 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2317.89" duration="31.43">You know, in the early days, we had kind of 3 main goals. Foster collaboration around open source Python for applications in the climate sciences and geosciences sciences more broadly, support all these domain specific packages, and then improve the scalability of them to petabyte scale data analysis problems. Where we're at today is not that we've solved all those problems, but we solved some of those problems. And what we're seeing as we've kind of transformed into something that's more user like, there's probably more users in Pangio than there are developers today.</podcast:soundbite>
      <podcast:soundbite startTime="1649.80" duration="43.61">Another interesting element of this overall problem space that you've touched on a couple of times is the advent of the cloud and its increasing popularity and the different access patterns that it enables and requires as compared to HPC, which is where a lot of this research and analysis has been done up till now. And I'm curious if you can talk to some of the challenges that this move to the cloud brings to this analytical flow and some of the ways that Pangio is helping people make that migration off of these monolithic HPC systems that you have to try and allocate your time share onto versus the public cloud where you just need to give them a credit card and hope that your budget doesn't run out.</podcast:soundbite>
      <podcast:soundbite startTime="331.99" duration="34.83">It all started with X-ray. Right? So do we need to talk a little bit about X-ray? So X-ray is a fantastic tool for data science, particularly for scientific data, which doesn't necessarily fit into that tabular data model that Pandas addresses so well. Back in around 2013 to 2014, a lot of us who were working with scientific data in Earth system science, so, like, big satellite datasets or model simulations, We all had our own little private version of something that looked like X-ray.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:08</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building A Community And Technology Stack For Scalable Big Data Geoscience At Pangeo</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>358</itunes:episode>
      <podcast:episode>358</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531656252867379d0cb36-7b45-49a9-bed1-b9c58fa9fea5v1.mp3" length="42163585" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531656252867379d0cb36-7b45-49a9-bed1-b9c58fa9fea5v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_79d0cb36-7b45-49a9-bed1-b9c58fa9fea5638558832881359127.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79d0cb36-7b45-49a9-bed1-b9c58fa9fea5638558832876487166.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79d0cb36-7b45-49a9-bed1-b9c58fa9fea5638558832874136260.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Automating Application Lifecycles For Developer Happiness At Wayfair</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>A common piece of advice when starting anything new is to &quot;begin with the end in mind&quot;. In order to help the engineers at Wayfair manage the complete lifecycle of their applications Joshua Woodward runs a team that provides tooling and assistance along every step of the journey. In this episode he shares some of the lessons and tactics that they have developed while assisting other engineering teams with starting, deploying, and sunsetting projects. This is an interesting look at the inner workings of large organizations and how they invest in the scaffolding that supports their myriad efforts.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>So now your modern data stack is set up. How is everyone going to find the data they need, and understand it? Select Star is a data discovery platform that automatically analyzes &amp; documents your data. For every table in Select Star, you can find out where the data originated, which dashboards are built on top of it, who’s using it in the company, and how they’re using it, all the way down to the SQL queries. Best of all, it’s simple to set up, and easy for both engineering and operations teams to use. With Select Star’s data catalog, a single source of truth for your data is built in minutes, even across thousands of datasets. Try it out for free and double the length of your free trial today at <a href="https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss">pythonpodcast.com/selectstar</a>. You&#8217;ll also get a swag package when you continue on a paid plan.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Joshua Woodward about how the application lifecycle team at Wayfair uses Python to</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions
<ul>
<li>Josh Woodward, for the past year have been managing the application lifecycle team at Wayfair. Prior to that, IC on python platforms team. Embed with teams looking to decouple from monolith. See pain points first hand.</li>
</ul>
</li>
<li>How did you get introduced to Python?
<ul>
<li>High school physics class, TI84 Calculator, friend wrote a program to solve vector problems, I thought it was amazing.</li>
<li>Used TI-Basic to solve specific physics problems for me. (Give fixed inputs, run through equation, get outputs)</li>
<li>Approaching college, thinking about student loans.</li>
<li>Heard about python and decided to give it a shot.</li>
<li>Wrote program to simulate various payback / interest scenarios.</li>
<li>Went to college for ME, switched to SE when I found out my dorm neighbors were using python to draw cool images with python + turtle</li>
</ul>
</li>
<li>Can you describe what the role of the application lifecycle team is and the story behind it?
<ul>
<li>Story behind it:
<ul>
<li>Around 2018, in a state where we had deploy congestion, challenging to iterate and ship changes. tech org invested in containerization and decoupling to directly combat this problem. Teams incentiviced to decouple.</li>
<li>While on python platforms, the team had already been experimenting with code templating.</li>
<li>Standard cookiecutter template for flask apps.</li>
<li>Wayfair experimenting with Kubernetes late 2017.</li>
<li>Spent 1 year embedding with 4 different teams to help knowledge transfer re: k8s, containers, application setup, python best practices, testing, linting, etc &#8211; through that we got a lot of great feedback on our tooling.</li>
<li>Took senior engineers weeks to get something setup.
<ul>
<li>Know who to contact, click the right buttons, file the right ticket</li>
</ul>
</li>
<li>Approach: Counted manual steps. Something like 60 distinct / atomic activities that had to be performed to get a &quot;hello world&quot; response from a basic flask app in production.</li>
<li>Focus on reduce manual steps</li>
<li>Released product (Mamba, on theme of snakes)</li>
<li>Initially, supporting one main user story.</li>
<li>User story: &quot;As an engineer, I would like to create a production ready application in 10 minutes so that I can have a reliable and standardized application setup that follows best practices.&quot;</li>
<li>grew out of python platforms, created own team with own scope, that was about 1.5 years ago.</li>
</ul>
</li>
</ul>
</li>
<li>What is your team&#8217;s scope now?
<ul>
<li>Team Scope is to facilitate the creation, maintenance, and decommissioning of decoupled applications at Wayfair.</li>
</ul>
</li>
<li>What are the interfaces that your team has to the rest of the organization?
<ul>
<li>People Interfaces:</li>
<li>We value getting feedback on our work to build strong products.</li>
<li>Make assumptions, Willing to be wrong. Validate assumptions with customers.</li>
<li>Software Interfaces:</li>
<li>for mamba, CLI at first</li>
<li>Backstage (open sourced from spotify)</li>
<li>Lots of Github</li>
</ul>
</li>
<li>What is your method of determining what projects to work on?
<ul>
<li>(See above). Known pain points. Intuition, Free day fridays. Being comfortable taking risk (using friday time). Vet solution with customers.</li>
<li>How do you measure the impact of your work on the rest of the organization?
<ul>
<li>We don&#8217;t force use of our products. Adoption of tooling.
<ul>
<li>Number of microservices being spun up.</li>
<li>Number of automated pull requests being created, merged.</li>
</ul>
</li>
<li>DORA metrics throughput (deployment frequency, lead time for changes) and stability (change failure rate, mean time to recovery)</li>
</ul>
</li>
</ul>
</li>
<li>What is the role of Python in your work?
<ul>
<li>we use it and love it!
<ul>
<li>existing skillset from incubation phase within python platforms</li>
</ul>
</li>
<li>right tool for the job
<ul>
<li>lightweight automation</li>
<li>hitting lots of APIs</li>
<li>define lots of user facing specifications (json, yaml)</li>
<li>pydantic has been great for creating descriptive, human and machine specifications.</li>
</ul>
</li>
<li>open source (we rely on it, we also have some presence)
<ul>
<li>cookiecutter -&gt; columbo</li>
<li>gitpython -&gt; pygitops</li>
</ul>
</li>
</ul>
</li>
<li>Can you tell me more about your application creation solution. Who can use it, and what does it actually do?
<ul>
<li>Written in python, though it templates out code for any language.</li>
<li>Runs automation to onboard an application to production
<ul>
<li>git repo, build pipeline, calling out to various APIs to signal a new app is present</li>
</ul>
</li>
<li>Wayfair has a variety of applications (python, java, .net, php, javascript, some go)</li>
<li>Team interested in integrating with our solution will create a github repository containing 1..* cookiecutter template(s)</li>
<li>Provide a specification for what questions to ask users.
<ul>
<li>Limitation with cookiecutter where the approach to ask questions isn&#8217;t dynamic. lack of validation.</li>
<li>Pat Lannigan -&gt; Columbo (open sourced). Python DSL to describe the set of questions to ask users.</li>
<li>python fastapi application will have a completely different set of questions than a java library for example.</li>
</ul>
</li>
</ul>
</li>
<li>You had mentioned that another part of your team scope is to facilitate the maintenance of applications. Can you tell me more about that?
<ul>
<li>Reduce engineering toil around keeping applications up to date.</li>
<li>Average engineer owns several, dozens of repos</li>
<li>Create automated pull requests:
<ul>
<li>Versioned dependencies (Renovate)</li>
<li>Propagating platform changes (Gator)</li>
<li>Ex1: python apps use &quot;black&quot; to format code and our python platform team would like to prescribe a line length. Our tooling can be used to declare desired changes. yaml specification -&gt; pr automation at scale.</li>
<li>Ex2: shared library, new version released, breaking interface change. Code instructions for performing AST manipulation and resolving breaking change for people.</li>
<li>Shift from: &quot;We need you to do this&quot;, &quot;I am proactively letting you know that something needs to change, and I also made the change for you!&quot;</li>
</ul>
</li>
</ul>
</li>
<li>How do you actually go about creating automated pull requests?
<ul>
<li>manual steps would involve cloning, checking out feature branch, applying code changes, staging / committing, pushing up branch, creating the PR</li>
<li>gitpython is an existing and extremely powerful tool, but its api is fairly involved and (by design) doesn&#8217;t provide the type of high level abstractions that we need.</li>
<li>created pygitops (open sourced), built completely on top of gitpython</li>
<li>high level abstractions for the workflow I described.</li>
<li>coolest / most pythonic part about it is the &quot;feature branch&quot; context manager.</li>
<li>code changes are made in the context of a feature branch</li>
<li>when you intentionally or accidentally leave the context of a feature branch, we want certain things to be true (default / main branch, clean workdir, no unstaged changes)</li>
<li>when writing PR automation, don&#8217;t have to worry about this!</li>
</ul>
</li>
<li>Can you describe some of the more technical details about how your change propagation system (Gator) works?
<ul>
<li>heavily inspired by kubernetes resource model (resources are defined via a declarative specification)</li>
<li>Kubernetes itself ships with resources that implement behaviors of common resources (pods, services, etc)</li>
<li>Gator&#8217;s execution model is broken up into two parts:
<ul>
<li>what repos to act on (Source)</li>
<li>what are the changes that need to be applied. (Output)</li>
</ul>
</li>
<li>Ex: Source to proxy github search. write github search query to get back list of repos</li>
<li>Output to scan a repo for regex pattern at specified paths and replace with some fixed term. Very popular, engineers love find and replace.</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen mamba / gator used?
<ul>
<li>resource model of gator supports the idea of we don&#8217;t know, what we don&#8217;t know</li>
<li>reference k8s, CRDs, resource model.</li>
<li>container execution</li>
<li>log4j identification and remidiation
<ul>
<li>automate some of the work for identifying vulnerabilities</li>
<li>java platform team was able to use java native tooling in the environment of their choosing to identify vulnerable apps.</li>
</ul>
</li>
</ul>
</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on application lifecycle concerns?</li>
<li>What do you have planned for the future of application lifecycle management/developer experience improvements at Wayfair?
<ul>
<li>Hope to start open sourcing interesting aspects of our change propagation tool (Gator)</li>
<li>As someone who maintains many open source projects, or even at the enterprise level, we think that some of our patterns and approaches can be shared! yaml -&gt; code changes</li>
</ul>
</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="mailto:jwoodward@wayfair.com">Email</a></li>
<li><a href="https://github.com/jdw6359?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
<li><a href="https://www.linkedin.com/in/joshua-woodward-06383b61/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linkedin</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.rigonidiasiago-usa.com/nocciolata/nocciolata/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nocciolata</a> hazelnut spread</li>
</ul>
</li>
<li>Joshua
<ul>
<li><a href="https://store.steampowered.com/app/255710/Cities_Skylines/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cities Skylines Game</a></li>
<li><a href="https://www.youtube.com/watch?v=A2FhKMLRays&amp;list=PLXdi-Ns7w3jinCyFeq5KlZYhUBdR3tl8s&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cities Skylines &#8211; Cities Planner Plays: Verde Beach</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/wayfair-incubator/pygitops?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pygitops</a></li>
<li><a href="https://github.com/wayfair-incubator/columbo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">columbo</a></li>
<li><a href="https://backstage.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">backstage</a></li>
<li><a href="https://github.com/renovatebot/renovate?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">renovate</a></li>
<li><a href="https://jellyfish.co/blog/dora-metrics-101/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DORA metrics</a></li>
<li><a href="https://education.ti.com/en/products/calculators/graphing-calculators/ti-84-plus?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TI-84</a> Calculator</li>
<li><a href="https://en.wikipedia.org/wiki/TI-BASIC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TI BASIC</a></li>
<li><a href="https://www.pythonpodcast.com/python-adoption-wayfair-episode-236/?pk_vid=fb84a1794289966116477403157fb151&utm_source=rss&utm_medium=rss">Wayfair Python Platforms Team Podcast Episode</a></li>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pydantic</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pydantic-data-validation-episode-263/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://helm.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Helm</a></li>
<li><a href="https://pyup.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyUp</a></li>
<li><a href="https://gitpython.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitPython</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The…]]></description>
      <guid isPermaLink="false">podlove-2022-03-20t20:38:51+00:00-11f22fce7b08f0b</guid>
      <link>https://www.pythonpodcast.com/wayfair-application-lifecycle-automation-episode-357</link>
      <pubDate>Sun, 20 Mar 2022 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="432.53" duration="45.45">So when the team was created, we had the 1 solution to manage the application creation process, but we decided to carve out somewhat of an ambitious scope. And we decided that instead of just focusing on application creation, it made sense to deal with the entire life cycle of kind of abstractly managing a decoupled application. So not only did we want to support the creation of these apps, but we also recognized that even maintaining these apps and keeping them up to date and keeping them running in our production environment involved a lot of toil for our developers, so we wanted to support that as well. Also, we care about application decommissioning. 1 thing we wanted to avoid was having a bunch of things running in our production environment that didn't really have anything referencing it and weren't actually providing production value.</podcast:soundbite>
      <podcast:soundbite startTime="115.43" duration="28.09">So, Josh, can you start by introducing yourself? Sure, Tobias. My name is Josh Woodward. And for the past year, I've been managing the application life cycle team at Wayfair. Prior to that, I was an IC on the Python platform team. 1 of the really cool things that I got to do was embed with teams looking to decouple from our PHP monolith. 1 thing I really enjoyed about that is I got to see a lot of pain points from that experience firsthand, and that kind of folds directly into a lot of what I wanna talk about with you today.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:46:12</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Automating Application Lifecycles For Developer Happiness At Wayfair</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>357</itunes:episode>
      <podcast:episode>357</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314874752767593c1e49-12af-480c-971f-9d3ea95a9fc1v1.mp3" length="36026344" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314874752767593c1e49-12af-480c-971f-9d3ea95a9fc1v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_593c1e49-12af-480c-971f-9d3ea95a9fc1638558826812585698.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/593c1e49-12af-480c-971f-9d3ea95a9fc1638558826809742894.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/593c1e49-12af-480c-971f-9d3ea95a9fc1638558826807408243.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Run Your Applications Reliably On Kubernetes Without Losing Sleep With Robusta</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Kubernetes is a framework that aims to simplify the work of running applications in production, but it forces you to adopt new patterns for debugging and resolving issues in your systems. Robusta is aimed at making that a more pleasant experience for developers and operators through pre-built automations, easy debugging, and a simple means of creating your own event-based workflows to find, fix, and alert on errors in production. In this episode Natan Yellin explains how the project got started, how it is architected and tested, and how you can start using it today to keep your Python projects running reliably.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>So now your modern data stack is set up. How is everyone going to find the data they need, and understand it? Select Star is a data discovery platform that automatically analyzes &amp; documents your data. For every table in Select Star, you can find out where the data originated, which dashboards are built on top of it, who’s using it in the company, and how they’re using it, all the way down to the SQL queries. Best of all, it’s simple to set up, and easy for both engineering and operations teams to use. With Select Star’s data catalog, a single source of truth for your data is built in minutes, even across thousands of datasets. Try it out for free and double the length of your free trial today at <a href="https://www.pythonpodcast.com/selectstar?utm_source=rss&utm_medium=rss">pythonpodcast.com/selectstar</a>. You&#8217;ll also get a swag package when you continue on a paid plan.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Natan Yellin about Robusta,</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Robusta is and the story behind it?</li>
<li>What are some of the challenges that teams face when running their systems in Kubernetes?
<ul>
<li>How does Robusta help address those difficulties?</li>
</ul>
</li>
<li>How does Robusta compare to e.g. Rookout?</li>
<li>What are some of the ways that Robusta is able to provide specific insights for Python applications?</li>
<li>Can you describe how Robusta is implemented?
<ul>
<li>What are some of the most challenging engineering tasks that you have had to work through while building Robusta?</li>
<li>How have the capabilities and components evolved from when you started working on it?</li>
</ul>
</li>
<li>What is the workflow for integrating Robusta into a Kubernetes environment and a team&#8217;s maintenance processes?</li>
<li>What are some examples of the kinds of questions that Robusta can help answer out of the box?
<ul>
<li>What are some tasks that Robusta facilitates which require manual exploration?</li>
</ul>
</li>
<li>What are the interfaces available for customizing and extending the functionality of Robusta?
<ul>
<li>What is involved in adding a new automation capability to Robusta?</li>
</ul>
</li>
<li>How have you approached the design of the tool to make it ergonomic and intuitive so that it doesn&#8217;t contribute to the stresses of dealing with errors in production?</li>
<li>Given that it is a tool to help resolve problems in production infrastructure, how have you worked to ensure its reliability and resilience?</li>
<li>What is the governance and sustainability model for Robusta?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Robusta used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Robusta?</li>
<li>When is Robusta the wrong choice?</li>
<li>What do you have planned for the future of Robusta?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/natanyellin/?originalSubdomain=il&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/aantn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@aantn</a> on Twitter</li>
<li><a href="https://github.com/aantn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">aantn</a> on GitHub</li>
<li><a href="https://natanyellin.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/3Jpnrxr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes: Up And Running</a> (affiliate link)</li>
</ul>
</li>
<li>Natan
<ul>
<li><a href="https://www.youtube.com/watch?v=HlAXp0-M6SY&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes for SysAdmins</a> Youtube video by Kelsey Hightower</li>
<li>Learn to delegate</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://robusta.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robusta</a></li>
<li><a href="https://developers.google.com/open-source/ghop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GHOP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Objective-C?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Objective C</a></li>
<li><a href="https://snyk.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snyk</a></li>
<li><a href="https://heroku.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heroku</a></li>
<li><a href="https://cloud.google.com/appengine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google AppEngine</a></li>
<li><a href="https://en.wikipedia.org/wiki/Out_of_memory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OOM Killer</a></li>
<li><a href="https://en.wikipedia.org/wiki/Knapsack_problem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bin Packing/Knapsack Problem</a></li>
<li><a href="https://prometheus.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prometheus</a></li>
<li><a href="https://kubernetes.io/docs/concepts/workloads/pods/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes Pods</a></li>
<li><a href="https://github.com/benfred/py-spy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PySpy</a></li>
<li><a href="https://docs.python.org/3/library/tracemalloc.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tracemalloc</a></li>
<li><a href="https://github.com/lmacken/pyrasite?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyrasite</a></li>
<li><a href="https://code.visualstudio.com/docs/editor/debugging?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VSCode Debugger</a></li>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pydantic</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pydantic-data-validation-episode-263/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://helm.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Helm</a> &#8211; Kubernetes package manager</li>
<li><a href="https://github.com/robusta-dev/WhyProfiler?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Why Profiler</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Frobusta-kubernetes-application-maintenance-episode-356%2F&amp;action_name=Run+Your+Applications+Reliably+On+Kubernetes+Without+Losing+Sleep+With+Robusta+-+Episode+356&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-03-14t00:58:45+00:00-d59b887c20ffc3b</guid>
      <link>https://www.pythonpodcast.com/robusta-kubernetes-application-maintenance-episode-356</link>
      <pubDate>Mon, 14 Mar 2022 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1281.23" duration="67.25">And for each of those 3 things, then with Robusta, we just took the best open source tool that was out there, and we made it possible to use it on Kubernetes. For the memory stuff, we essentially use TraceMatic. And I don't know if you're familiar with it, but there used to be this tool, this library called Parasite, which injected code into Python processes. Yeah. I see you're nodding your head. I see you're familiar with that. Parasite is really cool. It just has a bug that's been there for, like, 10, 20 years since it first came out, which occasionally causes things to deadlock. So we forked in, and we fixed them, and we ended up rewriting it. It no longer looks anything like the original. But we essentially can inject Trace Malloc into your Python application. Trace Malloc is, like, the go to library and standard library for debugging memory leaks. And essentially, that's you say, okay. Give me right now, this moment, like, a copy of everything in the heap. And then you take another snapshot later on. You say, okay. Now give me the diff between them. And then the diff is what you leaked in that time period, wherever you allocate in DIMM free. So, essentially, in Robusta, we have something that that's you kind of inject trace malloc into an application at the exact right moment, and then we'll tell you what's leaking, and then we remove it. You kind of forget it was even there, and it stops doing anything.</podcast:soundbite>
      <podcast:soundbite startTime="2719.23" duration="54.09">So we're looking for help with everything from, like, improvements to the docs to adding different automation actions to new triggers to new syncs. Really, just open up the GitHub and the GitHub Issues page. And I got started, like I said at the beginning of the podcast, started programming in Python when I was, like, 14 years old with Google highly open participation contest. I wouldn't be where I am at today in my career. I wouldn't be CEO of a start up had I not been so heavily involved in open source and really learned from the community and got feedback from people and got CRs and really learned that way. So it's something we also try and give back. And when people commonly wanna contribute, then we try and find something that's appropriate for each person. We try and really help you and mentor you and, like, let you advance your career goals by getting involved in open source and get you involved in stuff that advances what you wanna work on and what will help you. So if you're interested in getting involved in open source project, I think we're 1 of the friendlier projects for that, especially because of our own backgrounds.</podcast:soundbite>
      <podcast:soundbite startTime="713.68" duration="17.83">So what we're doing with Robusta is really 4 things that all build on top of 1 another. And the general vision for Robusta is that we'll look at your production environment, and we'll say, here are the issues. Here's what you should do about them, and click here to fix it. And when that's not sufficient, then we'll give you really good tools to troubleshoot it yourself.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:43</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Run Your Applications Reliably On Kubernetes Without Losing Sleep With Robusta</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>356</itunes:episode>
      <podcast:episode>356</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299758298277318bd180-a52f-4d87-8790-2d96ad386c89v1.mp3" length="42260240" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299758298277318bd180-a52f-4d87-8790-2d96ad386c89v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_318bd180-a52f-4d87-8790-2d96ad386c89638558797063021612.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/318bd180-a52f-4d87-8790-2d96ad386c89638558797060721387.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/318bd180-a52f-4d87-8790-2d96ad386c89638558797058629429.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Accelerate The Development And Delivery Of Your Machine Learning Applications Using Ray And Deploy It At Anyscale</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Building a machine learning application is inherently complex. Once it becomes necessary to scale the operation or training of the model, or introduce online re-training the process becomes even more challenging. In order to reduce the operational burden of AI developers Robert Nishihara helped to create the Ray framework that handles the distributed computing aspects of machine learning operations. To support the ongoing development and simplify adoption of Ray he co-founded Anyscale. In this episode he re-joins the show to share how the project, its community, and the ecosystem around it have grown and evolved over the intervening two years. He also explains how the techniques and adoption of machine learning have influenced the direction of the project.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Robert Nishihara about his work at Anyscale and the Ray distributed execution framework</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Anyscale is and the story behind it?</li>
<li>How has the Ray project and ecosystem evolved since we last spoke? (2 years ago)
<ul>
<li>How has the landscape of AI/ML technologies and techniques shifted in that time?</li>
</ul>
</li>
<li>What are the main areas where organizations are trying to apply ML/AI?</li>
<li>What are some of the issues that teams encounter when trying to move from prototype to production with ML/AI applications?
<ul>
<li>What are the features of Ray that help to mitigate those challenges?</li>
</ul>
</li>
<li>With the introduction of more widely available streaming/real-time technologies the viability of reinforcement learning has increased. What new challenges does that approach introduce?</li>
<li>What are some of the operational complexities associated with managing a deployment of Ray?
<ul>
<li>What are some of the specialized utilities that you have had to develop to maintain a large and multi-tenant platform for your customers?</li>
</ul>
</li>
<li>What is the governance model around the Ray project and how does the work at Anyscale influence the roadmap?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Anyscale/Ray used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Ray and Anyscale?</li>
<li>When is Anyscale/Ray the wrong choice?</li>
<li>What do you have planned for the future of Anyscale/Ray?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/robertnishihara?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">robertnishihara</a> on GitHub</li>
<li><a href="https://twitter.com/robertnishihara?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@robertnishihara</a> on Twitter</li>
<li><a href="http://www.robertnishihara.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/robert-nishihara-b6465444/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://edgechronicles.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Edge Chronicles</a>: <a href="http://www.edgechronicles.co.uk/discover-the-books/the-twig-saga/beyond-the-deepwoods/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beyond The Deepwoods</a></li>
</ul>
</li>
<li>Robert
<ul>
<li><a href="https://www.anyscale.com/production-rl-summit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Production RL Summit</a></li>
<li><a href="https://www.andyweirauthor.com/books/project-hail-mary-hc/project-hail-mary-el?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Hail Mary</a> by Andy Weir</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://docs.ray.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.anyscale.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anyscale</a></li>
<li><a href="https://www.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UC Berkeley</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="https://numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://horovod.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Horovod</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ludwig-horovod-distributed-declarative-deep-learning-episode-341/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://xgboost.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XGBoost</a></li>
<li><a href="https://modin.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modin</a>
<ul>
<li><a href="https://www.pythonpodcast.com/modin-parallel-dataframe-episode-324/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a></li>
<li><a href="https://docs.ray.io/en/latest/data/dataset.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray Datasets</a></li>
<li><a href="https://en.wikipedia.org/wiki/Reinforcement_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reinforcement Learning</a></li>
<li><a href="https://www.anyscale.com/production-rl-summit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Production Reinforcement Learning Summit</a></li>
<li><a href="https://en.wikipedia.org/wiki/AlphaGo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AlphaGo</a></li>
<li><a href="https://databricks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Databricks</a></li>
<li><a href="https://www.snowflake.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowflake</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/snowflakedb-cloud-data-warehouse-episode-110/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Tensor_Processing_Unit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TPU == Tensor Processing Unit</a></li>
<li><a href="https://www.wandb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Weights and Biases</a></li>
<li><a href="https://mlflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MLFlow</a></li>
<li><a href="https://docs.ray.io/en/latest/rllib/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RLLib</a></li>
<li><a href="https://docs.ray.io/en/latest/serve/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray Serve</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fanyscale-machine-learning-applications-episode-355%2F&amp;action_name=Accelerate+The+Development+And+Delivery+Of+Your+Machine+Learning+Applications+Using+Ray+And+Deploy+It+At+Anyscale+-+Episode+355&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-03-06t21:17:33+00:00-d758541214fed33</guid>
      <link>https://www.pythonpodcast.com/anyscale-machine-learning-applications-episode-355</link>
      <pubDate>Sun, 6 Mar 2022 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="236.20" duration="45.65">So we started Ray as an open source project to try to do that. We had no ambitions to start a company. I think if you asked us at the time whether we would start a company, we probably would have been fairly dismissive of the idea. And, you know, our focus was on making the open source project useful for people. We started working on it, trying to grow the project, get more users. We're running around Berkeley, trying to get our friends to try it out and, you know, washing over their shoulders as they installed it and started using it. Of course, they run into issues and then we try to, you know, debug those issues on the fly and and get them to try it out again. And this evolved over time. All at Berkeley, we were running boot camps, running tutorials to train people how to use Ray. We started collaborating with companies that were using Ray in production, giving talks, you know, and running training sessions.</podcast:soundbite>
      <podcast:soundbite startTime="1271.39" duration="69.86">So there's a few things there to touch on. 1 is that a lot of this work on, you know, things like model pruning or, you know, making, like performance optimizations for neural networks. A lot of the work being done there is being done in the deep learning frameworks themselves, whether that is TensorFlow or PyTorch or JAX or things like other tools. And so because Ray integrates and is compatible with all of these different frameworks, we inherit the benefits of all of these things. So if somebody comes up with a way to, you know, discretize your neural net weights or, you know, prune the neural network, you know, to improve the performance, then you can scale that with Ray or you can serve it with Ray. You can do training with Ray. And, you know, Ray will handle all of the kind of, like, distributed computing aspects of it, but you sort of get the benefits of all of these things together. So, you know, a lot of the focus of Ray is on the infrastructure and sort of the compute layer, and then we integrate with all of the other, you know, tools that everyone is building. But we do see that come up certainly with training. It's a common theme to see, you know, a lot of these training algorithms are bottlenecked by communication between the machines.</podcast:soundbite>
      <podcast:soundbite startTime="419.88" duration="68.09">So Ray really has 2 parts to it. There is the core, you know, underlying distributed system, which is fairly low level. It lets you take regular Python code built out of functions, Python functions, Python classes, and to kind of translate those into the distributed settings so that you can take pretty much an arbitrary Python application and find a way to scale it. So it's super general, super flexible, but it is fairly low level. Right? So if you want to build powerful applications on top of the core Ray system, you can do it, but you have to build a lot of stuff. So the second part of Ray is on top of this core system, there's an ecosystem of libraries. And, you know, they're higher level tools. They're easier to use. They just work off the shelf. Right? This could be for, you know, scaling deep learning training. It could be for scaling, you know, your hyperparameter tuning and its machine learning experimentation. It could be for your data loading and preprocessing right before you do the training. It could be for deploying the models. It could be for reinforcement learning. You know, there are many libraries like this you can use and scale on top of Ray.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:58</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Accelerate The Development And Delivery Of Your Machine Learning Applications Using Ray And Deploy It At Anyscale</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>355</itunes:episode>
      <podcast:episode>355</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253054519038594a552bb2-2829-41a3-94c3-6c05f523fc12v1.mp3" length="35293011" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253054519038594a552bb2-2829-41a3-94c3-6c05f523fc12v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4a552bb2-2829-41a3-94c3-6c05f523fc12638558813659452661.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4a552bb2-2829-41a3-94c3-6c05f523fc12638558813657114549.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4a552bb2-2829-41a3-94c3-6c05f523fc12638558813654967200.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>See The Structure Of Your Software At A Glance With Call Graphs From Code2Flow</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>As software projects grow and change it can become difficult to keep track of all of the logical flows. By visualizing the interconnections of function definitions, classes, and their invocations you can speed up the time to comprehension for newcomers to a project, or help yourself remember what you worked on last month. In this episode Scott Rogowski shares his work on Code2Flow as a way to generate a call graph of your programs. He explains how it got started, how it works, and how you can start using it to understand your Python, Ruby, and PHP projects.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Subsurface Live is the cloud data lake conference, a virtual conference where data engineers, data scientists, data architects, and data analysts can gather and hear about cloud data lakes and the data ecosystem. Subsurface Live Winter 2022 includes keynote talks from Bill Inmon, the father of the data warehouse, Author of Deep Work Cal Newport, and several more from companies such as Dremio, AWS, dbt, and more. Subsurface will also have many breakout sessions featuring Pandas creator Wes McKinney, Apache Superset &amp; Airflow creator Maxime Beauchemin, and engineers from Apple, Uber, Adobe, Bloomberg, and more. Meet other data professionals and learn about the data technologies and practices helping companies meet their current and future data needs. Register today at <a href="https://www.pythonpodcast.com/subsurface?utm_source=rss&utm_medium=rss">pythonpodcast.com/subsurface</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Scott Rogowski about Code2Flow, a utility for generating &quot;pretty good&quot; call graphs for dynamic languages</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Code2Flow is and the story behind it?</li>
<li>What are some of the ways that a program&#8217;s call graph might be used?</li>
<li>How does the visual representation generated by Code2Flow help with exploring the structure of a project?
<ul>
<li>What are some of the alternative approaches/tools that might be used to gain similar insights?</li>
<li>What do you see as the overlap in utility between Code2Flow and e.g. SourceGraph?</li>
</ul>
</li>
<li>Can you describe how the Code2Flow project is implemented?
<ul>
<li>How have the design and goals of the project changed since you first began working on it?</li>
</ul>
</li>
<li>Given that Code2Flow is implemented in Python, how have you managed the parsing/processing of the other languages that you support?</li>
<li>Visualizing a complex program can quickly become very messy. How have you approached the layout of the output to enhance comprehension?</li>
<li>What are some of the situations where Code2Flow will be unable to provide a full picture of a program&#8217;s call graph?</li>
<li>What are some of the pieces of information that are unavailable due to the static analysis approach that you have taken?</li>
<li>Can you describe the process of applying Code2Flow to a project?
<ul>
<li>Once the structure is on display, what are some next steps that an individual or team might take to analyze and act on the information?</li>
</ul>
</li>
<li>Given the static nature of the output, how might Code2Flow be incorporated in a CI/CD system to provide insight into the evolution of a projects structure?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Code2Flow used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Code2Flow?</li>
<li>When is Code2Flow the wrong choice?</li>
<li>What do you have planned for the future of Code2Flow?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://scottrogowski.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/scottrogowski/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scottrogowski</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li>Taking Vacation</li>
<li><a href="https://www.universalorlando.com/web/en/us?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Universal Studios, Florida</a></li>
</ul>
</li>
<li>Scott
<ul>
<li>Service work</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/scottrogowski/code2flow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code2Flow</a></li>
<li><a href="https://en.wikipedia.org/wiki/Colombia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Colombia</a></li>
<li><a href="https://github.com/scottrogowski/mongita?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mongita</a></li>
<li><a href="https://education.ti.com/en/products/calculators/graphing-calculators/ti-83-plus?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TI-83</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AST == Abstract Syntax Tree</a></li>
<li><a href="https://graphviz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphviz</a></li>
<li><a href="https://pylint.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pylint</a></li>
<li><a href="https://en.wikipedia.org/wiki/Robert_Frost?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robert Frost</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcode2flow-call-graph-episode-354%2F&amp;action_name=See+The+Structure+Of+Your+Software+At+A+Glance+With+Call+Graphs+From+Code2Flow+-+Episode+354&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-02-28t00:23:09+00:00-4ac19136f3f78f5</guid>
      <link>https://www.pythonpodcast.com/code2flow-call-graph-episode-354</link>
      <pubDate>Mon, 28 Feb 2022 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="383.35" duration="29.77">So CodeDeploy is a way to generate call graphs, which you can also look at as flowcharts from your source code. So when you have a program and you have functions calling other functions and you want a map of that to broadly understand the structure of your program, this is what you use CodeDeploy for. CodeDeploy works on dynamic languages and currently supports Python, JavaScript, Ruby, and PHP.</podcast:soundbite>
      <podcast:soundbite startTime="599.60" duration="26.69">Yeah. Absolutely. So to back up on that question a little bit, I think that humans are primarily visual people. And source code is this weird agreement that we've made with the computers that says that we will write this thing that you can kind of understand and we can kind of understand. And this is the agreement we have, and this is how we're gonna communicate together.</podcast:soundbite>
      <podcast:soundbite startTime="1704.37" duration="27.49">Sure. So that's a good question, and it really does touch at a key points of what CodeDeploy is. So the slogan of CodeDeploy that I have on GitHub is pretty good call graphs. And the important distinction there is that it is not perfect call graphs. And what CodeDeploy is doing is using a lot of clever heuristics to get to where it's going.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:35</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>See The Structure Of Your Software At A Glance With Call Graphs From Code2Flow</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>354</itunes:episode>
      <podcast:episode>354</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253033210041816012236c-3f17-42cb-9fb0-4ac7f4dcd571v1.mp3" length="32050605" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253033210041816012236c-3f17-42cb-9fb0-4ac7f4dcd571v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_6012236c-3f17-42cb-9fb0-4ac7f4dcd571638558803964496782.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6012236c-3f17-42cb-9fb0-4ac7f4dcd571638558803961580485.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6012236c-3f17-42cb-9fb0-4ac7f4dcd571638558803959753905.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Scaling Knowledge Management For Technical Teams With Knowledge Repo</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>One of the most persistent challenges faced by organizations of all sizes is the recording and distribution of institutional knowledge. In technical teams this is exacerbated by the need to incorporate technical review feedback and manage access to data before publishing. When faced with this problem as an early data scientist at AirBnB, Chetan Sharma helped create the Knowledge Repo project as a solution. In this episode he shares the story behind its creation and growth, how and why it was released as open source, and the features that make it a compelling option for your own team&#8217;s knowledge management journey.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Chetan Sharma about Knowledge Repo, an open source framework for managing documentation for technical users</li>
</ul>
<h2>Interview</h2>
<ul>
<li>
<p>Introductions</p>
</li>
<li>
<p>How did you get introduced to Python?</p>
<ul>
<li>EE + CS/AI + Stats degrees</li>
<li>Airbnb working on ML models</li>
<li>Knowledge Repo itself</li>
</ul>
</li>
<li>
<p>Can you describe what Knowledge Repo is and the story behind it?</p>
<ul>
<li>We started seeing interviewees use ipython notebooks, thought they were great</li>
<li>Wanted to push more people to use notebooks, but they weren’t very shareable, vettable</li>
<li>Existing notebook hosting services weren’t very good, and weren’t built for people who aren’t data stakeholders. It was especially poor with images, annoying cell blocks</li>
<li>Made a simple post processor to remove cell blocks, push the images to s3, and host on flask</li>
<li>Once we were pushing notebooks into a Github repo for hosting on a flask app, so many things became possible
<ul>
<li>Review cycles</li>
<li>Shareability / collaboration features</li>
<li>Indexing / searching</li>
</ul>
</li>
<li>Concurrently, great work was happening on developing internal R packages / python libraries to provide consistent, branded aesthetics</li>
</ul>
</li>
<li>
<p>What are some of the approaches that teams typically take for recording and sharing institutional knowledge?</p>
<ul>
<li>Copy and paste to google docs, slides</li>
<li>Facebook was using facebook photo albums</li>
<li>untrustworthy, not discoverable, divorced from the code</li>
</ul>
</li>
<li>
<p>What are the unique requirements that are introduced when attempting to record and distribute learnings related to data such as A/B experiments, analytical methods, data sets, etc.?</p>
<ul>
<li>Reproducibility is a big one</li>
<li>Making sure the learnings are trustworthy (good data? no bugs?)</li>
<li>Distributing widely, across the org and across time</li>
<li>Experimentation
<ul>
<li>Experimentation is at the end of a research-design-build-measure cycle, strategic analysis is often before</li>
<li>Capturing all of the context</li>
</ul>
</li>
</ul>
</li>
<li>
<p>Can you describe how the Knowledge Repo project is architected?</p>
<ul>
<li>Repositories: a store of posts, most commonly a github repo</li>
<li>Markdown as original lingua franca, eventually a KR specific “KR post” concept (which is still basically markdown)</li>
<li>Post processors
<ul>
<li>Convert whatever upstream file to markdown / KR post (Jupyter notebook, R Markdown, markdown were the original ones)</li>
<li>Handle images and other large assets, usually pushing them to cloud storage</li>
<li>Evolved to handle PDFs, googledocs, keynotes</li>
</ul>
</li>
</ul>
</li>
<li>
<p>What were the motivating factors for making it available as an open source project?</p>
<ul>
<li>It was such a common problem. Even incredibly sophisticated data teams at Uber, Facebook, etc. were begging us to share the system.</li>
</ul>
</li>
<li>
<p>What is the workflow for creating, sharing, and discovering information in an installation of Knowledge Repo?</p>
<ul>
<li>Create a github repo for hosting strategic analysis</li>
<li>Use the KR script to create a stub/template for whatever format you’re working in</li>
<li>Do your work in Jupyter, etc.</li>
<li>Instead of using github scripts (git add) use knowledge scripts (knowledge add), which is basically the github scripts with postprocessors</li>
<li>Do typical Github workflows</li>
<li>See the result in the hosted knowledge repo app</li>
</ul>
</li>
<li>
<p>What are some of the options available for extending or customizing an installation of Knowledge Repo?</p>
<ul>
<li>More postprocessors! google docs, presentations, UX research, anything can be done in KR with a simple postprocessor to turn it to markdown/images/PDF</li>
<li>Tying the system to your internal data tools. For example, an experimentation system like Eppo or whatever you use for marketing campaigns</li>
</ul>
</li>
<li>
<p>If you were to start over today, what are some of the ways that you might approach the solution to knowledge management differently?</p>
<ul>
<li>Think of it more holistically:</li>
</ul>
</li>
<li>
<p>What are the most interesting, innovative, or unexpected ways that you have seen Knowledge Repo used?</p>
<ul>
<li>UX research</li>
<li>Writing up guide for acquihiring</li>
<li>Demonstrating of capabilities, data framework</li>
</ul>
</li>
<li>
<p>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Knowledge Repo?</p>
<ul>
<li>Strategic analysis needs to be elevated, this leads to paradigm changes</li>
<li>Organization problems are helped by tools like KR: eg. promotions</li>
<li>Meeting people’s tools/workflows where they are is powerful</li>
</ul>
</li>
<li>
<p>When is Knowledge Repo the wrong choice?</p>
</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/chetanvsharma/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/chesharma87?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@chesharma87</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.fender.com/articles/play/best-way-to-learn-guitar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Learning Guitar</a></li>
</ul>
</li>
<li>Chetan
<ul>
<li>Underrated cooking ingredients: chickpea flour, butter fried kimchi (in grilled cheese, nachos)</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.geteppo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eppo</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/eppo-experimentation-ab-testing-episode-244/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://knowledge-repo.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Knowledge Repo</a></li>
<li><a href="https://ipython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython</a></li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://flask.palletsprojects.com/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fknowledge-repo-open-source-knowledge-management-episode-353%2F&amp;action_name=Scaling+Knowledge+Management+For+Technical+Teams+With+Knowledge+Repo+-+Episode+353&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-02-21t03:04:20+00:00-bb9f392f8dca949</guid>
      <link>https://www.pythonpodcast.com/knowledge-repo-open-source-knowledge-management-episode-353</link>
      <pubDate>Mon, 21 Feb 2022 03:15:00 +0000</pubDate>
      <podcast:soundbite startTime="1559.70" duration="19.92">I would say it was so, like, such a small step function to get to the vision of what it ended up being. Right? So, like, we didn't, like, think of knowledge in this very holistic sense that I do now, which is that a true knowledge base just captures all the things that organization has learned. And from there, you'd say, you know, what have we learned? Who has worked on this sort of stuff?</podcast:soundbite>
      <podcast:soundbite startTime="637.24" duration="33.00">Yeah. Absolutely. So it was actually a really fascinating thing with knowledge repo is that we started off when we developed this workflow, we felt pretty good about it, and we started just getting in touch with other data teams in the Valley at the time. So this was Uber's Heyday, Dropbox, Lyft, all these others, and we kinda just went and talked to our data teams and asked, like, how do you handle the sharing problem? And it was really fascinating because some of the most sophisticated data teams in the world were doing some, like, very, very basic things around knowledge sharing that none of them were happy about.</podcast:soundbite>
      <podcast:soundbite startTime="206.00" duration="28.46">So, you know, when I think of the knowledge repo, I think of it as really a platform for magnifying the impact of strategic analysis. Like and when I say a strategic analysis, it's the sort of thing that is like the type of research and investigations that might suggest, like, radical or, you know, powerful changes to an organization, such as a whole topic area that's underserved or some lever for impact that's underutilized.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:35</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Scaling Knowledge Management For Technical Teams With Knowledge Repo</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>353</itunes:episode>
      <podcast:episode>353</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253158061763944d21fc33-2455-42cc-b974-acd330eba3eev1.mp3" length="25785721" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253158061763944d21fc33-2455-42cc-b974-acd330eba3eev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4d21fc33-2455-42cc-b974-acd330eba3ee638558830064768322.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4d21fc33-2455-42cc-b974-acd330eba3ee638558830061868396.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4d21fc33-2455-42cc-b974-acd330eba3ee638558830059648778.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Simplify And Scale Your Software Development Cycles By Putting On Pants (Build Tool)</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Software development is a complex undertaking due to the number of options available and choices to be made in every stage of the lifecycle. In order to make it more scaleable it is necessary to establish common practices and patterns and introduce strong opinions. One area that can have a huge impact on the productivity of the engineers engaged with a project is the tooling used for building, validating, and deploying changes introduced to the software. In this episode maintainers of the Pants build tool Eric Arellano, Stu Hood, and Andreas Stenius discuss the recent updates that add support for more languages, efforts made to simplify its adoption, and the growth of the community that uses it. They also explore how using Pants as the single entry point for all of your routine tasks allows you to spend your time on the decisions that matter.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Building data integration workflows is time consuming and tedious, requiring an unpleasant amount of boilerplate code to do it right. Rivery is a managed platform for building our ELT pipelines that offers the industry&#8217;s first native integration with Python, allowing you to seamlessly load and export Pandas dataframes to and from all of your databases, services, and data warehouses with a few clicks and no extra code. Rivery is hosting a live demo of their first class Python support on February 22nd, and when you use the promo code &quot;Python&quot; during registration you will be entered to win a brand new series 7 apple watch. Go to <a href="https://www.pythonpodcast.com/rivery?utm_source=rss&utm_medium=rss">pythonpodcast.com/rivery</a> today to learn more and register.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Eric Arellano, Stu Hood, and Andreas Stenius about the Pants build tool and all of the work that has gone into it recently</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Pants is and the story behind it?
<ul>
<li>What is the scope of concerns that Pants is focused on addressing?</li>
</ul>
</li>
<li>What are some of the notable changes in the project and its ecosystem over the past 1 1/2 years?</li>
<li>How do you approach the work of defining the target scope of the Pants toolchain?
<ul>
<li>What are some of your guiding principles to decide when a feature request belongs in the core vs as a plugin?</li>
</ul>
</li>
<li>What are some of the ergonomic improvements that you have added to simplify the work of getting started with Pants and adopting it across teams?</li>
<li>What are some of the challenges that teams run into as they start to scale the size of their monorepos? (e.g. project design, boilerplate reduction, etc.)</li>
<li>How are you managing the work of growing and supporting the community as you move beyond early adopters/experts into newcomers to Pants and programming?</li>
<li>How are you handling support for multiple language ecosystems?
<ul>
<li>What are some of the challenges involved with making Pants feel idiomatic for such a range of communities?</li>
</ul>
</li>
<li>How does the use of Python as the plugin/extension syntax work for teams that don&#8217;t use it as their primary language?</li>
<li>What are the architectural changes that needed to be made for you to be capable of integrating with the different execution environments?</li>
<li>How would you characterize the level of feature coverage across the different supported languages?</li>
<li>Now that you have laid the foundation, how much effort is required to add new language targets?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Pants used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Pants?</li>
<li>When is Pants the wrong choice?</li>
<li>What do you have planned for the future of Pants?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li>Eric
<ul>
<li><a href="https://www.linkedin.com/in/arellanoeric/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/Eric-Arellano?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eric-Arellano</a> on GitHub</li>
<li><a href="https://twitter.com/earellanoaz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@earellanoaz</a> on Twitter</li>
</ul>
</li>
<li>Stu
<ul>
<li><a href="https://www.linkedin.com/in/stu-hood-6b65633/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/stuhood?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@stuhood</a> on Twitter</li>
<li><a href="https://github.com/stuhood?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">stuhood</a> on GitHub</li>
</ul>
</li>
<li>Andreas
<ul>
<li><a href="https://twitter.com/andreasstenius?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@andreasstenius</a> on Twitter</li>
<li><a href="https://github.com/kaos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">kaos</a> on GitHub</li>
</ul>
</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.netflix.com/title/80074249?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Last Kingdom</a> on Netflix</li>
</ul>
</li>
<li>Eric
<ul>
<li><a href="https://www.netflix.com/title/81206559?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Getting Curious</a></li>
</ul>
</li>
<li>Stu
<ul>
<li><a href="https://www.economist.com/checks-and-balance-our-weekly-podcast-on-american-politics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Checks and Balance Podcast</a></li>
</ul>
</li>
<li>Andreas
<ul>
<li><a href="https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Pragmatic Programmer</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.pantsbuild.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pants</a></li>
<li><a href="https://en.wikipedia.org/wiki/Make_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Make</a></li>
<li><a href="https://earthly.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Earthly</a>
<ul>
<li><a href="https://www.pythonpodcast.com/earthly-repeatable-build-tool-episode-351/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/microsoft/pyright?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyRight</a></li>
<li><a href="https://pylint.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pylint</a></li>
<li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a>
<ul>
<li><a href="https://www.pythonpodcast.com/flake8-static-analysis-episode-309/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://bazel.build/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bazel</a></li>
<li><a href="https://pre-commit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pre-commit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pre-commit-with-anthony-sottile-episode-178/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pypi.org/project/underpants/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Underpants</a> library</li>
<li><a href="https://pyoxidizer.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOxidizer</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pyoxidizer-python-package-creation-episode-282/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.youtube.com/watch?v=gMFY0uUQexE&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eric PyCon Talk</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpants-software-development-lifecycle-tool-episode-352%2F&amp;action_name=Simplify+And+Scale+Your+Software+Development+Cycles+By+Putting+On+Pants+%28Build+Tool%29+-+Episode+352&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-02-14t00:16:54+00:00-3eec7d642fdfa5e</guid>
      <link>https://www.pythonpodcast.com/pants-software-development-lifecycle-tool-episode-352</link>
      <pubDate>Mon, 14 Feb 2022 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="707.21" duration="69.55">Another aspect of having this common interface to all the different kind of broad tasks that you might do in the software development life life cycle, 1 of the other things that is interesting to think about as a user of pants is how much ownership of all of that you want to push fully into pants versus how much you might want to also execute via these other more dedicated tools. So the thing that comes to mind, most notably for myself, is pre commit, where I have a number of pre commit checks that I might want to run using their default sort of out of the box supported plug ins. So Flak8, MyPy, Black, all of those can run as pre commit checks. I can also have pants run all of those things. And so I can get some measure of consistency by ensuring that they're deferring to, like, the setup dot config or Pyproject.toml for setting up how those different executables want to run. But there's also the question of, do I want pre commit to run all these checks independently, or do I want pre commit to call into pants, or do I want pants to call into pre commit? So just figuring out, like, what are the different contexts in which you want to execute which tool.</podcast:soundbite>
      <podcast:soundbite startTime="263.40" duration="55.56">It started from attempting to support monorepos as well as it possibly could and then scaling down as much as we possibly can. So by a build system, I mean, we are a tool for executing all of the steps between writing your code and taking it to production, which involves running your tests as parallel as possible, running linters, formatters, type checkers, doing cogen for you such that you don't have to commit it to your repository, making your scripts as formal and checkable as possible, running REPLs, doing packaging, and publishing. So there are a lot of steps that you would otherwise have to script inconsistently and then sort of maintain scripts for. All of those steps, we strive to pipeline, run-in parallel, run accurately and correctly. And so we integrate with all the tools you're used to, like PIP and Pytest and Black and MyPy and Twine and Docker.</podcast:soundbite>
      <podcast:soundbite startTime="2069.49" duration="39.43">In terms of the support for multiple language runtimes, that's also an interesting challenge beyond just managing the execution context as far as this goal of consistency and ease of adoption for end users of the pants builds tool. And given that pants itself is written largely in Python with a Rust core for the execution engine, I'm wondering how you've approached the sort of design of the experience for these additional language runtimes so that it feels idiomatic and approachable for people who are maybe not Python native or maybe don't even use Python in the repository at all?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:15</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Simplify And Scale Your Software Development Cycles By Putting On Pants (Build Tool)</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>352</itunes:episode>
      <podcast:episode>352</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302519831322f3b9dfbe-b7cb-4950-92bb-3d1590b2b235v1.mp3" length="55942292" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302519831322f3b9dfbe-b7cb-4950-92bb-3d1590b2b235v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f3b9dfbe-b7cb-4950-92bb-3d1590b2b235638558800557388034.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f3b9dfbe-b7cb-4950-92bb-3d1590b2b235638558800553448654.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f3b9dfbe-b7cb-4950-92bb-3d1590b2b235638558800551451434.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Achieve Repeatable Builds Of Your Software On Any Machine With Earthly</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>It doesn&#8217;t matter how amazing your application is if you are unable to deliver it to your users. Frustrated with the rampant complexity involved in building and deploying software Vlad A. Ionescu created the Earthly tool to reduce the toil involved in creating repeatable software builds. In this episode he explains the complexities that are inherent to building software projects and how he designed the syntax and structure of Earthly to make it easy to adopt for developers across all language environments. By adopting Earthly you can use the same techniques for building on your laptop and in your CI/CD pipelines.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Vlad A. Ionescu about Earthly, a syntax and runtime for software builds to reduce friction between development and delivery</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Earthly is and the story behind it?</li>
<li>What are the core principles that engineers should consider when designing their build and delivery process?</li>
<li>What are some of the common problems that engineers run into when they are designing their build process?
<ul>
<li>What are some of the challenges that are unique to the Python ecosystem?</li>
</ul>
</li>
<li>What is the role of Earthly in the overall software lifecycle?
<ul>
<li>What are the other tools/systems that a team is likely to use alongside Earthly?</li>
<li>What are the components that Earthly might replace?</li>
</ul>
</li>
<li>How is Earthly implemented?
<ul>
<li>What were the core design requirements when you first began working on it?</li>
<li>How have the design and goals of Earthly changed or evolved as you have explored the problem further?</li>
</ul>
</li>
<li>What is the workflow for a Python developer to get started with Earthly?
<ul>
<li>How can Earthly help with the challenge of managing Javascript and CSS assets for web application projects?</li>
</ul>
</li>
<li>What are some of the challenges (technical, conceptual, or organizational) that an engineer or team might encounter when adopting Earthly?</li>
<li>What are some of the features or capabilities of Earthly that are overlooked or misunderstood that you think are worth exploring?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Earthly used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Earthly?</li>
<li>When is Earthly the wrong choice?</li>
<li>What do you have planned for the future of Earthly?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/vladalexandruionescu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/VladAIonescu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@VladAIonescu</a> on Twitter</li>
<li><a href="https://vladaionescu.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://basecamp.com/shapeup?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shape Up</a> book</li>
</ul>
</li>
<li>Vlad
<ul>
<li><a href="https://www.penguinrandomhouse.com/books/72467/high-output-management-by-andrew-s-grove-former-chairman-and-ceo-of-intel/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">High Output Management</a> by Andy Grove</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://earthly.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Earthly</a></li>
<li><a href="https://bazel.build/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bazel</a></li>
<li><a href="https://www.pantsbuild.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pants</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pants-monorepo-build-tool-episode-290/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.arm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ARM</a></li>
<li><a href="https://aws.amazon.com/ec2/graviton/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS Graviton</a></li>
<li><a href="https://www.apple.com/newsroom/2020/11/apple-unleashes-m1/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apple M1 CPU</a></li>
<li><a href="https://www.qemu.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qemu</a></li>
<li><a href="https://www.phoenixframework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Phoenix</a> web framework for <a href="https://elixir-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elixir</a> language</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fearthly-repeatable-build-tool-episode-351%2F&amp;action_name=Achieve+Repeatable+Builds+Of+Your+Software+On+Any+Machine+With+Earthly+-+Episode+351&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-02-06t22:11:28+00:00-64d71f60d5fca51</guid>
      <link>https://www.pythonpodcast.com/earthly-repeatable-build-tool-episode-351</link>
      <pubDate>Sun, 6 Feb 2022 22:15:00 +0000</pubDate>
      <podcast:soundbite startTime="1628.76" duration="19.77">And so we've added support for multiplatform builds as a result. And many people use it today. It's super useful. You can basically build images that run either on ARM or Intel. The same image basically is packaged under the same Docker tag, goes in your registry, and you can use it on either platform.</podcast:soundbite>
      <podcast:soundbite startTime="245.50" duration="26.79">So Earthly is sort of the result of me having been a software engineer and not having the right tools for the job. Right? And I've experienced how builds work at Google pretty early in my career, and I've seen how powerful a well built build system and build automation system really in general, how that can serve the engineering productivity.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Achieve Repeatable Builds Of Your Software On Any Machine With Earthly</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>351</itunes:episode>
      <podcast:episode>351</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303037149970397bd93b-026c-4b4c-bd3f-44fdb8aec54bv1.mp3" length="41811660" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303037149970397bd93b-026c-4b4c-bd3f-44fdb8aec54bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_397bd93b-026c-4b4c-bd3f-44fdb8aec54b638558802549192142.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/397bd93b-026c-4b4c-bd3f-44fdb8aec54b638558802546581265.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/397bd93b-026c-4b4c-bd3f-44fdb8aec54b638558802544733642.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building A Detailed View Of Your Software Delivery Process With The Eiffel Protocol</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The process of getting software delivered to an environment where users can interact with it requires many steps along the way. In some cases the journey can require a large number of interdependent workflows that need to be orchestrated across technical and organizational boundaries, making it difficult to know what the current status is. Faced with such a complex delivery workflow the engineers at Ericsson created a message based protocol and accompanying tooling to let the various actors in the process provide information about the events that happened across the different stages. In this episode Daniel Ståhl and Magnus Bäck explain how the Eiffel protocol allows you to build a tooling agnostic visibility layer for your software delivery process, letting you answer all of your questions about what is happening between writing a line of code and your users executing it.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Daniel Ståhl and Magnus Bäck about Eiffel, an open protocol for platform agnostic communication for CI/CD systems</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Eiffel is and the story behind it?
<ul>
<li>What are the goals of the Eiffel protocol and ecosystem?</li>
<li>What is the role of Python in the Eiffel ecosystem?</li>
</ul>
</li>
<li>What are some of the types of questions that someone might ask about their CI/CD workflow?
<ul>
<li>How does Eiffel help to answer those questions?</li>
</ul>
</li>
<li>Who are the personas that you would expect to interact with an Eiffel system?</li>
<li>Can you describe the core architectural elements required to integrate Eiffel into the software lifecycle?
<ul>
<li>How have the design and goals of the Eiffel protocol/architecture changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>What are some example workflows that an engineering/product team might build with Eiffel?</li>
<li>What are some of the challenges that teams encounter when integrating Eiffel into their delivery process?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Eiffel used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Eiffel?</li>
<li>When is Eiffel the wrong choice?</li>
<li>What do you have planned for the future of Eiffel?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li>Daniel
<ul>
<li><a href="https://github.com/d-stahl-ericsson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">d-stahl-ericsson</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/daniel-b-stahl/?originalSubdomain=se&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
<li>Magnus
<ul>
<li><a href="https://www.linkedin.com/in/magnus-b%C3%A4ck-4583184/?originalSubdomain=se&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/magnusbaeck?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">magnusbaeck</a> on GitHub</li>
</ul>
</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt7991608/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Red Notice</a></li>
</ul>
</li>
<li>Daniel
<ul>
<li><a href="https://www.imdb.com/title/tt5180504/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Witcher</a></li>
</ul>
</li>
<li>Magnus
<ul>
<li><a href="https://www.lego.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lego</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://eiffel-community.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eiffel</a></li>
<li><a href="https://www.ericsson.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ericsson</a></li>
<li><a href="https://www.axis.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Axis Communications</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hudson_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hudson</a> CI framework</li>
<li><a href="https://spinnaker.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spinnaker</a></li>
<li><a href="https://www.jenkins.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jenkins</a></li>
<li><a href="https://tekton.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tekton</a></li>
<li><a href="https://gradle.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gradle</a></li>
<li><a href="https://jfrog.com/artifactory/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artifactory</a></li>
<li><a href="http://json-schema.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON Schema</a></li>
<li><a href="https://www.rabbitmq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RabbitMQ</a></li>
<li><a href="https://prometheus.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prometheus</a></li>
<li><a href="https://cd.foundation/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Delivery Foundation</a></li>
<li><a href="https://github.com/cdfoundation/sig-events?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CD Events</a></li>
<li><a href="https://xkcd.com/927/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XKCD Competing Standards</a></li>
<li><a href="https://github.com/eiffel-community/eiffel-pythonlib?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Eiffel SDK</a></li>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pydantic</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Feiffel-protocol-software-delivery-process-visibility-episode-350%2F&amp;action_name=Building+A+Detailed+View+Of+Your+Software+Delivery+Process+With+The+Eiffel+Protocol+-+Episode+350&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-01-31t01:58:18+00:00-410617490400042</guid>
      <link>https://www.pythonpodcast.com/eiffel-protocol-software-delivery-process-visibility-episode-350</link>
      <pubDate>Mon, 31 Jan 2022 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="147.33" duration="61.99">Well, the story behind it, I guess, for that, we need to step into the way back machine to, like, 2011, 2012, thereabout, when agile is a thing and everybody's doing continuous integration and continuous delivery as well, everybody has their own pipeline and so forth, and we in Ericsson at that point. And I should say that Ericsson has a long history of developing networking solutions, not least cellular going for going back to, the very first generation. And what some people don't realize, maybe these are actually vast software systems with thousands and thousands of engineers working on them. And in that situation, you know, when I'm a developer, maybe I'm working on a component which is integrated into a platform, which might, be important for several different network nodes delivered to customers in different network topologies and different variants and so forth. You have a rather complex network of interdependencies between different soft software assets, different software assets.</podcast:soundbite>
      <podcast:soundbite startTime="994.17" duration="67.66">So the protocol, it's it's based on JSON schemas. I think there are 23 different kinds of events. They're individually versioned and have JSON schemas and describe 1 particular kind of event that might occur in the pipeline. So there are a couple of different groups of events that are related, and events link to each other via their IDs. So we're actually building a graph in the end. And that's a really important point that I don't think we've really covered so far, because that's what allows you to get the traceability where you have the artifact creation event. Basically, a state set, okay, an artifact with this ID and version has been created, and it could link to the source code that was used to build the artifact. It could also link to an environment describing what was the host or container environment used to produce the artifact, and so on. So you got artifacts. You have activities that are really just empty containers within which you could run tests or produce artifacts.</podcast:soundbite>
      <podcast:soundbite startTime="2408.14" duration="50.19">And in your experience, both using it in your own organizations and building on top of it and working with the community and helping them understand its utility, what are some of the most interesting or innovative or unexpected ways that you've seen the Eiffel protocol used? Well, I think some of the most interesting things are these complete real time visualizations of large networks of pipelines. You know, I, as developer, I can trace step by step what has actually happened. My software that I just made and see, you know, second by second, essentially, which pipelines it is traversing and where it is integrate, which deliveries it is included in. I think that is 1 of the more powerful and most striking uses that I see where you you can follow your own software on its journey through a very complex web of interdependencies.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building A Detailed View Of Your Software Delivery Process With The Eiffel Protocol</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>350</itunes:episode>
      <podcast:episode>350</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253165294234524c0b3fce-4a9a-43f3-a1ac-b9744f895050v1.mp3" length="37785588" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253165294234524c0b3fce-4a9a-43f3-a1ac-b9744f895050v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4c0b3fce-4a9a-43f3-a1ac-b9744f895050638558832638251824.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4c0b3fce-4a9a-43f3-a1ac-b9744f895050638558832635755952.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4c0b3fce-4a9a-43f3-a1ac-b9744f895050638558832633744772.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Improve Your Productivity By Investing In Developer Experience Design For Your Projects</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>When we are creating applications we spend a significant amount of effort on optimizing the experience of our end users to ensure that they are able to complete the tasks that the system is intended for. A similar effort that we should all consider is optimizing the developer experience for ourselves and other engineers who contribute to the projects that we work on. Adam Johnson recently wrote a book on how to improve the developer experience for Django projects and in this episode he shares some of the insights that he has gained through that project and his work with clients to help you improve the experience that you and your team have when collaborating on software development.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Adam Johnson about optimizing your developer experience</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what you mean by the term &quot;developer experience&quot;?
<ul>
<li>How does it compare to the concept of user experience design?</li>
</ul>
</li>
<li>What are the main goals that you aim for through improving DX?</li>
<li>When considering DX, what are the categories of focus for improvement? (e.g. the experience of a given software project, the developer&#8217;s physical environment, their editing environment, etc.)</li>
<li>What are some of the most high impact optimizations that a developer can make?</li>
<li>What are some of the areas of focus that have the most variable impact on a developer&#8217;s experience of a project?</li>
<li>What are some of the most helpful tools or practices that you rely on in your own projects?</li>
<li>How does the size of a development team or the scale of an organization impact the decisions and benefits around DX improvements?</li>
<li>One of the perennial challenges with selecting a given tool or architectural pattern is the continually changing landscape of software. How have your choices for DX strategies changed or evolved over the years?</li>
<li>What are the most interesting, innovative, or unexpected developer experience tweaks that you have encountered?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on your book?</li>
<li>What are some of the potential pitfalls that individuals and teams need to guard against in their quest to improve developer experience for their projects?</li>
<li>What are some of the new tools or practices that you are considering incorporating into your own work?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://twitter.com/adamchainz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@AdamChainz</a> on Twitter</li>
<li><a href="https://adamj.eu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/adamchainz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">adamchainz</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.marvel.com/movies/eternals?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eternals</a> movie</li>
</ul>
</li>
<li>Adam
<ul>
<li>Fan of Eternals, enjoyed Neil Gaiman series</li>
<li>Also general MCU fan, watched it all in lockdown</li>
<li><a href="https://www.marvel.com/tv-shows/moon-knight/1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moon Knight</a> trailer</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://adamj.eu/tech/2022/01/10/boost-your-django-dx-released/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boost Your Django DX</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://github.com/BurntSushi/ripgrep?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ripgrep</a></li>
<li><a href="https://factoryboy.readthedocs.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Factory Boy</a></li>
<li><a href="https://mimesis.name/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mimesis</a>
<ul>
<li><a href="https://www.pythonpodcast.com/mimesis-with-nikita-sobolev-episode-155/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://microsoft.github.io/language-server-protocol/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Language Server Protocol</a></li>
<li><a href="https://editorconfig.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EditorConfig</a></li>
<li><a href="https://github.com/starship/starship?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Starship Command Prompt</a></li>
<li><a href="https://pre-commit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pre-Commit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pre-commit-with-anthony-sottile-episode-178/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a>
<ul>
<li><a href="https://www.pythonpodcast.com/flake8-static-analysis-episode-309/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://devdocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DevDocs</a></li>
<li><a href="https://kapeli.com/dash?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dash</a> library documentation search tool</li>
<li><a href="https://github.com/asottile/pyupgrade?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyupgrade</a></li>
<li><a href="https://standardjs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StandardJS</a></li>
<li><a href="https://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-45-cython-with-craig-citro-and-robert-bradshaw/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://itrevolution.com/the-phoenix-project/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Phoenix Project</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdeveloper-experience-episode-349%2F&amp;action_name=Improve+Your+Productivity+By+Investing+In+Developer+Experience+Design+For+Your+Projects+-+Episode+349&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-01-23t13:10:16+00:00-4d3624930c14986</guid>
      <link>https://www.pythonpodcast.com/developer-experience-episode-349</link>
      <pubDate>Mon, 24 Jan 2022 11:30:00 +0000</pubDate>
      <podcast:soundbite startTime="212.06" duration="19.27">It's very kind of broad term, so I definitely focus on what what that is to me. And it's definitely a term that I've seen popular in the JavaScript community. That's where it originated, and it's less popular in the Python world. But I think it's useful way of encapsulating certain things in the development practice.</podcast:soundbite>
      <podcast:soundbite startTime="1697.98" duration="36.72">Yeah. Definitely could be a hard decision. I think for, like, very common tools, then it's very clear cost benefit in the long run. Like, say, Flategate is warning you about a particular construct that could cause bugs because it doesn't behave as you might expect in Python, removing that safety net and because you're annoyed at refactoring your code after it tells you this could cause bugs is probably not a good decision for your project long term. And that's where I would focus on keeping things going in the long run, but it can slow down your your fast feature development for sure.</podcast:soundbite>
      <podcast:soundbite startTime="62.91" duration="19.40">So, Adam, can you start by introducing yourself? I'm Adam Johnson. As he said, I'm a Django, Python developer. I'm on the Django technical board since version 2.2. So that's the group of people who have the final say on any technical decisions around the framework. Although, mostly, we aren't called upon because contributions are pretty obvious.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Improve Your Productivity By Investing In Developer Experience Design For Your Projects</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>349</itunes:episode>
      <podcast:episode>349</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253067106507414109dbf2-16f3-4f35-be3a-7f51789aad61v1.mp3" length="35391211" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253067106507414109dbf2-16f3-4f35-be3a-7f51789aad61v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4109dbf2-16f3-4f35-be3a-7f51789aad61638558818609576903.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4109dbf2-16f3-4f35-be3a-7f51789aad61638558818607211505.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4109dbf2-16f3-4f35-be3a-7f51789aad61638558818605388123.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>An Exploration Of Effective Pandas Practices With Matt Harrison</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Pandas has grown to be a ubiquitous tool for working with data at every stage. It has become so well known that many people learn Python solely for the purpose of using Pandas. With all of this activity and the long history of the project it can be easy to find misleading or outdated information about how to use it. In this episode Matt Harrison shares his work on the book &quot;Effective Pandas&quot; and some of the best practices and potential pitfalls that you should know for applying Pandas in your own work.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Matt Harrison about best practices for using Pandas for data exploration, manipulation, and analysis</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What motivated you to write a book about Pandas?
<ul>
<li>There are a number of books available that cover some aspect of the Pandas framework or its application. What was missing from the available literature?</li>
<li>Who is your target audience for this book?</li>
</ul>
</li>
<li>What are some of the most surprising things that you have learned about Pandas while working on this book?</li>
<li>What are the sharp edges that you see newcomers to pandas run into most frequently?</li>
<li>It is easy to use Pandas in a naive manner and get things done. What are some of the bad habits that you have seen people form in their work with Pandas?
<ul>
<li>How and when do those habits become harmful?</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Pandas used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on this book?</li>
<li>What are some of the projects that you are planning to work on in the near/medium term?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.metasnake.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/__mharrison__?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@__mharrison__</a> on Twitter</li>
<li><a href="https://hairysun.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://github.com/mattharrison?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mattharrison</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.msrgear.com/shop/snowshoes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MSR Snowshoes</a></li>
</ul>
</li>
<li>Matt
<ul>
<li><a href="https://en.wikipedia.org/wiki/Telemark_skiing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Telemark Skiing</a></li>
<li><a href="https://www.twentytwodesigns.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">22 Designs</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://store.metasnake.com/effective-pandas-book/s9oaz?coupon=INIT&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Effective Pandas Book</a> (affiliate link with 20% discount code applied)
<ul>
<li>Discount code INIT</li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Tcl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TCL</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pandas.pydata.org/docs/reference/api/pandas.api.extensions.ExtensionArray.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas Extension Arrays</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pandas-extension-arrays-with-tom-augspurger-episode-164/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://koalas.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Koalas</a></li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://modin.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modin</a>
<ul>
<li><a href="https://www.pythonpodcast.com/modin-parallel-dataframe-episode-324/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Feffective-pandas-book-episode-348%2F&amp;action_name=An+Exploration+Of+Effective+Pandas+Practices+With+Matt+Harrison+-+Episode+348&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-01-15t19:43:08+00:00-96e5be594809a81</guid>
      <link>https://www.pythonpodcast.com/effective-pandas-book-episode-348</link>
      <pubDate>Sat, 15 Jan 2022 19:45:00 +0000</pubDate>
      <podcast:soundbite startTime="240.46" duration="21.38">And so you mentioned that your entry point into Python was as a compromise so that you didn't have to learn Tcl. And I'm wondering sort of as you said, you never really looked back. And I'm curious, what about the Python language and community has kind of held your interest? And what motivated you to turn your career into teaching other people to kind of make that same jump?</podcast:soundbite>
      <podcast:soundbite startTime="2876.41" duration="26.17">So I guess on the snow theme so I live in Salt Lake, and I like to ski. So this might be a little bit geeky, but I like to do what's called telemark skiing, which is this weird style where you, like, drop your knees when you're going. But, for the past couple years, I've been using a binding from a manufacturer called 22 Designs, which is the links binding. So pretty esoteric, but if you're into skiing, telemark skiing, I definitely recommend that.</podcast:soundbite>
      <podcast:soundbite startTime="895.13" duration="31.49">I think 1 of the things that a lot of people don't realize is at its core, pandas is a wraparound NumPy. And basically, NumPy is a wrap around giving you the ability to do vectorization on numbers as, what I would like to say, C numbers, not Python objects. And so by using NumPy and, in essence, pandas, because on top of that, you basically get very close to c level speeds for many operations.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:57</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>An Exploration Of Effective Pandas Practices With Matt Harrison</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>348</itunes:episode>
      <podcast:episode>348</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303689774980425b152c-a541-42b2-935e-5096fd6087fev1.mp3" length="40795251" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303689774980425b152c-a541-42b2-935e-5096fd6087fev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_425b152c-a541-42b2-935e-5096fd6087fe638558805794341582.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/425b152c-a541-42b2-935e-5096fd6087fe638558805790652545.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/425b152c-a541-42b2-935e-5096fd6087fe638558805788579169.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Generate Your Text Files With Python Using Cog</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Developers hate wasting effort on manual processes when we can write code to do it instead. Cog is a tool to manage the work of automating the creation of text inside another file by executing arbitrary Python code. In this episode Ned Batchelder shares the story of why he created Cog in the first place, some of the interesting ways that he uses it in his daily work, and the unique challenges of maintaining a project with a small audience and a well defined scope.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ned Batchelder about Cog, a tool for generating files or text from embedded Python logic</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Cog is and the story behind it?</li>
<li>What are the use cases that you initially created Cog to address?</li>
<li>What were the shortcomings or extraneous overhead that you encountered in tools such as Jinja, Mako, Genshi, etc. that led you to create a new tool?</li>
<li>What was your path from a quick and dirty script that suited your own purposes to turning it into a niche open source project that was general and stable enough for the broader community?</li>
<li>One of your claims to fame is your role as the maintainer for coverage.py. How has your experience managing such a widely used project translated to the relatively small and low traffic project like Cog?</li>
<li>Can you describe how Cog is implemented?
<ul>
<li>How did you approach the design of the syntactic elements for embedding Python code into a host file?</li>
</ul>
</li>
<li>What is the workflow for someone using Cog to generate all or parts of a file?
<ul>
<li>How does the introduction of third party dependencies impact the viability and utility of Cog as compared to other templating systems?</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Cog used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Cog?</li>
<li>When is Cog the wrong choice?</li>
<li>What do you have planned for the future of Cog?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://nedbatchelder.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/nedbat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nedbat</a> on GitHub</li>
<li><a href="https://twitter.com/nedbat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@nedbat</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/nedbat/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="http://www.samsontech.com/samson/products/microphones/dynamic-microphones/q9u/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Samson Q9U Microphone</a></li>
</ul>
</li>
<li>Ned
<ul>
<li><a href="https://github.com/cantino/mcfly?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">McFly</a> Command Line History Tool</li>
<li>Go for a walk</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://nedbatchelder.com/code/cog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cog</a></li>
<li><a href="https://about.bostonpython.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boston Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lotus_Software?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lotus</a></li>
<li><a href="https://en.wikipedia.org/wiki/HCL_Domino?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lotus Notes</a></li>
<li><a href="https://www.zope.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://pythonhosted.org/Cheetah/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cheetah Template Engine</a></li>
<li><a href="https://coverage.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coverage.py</a>
<ul>
<li><a href="https://www.pythonpodcast.com/coverage-py-with-ned-batchelder-episode-121/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Unix_philosophy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unix Philosophy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hungarian_notation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hungarian Notation</a></li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebooks</a></li>
<li><a href="https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub Profile ReadMe</a></li>
<li><a href="https://github.com/nedbat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ned&#8217;s GitHub Profile</a>
<ul>
<li><a href="https://raw.githubusercontent.com/nedbat/nedbat/main/README.md?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raw Markdown</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcog-python-text-generation-episode-347%2F&amp;action_name=Generate+Your+Text+Files+With+Python+Using+Cog+-+Episode+347&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-01-13t23:24:22+00:00-a63ac8830c1afba</guid>
      <link>https://www.pythonpodcast.com/cog-python-text-generation-episode-347</link>
      <pubDate>Thu, 13 Jan 2022 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="170.67" duration="42.78">So cog stands for cogeneration, which is what I needed it for at the time. We were working in c plus plus and had XML data, and we had a data schema, and we needed to be able to say in the data schema that there are these 15 pieces of data, and then we needed c plus plus header files that corresponded to those 15 things and XML schema that corresponded to those 15 things and probably SQL table descriptions that corresponded to those 15 things, and it felt like, sure, I could just hand edit all those files. And then when I add a 16th item, I have to go in back to all those files and add the 16th item. But wouldn't it be great if we could generate that stuff from 1 central data source? Because it's all very rote.</podcast:soundbite>
      <podcast:soundbite startTime="1515.69" duration="47.24">So there's a bunch of sort of white space handling and indent and dedent that has to happen to make sure that your Python code is gonna be runnable Python code. Like I said earlier, there's a line before your Python code that says this is the beginning of some embedded Python code, and there's a line at the end that says here's the end of the code. And then there's a third line, which is where the interpolated output ends so that if you run it again, we can get rid of the interpolated output, run the Python again and put the output back into the file. And because we strip off the initial characters from those 3 marker lines and then those same initial characters come off of all the Python lines, It's very nice because it means you can indent your Python to where it belongs naturally in the static file.</podcast:soundbite>
      <podcast:soundbite startTime="467.25" duration="39.18">And the irony there is that Cheetah and Jinja were designed to template HTML files. And here I am using cog, which is much stupider to generate my HTML files. And I think that gets an interesting discriminant between where those things are good and where cog is good. 1 of the things I like about cog is that it is very stupid. Jinja and and Cheetah before it and Mako and all those other templating engines know that they're dealing with HTML for the most part. Right? They've got, like, escaping logic and syntax that fits into HTML tags really well, so they understand a lot about the HTML syntax that they're gonna be generating.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:33</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Generate Your Text Files With Python Using Cog</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>347</itunes:episode>
      <podcast:episode>347</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299971605042727bd9c0-76ba-4a0f-b71b-317172b9cf23v1.mp3" length="43291772" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299971605042727bd9c0-76ba-4a0f-b71b-317172b9cf23v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_727bd9c0-76ba-4a0f-b71b-317172b9cf23638558797846940029.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/727bd9c0-76ba-4a0f-b71b-317172b9cf23638558797843552915.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/727bd9c0-76ba-4a0f-b71b-317172b9cf23638558797840491922.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>A Friendly Approach To Regression Models For Programmers</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Statistical regression models are a staple of predictive forecasts in a wide range of applications. In this episode Matthew Rudd explains the various types of regression models, when to use them, and his work on the book &quot;Regression: A Friendly Guide&quot; to help programmers add regression techniques to their toolbox.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Matthew Rudd about the applications of statistical modeling and regression, and how to start using it for your work</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing some use cases for statistical regression?</li>
<li>What was your motivation for writing a book to explain this family of algorithms to programmers?
<ul>
<li>What are your goals for the book?</li>
<li>Who is the target audience?</li>
</ul>
</li>
<li>What are some of the different categories of regression algorithms?</li>
<li>What are some heuristics for identifying which regression to use?</li>
<li>How have you approached the balance of using software principles for explaining the work of building the models with the mathematical underpinnings that make them work?</li>
<li>What are some of the concepts that are most challenging for people who are first working with regression models?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen statistical regression models used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on your book?</li>
<li>What are some of the resources that you recommend for folks who want to learn more about the inner workings and applications of regression models after they finish your book?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/matthewbrudd/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/MatthewBRudd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@MatthewBRudd</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.nytimes.com/column/the-argument?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Argument</a> podcast from the NY Times</li>
</ul>
</li>
<li>Matthew
<ul>
<li><a href="http://primusville.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Primus</a></li>
<li><a href="http://www.theclaypoollennondelirium.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Claypool Lennon Delirium</a></li>
<li><a href="https://shop.atorecords.com/dept/the-claypool-lennon-delirium--south-of-reality?cp=126_68335_103723&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">South of Reality</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.manning.com/books/regression-a-friendly-guide?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Regression: A Friendly Guide</a></li>
<li><a href="https://new.sewanee.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sewanee University of the South</a></li>
<li><a href="https://new.sewanee.edu/sewanee-datalab/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sewanee Data Lab</a></li>
<li><a href="https://learning-python.com/index-book-links.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mark Lutz Python books</a></li>
<li><a href="https://hastie.su.domains/ElemStatLearn/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elements of Statistical Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linear_regression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linear Regression</a></li>
<li><a href="https://en.wikipedia.org/wiki/Logistic_regression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logistic Regression</a></li>
<li><a href="https://www.routledge.com/Modelling-Binary-Data/Collett/p/book/9781584883241?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modeling Binary Data</a></li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fregression-models-friendly-guide-episode-346%2F&amp;action_name=A+Friendly+Approach+To+Regression+Models+For+Programmers+-+Episode+346&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2022-01-02t17:36:20+00:00-2c8c74c475d9c63</guid>
      <link>https://www.pythonpodcast.com/regression-models-friendly-guide-episode-346</link>
      <pubDate>Sun, 2 Jan 2022 17:00:00 +0000</pubDate>
      <podcast:soundbite startTime="438.75" duration="34.48">So the 3 classes of regression models that I'm gonna focus on that I'm writing about are linear regression, which shows up in every ML book out there, logistic regression, which also shows up in every mlai book out there, and then regression for counts, which does not show up that often. The 3 models are all the same and that there are ways to essentially guess average outcomes or predict averages. So every regression method in some sense predicts the average response to a given predictor or collection of predictors or for a given, you know, class of people or individuals.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:15</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>A Friendly Approach To Regression Models For Programmers</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>346</itunes:episode>
      <podcast:episode>346</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314309413238a6b3b499-17c9-4b0e-80db-951cab92095ev1.mp3" length="35990742" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314309413238a6b3b499-17c9-4b0e-80db-951cab92095ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a6b3b499-17c9-4b0e-80db-951cab92095e638558824457612648.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a6b3b499-17c9-4b0e-80db-951cab92095e638558824455122608.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a6b3b499-17c9-4b0e-80db-951cab92095e638558824453068262.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Fast, Flexible, and Incremental Task Automation With doit</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Every software project needs a tool for managing the repetitive tasks that are involved in building, running, and deploying the code. Frustrated with the limitations of tools like Make, Scons, and others Eduardo Schettino created doit to handle task automation in his own work and released it as open source. In this episode he shares the story behind the project, how it is implemented under the hood, and how you can start using it in your own projects to save you time and effort.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Eduardo Schettino about Doit, a flexible and low overhead task automation tool</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what doit is and the story behind it?</li>
<li>What are the main goals and use cases of doit?</li>
<li>Can you describe how you approached the implementation of Doit?
<ul>
<li>How has the design changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>The realm of task automation tools for developers is an exceedingly crowded one, with each tool prioritizing certain use cases. How would you characterize the position of doit in the current ecosystem?
<ul>
<li>How does it compare to e.g. Click, Invoke, Typer, etc.?</li>
</ul>
</li>
<li>What is your guiding philosophy for when and how to add new features?
<ul>
<li>You have been running the project for ~13 years now. How has the evolution of the Python language and ecosystem influenced your approach to the development and maintenance of doit?</li>
</ul>
</li>
<li>What is the workflow for getting started with doit and integrating it into your development process?</li>
<li>For every project there are some tasks that are identical and some that are bespoke for that application. What are the options for maintaining a standard set of tasks across repositories and composing them with per-project activites?</li>
<li>What are some of the useful patterns that you and the community have established for designing tasks and execution graphs?</li>
<li>How do you use doit in your own work?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen doit used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on doit?</li>
<li>When is doit the wrong choice?</li>
<li>What do you have planned for the future of doit?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/eduardoschettino/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/schettino72?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">schettino72</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_Matrix_(franchise)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Matrix</a> series</li>
</ul>
</li>
<li>Eduardo
<ul>
<li><a href="http://johnpilger.com/videos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">John Pilger</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://pydoit.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">doit</a></li>
<li><a href="https://www.zope.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://twistedmatrix.com/trac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://github.com/PyCQA/pyflakes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyflakes</a></li>
<li><a href="https://scons.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scons</a></li>
<li><a href="https://en.wikipedia.org/wiki/Make_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Make</a></li>
<li><a href="https://getnikola.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nikola</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-20-static-site-generators-with-justin-mayer-and-roberto-alsina/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/nose-devs/nose2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nose</a></li>
<li><a href="https://docs.pytest.org/en/6.2.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pytest</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-16-holger-krekel-on-py-test/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://click.palletsprojects.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Click</a></li>
<li><a href="https://typer.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typer</a></li>
<li><a href="http://www.pyinvoke.org/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Invoke</a></li>
<li><a href="https://puppet.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Puppet</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://www.chef.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chef</a></li>
<li><a href="https://www.sphinx-doc.org/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sphinx</a></li>
<li><a href="https://snakemake.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snakemake</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://luigi.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luigi</a></li>
<li><a href="https://pytest-incremental.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pytest-incremental</a></li>
<li><a href="https://github.com/schettino72/import-deps?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">import-deps</a></li>
<li><a href="https://docs.python.org/3/library/dbm.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dbm</a></li>
<li><a href="https://github.com/scality/metalk8s?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MetalK8s</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdoit-software-task-automation-episode-345%2F&amp;action_name=Fast%2C+Flexible%2C+and+Incremental+Task+Automation+With+doit+-+Episode+345&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-12-26t20:13:12+00:00-188b8b83d05256f</guid>
      <link>https://www.pythonpodcast.com/doit-software-task-automation-episode-345</link>
      <pubDate>Mon, 27 Dec 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="115.79" duration="37.35">My background was studied elect engineering, and I was mostly a c, c plus plus programmer. And then at some point, I started to try out different languages, and then I heard first about Zope. And then I tried out, and then I started using Python for some small scripts. And then on a job, it was not related to Python, but I set up, like, a roundup, like, the bug tracker that Python used today. And then I decided my next job must be Python. And then after that, I just applied for Python jobs. And then I landed in web development with Twist and Django. And then I never looked back from there, just Python.</podcast:soundbite>
      <podcast:soundbite startTime="682.43" duration="49.40">In terms of the DoIT project, as you mentioned, it's a tool for task and build automation, and Make is the sort of canonical example of that. It's been around probably the longest at least in terms of tools that are still being used today. But there have been a number of other projects that have started up within the Python community as well as outside of it. So from Ruby, the most notable is Rake. But within Python, there are tools like Click and Typer, and then there's the invoke project that grew out of the Fabric project. I'm just wondering if you can talk about some of the ways that the DoIT tool compares to some of those other systems that are available. And if you can just give your sense of its position in the overall market and some of the reasons that somebody might want to choose it over some of the other options that are out there?</podcast:soundbite>
      <podcast:soundbite startTime="168.59" duration="60.82">Coming from, like, c, c plus plus I enjoy Python very much. But in the beginning, I have this oh, there is no compile step. And then I quickly found out about PyFlakes. And that was very nice to run PyFlakes before you try to run your program to find, like, some basic syntax errors. And then I thought, oh, maybe I should put this in a build tool because I don't want to run PyFlakes on my whole code all the time. But the problem with the traditional build tools like make is that, like, it compares the timestamp of your target build files, the object files with the source. But when you're running PyFlakes, it's just a checker. There is no output file. So just because of this small change, the traditional build tools could not handle. And that was the basic idea that started to trigger as like I say, oh, I want to build something that I can just handle more generic tasks, not only build things.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Fast, Flexible, and Incremental Task Automation With doit</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>345</itunes:episode>
      <podcast:episode>345</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305565138200acc66675-fde2-46a2-bba8-6e1619a8d2ccv1.mp3" length="32319489" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305565138200acc66675-fde2-46a2-bba8-6e1619a8d2ccv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_acc66675-fde2-46a2-bba8-6e1619a8d2cc638558814114965679.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/acc66675-fde2-46a2-bba8-6e1619a8d2cc638558814112043911.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/acc66675-fde2-46a2-bba8-6e1619a8d2cc638558814109784150.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Technological, Business, and Sales Challenges Of Building The Ethical Ads Network</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Whether we like it or not, advertising is a common and effective way to make money on the internet. In order to support the work being done at Read The Docs they decided to include advertisements on the documentation sites they were hosting, but they didn&#8217;t want to alienate their users or collect unnecessary information. In this episode David Fischer explains how they built the Ethical Ads network to solve their problem, the technical and business challenges that are involved, and the open source application that they built to power their network.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing David Fischer about the Ethical Ads marketplace and the technology that runs</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what the Ethical Ads project is and the story behind it?</li>
<li>What are the technical and organizational requirements involved in running an ad network?
<ul>
<li>How have you approached the problem of kickstarting the flywheel for the two-sided marketplace?</li>
</ul>
</li>
<li>What are some of the challenges that you face in building an accurate profile of your audience without using detailed tracking methods?
<ul>
<li>What are the benefits that you see in focusing exclusively on developers in your publisher relationships?</li>
</ul>
</li>
<li>Can you describe the design and implementation of the ad server?
<ul>
<li>How has the architecture evolved since you first began working on it?</li>
<li>If you were to start over today what might you do differently?</li>
</ul>
</li>
<li>How have you approached scaling for performance and geographic distribution?</li>
<li>What mechanisms do you use for tracking impressions/measuring ad effectiveness?</li>
<li>How can advertisers experiment with A/B testing of ad copy?</li>
<li>If someone wants to run their own advertisements with the ethical ads server, what is involved in getting it deployed and integrated into their sites?
<ul>
<li>What are the integration and extension points available for customizing the behavior of the platform?</li>
</ul>
</li>
<li>What are some of the most notable lessons that you have learned about online advertising since you first started working on the Ethical Ads project?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Ethical Ads used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on the Ethical Ads platform?</li>
<li>What do you have planned for the future of the Ethical Ads platform?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/davidfischer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">davidfischer</a> on GitHub</li>
<li><a href="https://twitter.com/djfische/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@djfische</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/davidjamesfischer/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://changelog.com/shipit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ship It!</a> Podcast</li>
</ul>
</li>
<li>David
<ul>
<li><a href="https://www.meetup.com/topics/python/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Local Python Meetup</a></li>
<li><a href="https://click.palletsprojects.com/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Click</a> CLI framework</li>
<li><a href="https://github.com/selwin/python-user-agents?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">useragents</a> library</li>
<li><a href="https://github.com/barseghyanartur/tld?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TLD</a> for parsing internet domains</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.ethicalads.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ethical Ads Network</a></li>
<li><a href="https://github.com/readthedocs/ethical-ad-server/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ethical Ads Server</a></li>
<li><a href="https://www.sandiegopython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">San Diego Python</a></li>
<li><a href="https://readthedocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Read The Docs</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-36-eric-holscher-on-documentation-and-read-the-docs/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://opencollective.com/codefund?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeFund</a></li>
<li><a href="https://www.investopedia.com/terms/c/cpm.asp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CPM == Cost Per Mille</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fethical-ads-network-episode-344%2F&amp;action_name=The+Technological%2C+Business%2C+and+Sales+Challenges+Of+Building+The+Ethical+Ads+Network+-+Episode+344&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-12-20t01:25:37+00:00-1b440acf7d99a9e</guid>
      <link>https://www.pythonpodcast.com/ethical-ads-network-episode-344</link>
      <pubDate>Mon, 20 Dec 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="179.85" duration="41.25">Yeah. Ethical ads got its start as sort of the advertising arm of Read the Docs. We didn't brand it separately for a long time or anything like that. Read the Docs does a massive amount of traffic, you know, tens of millions of page views a month. And before about 5 years ago or so, it was basically on a complete shoestring budget. Like, literally, the goodwill of a few large benefactors like Rack Space and Microsoft and Sentry. Without these people basically giving infrastructure and compute and storage to read the docs for free, it would have had to shut down. There was just no money to keep it going. You know, it sort of required, you know, full time work, and there wasn't full time budget, basically, is the answer. There was always a SaaS product, read the docs for business.</podcast:soundbite>
      <podcast:soundbite startTime="1494.03" duration="83.72">This has literally gotten us some publishers. Like, we had a publisher talk to us and they were, like, I talked to, you know, my ad network and asked them what they were doing for the GDPR. This was on GDPR day, which was whatever May 2018, I wanna say. I don't remember exactly when it was. The ad network was basically like, we're not gonna do anything. You know? We're just gonna keep doing what we're doing. And I think a lot of these people's tunes have changed as sort of fines started to mount up. Basically, our approach was we're just not gonna collect any personal data on anybody and not store anything like that for any amount of time. So, like, nothing that we commit to our database is something that, like, if it leaked, I would feel ashamed of or anything like that. Like, you can read our code and see exactly what we're storing on every impression, exactly what we're writing to our database. And, you know, basically, we don't store IP addresses, you know. Like, we don't store full user agents on people, you know, we'll store something like, oh, Chrome on Linux, but we're not gonna store somebody's full user agent because I know that this can sort of track people down, you know, depending on how common their user agent is, like, that can track people down to some, you know, relatively small group of people. So basically, not storing this I think is to some degree a competitive advantage, and not having any cookies is another 1. You know, like you don't have to have a cookie banner if you don't store any tracking cookies on people.</podcast:soundbite>
      <podcast:soundbite startTime="611.91" duration="56.66">Once you have that 2 sided marketplace going, the advertisers will want to know, you know, how are their ads performing, who are they being served to, and this is where a lot of the privacy preservation aspect comes in and maybe introduces some challenge. And, also, when you're talking to potential advertisers, they want to know they want to have some information about the demographics and the quantities of the, you know, impressions and who they might be serving to so they know, you know, how to think about their ad copy, what they wanna focus on in terms of trying to sell to, whether or not their product is even a fit for the potential audience that they're gonna be put in front of. And I'm wondering if you can talk to some of the challenges that you face in being able to build up some of that profile of the audience and some of the signals that you're able to gain from the publishers of the sites that you're working with to be able to build up that profile to help with the sort of sales and reporting aspects of running the network?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:55:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Technological, Business, and Sales Challenges Of Building The Ethical Ads Network</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>344</itunes:episode>
      <podcast:episode>344</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299835383119989fc3bd-58a2-4c3d-b617-2ee3e3a3db73v1.mp3" length="50472192" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299835383119989fc3bd-58a2-4c3d-b617-2ee3e3a3db73v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_989fc3bd-58a2-4c3d-b617-2ee3e3a3db73638558797330829445.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/989fc3bd-58a2-4c3d-b617-2ee3e3a3db73638558797328254380.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/989fc3bd-58a2-4c3d-b617-2ee3e3a3db73638558797326341125.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Accidentally Building A Business With Python At Listen Notes</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Podcasts are one of the few mediums in the internet era that are still distributed through an open ecosystem. This has a number of benefits, but it also brings the challenge of making it difficult to find the content that you are looking for. Frustrated by the inability to pick and choose single episodes across various shows for his listening Wenbin Fang started the Listen Notes project to fulfill his own needs. He ended up turning that project into his full time business which has grown into the most full featured podcast search engine on the market. In this episode he explains how he build the Listen Notes application using Python and Django, his work to turn it into a sustainable business, and the various ways that you can build other applications and experiences on top of his API.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Wenbin Fang about the technology powering the Listen Notes podcast discovery platform</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Listen Notes is and the story behind it?</li>
<li>What are some of the main goals that listeners have when searching for a podcast?
<ul>
<li>What are the challenges that they commonly encounter when looking for information in a podcast?</li>
<li>What are the different sources of information that you can use to extract useful details about a podcast?</li>
</ul>
</li>
<li>How do you identify and prioritize new features or product enhancements?</li>
<li>Can you describe how the Listen Notes platform is architected?
<ul>
<li>How has it changed or evolved since you first began working on it?</li>
<li>How did you approach the technology selection for the initial version of Listen Notes?
<ul>
<li>If you were to start over today, what might you do differently?</li>
</ul>
</li>
</ul>
</li>
<li>What are the technical challenges that are posed by the ecosystem around podcasts?
<ul>
<li>What are the biggest changes that have happened in the methods of production and consumption for podcasts since you first became involved in the space?</li>
</ul>
</li>
<li>How do you approach the design and contracts of the Listen Notes web API given how core that is to your platform?</li>
<li>What are the most complex or complicated engineering projects that you have done for Listen Notes?</li>
<li>What are the pieces of the infrastructure for podcasts that you would like to see improved, changed, or replaced?</li>
<li>What are some of the kinds of projects that developers can build with the Listen Notes API?</li>
<li>What, if any, impact have the introduction of podcasts to closed platforms such as Spotify, Amazon Music, etc. had on your business?</li>
<li>What are some of the most surprising things that you have learned about podcasts and their consumption while building Listen Notes?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Listen Notes used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Listen Notes?</li>
<li>What do you have planned for the future of Listen Notes?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://wenbin.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/wenbinfang/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/wenbinf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wenbinf</a> on GitHub</li>
<li><a href="https://twitter.com/wenbinf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@wenbinf</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt7462410/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wheel of Time TV Series</a></li>
</ul>
</li>
<li>Wenbin
<ul>
<li><a href="https://superhuman.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Superhuman</a> email client <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png?utm_source=rss&utm_medium=rss" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.listennotes.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Listen Notes</a></li>
<li><a href="https://graphviz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphviz</a></li>
<li><a href="https://nextdoor.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NextDoor</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a></li>
<li><a href="https://www.elastic.co/elasticsearch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elasticsearch</a></li>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li>
<li><a href="https://www.rabbitmq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RabbitMQ</a></li>
<li><a href="https://docs.celeryproject.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReactJS</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://getbootstrap.com/docs/3.4/css/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bootstrap CSS</a></li>
<li><a href="https://www.digitalocean.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Digital Ocean</a></li>
<li><a href="https://tailwindcss.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tailwind CSS</a></li>
<li><a href="https://en.wikipedia.org/wiki/Record_linkage?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Entity Resolution</a></li>
<li><a href="https://clickhouse.tech/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clickhouse</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/clickhouse-data-warehouse-episode-88/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Flisten-notes-python-business-podcast-api-episode-343%2F&amp;action_name=Accidentally+Building+A+Business+With+Python+At+Listen+Notes+-+Episode+343&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-12-12t01:44:32+00:00-6706bbfc0f6a837</guid>
      <link>https://www.pythonpodcast.com/listen-notes-python-business-podcast-api-episode-343</link>
      <pubDate>Sun, 12 Dec 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="64.99" duration="36.19">So, Wenbin, can you start by introducing yourself? Sure. First, thanks for having me on. Hello, everyone. I'm Wundhian Feng, founder of Listen Knowles, protocol search engine and database. I grew up in China, came to the United States in 2010 for graduate study in computer science. Now, I live in San Francisco, running in ListenKnowles. Listeners is not a conventional company. It's only 1 full time employee, just me. I have a few freelancers helping me on on and off for content designs and other stuff. Yeah.</podcast:soundbite>
      <podcast:soundbite startTime="1482.61" duration="57.41">So for Spotify's entrance into Polycast, I don't think it affects listeners too much because it's a it's a work out that it doesn't participate in the open ecosystem. Arguably, people can say, over Spotify is provided, it's not Polycast, because it's not based on ISP, but based on the narrow definition of ISP. Right? But, a good thing is, Spotify expand the audience audio consumption, the spoken audios. Right? The podcast listener, Spotify, might not be the traditional or existing podcast listeners. So existing podcast listeners pretty much use the same open RSS space, the Polycast players. And Spotify may only target to their existing users, music listeners, and they hand them to discover, oh, there's a spoken audio there.</podcast:soundbite>
      <podcast:soundbite startTime="157.54" duration="61.96">So Listenos is a protocol search engine and database. Specifically, it's 1 database, 3 UIs. 1 Polycom database, 3 user interfaces. What do I mean? So 1 Polycom database is easy to understand, but we need UIs to access to the database. Right? The first UI is listenos.com. It's a website. You type in keywords, and then you find Polycast episodes and, Polycast. The second UI is the Polycast API. API stands for application programming interface. It's a UI. So people, developers can use the API to build apps, to build services, accessing to database and search engine. Now so the UI, there's no good name for you, so I call it bring your own UI. So people can come to our website, export Polycoms metadata into CSV files, and then open in Excel, Google Sheets, or whatever UI. You can write a Python script to pass the CSV, bring your own UI.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Accidentally Building A Business With Python At Listen Notes</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>343</itunes:episode>
      <podcast:episode>343</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531681930458348e6e9d7-4207-4cdd-be69-bc1ba54511abv1.mp3" length="35587442" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531681930458348e6e9d7-4207-4cdd-be69-bc1ba54511abv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_48e6e9d7-4207-4cdd-be69-bc1ba54511ab638558833714894541.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/48e6e9d7-4207-4cdd-be69-bc1ba54511ab638558833712543544.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/48e6e9d7-4207-4cdd-be69-bc1ba54511ab638558833710467769.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Making Orbital Mechanics More Accessible With Poliastro</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Outer space holds a deep fascination for people of all ages, and the key principle in its exploration both near and far is orbital mechanics. Poliastro is a pure Python package for exploring and simulating orbit calculations. In this episode Juan Luis Cano Rodriguez shares the story behind the project, how you can use it to learn more about space travel, and some of the interesting projects that have used it for planning planetary and interplanetary missions.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Juan Luis Cano Rodriguez about Poliastro, an open source library for interactive Astrodynamics and Orbital Mechanics, with a focus on ease of use, speed, and quick visualization.</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Poliastro is and the story behind it?</li>
<li>What are some of the simulations that Poliastro is designed to be used for?</li>
<li>How much knowledge of orbital mechanics is necessary to get started with Poliastro?</li>
<li>Can you describe how the project is implemented?
<ul>
<li>How have the goals and design of the project changed or evolved since you first started it?</li>
</ul>
</li>
<li>What are some of the design philosophies that you focus on to make the package accessible to the range of users that you support?</li>
<li>Can you talk through the workflow of using Poliastro to do something like track the path of the ISS and its traversal of the debris field from the recent satellite destruction?</li>
<li>What are some of the other libraries or frameworks that are commonly used with Poliastro?</li>
<li>How are you using Poliastro in your own work?</li>
<li>What are some overlooked or underused aspects of the project that you would like to highlight?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Poliastro used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Poliastro?</li>
<li>When is Poliastro the wrong choice?</li>
<li>What do you have planned for the future of Poliastro?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/juanluiscanor/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/astrojuanlu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="mailto:hello@juanlu.space">Email</a></li>
<li><a href="https://twitter.com/juanluisback/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.joshblue.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Josh Blue</a> (comedian)</li>
</ul>
</li>
<li>Juan Luis
<ul>
<li><a href="https://www.youtube.com/channel/UCNLjdaXWdB7bx9Da4qZvcaA?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DJ Cotts</a></li>
<li><a href="https://www.twitch.tv/djweaverofficial?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DJ Weaver</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://docs.poliastro.space/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poliastro</a></li>
<li><a href="https://fortran-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fortran 90</a> (if only this community existed back then! https://ondrejcertik.com/blog/2021/03/resurrecting-fortran/)?utm_source=rss&utm_medium=rss</li>
<li><a href="https://satellogic.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Satellogic</a></li>
<li><a href="https://readthedocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Read the Docs</a></li>
<li><a href="https://www.wolframalpha.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wolfram Alpha</a></li>
<li><a href="https://www.wolfram.com/mathematica/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mathematica</a></li>
<li><a href="https://www.sagemath.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SageMath</a></li>
<li><a href="https://en.wikipedia.org/wiki/Two-body_problem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">2-Body Problem</a></li>
<li><a href="https://www.astropy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AstroPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-32-erik-tollerud-on-astropy/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="http://numba.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numba</a></li>
<li><a href="https://github.com/seddonym/import-linter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Import Linter</a></li>
<li><a href="https://celestrak.com/software/vallado-sw.php?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vallado &quot;Fundamentals of Astrodynamics&quot;</a></li>
<li><a href="https://www.nasa.gov/mission_pages/station/main/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">International Space Station</a></li>
<li><a href="https://satellitemap.space/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Starlink Satellites</a></li>
<li><a href="https://ssd.jpl.nasa.gov/horizons/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Planetary Ephemeritas Data</a></li>
<li><a href="http://celestrak.com/NORAD/elements/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Satellite Data</a></li>
<li><a href="https://www.kerbalspaceprogram.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kerbal Space Program</a></li>
<li><a href="https://numfocus.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumFOCUS</a></li>
<li><a href="https://opencollective.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Collective</a></li>
<li><a href="https://pypi.org/project/sgp4/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python SGP4</a></li>
<li><a href="https://libre.space/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Libre Space Foundation</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpoliastro-python-orbital-mechanics-episode-342%2F&amp;action_name=Making+Orbital+Mechanics+More+Accessible+With+Poliastro+-+Episode+342&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-11-27t20:33:58+00:00-38124b44216e373</guid>
      <link>https://www.pythonpodcast.com/poliastro-python-orbital-mechanics-episode-342</link>
      <pubDate>Sat, 27 Nov 2021 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2622.84" duration="39.17">Like, for me, it's still a struggle. Like, I'm not even happy with some of the APIs that I baked into Polyastro, and I consider myself as someone that is always learning. So trying to build a community as welcoming as possible and trying to, you know, value out of anything else, having good relationships and being respectful, and, of course, not making mean or stupid comments to anyone else because of sex or race or anything like that. I think it's the most important priority for any community, and I take it very, very seriously.</podcast:soundbite>
      <podcast:soundbite startTime="77.39" duration="15.61">I'm an aerospace engineer by background. I studied in Madrid, Spain, and I taught Python myself because the only programming language that we were shown at the university was FORTRAN 90, if we were lucky.</podcast:soundbite>
      <podcast:soundbite startTime="319.99" duration="25.11">I'm going to dump all of this and start writing it in Python from scratch. So that's how Polyester was born. So at the beginning, it was just some helper functions to help me with this orbital analysis project. But then, you know, over the years, I had to keep using it because I was still at uni and I had all related subjects, so I kept on improving it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Making Orbital Mechanics More Accessible With Poliastro</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>342</itunes:episode>
      <podcast:episode>342</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253179781305267091e8be-be85-462b-bd41-ce41f8f51628v1.mp3" length="49200894" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253179781305267091e8be-be85-462b-bd41-ce41f8f51628v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7091e8be-be85-462b-bd41-ce41f8f51628638558837817688980.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7091e8be-be85-462b-bd41-ce41f8f51628638558837812880530.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7091e8be-be85-462b-bd41-ce41f8f51628638558837811099694.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Declarative Deep Learning From Your Laptop To Production With Ludwig and Horovod</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Deep learning frameworks encourage you to focus on the structure of your model ahead of the data that you are working with. Ludwig is a tool that uses a data oriented approach to building and training deep learning models so that you can experiment faster based on the information that you actually have, rather than spending all of our time manipulating features to make them match your inputs. In this episode Travis Addair explains how Ludwig is designed to improve the adoption of deep learning for more companies and a wider range of users. He also explains how the Horovod framework plugs in easily to allow for scaling your training workflow from your laptop out to a massive cluster of servers and GPUs. The combination of these tools allows for a declarative workflow that starts off easy but gives you full control over the end result.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Travis Adair about building and training machine learning models with Ludwig and Horovod</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Horovod and Ludwig are?
<ul>
<li>How do the projects work together?</li>
</ul>
</li>
<li>What was your path to being involved in those projects and what is your current role?</li>
<li>There are a number of AutoML libraries available for frameworks such as scikit-learn, etc. What are the challenges that are introduced by applying that workflow to deep learning architectures?</li>
<li>What are the use cases that Ludwig is designed to enable?</li>
<li>Who are the target users of Ludwig?
<ul>
<li>How do the workflows change/progress for the different personas?</li>
</ul>
</li>
<li>How is the underlying framework architected?
<ul>
<li>What are the available extension points to provide a progressive exposure of complexity?</li>
<li>How have the goals and design of the project changed or evolved as it has gained more widespread adoption beyond Uber?
<ul>
<li>What was the motivation for migrating the core of Ludwig from Tensorflow to Pytorch?</li>
</ul>
</li>
</ul>
</li>
<li>Can you describe the workflow of building a model definition with Ludwig?
<ul>
<li>How much knowledge of neural network architectures and their relevant characteristics is necessary to use Ludwig effectively?</li>
</ul>
</li>
<li>What are the motivating factors for adding Horovod to the process?
<ul>
<li>What is involved in moving from a single machine/single process training loop to a multi-core or multi-machine distributed training process?</li>
</ul>
</li>
<li>The combination of Ludwig and Horovod provide a shallower learning curve for building and scaling model training. What do you see as their potential impact on the availability and adoption of more sophisticated ML capabilities across organizations of varying scale?
<ul>
<li>What do you see as other significant barriers to widespread use of ML functionality?</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Ludwig and/or Horovod used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Ludwig and Horovod?</li>
<li>When is Ludwig and/or Horovod the wrong choice?</li>
<li>What do you have planned for the future of both projects?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/travisaddair/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/travisaddair?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@TravisAddair</a> on Twitter</li>
<li><a href="https://github.com/tgaddair?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tgaddair</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.zealandardor.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zeal and Ardor</a></li>
</ul>
</li>
<li>Travis
<ul>
<li><a href="http://www.opeth.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Opeth</a></li>
<li><a href="https://en.wikipedia.org/wiki/Agalloch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agaloch</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="ludwig.ai">Ludwig</a></li>
<li><a href="horovod.ai">Horovod</a></li>
<li><a href="http://www.predibase.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Predibase</a></li>
<li><a href="https://www.uber.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uber</a></li>
<li><a href="https://eng.uber.com/scaling-michelangelo/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Michelangelo</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Gradient_boosting?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gradient Boosted Trees</a></li>
<li><a href="https://xgboost.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XGBoost</a></li>
<li><a href="https://catboost.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CatBoost</a></li>
<li><a href="https://lightgbm.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LightGBM</a></li>
<li><a href="https://pycaret.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCaret</a></li>
<li><a href="https://arxiv.org/abs/1603.06560?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HyperBand</a></li>
<li><a href="https://scikit-optimize.github.io/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-optimize</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="https://en.wikipedia.org/wiki/Vision_transformer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vision Transformer Architecture</a></li>
<li><a href="https://huggingface.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HuggingFace</a></li>
<li><a href="https://github.com/google/jax?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jax</a></li>
<li><a href="https://github.com/microsoft/DeepSpeed?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeepSpeed</a></li>
<li><a href="https://en.wikipedia.org/wiki/Collective_operation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AllReduce</a></li>
<li><a href="https://developer.nvidia.com/nccl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nvidia Collective Communications Library (NCCL)</a></li>
<li><a href="https://machinelearningmastery.com/difference-between-a-batch-and-an-epoch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Training Epoch</a></li>
<li><a href="https://github.com/sql-machine-learning/elasticdl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ElasticDL</a></li>
<li><a href="https://raft.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raft Consensus Algorithm</a></li>
<li><a href="https://pytorch.org/docs/stable/jit.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TorchScript</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transfer_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transfer Learning</a></li>
<li><a href="https://awards.acm.org/bell?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gordon Bell Prize</a></li>
<li><a href="https://www.anyscale.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anyscale</a></li>
<li><a href="https://ray.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fludwig-horovod-distributed-declarative-deep-learning-episode-341%2F&amp;action_name=Declarative+Deep+Learning+From+Your+Laptop+To+Production+With+Ludwig+and+Horovod+-+Episode+341&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-11-22t02:32:27+00:00-15ead9e7e3a6ff4</guid>
      <link>https://www.pythonpodcast.com/ludwig-horovod-distributed-declarative-deep-learning-episode-341</link>
      <pubDate>Mon, 22 Nov 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2169.00" duration="39.77">Inevitably, when you're dealing with these sort of very paralyzed and scale out operations where you're dealing with multiple nodes and particularly when it's very state full and trying to optimize for time and latency characteristics. I'm wondering how you handle the situation of a node failure where you're trying to scale out across, you know, even 10 or 20 instances with GPUs and possibly even multiple GPUs per node, and 1 of those instances has a hardware failure and drops out of the pool, how you're able to recover that state and be able to continue the training operation without having to start everything over from scratch and then try again.</podcast:soundbite>
      <podcast:soundbite startTime="273.51" duration="30.25">But deep learning tends to be a very different beast in a lot of ways. So it's still very much a research problem. So the best model architectures haven't been fully solved and commoditized yet. And the modalities of data that we work with are often very different in structure. Right? So instead of just having a bunch of rows and columns in a database or a CSV file, you often have, you know, documents of text data or images of, you know, whatever, videos, audio samples.</podcast:soundbite>
      <podcast:soundbite startTime="3452.46" duration="33.68">Yeah. There are too many, so I wish we could hire more people faster. But, yeah, for Horovod in particular, a few that really stand out to me. So I would say we're the biggest limitation distributed training today is isn't around getting consistently good model performance, like in terms of the model quality at any scale. And so as part of that, we've been doing a lot of work on figuring out ways that we can better achieve good convergence of model training through a combination of hyperparameter search.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:04:48</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Declarative Deep Learning From Your Laptop To Production With Ludwig and Horovod</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>341</itunes:episode>
      <podcast:episode>341</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252973946875634212f091-5b05-4fc8-ac6d-0ab2b1ffdce9v1.mp3" length="53591715" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252973946875634212f091-5b05-4fc8-ac6d-0ab2b1ffdce9v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4212f091-5b05-4fc8-ac6d-0ab2b1ffdce9638558788688190410.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4212f091-5b05-4fc8-ac6d-0ab2b1ffdce9638558788685228535.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4212f091-5b05-4fc8-ac6d-0ab2b1ffdce9638558788683129302.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build Better Analytics And Models With A Focus On The Data Experience</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>A lot of time and energy goes into data analysis and machine learning projects to address various goals. Most of the effort is focused on the technical aspects and validating the results, but how much time do you spend on considering the experience of the people who are using the outputs of these projects? In this episode Benn Stancil explores the impact that our technical focus has on the perceived value of our work, and how taking the time to consider what the desired experience will be can lead us to approach our work more holistically and increase the satisfaction of everyone involved.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Benn Stancil about the perennial frustrations of working with data and thoughts on how to improve the experience</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by discussing your perspective on the most frustrating elements of working with data in an organization?
<ul>
<li>How might that compound when working with machine learning?</li>
</ul>
</li>
<li>What are the sources of the disconnect between our level of technical sophistication and our ability to produce meaningful insights from our data?</li>
<li>There have been a number of formulations about a &quot;hierarchy of needs&quot; pertaining to data. When the goal is to bring ML/AI methods to bear on an organization&#8217;s processes or products how can thinking about the intended experience act to improve the end result?
<ul>
<li>What are some failure modes or suboptimal outcomes that might be expected when building from a tooling/technology/technique first mindset?</li>
</ul>
</li>
<li>What are some of the design elements that we can incorporate into our development environments/data infrastructure/data modeling that can incentivize a more experience driven process for building data products/analyses/ML models?</li>
<li>How does the design and capabilities of the Mode platform allow teams to progress along the journey from data discovery to descriptive analytics, to ML experiments?</li>
<li>What are the most interesting, innovative, or unexpected approaches that you have seen for encouraging the creation of positive data experiences?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Mode and data analysis?</li>
<li>When is a data experience the wrong approach?</li>
<li>What do you have planned for the future of Mode to support this ideal?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/benn-stancil/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/bennstancil?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@bennstancil</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://ventureunlocked.substack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Venture Unlocked Podcast</a></li>
</ul>
</li>
<li>Benn
<ul>
<li><a href="https://wraptext.equals.app/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wrap Text by Bobby Pinero</a></li>
<li><a href="https://counting.substack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Counting Stuff by Randy Au</a></li>
<li><a href="https://raydata.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray Data Co by Mr Ben</a></li>
<li><a href="https://jpmonteiro.substack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modern Data Democracy By JP Monteiro</a></li>
<li><a href="https://www.threeuncannyfour.com/show/bad-blood/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bad Blood Podcast</a></li>
<li><a href="https://www.penguinrandomhouse.com/books/549478/bad-blood-by-john-carreyrou/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bad Blood Book</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://mode.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mode Analytics</a></li>
<li><a href="https://www.tidyverse.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tidyverse</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://fivetran.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fivetran</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/fivetran-data-replication-episode-93/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.getdbt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dbt</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Conway%27s_law?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conway&#8217;s Law</a></li>
<li><a href="https://www.cinchy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cinchy</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/cinchy-dataware-platform-episode-216/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://medium.com/memory-leak/reverse-etl-a-primer-4e6694dcc7fb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reverse ETL</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmodern-data-experience-episode-340%2F&amp;action_name=Build+Better+Analytics+And+Models+With+A+Focus+On+The+Data+Experience+-+Episode+340&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-11-14t14:45:23+00:00-125c86aa2431091</guid>
      <link>https://www.pythonpodcast.com/modern-data-experience-episode-340</link>
      <pubDate>Mon, 22 Nov 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="435.63" duration="17.69">Wondering what you see as some of the compounding elements of frustration when you're also trying to go beyond simple descriptive analytics, simple in air quotes, and move that into a sort of machine learning workflow, and do some, predictive analytics or prescriptive analytics.</podcast:soundbite>
      <podcast:soundbite startTime="79.39" duration="13.56">So I focus on on being involved in our own internal data efforts, as well as spending a lot of time, kinda talking with folks in the community, trying to understand the problems they have, you know, kinda figuring out where where we think the space is headed and and what kind of problems Moe needs to be solved in the future.</podcast:soundbite>
      <podcast:soundbite startTime="1731.89" duration="6.57">And so I I don't know. I don't know how we would solve that. But but the this yeah. That approach of, like, the data being the the key to it is actually kind of interesting.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build Better Analytics And Models With A Focus On The Data Experience</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>340</itunes:episode>
      <podcast:episode>340</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530314701389872e32fba-38be-4e15-bf0d-46810eebacf6v1.mp3" length="42039454" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530314701389872e32fba-38be-4e15-bf0d-46810eebacf6v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_72e32fba-38be-4e15-bf0d-46810eebacf6638558803096049530.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/72e32fba-38be-4e15-bf0d-46810eebacf6638558803091861759.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/72e32fba-38be-4e15-bf0d-46810eebacf6638558803089779657.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building Conversational AI to Augment Sales Teams at Structurely</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The true power of artificial intelligence is its ability to work collaboratively with humans. Nate Joens co-founded Structurely to create a conversational AI platform that augments human sales teams to help guide potential customers through the initial steps of the funnel. In this episode he discusses the technical and social considerations that need to be combined for a seamless conversational experience and how he and his team are tackling the problem.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nate Joens about his work at Structurely to build conversational AI utilities that augment human sales interactions</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Structurely is and the story behind it?</li>
<li>What are the elements that comprise a &quot;conversational AI&quot;?
<ul>
<li>How is it distinct from the wave of chatbots that were popular in recent years?</li>
<li>What lessons from that approach can we take forward into AI enabled conversational platforms?</li>
</ul>
</li>
<li>How are you applying AI to the sales process?
<ul>
<li>How much domain expertise is necessary to make an effective and engaging conversational AI? (e.g. knowledge of sales techniques vs. knowledge of real estate, etc.)</li>
</ul>
</li>
<li>Can you describe how you have designed the Structurely platform?
<ul>
<li>What are the biggest engineering challenges that you have had to work through?
<ul>
<li>What challenges or complexities have been most persistent?</li>
</ul>
</li>
</ul>
</li>
<li>What are the design complexities that you have to work through to make the AI accessible for end users?</li>
<li>What are some of the advancements in AI/NLP/transfer learning that have been most beneficial for teams building conversational AI?</li>
<li>What are the signals that you emphasize when monitoring the performance of your models?
<ul>
<li>What is your approach for feeding real-world customer interactions back into your model development and training loop?</li>
</ul>
</li>
<li>What are the most active areas of research in conversational AI applications and techniques?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Structurely and/or conversational AI used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on conversational AI at Structurely?</li>
<li>When is conversational AI the wrong choice?</li>
<li>What do you have planned for the future of Structurely?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://twitter.com/whonatejoens?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@whonatejoens</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/nathanjoens/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.vantage.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vantage</a> AWS Cost Management</li>
</ul>
</li>
<li>Nate
<ul>
<li><a href="https://www.videoform.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VideoForm</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.structurely.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stucturely</a></li>
<li><a href="https://en.wikipedia.org/wiki/Geographic_information_system?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GIS</a></li>
<li><a href="https://www.analyticsinsight.net/what-is-generative-ai-its-impacts-and-limitations/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Generative AI</a></li>
<li><a href="https://en.wikipedia.org/wiki/GPT-3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPT-3</a></li>
<li><a href="https://en.wikipedia.org/wiki/Sankey_diagram?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sanky Diagram</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://allenai.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Allen Institute for AI</a></li>
<li><a href="https://en.wikipedia.org/wiki/F-score?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">F Score</a></li>
<li><a href="https://www.snorkel.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snorkel</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/snorkel-with-alex-ratner-episode-15/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://paperswithcode.com/task/few-shot-learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Few-Shot Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Zero-shot_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zero Shot Learning</a></li>
<li><a href="https://www.voxable.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Voxable</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fstructurely-conversational-ai-sales-episode-339%2F&amp;action_name=Building+Conversational+AI+to+Augment+Sales+Teams+at+Structurely+-+Episode+339&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-11-06t21:32:29+00:00-490dbdde9b060c1</guid>
      <link>https://www.pythonpodcast.com/structurely-conversational-ai-sales-episode-339</link>
      <pubDate>Sat, 6 Nov 2021 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="142.56" duration="16.59">Over text and email, our product works to basically follow-up with leads from different sources in all sorts of different industries, have back and forth 2 way conversations that essentially qualify or disqualify them, and then pass them back off to a sales rep to ideally close.</podcast:soundbite>
      <podcast:soundbite startTime="436.38" duration="24.33">I would say, in a very simple way, decision trees don't scale or work in any form. We've all seen them in typical chatbot builders. If someone says this, you can go down here. If someone says this, you can go down here. But we set out to have a lot more flexibility in the way that our conversational engine works, but while still giving our customers the ability to customize their conversations.</podcast:soundbite>
      <podcast:soundbite startTime="261.02" duration="10.58">But, ultimately, it feels like you're actually talking to a human. And I think that that is the really big difference in our product in conversational AI versus kind of the early wave of chatbots.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building Conversational AI to Augment Sales Teams at Structurely</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>339</itunes:episode>
      <podcast:episode>339</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303544472556b45c2083-a42d-4efa-aaa3-4e6f04b45ab4v1.mp3" length="42720650" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303544472556b45c2083-a42d-4efa-aaa3-4e6f04b45ab4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b45c2083-a42d-4efa-aaa3-4e6f04b45ab4638558805020473799.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b45c2083-a42d-4efa-aaa3-4e6f04b45ab4638558805016413355.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b45c2083-a42d-4efa-aaa3-4e6f04b45ab4638558805014137345.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build Composable And Reusable Feature Engineering Pipelines with Feature-Engine</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Every machine learning model has to start with feature engineering. This is the process of combining input variables into a more meaningful signal for the problem that you are trying to solve. Many times this process can lead to duplicating code from previous projects, or introducing technical debt in the form of poorly maintained feature pipelines. In order to make the practice more manageable Soledad Galli created the feature-engine library. In this episode she explains how it has helped her and others build reusable transformations that can be applied in a composable manner with your scikit-learn projects. She also discusses the importance of understanding the data that you are working with and the domain in which your model will be used to ensure that you are selecting the right features.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Soledad Galli about feature-engine, a Python library to engineer features for use in machine learning models</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what feature-engine is and the story behind it?</li>
<li>What are the complexities that are inherent to feature engineering?
<ul>
<li>What are the problems that are introduced due to incidental complexity and technical debt?</li>
</ul>
</li>
<li>What was missing in the available set of libraries/frameworks/toolkits for feature engineering that you are solving for with feature-engine?</li>
<li>What are some examples of the types of domain knowledge that are needed to effectively build features for an ML model?</li>
<li>Given the fact that features are constructed through methods such as normalizing data distributions, imputing missing values, combining attributes, etc. what are some of the potential risks that are introduced by incorrectly applied transformations or invalid assumptions about the impact of these manipulations?</li>
<li>Can you describe how feature-engine is implemented?
<ul>
<li>How have the design and goals of the project changed or evolved since you started working on it?</li>
</ul>
</li>
<li>What (if any) difference exists in the feature engineering process for frameworks like scikit-learn as compared to deep learning approaches using PyTorch, Tensorflow, etc.?</li>
<li>Can you describe the workflow of identifying and generating useful features during model development?
<ul>
<li>What are the tools that are available for testing and debugging of the feature pipelines?</li>
</ul>
</li>
<li>What do you see as the potential benefits or drawbacks of integrating feature-engine with a feature store such as Feast or Tecton?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen feature-engine used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on feature-engine?</li>
<li>When is feature-engine the wrong choice?</li>
<li>What do you have planned for the future of feature-engine?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/soledad-galli/?originalSubdomain=de&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/Soledad_Galli?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Soledad_Galli</a> on Twitter</li>
<li><a href="https://github.com/solegalli?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">solegalli</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt1160419/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dune Movie</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dune_(franchise)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dune Series</a></li>
</ul>
</li>
<li>Soledad
<ul>
<li><a href="https://www.thesocialdilemma.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Social Dilemma</a></li>
<li><a href="https://www.penguinrandomhouse.com/books/602099/dont-be-evil-by-rana-foroohar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Don&#8217;t Be Evil</a> by Rana Foroohar</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://feature-engine.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">feature-engine</a></li>
<li><a href="https://en.wikipedia.org/wiki/Feature_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feature Engineering</a></li>
<li><a href="https://www.trainindata.com/#books?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Feature Engineering Cookbook</a></li>
<li><a href="https://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://www.featurestore.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feature Stores</a>
<ul>
<li><a href="https://www.pythonpodcast.com/machine-learning-operations-episode-289/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://feast.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feast</a></li>
<li><a href="https://www.tecton.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tecton</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/tecton-mlops-feature-store-episode-166/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.kaggle.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kaggle</a></li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeature-engine-feature-engineering-pipelines-episode-338%2F&amp;action_name=Build+Composable+And+Reusable+Feature+Engineering+Pipelines+with+Feature-Engine+-+Episode+338&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-10-31t00:51:15+00:00-864030ba4aa26b1</guid>
      <link>https://www.pythonpodcast.com/feature-engine-feature-engineering-pipelines-episode-338</link>
      <pubDate>Sun, 31 Oct 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="808.76" duration="19.04">I think the biggest problem is is maintaining the code moving forward. And in my opinion, you want to try and remove incidental complexity or technical debt as soon as you see that it's piling up because then it becomes so ingrained that it's it's becomes really difficult.</podcast:soundbite>
      <podcast:soundbite startTime="196.88" duration="44.64">So the idea of feature engine came up the I worked in like various companies and various projects and I realized that I was actually coding and recoding the same transformations over and over again, project after project. And I thought that at the time, it will be great if we actually had a library like scikit learn where you can pick and choose whatever machine learning model that you want to try in your data. But instead of picking and choosing models, we should pick and choose data transformations to accommodate based on the features. So I think this was 1 of the main drivers that got me into going ahead and designing feature engine.</podcast:soundbite>
      <podcast:soundbite startTime="1974.67" duration="59.43">I think the workflow normally goes like you get the data, you try to understand what the data is, what the variables are, like do you have redundant data, how good the quality of the data is. So it's a very big portion of data exploration that you go to try and understand. Do I have duplication? Are my variables correlated? That kind of thing. Then there's probably some sort of iteration between building a model, deriving feature importance, trying to understand which are the most important features. And if a data transformation that maybe you did is actually making the feature more or less predictive or how is that affecting the performance of the model. So there's a little bit of a back and forth between learning the variable, transforming the variable, seeing the impact of that transformation on the variable itself and then on the performance of the model, and then if you're not happy with that, reiterating.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build Composable And Reusable Feature Engineering Pipelines with Feature-Engine</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>338</itunes:episode>
      <podcast:episode>338</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297292974549d0d63e7e-5902-4957-892d-0a22c00e584cv1.mp3" length="41080107" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297292974549d0d63e7e-5902-4957-892d-0a22c00e584cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d0d63e7e-5902-4957-892d-0a22c00e584c638558788314816095.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d0d63e7e-5902-4957-892d-0a22c00e584c638558788310949952.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d0d63e7e-5902-4957-892d-0a22c00e584c638558788308772684.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Speed Up Your Python Data Applications By Parallelizing Them With Bodo</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The speed of Python is a subject of constant debate, but there is no denying that for compute heavy work it is not the optimal tool. Rather than rewriting your data oriented applications, or having to rearchitect them, the team at Bodo wrote a compiler that will do the optimization for you. In this episode Ehsan Totoni explains how they are able to translate pure Python into massively parallel processes that are optimized for high performance compute systems.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ehsan Totoni about Bodo, an inferential compiler for Python that automatically parallelizes your data oriented projects</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Bodo is and the story behind it?</li>
<li>What are some of the use cases that it is being applied to?</li>
<li>What are the motivating factors for something like Dask or Ray as compared to Bodo?</li>
<li>What are the software patterns that contribute to slowdowns in data processing code?
<ul>
<li>What are some of the ways that the compiler is able to optimize those operations?</li>
</ul>
</li>
<li>Can you describe how Bodo is implemented?</li>
<li>How does Bodo process the Python code for compiling to the optimized form?
<ul>
<li>What are the compilation techniques for understanding the semantics of the code being processed?</li>
<li>How do you manage packages that rely on C extensions?</li>
<li>What do you use as an intermediate representation for translating into the optimized output?</li>
</ul>
</li>
<li>What is the workflow for applying Bodo to a Python project?
<ul>
<li>What debugging utilities does it provide for identifying any errors that occur due to the added parallelism?</li>
</ul>
</li>
<li>What kind of support does Bodo have for optimizing a machine learning project with Bodo? (e.g. using PyTorch/Tensorflow/MxNet/etc.)</li>
<li>When working with a workflow orchestrator such as Dagster for Airflow, what would the integration process look like for being able to take advantage of the optimized Bodo output?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Bodo used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Bodo?</li>
<li>When is Bodo the wrong choice?</li>
<li>What do you have planned for the future of Bodo?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/ehsan-totoni-44928286/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/ehsantn?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@EhsanTn</a> on Twitter</li>
<li><a href="https://github.com/ehsantn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ehsantn</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://morningchores.com/paracord-projects/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Paracord Crafts</a></li>
</ul>
</li>
<li>Ehsan
<ul>
<li>[</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://bodo.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bodo</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/bodo-parallel-data-processing-python-episode-223/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://illinois.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Illinois Urbana-Champaign</a></li>
<li><a href="https://en.wikipedia.org/wiki/Supercomputer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HPC</a></li>
<li><a href="https://en.wikipedia.org/wiki/Message_Passing_Interface?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MPI</a></li>
<li><a href="https://aws.amazon.com/hpc/efa/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elastic Fabric Adapter</a></li>
<li><a href="https://en.wikipedia.org/wiki/All-to-all_(parallel_pattern)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">All-to-All Communication</a></li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.ray.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pandas.pydata.org/docs/reference/api/pandas.api.extensions.ExtensionArray.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas Extension Arrays</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pandas-extension-arrays-with-tom-augspurger-episode-164/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://geopandas.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GeoPandas</a></li>
<li><a href="https://numba.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numba</a></li>
<li><a href="https://llvm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LLVM</a></li>
<li><a href="https://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://horovod.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Horovod</a></li>
<li><a href="https://dagster.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster</a>
<ul>
<li><a href="https://www.pythonpodcast.com/dagster-data-orchestration-episode-279/?utm_source=rss&utm_medium=rss">Podcast.__init__ Episode</a></li>
<li><a href="https://www.dataengineeringpodcast.com/dagster-data-applications-episode-104/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-44-airflow-with-maxime-beauchemin/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/ipython/ipyparallel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython Parallel</a></li>
<li><a href="https://parquet.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parquet</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbodo-parallel-python-hpc-episode-337%2F&amp;action_name=Speed+Up+Your+Python+Data+Applications+By+Parallelizing+Them+With+Bodo+-+Episode+337&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-10-25t21:57:14+00:00-5d6a1eee3af1299</guid>
      <link>https://www.pythonpodcast.com/bodo-parallel-python-hpc-episode-337</link>
      <pubDate>Mon, 25 Oct 2021 22:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1646.49" duration="95.61">So the main challenge is data types. For any compiler solution, you have to have data types to do anything. Without data types, the compiler can't do anything. So that's the key challenge. And in this case, the main data structures for data processing workloads is data frames. And for data frames, the data type of each column and the names of the columns are also part of the data type. So for every operation, Modo has to know what the data frame input is and what the data frame output is. So we have a lot of compiler techniques to figure out the data types. That's 1 of our daily challenges that, you know, in Python and Pandas is not designed to be compiled necessarily. There are these patterns by the users. For example, very common thing. You have a data frame. You assign a new column to it. You add a new column to it. That's changing the data type, and it can break the compiler system. So how can we avoid that? So we automate all of these patterns. However, there are cases where we can't do it. The data type based on some condition in the program changes. And in those cases, we we have to throw the right error for the user to know what's going on and point exactly where the problem happens and where they need to slightly change their code for the compiler to work.</podcast:soundbite>
      <podcast:soundbite startTime="152.92" duration="77.86">So after getting my PhD, I really wanted to bring this compute power to programmers of scripting languages, so I joined Intel Labs. We started trying to optimize Julia at first. The promise of Julia was that it's a scripted language that is fast and lets you run code with the speed of c. Simplicity of scripting language, but speed of c. So we were working with Julia team at MIT. We built several packages, compiled technologies to paralyze Julia, optimize Julia, but we saw that Python is taking over and is becoming standard for all kinds of programmers. So we brought our compute technologies to Python instead of Julia. And it was a nice surprise for me in terms of how nice and easy to use Python is in terms of us developing compiler technologies in Python and for the user in terms of abstractions. So we thought some of the ideas that we had in Julia can be applied to Python, and that's what happened.</podcast:soundbite>
      <podcast:soundbite startTime="3105.71" duration="143.42">So our goal is to bring compute power of high performance computing to as many programmers as possible. So we want to lower the barrier to this kind of compute to, regular Python programmers, and help them become data engineers, essentially, with as little learning and barriers as possible. So in the short term, we are working on improving the user experience of Bodo, basically, automatically compiling as much as possible without changes in the code where it's actually practical. And when it's not possible to compile throw the right errors and have the right documentation to explain what could be done in the program. So the programmer experience is our number 1 focus in the short term. We are also developing Motto platform to be as complete as possible. We are fully storage agnostic, so we support parquet on object storage like s 3 or ADLS. We support various data warehouses like Snowflake, and, we want to make this storage support as seamless and as efficient and scalable as possible. But we are also building on managed cloud platform on AWS and Azure to have a lot of the right features in terms of managing clusters, notebooks, managing users. And we have a new notebook experience that I'm very excited about. In a few months, it will be out, and I'm very excited to see what kind of applications and what kind of users this new experience can really enable because it's a much lower barrier for programmers than before. I believe that any Python programmer can become a data engineer with both or with much lower amount of learning and barriers than something like Spark. And they can basically, hopefully, double their salary without learning all of these complex big data frameworks. So that's that's our goal.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:07</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Speed Up Your Python Data Applications By Parallelizing Them With Bodo</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>337</itunes:episode>
      <podcast:episode>337</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298537440682db6e137c-01b0-498a-9a14-1bba7d076b26v1.mp3" length="48015210" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298537440682db6e137c-01b0-498a-9a14-1bba7d076b26v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_db6e137c-01b0-498a-9a14-1bba7d076b26638558792768819385.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/db6e137c-01b0-498a-9a14-1bba7d076b26638558792765703518.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/db6e137c-01b0-498a-9a14-1bba7d076b26638558792763664966.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>An Exploration Of Financial Exchange Risk Management Strategies</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The world of finance has driven the development of many sophisticated techniques for data analysis. In this episode Paul Stafford shares his experiences working in the realm of risk management for financial exchanges. He discusses the types of risk that are involved, the statistical methods that he has found most useful for identifying strategies to mitigate that risk, and the software libraries that have helped him most in his work.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to the Data Engineering Podcast, the show about modern data management</li>
<li>When you&#8217;re ready to build your next pipeline, or want to test out the projects you hear about on the show, you&#8217;ll need somewhere to deploy it, so check out our friends at Linode. With their managed Kubernetes platform it&#8217;s now even easier to deploy and scale your workflows, or try out the latest Helm charts from tools like Pulsar and Pachyderm. With simple pricing, fast networking, object storage, and worldwide data centers, you&#8217;ve got everything you need to run a bulletproof data platform. Go to <a href="https://www.dataengineeringpodcast.com/linode?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dataengineeringpodcast.com/linode</a> today and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Paul Stafford about building risk models to guard against financial exchange rate volatility</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What are the principles involved in risk management, and how are statistical methods used?</li>
<li>How did you get involved in financial markets?
<ul>
<li>In what ways did your background in science and engineering prepare you for work in finance and risk management?</li>
</ul>
</li>
<li>What are the tools that you have found most useful in your career in finance?</li>
<li>How have recent trends such as the widespread adoption of deep learning impacted the capabilities and risks present in foreign exchange strategies?</li>
<li>What are the challenges that you face in obtaining and validating the input data that you are relying on for building financial and statistical models?
<ul>
<li>How has the volatility of the pandemic impacted the robustness and resilience of your predictive capabilities?</li>
</ul>
</li>
<li>What are the areas where the available tools are typically insufficient?</li>
<li>What are the most interesting, innovative, or unexpected strategies or techniques that you have seen applied to risk management?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working in risk management?</li>
<li>What are the economic and industry trends that you are keeping a close eye on for your work at Deaglo and your own personal projects?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/paul-stafford-8a07342/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt9742794/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Vault</a> (movie)</li>
</ul>
</li>
<li>Paul
<ul>
<li>Motorcycle Trip of the Grand Canyon</li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.deaglo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deaglo Partners, LLC.</a></li>
<li><a href="https://www.investopedia.com/terms/v/var.asp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Value At Risk (VaR)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Black%E2%80%93Scholes_equation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black-Scholes Equation</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linear_algebra?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linear Algebra</a></li>
<li><a href="https://en.wikipedia.org/wiki/Principal_component_analysis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Principal Component Analysis</a></li>
<li><a href="https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eigenvectors and Eigenvalues</a></li>
<li><a href="https://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Markov Chain Monte Carlo</a></li>
<li><a href="https://en.wikipedia.org/wiki/Violin_plot?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Violin Plot</a></li>
<li><a href="https://en.wikipedia.org/wiki/Kurtosis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kurtosis</a></li>
<li><a href="https://docs.pymc.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyMC3</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pymc3-probabilistic-modeling-episode-209/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Bayesian_linear_regression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bayesian Regression</a></li>
<li><a href="https://en.wikipedia.org/wiki/Constrained_optimization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Constrained Optimization</a></li>
<li><a href="https://ethereum.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ethereum</a></li>
<li><a href="https://en.wikipedia.org/wiki/Smart_contract?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Smart Contracts</a></li>
<li><a href="https://www.investopedia.com/terms/b/behavioralfinance.asp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Behavioral Finance</a></li>
<li><a href="https://amzn.to/3aqck7v?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black Swan</a> by Nassim Nicholas Taleb (affiliate link)</li>
<li><a href="https://conference.scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy Convention</a></li>
<li><a href="https://realpython.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RealPython</a></li>
<li><a href="https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3Blue1Brown</a></li>
<li><a href="https://en.wikipedia.org/wiki/Sentiment_analysis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sentiment Analysis</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ffx-risk-management-strategies-episode-33%2F&amp;action_name=An+Exploration+Of+Financial+Exchange+Risk+Management+Strategies+-+Episode+336&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-10-16t01:12:53+00:00-6053e1cd5f3f9ba</guid>
      <link>https://www.pythonpodcast.com/fx-risk-management-strategies-episode-33</link>
      <pubDate>Sat, 16 Oct 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="320.11" duration="26.67">So how did I get over to the dark side? Is that the question? Can't say More or less. Sure. Okay. Yeah. So, you know, it's funny about 12 years ago, a friend of mine, somebody we, you know, we call a high net worth individual was speculating in currencies and he actually asked me about how he might manage his risk when doing so. And that was the rabbit hole I plunged down, you know, it was and it was infinite deep and interesting and I never climbed back out.</podcast:soundbite>
      <podcast:soundbite startTime="1810.42" duration="37.93">Explaining what I've done to fund managers. When I first started working with fund managers, I was full of trepidation because I was like, oh, shit, these guys are really smart and they're making 100 of 1, 000, 000 of dollars and, you know, probably talking, you know, kindergarten to them. It was the other way around. And, you know, statistics and, you know, violin plots or box plots, man, you'd have to hold their hand through the thing. I mean, once they get it, they definitely grok it, but that's been 1 of my biggest surprises is their unpreparedness given the amounts of money they're moving around and the things they're doing.</podcast:soundbite>
      <podcast:soundbite startTime="124.61" duration="32.99">So I'm gonna start off by kinda giving an example of where FX risk pops up just to kind of people get their minds around it. So let's say you're an investment fund based in Brazil and you're looking for US investors. So they're gonna send their dollars to you, they're gonna get converted to reais, they'll be deployed in country. 2 or 3 years later, those reais need to get converted back to dollars. In the meantime, if reais has depreciated against the dollar, healthy returns can get chewed away or even completely eliminated by, you know, spot rates changing. So that's where the risk arises.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:30</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>An Exploration Of Financial Exchange Risk Management Strategies</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>336</itunes:episode>
      <podcast:episode>336</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305082670094cb3b99d3-5a43-412e-8dda-6639887c4373v1.mp3" length="22852552" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305082670094cb3b99d3-5a43-412e-8dda-6639887c4373v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_cb3b99d3-5a43-412e-8dda-6639887c4373638558811838592036.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/cb3b99d3-5a43-412e-8dda-6639887c4373638558811836558529.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/cb3b99d3-5a43-412e-8dda-6639887c4373638558811834343578.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build Better Machine Learning Models By Understanding Their Decisions With SHAP</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Machine learning and deep learning techniques are powerful tools for a large and growing number of applications. Unfortunately, it is difficult or impossible to understand the reasons for the answers that they give to the questions they are asked. In order to help shine some light on what information is being used to provide the outputs to your machine learning models Scott Lundberg created the SHAP project. In this episode he explains how it can be used to provide insight into which features are most impactful when generating an output, and how that insight can be applied to make more useful and informed design choices. This is a fascinating and important subject and this episode is an excellent exploration of how to start addressing the challenge of explainability.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Scott Lundberg about SHAP, a library that implements a game theoretic approach to explain the output of any machine learning model</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what SHAP is and the story behind it?</li>
<li>What are some of the contexts that create the need to explain the reasoning behind the outputs of an ML model?</li>
<li>How do different types of models (deep learning, CNN/RNN, bayesian vs. frequentist, etc.) and different categories of ML (e.g. NLP, computer vision) influence the challenge of understanding the meaningful signals in their reasoning?</li>
<li>Taking a step back, how do you define &quot;explainability&quot; when discussing inferences produced by ML models?
<ul>
<li>What are the degrees of specificity/accuracy when seeking to understand the decision processes involved?</li>
</ul>
</li>
<li>Can you describe how SHAP is implemented?
<ul>
<li>What are the signals that you are tracking to understand what features are being used to determine a given output?</li>
<li>What are the assumptions that you had as you started this project that have been challenged or updated as you explored the problem in greater depth?</li>
</ul>
</li>
<li>Can you describe the workflow for someone using SHAP?
<ul>
<li>What are the challenges faced by practitioners in interpreting the visualizations generated from SHAP?</li>
</ul>
</li>
<li>How much domain knowledge and context is necessary to use SHAP effectively?</li>
<li>What are the ongoing areas of research around tracking of ML decision processes?</li>
<li>How are you using SHAP in your own work?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen SHAP used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on SHAP?</li>
<li>When is SHAP the wrong choice?</li>
<li>What do you have planned for the future of SHAP?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/slundberg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">slundberg</a> on GitHub</li>
<li><a href="https://scottlundberg.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/scott-lundberg-62ba928/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt3272066/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reminiscence</a></li>
</ul>
</li>
<li>Scott
<ul>
<li><a href="https://en.wikipedia.org/wiki/Confessions_(Augustine)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Augustine&#8217;s Confessions</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/slundberg/shap?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SHAP</a></li>
<li><a href="https://www.microsoft.com/en-us/research/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft Research</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://en.wikipedia.org/wiki/Game_theory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Game Theory</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computational_biology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computational Biology</a></li>
<li><a href="https://github.com/marcotcr/lime?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LIME</a></li>
<li><a href="https://en.wikipedia.org/wiki/Shapley_value?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shapley Values</a></li>
<li><a href="https://julialang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Julia Language</a></li>
<li><a href="https://en.wikipedia.org/wiki/Residual_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ResNet</a></li>
<li><a href="https://en.wikipedia.org/wiki/Convolutional_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CNN == Convolutional Neural Network</a></li>
<li><a href="https://en.wikipedia.org/wiki/Convolutional_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RNN == Recurrent Neural Network</a></li>
<li><a href="https://en.wikipedia.org/wiki/A*_search_algorithm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A* Algorithm</a></li>
<li><a href="https://www.consumerfinance.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CFPB == Consumer Financial Protection Bureau</a></li>
<li><a href="https://en.wikipedia.org/wiki/NP-hardness?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NP Hard</a></li>
<li><a href="https://huggingface.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Huggingface</a></li>
<li><a href="https://arxiv.org/abs/1703.03717?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Right for the Right Reasons: Training Differentiable Models by Constraining their Explanations</a></li>
<li><a href="http://numba.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numba</a></li>
<li><a href="https://towardsdatascience.com/https-towardsdatascience-com-what-and-why-of-log-odds-64ba988bf704?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Log Odds</a></li>
<li><a href="https://interpret.ml/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">InterpretML</a></li>
<li><a href="https://arxiv.org/abs/2101.00288?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polyjuice</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fshap-explainable-machine-learning-episode-335%2F&amp;action_name=Build+Better+Machine+Learning+Models+By+Understanding+Their+Decisions+With+SHAP+-+Episode+335&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-10-09t01:16:36+00:00-c0184771dc136c4</guid>
      <link>https://www.pythonpodcast.com/shap-explainable-machine-learning-episode-335</link>
      <pubDate>Sat, 9 Oct 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="131.33" duration="16.83">And I'm wondering if you can just describe a bit about what it is and some of the story behind how it came to be and why it is that you are focusing your time and energy on this specific area of effort and sort of why you decided that it was useful to have this as an open source library for people to be able to use.</podcast:soundbite>
      <podcast:soundbite startTime="1916.04" duration="51.57">So let's say you have your model in a notebook, working in a Jupyter notebook, and you so using Hugging Face, you download your pretrained sentiment analysis from wherever. You have your dataset. So now you have your model, and you're gonna have a tokenizer. Right? Because you need to be able to tokenize your input text before you throw it into the model. You can pass the Hugging Face model directly to shap.capitaleexplainer as the first argument to the constructor, and the second argument would be the tokenizer. And the tokenizer becomes the master, and so ShoutOut detects that you've passed the tokenizer from Hugging Face, and it says, oh, I know how to turn that into a masker. And so it wraps it up. And then it sees that you passed it a model from Hugging Face, and it says, well, this isn't just a standard Python function. This is a this is a Hugging Face model, and I know about those, so I'll automatically wrap that as a model that I know how to deal with.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:04:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build Better Machine Learning Models By Understanding Their Decisions With SHAP</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>335</itunes:episode>
      <podcast:episode>335</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315043935912c9b7136e-51c2-4baf-a984-a05eea2460f0v1.mp3" length="51133823" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315043935912c9b7136e-51c2-4baf-a984-a05eea2460f0v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c9b7136e-51c2-4baf-a984-a05eea2460f0638558827555165165.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c9b7136e-51c2-4baf-a984-a05eea2460f0638558827552347238.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c9b7136e-51c2-4baf-a984-a05eea2460f0638558827550402772.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Accelerating Drug Discovery Using Machine Learning With TorchDrug</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Finding new and effective treatments for disease is a complex and time consuming endeavor, requiring a high degree of domain knowledge and specialized equipment. Combining his expertise in machine learning and graph algorithms with is interest in drug discovery Jian Tang created the TorchDrug project to help reduce the amount of time needed to find new candidate molecules for testing. In this episode he explains how the project is being used by machine learning researchers and biochemists to collaborate on finding effective treatments for real-world diseases.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jian Tang about TorchDrug</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what TorchDrug is and the story behind it?</li>
<li>What are the goals of the TorchDrug project?
<ul>
<li>Who are the target users of the project?</li>
<li>What are the main ways that it is being used?</li>
</ul>
</li>
<li>What are the challenges faced by biologists and chemists working on development and discovery of pharmaceuticals?
<ul>
<li>What are some of the other tools/techniques that they would use (in isolation or combination with TorchDrug)?</li>
</ul>
</li>
<li>Can you describe how TorchDrug is implemented?
<ul>
<li>How have you approached the design of the project and its APIs to make it accessible to engineers that don&#8217;t possess domain expertise in drug discovery research?</li>
</ul>
</li>
<li>How do graph structures help when modeling and experimenting with chemical structures for drug discovery?</li>
<li>What are the formats and sources of data that you are working with?
<ul>
<li>What are some of the complexities/challenges that you have had to deal with to integrate with up or downstream systems to fit into the overall research process?</li>
</ul>
</li>
<li>Can you talk through the workflow of using TorchDrug to build and validate a model?
<ul>
<li>What is involved in determining and codifying a goal state for the model to optimize for?</li>
</ul>
</li>
<li>What are the biggest open questions in the area of drug discovery and research?
<ul>
<li>How is TorchDrug being used to assist in the exploration of those problems?</li>
</ul>
</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on TorchDrug?</li>
<li>When is TorchDrug the wrong choice?</li>
<li>What do you have planned for the future of TorchDrug?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/tangjianpku?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tangjianpku</a> on GitHub</li>
<li><a href="https://twitter.com/tangjianpku?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tangjianpku</a> on Twitter</li>
<li><a href="https://jian-tang.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/jian-tang-85781737/?originalSubdomain=ca&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/python-rope/rope?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rope</a> refactoring library</li>
</ul>
</li>
<li>Jian
<ul>
<li>Attending conferences once the pandemic is over</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://torchdrug.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TorchDrug</a></li>
<li><a href="https://mila.quebec/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mila</a></li>
<li><a href="https://yoshuabengio.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yoshua Bengio</a></li>
<li><a href="https://deepmind.com/research/case-studies/alphafold?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alphafold</a></li>
<li><a href="https://paperswithcode.com/task/few-shot-learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Few-shot learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Meta_learning_(computer_science)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metalearning</a></li>
<li><a href="https://github.com/pyg-team/pytorch_geometric?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch Geometric</a></li>
<li><a href="https://www.dgl.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeepGraph Library</a></li>
<li><a href="https://networkit.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworKit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/networkit-efficient-network-analysis-episode-327/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://graph-tool.skewed.de/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">graph-tool</a>
<ul>
<li><a href="https://www.pythonpodcast.com/graph-tool-graph-data-analysis-episode-322/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftorchdrug-drug-discovery-machine-learning-episode-334%2F&amp;action_name=Accelerating+Drug+Discovery+Using+Machine+Learning+With+TorchDrug+-+Episode+334&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-09-30t01:12:36+00:00-423ae66f4bad378</guid>
      <link>https://www.pythonpodcast.com/torchdrug-drug-discovery-machine-learning-episode-334</link>
      <pubDate>Thu, 30 Sep 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1444.19" duration="209.01">So usually, let's say we have a protein target. K? And then maybe, like, a through sound, like, well, lab experiments. So we can, like, have a sign initial training data. We know some molecules. They are like a potential either. We're basically positive molecules, like, who's the protein targets. We also have some active molecules. Right? So then in this case, we can basically trying to predict the binding affinity for a molecule. K. So this is basically related to the task of, of like a molecule property prediction in tow truck. So we have a molecule. We want to predict its chemical properties, for example, either bind or not. Right? So once we have like a set of like day by day like this, the users can churn a molecule property prediction model based on the training data. And once we have the molecule property prediction model or by the infinity prediction model, So that model can be used in the molecule design and optimization task. Because in molecule design and optimization task, we need to have, like, a reward function. Basically, trying to tell the all with them, okay, whether this molecule is good or not. Because the normal molecule design and optimization, the essential idea is, like, the algorithm, we use reinforcement learning. So the algorithm basically is trying to error. Right? So you try this molecule and then the environment, we are telling you, okay, whether this molecule is good or not. Right? Maybe the algorithm will further explore around that, like, area. If it's not good, maybe the algorithm will be able to move to its other area. So then you can see, like, during this process, the essential part is, like, we need to provide a reward function, basically, to tell the algorithm whether this molecule is good or not. So good or not, basically, it depends on, like, the type of, like, molecule property you want. So, of course, the most important 1 is usually the binding of printing whether this molecule can be bind to the protein target or not. Right? And that's why I said, like, before working on this molecule design and optimization or molecule search module, we have to train a machine learning predictor basically, to predict whether molecule has designed property or not. You know, maybe, like, whether the molecule can bind to the protein target or not. In order to do this, we usually have to have some initial training data. So we have some positive molecules, which can be bind to the protein targeted. And, also, we can have some inactive molecules, which they are not able to bind to the protein targets. So this can be done through some by acids. We don't need to have many in the beginning, right? But we can have some in the first place. And then once we have the machine learning predictor and then we can use that to search for better molecules using the molecule design and optimization module. By doing that so we are able to search for maybe a set of, like, potentially bad molecules. For example, we can search for, like, 1, 000 molecules, which could potentially be a better binder. Okay? And then this 1, so the molecules, like, we can maybe send them back to the wet life experiments so we can test them again. And then by doing this, we can get a better churn data. Those kind of data could feedback to our machine learning predictor because now our machine learning predict has more churning data. Right? And so we can refine our machine learning predictor, and then the new machine learning predict that we send back to the search module, and then we can find based on the new machine learning predict that maybe we can find better candidates. And these more candidates will be sent back to the web app. So, basically, by doing this, we can solve the right, funnel loop between the computational site and also the web app site. And this is basically how the both workflow functions.</podcast:soundbite>
      <podcast:soundbite startTime="99.56" duration="35.00">So I remember I first like got in touch with Python when I was a peer student. That was back to 2010. So at that time, I'm also asked many use program language as, like, say, fast fast and also like, Java. But then I knew, like, a lot of people were studying to use in Python. Many of my friends told me, like, Python are very easy to use and that the community is really growing. And there's a lot of, like, very useful tools that we can leverage. So that's why I get started to get interested in Python and also start to learn Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Accelerating Drug Discovery Using Machine Learning With TorchDrug</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>334</itunes:episode>
      <podcast:episode>334</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307111336226b269542e-d0b8-42e0-92cf-86b61375b1f3v1.mp3" length="42753187" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307111336226b269542e-d0b8-42e0-92cf-86b61375b1f3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b269542e-d0b8-42e0-92cf-86b61375b1f3638558820072691167.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b269542e-d0b8-42e0-92cf-86b61375b1f3638558820068641830.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b269542e-d0b8-42e0-92cf-86b61375b1f3638558820066608278.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>An Exploration Of Automated Speech Recognition</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The overwhelming growth of smartphones, smart speakers, and spoken word content has corresponded with increasingly sophisticated machine learning models for recognizing speech content in audio data. Dylan Fox founded Assembly to provide access to the most advanced automated speech recognition models for developers to incorporate into their own products. In this episode he gives an overview of the current state of the art for automated speech recognition, the varying requirements for accuracy and speed of models depending on the context in which they are used, and what is required to build a special purpose model for your own ASR applications.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Dylan Fox about the challenges of training and deploying large models for automated speech recognition</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is involved in building an ASR model?
<ul>
<li>How does the complexity/difficulty compare to models for other data formats? (e.g. computer vision, NLP, NER, etc.)</li>
</ul>
</li>
<li>How have ASR models changed over the last 5, 10, 15 years?</li>
<li>What are some other categories of ML applications that work with audio data?
<ul>
<li>How does the level of complexity compare to ASR applications?</li>
</ul>
</li>
<li>What is the typical size of an ASR model that you are deploying at Assembly?
<ul>
<li>What are the factors that contribute to the overall size of a given model?</li>
</ul>
</li>
<li>How does accuracy compare with model size?</li>
<li>How does the size of a model contribute to the overall challenge of deploying/monitoring/scaling it in a production environment?</li>
<li>How can startups effectively manage the time/cost that comes with training large models?</li>
<li>What are some techniques that you use/attributes that you focus on for feature definitions in the source audio data?</li>
<li>Can you describe the lifecycle stages of an ASR model at Assembly?</li>
<li>What are the aspects of ASR which are still intractable or impractical to productionize?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen ASR technology used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on ASR?</li>
<li>What are the trends in research or industry that you are keeping an eye on?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/dylanbfox/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/youvegotfox?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@YouveGotFox</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt8385148/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Hitman&#8217;s Wife&#8217;s Bodyguard</a></li>
</ul>
</li>
<li>Dylan
<ul>
<li><a href="https://www.netflix.com/title/81441273?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inspiration 4 Documentary</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://learnpythonthehardway.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Learn Python The Hard Way</a></li>
<li><a href="https://github.com/mozilla/DeepSpeech?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeepSpeech</a></li>
<li><a href="https://github.com/flashlight/wav2letter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wav2Letter</a></li>
<li><a href="https://en.wikipedia.org/wiki/BERT_(language_model)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BERT</a></li>
<li><a href="https://en.wikipedia.org/wiki/GPT-3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPT-3</a></li>
<li><a href="https://en.wikipedia.org/wiki/Convolutional_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Convolutional Neural Network (CNN)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Recurrent_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Recurrent Neural Network (RNN)</a></li>
<li><a href="https://mycroft.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mycroft</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-82-mycroft-with-steve-penrod/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://cmusphinx.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CMU Sphinx</a></li>
<li><a href="https://github.com/cmusphinx/pocketsphinx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pocket Sphinx</a></li>
<li><a href="https://towardsdatascience.com/gaussian-mixture-models-explained-6986aaf5a95?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gaussian Mixture Model (GMM)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hidden_Markov_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hidden Markov Model (HMM)</a></li>
<li><a href="https://arxiv.org/abs/1412.5567?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeepSpeech Paper</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transformer_(machine_learning_model)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transformer Architecture</a></li>
<li><a href="https://www.dataengineeringpodcast.com/audio-analytic-sound-recognition-episode-139/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Audio Analytic Sound Recognition Podcast Episode</a></li>
<li><a href="https://horovod.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Horovod</a> distributed training library</li>
<li><a href="https://en.wikipedia.org/wiki/Knowledge_distillation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Knowledge Distillation</a></li>
<li><a href="https://www.openslr.org/12?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Libre Speech Data Set</a></li>
<li><a href="https://lambdalabs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lambda Labs</a></li>
<li><a href="https://arxiv.org/abs/1904.05862?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wav2Vec</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fautomated-speech-recognition-episode-333%2F&amp;action_name=An+Exploration+Of+Automated+Speech+Recognition+-+Episode+333&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-09-26t00:52:23+00:00-a45690c65bf8fd4</guid>
      <link>https://www.pythonpodcast.com/automated-speech-recognition-episode-333</link>
      <pubDate>Sun, 26 Sep 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2836.01" duration="34.71">So in general, you are just seeing a ton of new use cases up here that are leveraging transcription, and they're either using transcripts for simple use cases like accessibility features, closed captions or readable voicemails like visual voicemail. And then you're also seeing a lot of applications that are being built on top of transcription. So they're using the transcriptions as inputs to summarization models or to figure out like topics that are spoken within an audio file or video file and those are really exciting use cases that we're seeing a lot more of.</podcast:soundbite>
      <podcast:soundbite startTime="228.27" duration="24.61">So it's I think with most machine learning projects, it's fairly easy to get to something that works reasonably well, but it's very difficult to get something to get a machine learning model working state of the art and and extremely well. The last 10% of accuracy seems to be where most of the work is done.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>An Exploration Of Automated Speech Recognition</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>333</itunes:episode>
      <podcast:episode>333</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252989198148514ffc1abf-c548-4dfb-b93e-208d872fa047v1.mp3" length="48295844" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252989198148514ffc1abf-c548-4dfb-b93e-208d872fa047v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4ffc1abf-c548-4dfb-b93e-208d872fa047638558794096279588.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4ffc1abf-c548-4dfb-b93e-208d872fa047638558794093736243.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4ffc1abf-c548-4dfb-b93e-208d872fa047638558794091856844.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Experimenting With Reinforcement Learning Using MushroomRL</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Reinforcement learning is a branch of machine learning and AI that has a lot of promise for applications that need to evolve with changes to their inputs. To support the research happening in the field, including applications for robotics, Carlo D&#8217;Eramo and Davide Tateo created MushroomRL. In this episode they share how they have designed the project to be easy to work with, so that students can use it in their study, as well as extensible so that it can be used by businesses and industry professionals. They also discuss the strengths of reinforcement learning, how to design problems that can leverage its capabilities, and how to get started with MushroomRL for your own work.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Davide Tateo and Carlo D&#8217;Eramo about MushroomRL, a library for building reinforcement learning experiments</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what reinforcement learning is and how it differs from other approaches for machine learning?</li>
<li>What are some example use cases where reinforcement learning might be necessary?</li>
<li>Can you describe what MushroomRL is and the story behind it?
<ul>
<li>Who are the target users of the project?</li>
<li>What are its main goals?</li>
</ul>
</li>
<li>What are your suggestions to other developers for implementing a
succesful library?</li>
<li>What are some of the core concepts that researchers and/or engineers need to understand to be able to effectively use reinforcement learning techniques?</li>
<li>Can you describe how MushroomRL is architected?
<ul>
<li>How have the goals and design of the project changed or evolved since you began working on it?</li>
</ul>
</li>
<li>What is the workflow for building and executing an experiment with MushroomRL?
<ul>
<li>How do you track the states and outcomes of experiments?</li>
</ul>
</li>
<li>What are some of the considerations involved in designing an environment and reward functions for an agent to interact with?</li>
<li>What are some of the open questions that are being explored in reinforcement learning?</li>
<li>How are you using MushroomRL in your own research?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen MushroomRL used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on MushroomRL?</li>
<li>When is MushroomRL the wrong choice?</li>
<li>What do you have planned for the future of MushroomRL?</li>
<li>How can the open-source community contribute to MushroomRL?</li>
<li>What kind of support you are willing to provide to users?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li>Davide
<ul>
<li><a href="https://github.com/boris-il-forte?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">boris-il-forte</a> on GitHub</li>
<li><a href="https://www.ias.informatik.tu-darmstadt.de/Team/DavideTateo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
</li>
<li>Carlo
<ul>
<li><a href="https://github.com/carloderamo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">carloderamo</a> on GitHub</li>
<li><a href="https://www.ias.informatik.tu-darmstadt.de/Team/CarloDEramo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt5932548/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Britannia TV Series</a></li>
</ul>
</li>
<li>Davide
<ul>
<li><a href="https://en.wikipedia.org/wiki/Nineteen_Eighty-Four?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">1984</a> by George Orwell</li>
</ul>
</li>
<li>Carlo
<ul>
<li><a href="https://en.wikipedia.org/wiki/Twin_Peaks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twin Peaks</a> TV Series</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://mushroomrl.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MushroomRL</a></li>
<li><a href="https://www.tu-darmstadt.de/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TU Darmstadt</a></li>
<li><a href="http://www.mujoco.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MuJoCo</a></li>
<li><a href="https://pybullet.org/wordpress/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyBullet</a></li>
<li><a href="http://svl.stanford.edu/igibson/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iGibson</a></li>
<li><a href="https://aihabitat.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Habitat</a></li>
<li><a href="https://gym.openai.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenAI Gym</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://ray.readthedocs.io/en/latest/rllib.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RLLib</a></li>
<li><a href="https://docs.ray.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/openai/baselines?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenAI Baselines</a></li>
<li><a href="https://github.com/DLR-RM/stable-baselines3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stable Baselines</a></li>
<li><a href="https://www.ros.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ROS</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmushroomrl-reinforcement-learning-library-episode-332%2F&amp;action_name=Experimenting+With+Reinforcement+Learning+Using+MushroomRL+-+Episode+332&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-09-19t20:45:33+00:00-687b01f44e4a8d6</guid>
      <link>https://www.pythonpodcast.com/mushroomrl-reinforcement-learning-library-episode-332</link>
      <pubDate>Sun, 19 Sep 2021 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2312.59" duration="84.84">I would say that the lesson that we learned is that testing is never sufficient. It's never enough. You have to test everything multiple times. You have to document everything because, otherwise, it will be difficult to use for other people. Tutorials are very important. So what you want to do is a lot of tutorials. It's better if you can have video tutorials too, but this is, for us, is quite hard to do. As Carlo said, we are just 2 of us. In general, I would always say that it's worth to take a bit more time to write code that is clear and easy to understand and maintainable. And also maybe use tools as continuous integration and code automatic code analysis such that you maintain the quality of your software hide because this pays off, not in the short time. But in the long run, this pays off significantly. So thanks to this attention to the code quality, sometimes in mushroom, it's much easier to implement new new algorithm and new approaches and new functionalities that have been very difficult to do without the attention to the code quality, I would say. So that's crucial for us.</podcast:soundbite>
      <podcast:soundbite startTime="66.23" duration="15.94">So, Davide, can you start by introducing yourself? Hi. I'm Davide. I'm a postdoctoral researcher at, TU Darmstadt. And I focus mainly in robotics and robot learning and also in developing a mushroom REL together with Carlo.</podcast:soundbite>
      <podcast:soundbite startTime="751.68" duration="34.90">The most important concept that you have to learn starting doing RL is the concept of agent environment and their interaction. So this is key to understand reinforcement learning. Also, of course, knowing what is our reward function, what is an action value function, which is the value that you assign to a state action in every point of your environment. So this is the key concept that has to be known to understand reinforcement learning and start using this library.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:18</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Experimenting With Reinforcement Learning Using MushroomRL</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>332</itunes:episode>
      <podcast:episode>332</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315700819545c536aea5-c8fe-47c9-8c87-ac3fb99102bfv1.mp3" length="41485026" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315700819545c536aea5-c8fe-47c9-8c87-ac3fb99102bfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c536aea5-c8fe-47c9-8c87-ac3fb99102bf638558829763774171.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c536aea5-c8fe-47c9-8c87-ac3fb99102bf638558829760936148.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c536aea5-c8fe-47c9-8c87-ac3fb99102bf638558829758908132.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Doing Dask Powered Data Science In The Saturn Cloud</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>A perennial problem of doing data science is that it works great on your laptop, until it doesn&#8217;t. Another problem is being able to recreate your environment to collaborate on a problem with colleagues. Saturn Cloud aims to help with both of those problems by providing an easy to use platform for creating reproducible environments that you can use to build data science workflows and scale them easily with a managed Dask service. In this episode Julia Signall, head of open source at Saturn Cloud, explains how she is working with the product team and PyData community to reduce the points of friction that data scientists encounter as they are getting their work done.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Julia Signell about building distributed processing workflows in Python through the power of Dask</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what you are building at Saturn Cloud?
<ul>
<li>Who are your target users and how does that inform the features and priorities that you build into your platform?</li>
</ul>
</li>
<li>What are the road blocks that data scientists typically encounter when working on their laptop/workstation?</li>
<li>How does open source factor into the Saturn product?
<ul>
<li>What are some of the projects that you are collaborating with/contributing to as part of your work at Saturn?</li>
<li>How has your experience at Anaconda informed your work at Saturn?</li>
</ul>
</li>
<li>Can you describe how the Saturn Cloud platform is architected?
<ul>
<li>How has it changed or evolved since it was first launched?</li>
</ul>
</li>
<li>Can you describe the learning curve that data scientists go through when adopting Dask?</li>
<li>What are some examples of projects or workflows that Dask enables which are not possible/practical to do locally?</li>
<li>How would you characterize the overall awareness/adoption of Dask in the Python data science community?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Saturn Cloud used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Saturn Cloud?</li>
<li>When is Saturn Cloud the wrong choice?</li>
<li>What do you have planned for the future of Saturn Cloud?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://twitter.com/jsignell?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jsignell</a> on Twitter</li>
<li><a href="https://github.com/jsignell?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jsignell</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt8376234/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Peter Rabbit 2</a></li>
</ul>
</li>
<li>Julia
<ul>
<li><a href="https://www.seriouseats.com/what-are-pawpaws-wild-fruit-midwest-how-to-prep-and-eat-pawpaws?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PawPaw Fruit</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://saturncloud.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Saturn Cloud</a></li>
<li><a href="https://dask.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pangeo.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pangeo</a></li>
<li><a href="https://http://xarray.pydata.org?utm_source=rss&utm_medium=rss" target="_blank">XArray</a></li>
<li><a href="https://conda.io/en/latest/intro.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conda</a></li>
<li><a href="https://mamba.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mamba</a></li>
<li><a href="https://holoviz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Holoviz</a></li>
<li><a href="https://plotly.com/dash/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dash</a></li>
<li><a href="https://www.anaconda.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anaconda</a>
<ul>
<li><a href="https://www.pythonpodcast.com/anaconda-python-data-science-episode-328/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://www.tornadoweb.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-40-ben-darnell-on-tornado/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.prefect.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prefect</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/prefect-workflow-engine-episode-86/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://dagster.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster</a>
<ul>
<li><a href="https://www.pythonpodcast.com/dagster-data-orchestration-episode-279/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://ray.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsaturn-cloud-scaling-open-source-python-data-science-episode-331%2F&amp;action_name=Doing+Dask+Powered+Data+Science+In+The+Saturn+Cloud+-+Episode+331&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-09-10t02:00:33+00:00-954d51bbe70a8d4</guid>
      <link>https://www.pythonpodcast.com/saturn-cloud-scaling-open-source-python-data-science-episode-331</link>
      <pubDate>Fri, 10 Sep 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="360.47" duration="60.04">Yeah. So there's a couple things that people run into that are specifically solved by distributed computing and, in this case, DASK. And that's running out of memory and just time of computations. So just things taking a long time. And that's something that any distributed library will solve, right, because it's able to access a large number of nodes and spread the computation out, And that solves your memory issues and hopefully make things go faster. So those are 2 of the big issues that people come to us for. The others are reproducibility. So this environment management that I was just talking about of bring your image or we'll build you an image, that's something that people really struggle with locally, especially when they're going from running things locally to sharing them with a small group of people, maybe, like, coworkers or something like that. It can be challenging for people to create those reproducible environments. The other big things are we give access to GPUs, which a lot of people don't have locally, and that speeds things up.</podcast:soundbite>
      <podcast:soundbite startTime="1816.82" duration="93.53">In your work, both in the DASK community and at Saturn, I'm wondering if you can share some of the most interesting or innovative or unexpected I'm not sure if you're familiar with, but it's hard to define. But Pangio is a I'm not sure if you're familiar with, but it's hard to define. But Pangio is a group of scientists, mostly geo related scientists, so meteorologists, oceanographers, and things like that. And they have been using DASK and X-ray and JupyterHub. There have been, like, power users of those tools for a while now, and their goal is really to enable computation on these massive earth science datasets that are stored on s 3 on Google Cloud. And so they're really, like, where I first learned about collocation of data being an important thing because Pangio's ability to use these tools to process their data right next to where it's stored has really enabled this whole world of open source computation in the geosciences that was previously rare. It also allows people who maybe don't live in countries that have, like, massive computing institutions to actually work on their own datasets and to access cloud compute to do that. That's 1 of the coolest applications of Dask that I know of, and it's definitely worth looking at.</podcast:soundbite>
      <podcast:soundbite startTime="68.44" duration="25.05">So, Julia, can you start by introducing yourself? Hi. I'm Julia. So I'm the head of open source at Saturn Cloud as you mentioned. So what that means is I spend half my time working on, like, the engineering side of Saturn Cloud, building the platform that we have as a company, and then it's been half my time working at open source projects. So I'm a maintainer on Dask, and then I also work on several other open source projects in a more minor role.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Doing Dask Powered Data Science In The Saturn Cloud</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>331</itunes:episode>
      <podcast:episode>331</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321895199976e5acc27d-3f16-4f01-8865-f3afebee9e59v1.mp3" length="29391021" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321895199976e5acc27d-3f16-4f01-8865-f3afebee9e59v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e5acc27d-3f16-4f01-8865-f3afebee9e59638558845889734998.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e5acc27d-3f16-4f01-8865-f3afebee9e59638558845887563153.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e5acc27d-3f16-4f01-8865-f3afebee9e59638558845885796094.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Monitor The Health Of Your Machine Learning Products In Production With Evidently</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>You&#8217;ve got a machine learning model trained and running in production, but that&#8217;s only half of the battle. Are you certain that it is still serving the predictions that you tested? Are the inputs within the range of tolerance that you designed? Monitoring machine learning products is an essential step of the story so that you know when it needs to be retrained against new data, or parameters need to be adjusted. In this episode Emeli Dral shares the work that she and her team at Evidently are doing to build an open source system for tracking and alerting on the health of your ML products in production. She discusses the ways that model drift can occur, the types of metrics that you need to track, and what to do when the health of your system is suffering. This is an important and complex aspect of the machine learning lifecycle, so give it a listen and then try out Evidently for your own projects.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Emeli Dral about monitoring machine learning models in production with Evidently</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Evidently is and the story behind it?</li>
<li>What are the metrics that are useful for determining the performance and health of a machine learning model?
<ul>
<li>What are the questions that you are trying to answer with those metrics?</li>
</ul>
</li>
<li>How does monitoring of machine learning models compare to monitoring of infrastructure or &quot;traditional&quot; software projects?</li>
<li>What are the failure modes for a model?</li>
<li>Can you describe the design and implementation of Evidently?
<ul>
<li>How has the architecture changed or evolved since you started working on it?</li>
</ul>
</li>
<li>What categories of model is Evidently designed to work with?
<ul>
<li>What are some strategies for making models conducive to monitoring?</li>
</ul>
</li>
<li>What is involved in monitoring a model on a continuous basis?</li>
<li>What are some considerations when establishing useful thresholds for metrics to alert on?
<ul>
<li>Once an alert has been triggered what is the process for resolving it?</li>
<li>If the training process takes a long time, how can you mitigate the impact of a model failure until the new/updated version is deployed?</li>
</ul>
</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Evidently used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Evidently?</li>
<li>When is Evidently the wrong choice?</li>
<li>What do you have planned for the future of Evidently?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/emelidral/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/EmeliDral?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@EmeliDral</a> on Twitter</li>
<li><a href="https://github.com/emeli-dral?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">emeli-dral</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt6334354/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Suicide Squad</a></li>
</ul>
</li>
<li>Emeli
<ul>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://evidentlyai.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Evidently AI</a>
<ul>
<li><a href="https://github.com/evidentlyai/evidently?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Source</a></li>
</ul>
</li>
<li><a href="https://yandex.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yandex</a></li>
<li><a href="https://grafana.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grafana</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fevidently-machine-learning-monitoring-episode-330%2F&amp;action_name=Monitor+The+Health+Of+Your+Machine+Learning+Products+In+Production+With+Evidently+-+Episode+330&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-09-03t00:55:24+00:00-c5b7cfb9b3d555e</guid>
      <link>https://www.pythonpodcast.com/evidently-machine-learning-monitoring-episode-330</link>
      <pubDate>Fri, 3 Sep 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="70.23" duration="21.56">I'm CTO and cofounder of Evidently AI. This is the startup where we build tool to analyze and validate machine learning models in production. And prior to it, I worked for 7 years helping companies from different industries where I'm from banking communication to industries like manufacturing, building database products, and learn them to production.</podcast:soundbite>
      <podcast:soundbite startTime="2023.61" duration="66.38">And then in terms of the alerting based on the monitoring that you're generating from Evidently, I'm wondering what you have seen as some of the strategies for the urgency of the alert, who's responsible for receiving and acting on those alerts, and just some of the process of actually operationalizing and treating these models as a production grade asset and the necessity for having them be able to operate sort of on a 247 basis? Unfortunately, for now, it's really hard to answer this because, first of all, we are open source too, and we do not really know about all the cases of usage. Right? We cannot really, like, make someone tell us how and when they're using the tool. And the second thing is that our tool now is really suit much more to some batch models because, well, for real time calculations, reports is not really the best way how we can analyze the quality. It's much better to be able to to create a lot of metrics really fast and push it to pass through some visualizations too, like, a mini trying tool.</podcast:soundbite>
      <podcast:soundbite startTime="286.35" duration="48.47">And first is data quality because, well, everybody knows that if they have garbage in, they have garbage out. So it's important to make sure that the input is correct and everything is written the expected ranges in the expected formats and things like this. The second, I believe, we need to make sure that the environment, which is what our models communicate, is still the same comparing to the data we trained model on. And here, we have data drift and constant drift. That's the metrics that helps us to compare the distributions of features, the distributions of target or targets if we have several the data we have during the training and make sure that model continue, continues, operates in the same environment with the same distributions and dependencies and patterns so we can continue with the model.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:59</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Monitor The Health Of Your Machine Learning Products In Production With Evidently</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>330</itunes:episode>
      <podcast:episode>330</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525318267199815180c2ef8-cdd6-4b26-aa54-d1bbd4706c78v1.mp3" length="36112697" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525318267199815180c2ef8-cdd6-4b26-aa54-d1bbd4706c78v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_180c2ef8-cdd6-4b26-aa54-d1bbd4706c78638558838617105130.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/180c2ef8-cdd6-4b26-aa54-d1bbd4706c78638558838614735573.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/180c2ef8-cdd6-4b26-aa54-d1bbd4706c78638558838612610748.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Making Automated Machine Learning More Accessible With EvalML</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Building a machine learning model is a process that requires a lot of iteration and trial and error. For certain classes of problem a large portion of the searching and tuning can be automated. This allows data scientists to focus their time on more complex or valuable projects, as well as opening the door for non-specialists to experiment with machine learning. Frustrated with some of the awkward or difficult to use tools for AutoML, Angela Lin and Jeremy Shih helped to create the EvalML framework. In this episode they share the use cases for automated machine learning, how they have designed the EvalML project to be approachable, and how you can use it for building and training your own models.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Angela Lin, Jeremy Shih about EvalML, an AutoML library which builds, optimizes, and evaluates machine learning pipelines</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what EvalML is and the story behind it?</li>
<li>What do we mean by the term AutoML?</li>
<li>What are the kinds of problems that are best suited to applications of automated ML?</li>
<li>What does the landscape for AutoML tools look like?
<ul>
<li>What was missing in the available offerings that motivated you and your team to create EvalML?</li>
</ul>
</li>
<li>Who is the target audience for EvalML?</li>
<li>How is the EvalML project implemented?
<ul>
<li>How has the project changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>What is the workflow for building a model with EvalML?
<ul>
<li>Can you describe the preprocessing steps that are necessary and the input formats that it is expecting?</li>
</ul>
</li>
<li>What are the supported algorithms/model architectures?</li>
<li>How does EvalML explore the search space for an optimal model?
<ul>
<li>What decision functions does it employ to determine an appropriate stopping point?</li>
</ul>
</li>
<li>What is involved in operationalizing an AutoML pipeline?</li>
<li>What are some challenges or edge cases that you see users of EvalML run into?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen EvalML used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on EvalML?</li>
<li>When is EvalML the wrong choice?</li>
<li>When is auto ML the wrong approach?</li>
<li>What do you have planned for the future of EvalML?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li>Angela
<ul>
<li><a href="https://github.com/angela97lin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">angela97lin</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/angela97lin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
<li>Jeremy
<ul>
<li><a href="https://github.com/jeremyliweishih?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jeremyliweishih</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/jeremy-shih-19b029107/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://shop.gloryhammer.com/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gloryhammer</a></li>
</ul>
</li>
<li>Angela
<ul>
<li><a href="https://www.sarmarestaurant.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sarma</a> mediterranean restaurant</li>
</ul>
</li>
<li>Jeremy
<ul>
<li><a href="https://amzn.to/3xXoVZa?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Crucial Conversations</a> by Stephen Covey (affiliate link)</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://evalml.alteryx.com/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EvalML</a></li>
<li><a href="https://www.alteryx.com/innovation-labs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FeatureLabs</a></li>
<li><a href="https://www.alteryx.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alteryx</a></li>
<li><a href="https://en.wikipedia.org/wiki/Scheme_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scheme</a></li>
<li><a href="https://ccl.northwestern.edu/netlogo/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetLogo</a></li>
<li><a href="https://flask.palletsprojects.com/en/2.0.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://www.automl.org/automl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AutoML</a></li>
<li><a href="https://woodwork.alteryx.com/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Woodwork</a></li>
<li><a href="https://featuretools.alteryx.com/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FeatureTools</a></li>
<li><a href="https://compose.alteryx.com/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Compose</a></li>
<li><a href="https://en.wikipedia.org/wiki/Random_forest?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Random Forest</a></li>
<li><a href="https://xgboost.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XGBoost</a></li>
<li><a href="https://facebook.github.io/prophet/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prophet</a></li>
<li><a href="https://linkedin.github.io/greykite/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GreyKite</a></li>
<li><a href="https://github.com/slundberg/shap?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shap</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fevalml-automated-machine-learning-episode-329%2F&amp;action_name=Making+Automated+Machine+Learning+More+Accessible+With+EvalML+-+Episode+329&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-08-25t10:50:54+00:00-07b05609ccfc7df</guid>
      <link>https://www.pythonpodcast.com/evalml-automated-machine-learning-episode-329</link>
      <pubDate>Wed, 25 Aug 2021 10:00:00 +0000</pubDate>
      <podcast:soundbite startTime="89.16" duration="18.61">And Jeremy, how about yourself? Hi, everyone. I'm Jeremy. I pretty much have the same timeline as Angela, but I finished my master's at Tufts University 2019 as well, and right after I joined Future Labs, and I was basically there for the inception of the Val Val project, and I've been working on it since, and have been joining Alteryx as well.</podcast:soundbite>
      <podcast:soundbite startTime="67.97" duration="20.99">So, Angela, can you start by introducing yourself? Sure thing. Hi. I'm Angela. I graduated from my undergrad at MIT around 2 years ago, and I joined the team working on a ValML at Feature Labs as an intern. And then after Feature Labs was acquired by Alteryx, I joined them full time as a software engineer, and I've been there since.</podcast:soundbite>
      <podcast:soundbite startTime="2514.56" duration="34.34">I think it's a wrong choice when machine learning is a wrong choice. I know machine learning is, like, a buzzword, and everyone wants to use machine learning. I've definitely been in companies where they've told me, like, I don't know how I want to use machine learning, but we want to use machine learning. Here's some data. Go. And I was like, well, I don't know what problem you want me to solve. So I think that's pretty key, like, understanding exactly what problem you're trying to solve, like, what objective it is that you're trying to solve for is very important.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:53</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Making Automated Machine Learning More Accessible With EvalML</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>329</itunes:episode>
      <podcast:episode>329</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296573138513b12fa7e3-8385-44dc-a097-00630be329a7v1.mp3" length="36941385" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296573138513b12fa7e3-8385-44dc-a097-00630be329a7v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b12fa7e3-8385-44dc-a097-00630be329a7638558785642717611.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b12fa7e3-8385-44dc-a097-00630be329a7638558785639324492.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b12fa7e3-8385-44dc-a097-00630be329a7638558785634651072.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Growing And Supporting The Data Science Community At Anaconda</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Data scientists are tasked with answering challenging questions using data that is often messy and incomplete. Anaconda is on a mission to make the lives of data professionals more manageable through creation and maintenance of high quality libraries and frameworks, the distribution of an easy to use Python distribution and package ecosystem, and high quality training material. In this episode Kevin Goldsmith, CTO of Anaconda, discusses the technical and social challenges faced by data scientists, the ways that the Python ecosystem has evolved to help address those difficulties, and how Anaconda is engaging with the community to provide high quality tools and education for this constantly changing practice.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Kevin Goldsmith about Anaconda&#8217;s contributions to the Python ecosystem for data science</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Anaconda focuses on solving for?
<ul>
<li>What was your path into the CTO position?</li>
</ul>
</li>
<li>From your perspective as the CTO of Anaconda, what are the biggest challenges facing data scientists today?
<ul>
<li>What is the breakdown between technical and organizational sources for those difficulties?</li>
</ul>
</li>
<li>How is the Anaconda product suite architected to help address some of those problems?</li>
<li>Where are you spending your focus to allow Anaconda to address the current and future needs of data scientists?</li>
<li>Python has been a dominant force in the data and analytics ecosystem for several years now. What do you see as the future of the space? (e.g. monoglot vs. polyglot workflows)</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen the Anaconda platform used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Anaconda and data science tooling?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/goldsmith/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/KevinGoldsmith?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@KevinGoldsmith</a> on Twitter</li>
<li><a href="https://www.kevingoldsmith.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.penguinrandomhouse.com/books/114262/perdido-street-station-by-china-mieville/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perdido Street Station</a></li>
<li><a href="https://www.penguinrandomhouse.com/books/114264/the-scar-by-china-mieville/9780345444387/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Scar</a></li>
<li><a href="https://www.penguinrandomhouse.com/books/114259/iron-council-by-china-mieville/9780345458421/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Iron Council</a></li>
</ul>
</li>
<li>Kevin
<ul>
<li><a href="https://www.lego.com/en-us/product/typewriter-21327?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lego Typewriter</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.anaconda.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anaconda</a></li>
<li><a href="https://www.spotify.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spotify</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp</a></li>
<li><a href="https://en.wikipedia.org/wiki/Scheme_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scheme</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C#</a></li>
<li><a href="https://anaconda.cloud/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anaconda Nucleus</a></li>
<li><a href="https://pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyData</a></li>
<li><a href="https://anacondacon.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AnacondaCon</a></li>
<li><a href="https://en.wikipedia.org/wiki/Grid_computing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grid Computing</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://www.pyston.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyston</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pyston-fast-python-interpreter-episode-298/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="http://numba.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numba</a></li>
<li><a href="https://panel.holoviz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Panel</a> dashboard framework</li>
<li><a href="https://datashader.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Datashader</a></li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://www.r-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R</a></li>
<li><a href="https://julialang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Julia</a></li>
<li><a href="https://www.astropy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AstroPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-32-erik-tollerud-on-astropy/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://arrow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arrow</a></li>
<li><a href="https://www.datateams.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Teams</a> by Jesse Anderson
<ul>
<li><a href="https://www.dataengineeringpodcast.com/data-teams-book-episode-162/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fanaconda-python-data-science-episode-328%2F&amp;action_name=Growing+And+Supporting+The+Data+Science+Community+At+Anaconda+-+Episode+328&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-08-19t11:10:08+00:00-fa349fd6e5697a4</guid>
      <link>https://www.pythonpodcast.com/anaconda-python-data-science-episode-328</link>
      <pubDate>Thu, 19 Aug 2021 11:15:00 +0000</pubDate>
      <podcast:soundbite startTime="65.32" duration="9.02">So Kevin, can you start by introducing yourself? So delighted to be on podcasting it. My name is Kevin Goldsmith. I am the chief technology officer at Anaconda.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:55:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Growing And Supporting The Data Science Community At Anaconda</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>328</itunes:episode>
      <podcast:episode>328</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253006469530470c517385-3776-479a-8842-39ec2e4d8738v1.mp3" length="48065841" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253006469530470c517385-3776-479a-8842-39ec2e4d8738v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_0c517385-3776-479a-8842-39ec2e4d8738638558799948440660.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0c517385-3776-479a-8842-39ec2e4d8738638558799944839513.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0c517385-3776-479a-8842-39ec2e4d8738638558799942972772.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Network Analysis At The Speed Of C With The Power Of Python Using NetworKit</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Analysing networks is a growing area of research in academia and industry. In order to be able to answer questions about large or complex relationships it is necessary to have fast and efficient algorithms that can process the data quickly. In this episode Eugenio Angriman discusses his contributions to the NetworKit library to provide an accessible interface for these algorithms. He shares how he is using NetworKit for his own research, the challenges of working with large and complex networks, and the kinds of questions that can be answered with data that fits on your laptop.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Eugenio Angriman about NetworKit, an open-source toolkit for large-scale network analysis</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what NetworKit is and the story behind it?</li>
<li>A core focus of the project is for use with graphs containing millions to billions of nodes. What are some of the situations where you might encounter networks of that scale?</li>
<li>There are a number of network analysis libraries in Python. How would you characterize NetworKit&#8217;s position in the ecosystem?</li>
<li>What are the algorithmic challenges that graph structures pose when aiming for scalability and performance?
<ul>
<li>How do you approach building efficient algorithms for complex network analysis?</li>
</ul>
</li>
<li>Can you describe how NetworKit is architected?
<ul>
<li>What are the design principles that you focus on for the library?</li>
<li>How have the design and goals of the project changed or evolved since you have been working on it?</li>
</ul>
</li>
<li>NetworKit’s code base has now a discrete size and several developers contributed to it. Are there any minimum quality requirements that new code needs to fulfill before it can be merged into NetworKit? How do you ensure that such requirements are met?</li>
<li>What are some of the active areas of research for networked data analysis?</li>
<li>How are you using NetworKit for your own work?</li>
<li>What are kind of background knowledge in graph analysis is necessary for users of NetworKit?</li>
<li>What are some of the underutilized or overlooked aspects of NetworKit that you think should be highlighted?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen NetworKit used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on NetworKit?</li>
<li>When is NetworKit the wrong choice?</li>
<li>What do you have planned for the future of NetworKit?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/angriman?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">angriman</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/eugenio-angriman-349a23a3/?originalSubdomain=de&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Edgar_Allan_Poe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Edgar Allen Poe</a></li>
</ul>
</li>
<li>NetworKit
<ul>
<li><a href="https://www.yalom.com/spinoza-problem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Spinoza Problem</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://networkit.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworKit</a></li>
<li><a href="https://www.hu-berlin.de/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Humboldt University Berlin</a></li>
<li><a href="https://graph-tool.skewed.de/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">graph-tool</a>
<ul>
<li><a href="https://www.pythonpodcast.com/graph-tool-graph-data-analysis-episode-322/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://networkx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworkX</a></li>
<li><a href="https://en.wikipedia.org/wiki/Adjacency_list?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adjacency List</a></li>
<li><a href="https://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-45-cython-with-craig-citro-and-robert-bradshaw/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://snap-stanford.github.io/cs224w-notes/machine-learning-with-networks/node-representation-learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Node Embeddings</a></li>
<li><a href="https://en.wikipedia.org/wiki/Centrality?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Centrality Score</a></li>
<li><a href="https://networkit.informatik.hu-berlin.de/register?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworKit In The Cloud</a></li>
<li><a href="https://github.com/gunrock/gunrock/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gunrock</a></li>
<li><a href="https://github.com/hornet-gt/hornet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hornet</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fnetworkit-efficient-network-analysis-episode-327%2F&amp;action_name=Network+Analysis+At+The+Speed+Of+C+With+The+Power+Of+Python+Using+NetworKit+-+Episode+327&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-08-15t02:25:16+00:00-bfddf538686ee77</guid>
      <link>https://www.pythonpodcast.com/networkit-efficient-network-analysis-episode-327</link>
      <pubDate>Sun, 15 Aug 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="300.05" duration="12.87">So maybe long story short, NetRoute, it was and still is a really collaborative effort that involves many people around the world and to provide the efficient, scalable algorithms for large scale network analysis.</podcast:soundbite>
      <podcast:soundbite startTime="1564.60" duration="14.40">So, yeah, of course, the cloud resources are limited, so you cannot run expensive algorithms on large graphs. But at least this offers you the possibility of trying NetworkKits without installing it on your machine.</podcast:soundbite>
      <podcast:soundbite startTime="70.10" duration="12.20">My name is Eugenio Andreieman, and I am a PhD student at Humboldt University of Berlin. I work with Netogeek almost a daily basis in my work, and I'm happy to be here talking about it with you.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:37:07</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Network Analysis At The Speed Of C With The Power Of Python Using NetworKit</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>327</itunes:episode>
      <podcast:episode>327</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320630918185ced13637-c148-41cb-8a27-de3e515dc71fv1.mp3" length="28132535" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320630918185ced13637-c148-41cb-8a27-de3e515dc71fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ced13637-c148-41cb-8a27-de3e515dc71f638558840683310864.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ced13637-c148-41cb-8a27-de3e515dc71f638558840680478969.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ced13637-c148-41cb-8a27-de3e515dc71f638558840678453196.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Delivering Deep Learning Powered Speech Recognition As A Service For Developers At AssemblyAI</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Building a software-as-a-service (SaaS) business is a fairly well understood pattern at this point. When the core of the service is a set of machine learning products it introduces a whole new set of challenges. In this episode Dylan Fox shares his experience building Assembly AI as a reliable and affordable option for automatic speech recognition that caters to a developer audience. He discusses the machine learning development and deployment processes that his team relies on, the scalability and performance considerations that deep learning models introduce, and the user experience design that goes into building for a developer audience. This is a fascinating conversation about a unique cross-section of considerations and how Dylan and his team are building an impressive and useful service.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Dylan Fox about AssemblyAI, a powerful and easy to use speech recognition API designed for developers</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Assembly AI is and the story behind it?</li>
<li>Speech recognition is a service that is being added to every cloud platform, video service, and podcast product. What do you see as the motivating factors for the current growth in this industry?
<ul>
<li>How would you characterize your overall position in the market?</li>
</ul>
</li>
<li>What are the core goals that you are focused on with AssemblyAI?</li>
<li>Can you describe the different ways that you are using Python across the company?</li>
<li>How is the AssemblyAI platform architected?
<ul>
<li>What are the complexities that you have to work around to maintain high uptime for an API powered by a deep learning model?</li>
<li>What are the scaling challenges that crop up, whether on the training or serving?</li>
</ul>
</li>
<li>What are the axes for improvement for a speech recognition model?
<ul>
<li>How do you balance tradeoffs of speed and accuracy as you iterate on the model?</li>
</ul>
</li>
<li>What is your process for managing the deep learning workflow?</li>
<li>How do you manage CI/CD for your deep learning models?</li>
<li>What are the open areas of research in speech recognition?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen AssemblyAI used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on AssemblyAI?</li>
<li>When is AssemblyAI the wrong choice?</li>
<li>What do you have planned for the future of AssemblyAI?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/dylanbfox/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/youvegotfox?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@YouveGotFox</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/H._P._Lovecraft?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">H.P. Lovecraft</a></li>
</ul>
</li>
<li>Dylan
<ul>
<li><a href="https://www.andyweirauthor.com/books/project-hail-mary?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Hail Mary</a> by Andy Weir</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.assemblyai.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AssemblyAI</a></li>
<li><a href="https://www.feldroy.com/products/two-scoops-of-django-3-x?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Two Scoops of Django</a></li>
<li><a href="https://www.nuance.com/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nuance</a></li>
<li><a href="https://www.nuance.com/dragon.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dragon Natural Speaking</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://fastapi.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastAPI</a></li>
<li><a href="https://flask.palletsprojects.com/en/2.0.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://www.tornadoweb.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-40-ben-darnell-on-tornado/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://neuralmagic.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neural Magic</a>
<ul>
<li><a href="https://www.pythonpodcast.com/neural-magic-deep-learning-sparse-networks-episode-321/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.andyweirauthor.com/books/the-martian-tr/the-martian-hc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Martian</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fassemblyai-deep-learning-speech-recognition-episode-326%2F&amp;action_name=Delivering+Deep+Learning+Powered+Speech+Recognition+As+A+Service+For+Developers+At+AssemblyAI+-+Episode+326&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-08-04t00:36:19+00:00-e0988a2eccb41a4</guid>
      <link>https://www.pythonpodcast.com/assemblyai-deep-learning-speech-recognition-episode-326</link>
      <pubDate>Wed, 4 Aug 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="68.49" duration="27.90">My name is Dylan. I am the founder of AssemblyAI, and what we're working on is making a really easy to use API for automatic speech recognition that developers are using to do a wide variety of things from transcribing podcasts like this to Zoom meetings to phone calls. We started our company a few years ago now back in 2017 and have been, yeah, chugging away ever since.</podcast:soundbite>
      <podcast:soundbite startTime="197.52" duration="29.50">So, really, our goal is to build the best API for speech recognition for developers. So we wanna have the most accurate, easiest to use, most affordable, best feature set offering for developers so that they can build whatever it is that they wanna build with speech recognition. So kind of what we think about in the analogy that we use is, you know, the Stripe for speech recognition or the Twilio for speech recognition. That's what we're going after.</podcast:soundbite>
      <podcast:soundbite startTime="567.52" duration="34.11">I think the main drivers of the accuracy has just gone up. I mean, the accuracy that you can get today from a speech recognition system compared to, like, you know, 10 years ago is dramatically improved. The results are just a lot better now. And then I think another big part of it is is accessibility. You know? There is an API, you know, from Google. You know, we have an API. There's a few other providers that expose this technology through an API. So you don't need to beg Nuance for a CD ROM anymore that you're gonna host on some, you know, server to get access to speech recognition software.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:21</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Delivering Deep Learning Powered Speech Recognition As A Service For Developers At AssemblyAI</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>326</itunes:episode>
      <podcast:episode>326</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253079960006515de9161a-9595-48e1-b800-909ff42a1446v1.mp3" length="40723874" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253079960006515de9161a-9595-48e1-b800-909ff42a1446v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_5de9161a-9595-48e1-b800-909ff42a1446638558823363320365.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5de9161a-9595-48e1-b800-909ff42a1446638558823359304135.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5de9161a-9595-48e1-b800-909ff42a1446638558823357249761.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Taking Aim At The Legacy Of SQL With The Preql Relational Language</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>SQL has gone through many cycles of popularity and disfavor. Despite its longevity it is objectively challenging to work with in a collaborative and composable manner. In order to address these shortcomings and build a new interface for your database oriented workloads Erez Shinan created Preql. It is based on the same relational algebra that inspired SQL, but brings in more robust computer science principles to make it more manageable as you scale in complexity. In this episode he shares his motivation for creating the Preql project, how he has used Python to develop a new language for interacting with database engines, and the challenges of taking on the legacy of SQL as an individual.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Erez Shinan about Preql, an interpreted, relational programming language, that specializes in database queries</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Preql is and the story behind it?
<ul>
<li>What are goals and target use cases for the project?</li>
</ul>
</li>
<li>There have been numerous projects that aim to make SQL more maintainable and composable. What is it about the language and syntax that makes it so challenging?
<ul>
<li>How does Preql approach this problem that is different from other efforts? (e.g. ORMs, dbt-style Jinja, PyPika)</li>
</ul>
</li>
<li>How did you approach the design of the syntax to make it familiar to people who know SQL?</li>
<li>Can you describe how Preql is implemented?
<ul>
<li>How has the design and architecture changed or evolved since you began working on it?</li>
</ul>
</li>
<li>What is a typical workflow for someone using Preql to build a library of analytical queries?</li>
<li>Beyond strict compilation to SQL, what are some of the other features that you have incorporated into Preql?
<ul>
<li>How does a Preql program get executed against a target database, particularly when using capabilities that can&#8217;t be directly translated to SQL?</li>
</ul>
</li>
<li>** What are the main difficulties / challenges of compiling to SQL ?</li>
<li>What are some of the features or use cases that are not immediately obvious or prone to be overlooked that you think are worth mentioning?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Preql used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Preql?</li>
<li>When is Preql the wrong choice?</li>
<li>What do you have planned for the future of Preql?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/erezsh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">erezsh</a> on GitHub</li>
<li><a href="https://twitter.com/erezsh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">erezsh</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt4643084/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Counterpart</a></li>
</ul>
</li>
<li>Erez
<ul>
<li><a href="https://visit-bansko.bg/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bansko, Bulgaria</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/erezsh/Preql?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Preql</a></li>
<li><a href="https://github.com/lark-parser/lark?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lark</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Postgres</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.mysql.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Relational_algebra?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Relational Algebra</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ORM == Object Relational Mapper</a></li>
<li><a href="https://www.getdbt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dbt</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/kayak/pypika?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPika</a></li>
<li><a href="https://graphql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphQL</a></li>
<li><a href="https://julialang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Julia</a></li>
<li><a href="https://github.com/erezsh/runtype?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">runtype</a></li>
<li><a href="https://github.com/willmcgugan/rich?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rich</a> terminal UI library</li>
<li><a href="https://python-prompt-toolkit.readthedocs.io/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">prompt-toolkit</a></li>
<li><a href="https://duckdb.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DuckDB</a></li>
<li><a href="https://github.com/askgitdev/askgit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Askgit</a></li>
<li><a href="https://cloud.google.com/bigquery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BigQuery</a></li>
<li><a href="https://www.snowflake.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowflake</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpreql-relational-algebra-sql-replacement-episode-325%2F&amp;action_name=Taking+Aim+At+The+Legacy+Of+SQL+With+The+Preql+Relational+Language+-+Episode+325&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-07-28t02:48:55+00:00-6895044f2133136</guid>
      <link>https://www.pythonpodcast.com/preql-relational-algebra-sql-replacement-episode-325</link>
      <pubDate>Wed, 28 Jul 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="793.09" duration="29.28">Prequel is based on the same model as SQL, which is relational algebra coupled with lazy evaluation. So if you already know SQL, then Prequel semantics will be very familiar. But, actually, prequel syntax was designed to resemble JavaScript or Go, which I think are much more concise and more suitable for programming. There are a few reminders of SQL, like the like operator and the use of its terminology, like join, left join, outer join, and all that. But overall, it looks quite different.</podcast:soundbite>
      <podcast:soundbite startTime="1709.45" duration="32.02">I hope it will be widely used. I hope everyone will take advantage of it. I hope that people will contribute back, and I hope that there's going to be, like, a standard library built around it. I mean, I'm planning to 1 day build something that's a little bit like PIP. So imagine if you wanted a message queue in a SQL database, you could just do, like, something like a pip install message queue and then get it. All these things that are missing from the SQL ecosystem, even though it's such a popular language and every other language already has that.</podcast:soundbite>
      <podcast:soundbite startTime="194.85" duration="32.81">So the idea for QuickWell formed in my head over many years. I did all sorts of jobs over the years, including web developer, data engineer, app developer, etcetera. And as I gained experience working with data, I came to recognize the the benefits of SQL's relational model and its use of, you know, relational algebra to organize linked data. And I was also impressed by the implementation of database engines such as Postgres and MySQL. You know, they provided performance, reliability, and the long list of features, and yet I would often feel trepidation about using those databases.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:36:39</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Taking Aim At The Legacy Of SQL With The Preql Relational Language</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>325</itunes:episode>
      <podcast:episode>325</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253225077761754151d7b4-adcc-46fa-b008-fed5dd8d8d84v1.mp3" length="30454340" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253225077761754151d7b4-adcc-46fa-b008-fed5dd8d8d84v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4151d7b4-adcc-46fa-b008-fed5dd8d8d84638558848697491420.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4151d7b4-adcc-46fa-b008-fed5dd8d8d84638558848695376087.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4151d7b4-adcc-46fa-b008-fed5dd8d8d84638558848693508925.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Unleash The Power Of Dataframes At Any Scale With Modin</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>When you start working on a data project there are always a variety of unknown factors that you have to explore. One of those is the volume of total data that you will eventually need to handle, and the speed and scale at which it will need to be processed. If you optimize for scale too early then it adds a high barrier to entry due to the complexities of distributed systems, but if you invest in a lot of engineering up front then it can be challenging to refactor for scale. Modin is a project that aims to remove that decision by letting you seamlessly replace your existing Pandas code and scale across CPU cores or across a cluster of machines. In this episode Devin Petersohn explains why he started working on solving this problem, how Modin is architected to allow for a smooth escalation from small to large volumes of data and compute, and how you can start using it today to accelerate your Pandas workflows.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Devin Petersohn about Modin, a Pandas compatible dataframe library for datasets from 1MB to 1TB+</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Modin is and the story behind it?
<ul>
<li>Why study dataframes?</li>
</ul>
</li>
<li>How do dataframes compare to databases?
<ul>
<li>What can you do in a dataframe that you couldn&#8217;t in a database?</li>
</ul>
</li>
<li>What are your overall goals for the Modin project?</li>
<li>Who are the target users of Modin and how does that influence your prioritization of features?</li>
<li>What are some of the API inconsistencies that you have had to abstract and work around between Pandas, Ray, and Dask to give users a seamless experience?</li>
<li>What are some of the considerations in terms of capabilities or user experience that will influence whether to use Ray or Dask as the execution engine?</li>
<li>Can you describe how Modin is implemented?
<ul>
<li>How has the constraint of replicating the Pandas API influenced your architectural choices?</li>
<li>What are the most complex or challenging Pandas APIs to replicate in Modin?</li>
</ul>
</li>
<li>In addition to the core Pandas API you have also added experimental features such as SQL support and a spreadsheet interface. How have those capabilities affected the range of potential use cases and end users?</li>
<li>What are some of the complexities that come from acting as a middleware between the Pandas API and the Ray and Dask frameworks?</li>
<li>What are some of the initial ideas or assumptions that you had about the design or utility of Modin that have been challenged as you worked through building and releasing it?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Modin used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Modin?</li>
<li>When is Modin the wrong choice?</li>
<li>What do you have planned for the future of Modin?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/devin-petersohn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">devin-petersohn</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/devinpetersohn/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/xxh/xxh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">xxh</a></li>
</ul>
</li>
<li>Devin
<ul>
<li><a href="https://github.com/lux-org/lux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lux</a>
<ul>
<li><a href="https://www.pythonpodcast.com/lux-data-exploration-episode-313/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://modin.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modin</a></li>
<li><a href="https://www.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UC Berkeley</a></li>
<li><a href="https://rise.cs.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RISELAB</a></li>
<li><a href="http://xarray.pydata.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XArray</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.ray.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmodin-parallel-dataframe-episode-324%2F&amp;action_name=Unleash+The+Power+Of+Dataframes+At+Any+Scale+With+Modin+-+Episode+324&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-07-17t12:07:39+00:00-8984c0027cd81fa</guid>
      <link>https://www.pythonpodcast.com/modin-parallel-dataframe-episode-324</link>
      <pubDate>Thu, 22 Jul 2021 00:45:00 +0000</pubDate>
      <podcast:soundbite startTime="125.80" duration="40.48">So as I mentioned, I'm, you know, I've been interested in genomics problems, and I started my PhD working on genomics problems, actually. And I started to notice more general problems in science as a whole where, like tools to deal with large amounts of data really require a lot of expertise in distributed computing. And 1 of the things that I really wanted to kind of tackle is this problem of accessibility in big data tools and tools that deal with large amounts of data. And so, like I started with pandas because, you know, pandas is everywhere. It's it's like what everyone uses.</podcast:soundbite>
      <podcast:soundbite startTime="701.72" duration="33.92">Modin has kind of a core implementation that implements a set of data frame algebraic operators that we defined as a part of this theoretical data framework that I've done as as my PhD. And these algebraic operators are roughly 12 to 15. We're still in the process of kind of getting everything completely formalized and implemented. But there are about 15 operators at this time that allow you to operate on data and metadata. And all of these are implemented as a part of this mode and core.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Unleash The Power Of Dataframes At Any Scale With Modin</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>324</itunes:episode>
      <podcast:episode>324</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529833148096723cbeb51-59f8-4d63-8f7f-12336142c7b8v1.mp3" length="31922171" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529833148096723cbeb51-59f8-4d63-8f7f-12336142c7b8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_23cbeb51-59f8-4d63-8f7f-12336142c7b8638558791893427712.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/23cbeb51-59f8-4d63-8f7f-12336142c7b8638558791890616288.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/23cbeb51-59f8-4d63-8f7f-12336142c7b8638558791888435382.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Exploring The SpeechBrain Toolkit For Speech Processing</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>With the rising availability of computation in everyday devices, there has been a corresponding increase in the appetite for voice as the primary interface. To accomodate this desire it is necessary for us to have high quality libraries for being able to process and generate audio data that can make sense of human speech. To facilitate research and industry applications for speech data Mirco Ravanelli and Peter Plantinga are building SpeechBrain. In this episode they explain how it works under the hood, the projects that they are using it for, and how you can get started with it today.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Mirco Ravanelli and Peter Plantinga about SpeechBrain, an open-source and all-in-one speech toolkit powered by PyTorch</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what SpeechBrain is and the story behind it?</li>
<li>What are the goals and target use cases of the SpeechBrain project?</li>
<li>What are some of the ways that processing audio with a focus on speech differs from more general audio processing?</li>
<li>What are some of the other libraries/frameworks/services that are available to work with speech data and what are the unique capabilities that SpeechBrain offers?</li>
<li>How is SpeechBrain implemented?
<ul>
<li>What was your decision process for determining which framework to build on top of?</li>
<li>What are some of the original ideas and assumptions that you had for SpeechBrain which have been changed or invalidated as you worked through implementing it?</li>
</ul>
</li>
<li>Can you talk through the workflow of using SpeechBrain?
<ul>
<li>What would be involved in developing a system to automate transcription with speaker recognition and diarization?</li>
</ul>
</li>
<li>In the documentation it mentions that SpeechBrain is built to be used for research purposes. What are some of the kinds of research that it is being used for?</li>
<li>What are some of the features or capabilities of SpeechBrain which might be non-obvious that you would like to highlight?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen SpeechBrain used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on SpeechBrain?</li>
<li>When is SpeechBrain the wrong choice?</li>
<li>What do you have planned for the future of SpeechBrain?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li>Mirco
<ul>
<li><a href="https://github.com/mravanelli?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mravanelli</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/mirco-ravanelli-489b692a/?originalSubdomain=it&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/mirco_ravanelli?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mirco_ravanelli</a> on Twitter</li>
</ul>
</li>
<li>Peter
<ul>
<li><a href="https://github.com/pplantinga?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pplantinga</a> on GitHub</li>
<li><a href="https://twitter.com/ComPeterScience?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ComPeterScience</a> on Twitter</li>
<li><a href="http://massey-plantinga.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/plantinga-peter/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://x.ai/?utm_source=rss&utm_medium=rss" target="_blank">x.ai</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://speechbrain.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpeechBrain</a></li>
<li><a href="https://mila.quebec/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mila</a></li>
<li><a href="https://en.wikipedia.org/wiki/Speech_processing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Speech Processing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Speech_enhancement?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Speech Enhancement</a></li>
<li><a href="https://numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://www.scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://github.com/Theano/Theano?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Theano</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Speech_recognition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Speech Recognition</a></li>
<li><a href="https://github.com/NVIDIA/NeMo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NeMo</a></li>
<li><a href="https://github.com/espnet/espnet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ESPNet</a></li>
<li><a href="https://en.wikipedia.org/wiki/Seq2seq?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sequence to Sequence (Seq2Seq)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HyperParameters</a></li>
<li><a href="https://pytorch.org/audio/stable/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TorchAudio</a></li>
<li><a href="https://www.pytorchlightning.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch Lightning</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="https://huggingface.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HuggingFace</a></li>
<li><a href="https://en.wikipedia.org/wiki/Generative_adversarial_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Generative Adversarial Network</a></li>
<li><a href="https://www.snorkel.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snorkel</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/snorkel-with-alex-ratner-episode-15/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fspeechbrain-deep-learning-speech-toolkit-episode-323%2F&amp;action_name=Exploring+The+SpeechBrain+Toolkit+For+Speech+Processing+-+Episode+323&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-07-14t01:17:39+00:00-4fc89a02a0fd215</guid>
      <link>https://www.pythonpodcast.com/speechbrain-deep-learning-speech-toolkit-episode-323</link>
      <pubDate>Wed, 14 Jul 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="437.30" duration="40.42">Well, I have to say that, you know, speech has some kind of peculiarities. Right? So if you think a a little bit about that, it has a kind of hidden hierarchical structure behind speech. And for instance, you know, you can combine null pixels to create to detect some phoneme units. You can detect some phoneme units to form phonemes. From phonemes, you can create words. From words, you can create sentences. And finally, on the top of this, you can have the meaning of what you are you want to say. Right? So this kind of hierarchical architecture is pretty challenging, right, to capture by a machine learning system.</podcast:soundbite>
      <podcast:soundbite startTime="835.61" duration="36.11">So we decided to build our toolkit on top of the PyTorch toolkit. There's a library for machine learning of really all different types. So our toolkit is really sort of an interface where any task where you have audio as an input and it is able to use this sort of streamlined functionality for machine learning. So because we know that we're going to get audio as an input, we can handle things like variable length inputs in a nice way.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:37:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Exploring The SpeechBrain Toolkit For Speech Processing</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>323</itunes:episode>
      <podcast:episode>323</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321924010054f183298e-d305-490e-ae42-f3f2eee51096v1.mp3" length="30721022" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321924010054f183298e-d305-490e-ae42-f3f2eee51096v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f183298e-d305-490e-ae42-f3f2eee51096638558846054018020.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f183298e-d305-490e-ae42-f3f2eee51096638558846050970344.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f183298e-d305-490e-ae42-f3f2eee51096638558846049218974.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Fast And Educational Exploration And Analysis Of Graph Data Structures With graph-tool</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>If you are interested in a library for working with graph structures that will also help you learn more about the research and theory behind the algorithms then look no further than graph-tool. In this episode Tiago Peixoto shares his work on graph algorithms and networked data and how he has built graph-tool to help in that research. He explains how it is implemented, how it evolved from a simple command line tool to a full-fledged library, and the benefits that he has found from building a personal project in the open.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tiago Peixoto about graph-tool, an efficient Python module for manipulation and statistical analysis of graphs</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what graph-tool is and the story behind it?</li>
<li>What are some scenarious where someone might encounter a graph oriented data set?
<ul>
<li>In what ways are those graphs typically represented?</li>
<li>In your experience, what is the overlap of people who are working with networked data, and the use of graph-native databases? (e.g. Neo4J, DGraph, etc.)</li>
</ul>
</li>
<li>What kinds of analysis or manipulation might someone need to perform on a graph structure?</li>
<li>There are a few different tools in Python for working with networked data. How would you characterize the current ecosystem and why someone might choose graph-tool?</li>
<li>Can you describe how graph-tool is implemented?
<ul>
<li>How have the goals and design of the package changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>Who are your target users and what are the guiding principles that you use to inform the API design for the package?
<ul>
<li>How much knowledge of graph theory or algorithms are required to make effective use of graph-tool?</li>
</ul>
</li>
<li>Can you talk through an example workflow of using graph-tool to load, process, and analyze a graph?</li>
<li>What are some of the overlooked or underutilized aspects of graph-tool that you think more people should know about?</li>
<li>What are some systems/applications that you have seen which would be simplified by adopting a graph model for their data?
<ul>
<li>What is your impression of the overall awareness of the benefits of graphs for simplifying aspects of data processing and analysis?</li>
</ul>
</li>
<li>What are some cases where a graph structure adds unnecessary complexity?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen graph-tool used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on graph-tool?</li>
<li>When is graph-tool the wrong choice?</li>
<li>What do you have planned for the future of graph-tool?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://skewed.de/tiago?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://graph-tool.skewed.de?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">graph-tool</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/3gOzQit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">97 Things Every Data Engineer Should Know</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.ceu.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Central European University</a></li>
<li><a href="networkx.github.io/">NetworkX</a></li>
<li><a href="https://en.wikipedia.org/wiki/Graph_Modelling_Language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GML</a></li>
<li><a href="https://en.wikipedia.org/wiki/GraphML?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphML</a></li>
<li><a href="https://neo4j.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neo4J</a></li>
<li><a href="https://dgraph.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DGraph</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dgraph-with-manish-jain-episode-44/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://networkit.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworKit</a></li>
<li><a href="https://igraph.org/redirect.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">igraph</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://en.cppreference.com/w/cpp/language/templates?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++ Templates</a></li>
<li><a href="https://www.boost.org/doc/libs/1_76_0/libs/graph/doc/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boost Graph Library</a></li>
<li><a href="https://www.openmp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenMP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Matching_(graph_theory)#Maximal_matchings?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Maximum Matching</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgraph-tool-graph-data-analysis-episode-322%2F&amp;action_name=Fast+And+Educational+Exploration+And+Analysis+Of+Graph+Data+Structures+With+graph-tool+-+Episode+322&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-07-07t02:29:48+00:00-9cd2e4603540034</guid>
      <link>https://www.pythonpodcast.com/graph-tool-graph-data-analysis-episode-322</link>
      <pubDate>Wed, 7 Jul 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="66.03" duration="19.56">So, Tiago, can you start by introducing yourself? Sure. So thank you very much, Tobias. So, yes, I am a associate professor at the University of Central European University in Austria, the department of network and data science. I'm a physicist by training and practice, and I work in a field called network science.</podcast:soundbite>
      <podcast:soundbite startTime="503.07" duration="34.69">Another way that I've seen a lot of people interacting with graph networks and graph data structures is with an actual graph oriented database, such as things like Neo 4J or d graph, and there are a number of others that have built in support for that. I'm curious what your experience has been of the overlap, particularly in the sciences of people who are dealing with these networked data structures and people who are actually using a graph database to assist with that and, you know, some of the ways that GraphQL might either complement or sort of obviate the need for a graph database.</podcast:soundbite>
      <podcast:soundbite startTime="143.78" duration="25.88">So Python has this very appealing aspect to it. It's a very clean language. It's super nice to write. But it has a drawback, which is that it's a slow language. It's a interpreted language. So and for scientific computation, that's a big deal because you want your code to run fast. You want to work with large data or do large simulations that, you want to run as fast as possible. And if you just do this with Python, they have a problem.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Fast And Educational Exploration And Analysis Of Graph Data Structures With graph-tool</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>322</itunes:episode>
      <podcast:episode>322</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253174761861990447500a-d982-44bd-9bc6-c70efd2211dav1.mp3" length="33397344" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253174761861990447500a-d982-44bd-9bc6-c70efd2211dav1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_0447500a-d982-44bd-9bc6-c70efd2211da638558835933311539.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0447500a-d982-44bd-9bc6-c70efd2211da638558835930584251.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0447500a-d982-44bd-9bc6-c70efd2211da638558835928335955.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Lightening The Load For Deep Learning With Sparse Networks Using Neural Magic</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Deep learning has largely taken over the research and applications of artificial intelligence, with some truly impressive results. The challenge that it presents is that for reasonable speed and performance it requires specialized hardware, generally in the form of a dedicated GPU (Graphics Processing Unit). This raises the cost of the infrastructure, adds deployment complexity, and drastically increases the energy requirements for training and serving of models. To address these challenges Nir Shavit combined his experiences in multi-core computing and brain science to co-found Neural Magic where he is leading the efforts to build a set of tools that prune dense neural networks to allow them to execute on commodity CPU hardware. In this episode he explains how sparsification of deep learning models works, the potential that it unlocks for making machine learning and specialized AI more accessible, and how you can start using it today.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nir Shavit about Neural Magic and the benefits of using sparsification techniques for deep learning models</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Neural Magic is and the story behind it?</li>
<li>What are the attributes of deep learning architectures that influence the bias toward GPU hardware for training them?
<ul>
<li>What are the mathematical aspects of neural networks that have biased the current generation of software tools toward that architectural style?</li>
</ul>
</li>
<li>How does sparsifying a network architecture allow for improved performance on commodity CPU architectures?</li>
<li>What is involved in converting a dense neural network into a sparse network?</li>
<li>Can you describe the components of the Neural Magic architecture and how they are used together to reduce the footprint of deep learning architectures and accelerate their performance on CPUs?
<ul>
<li>What are some of the goals or design approaches that have changed or evolved since you first began working on the Neural Magic platform?</li>
</ul>
</li>
<li>For someone who has an existing model defined, what is the process to convert it to run with the DeepSparse engine?</li>
<li>What are some of the options for applications of deep learning that are unlocked by enabling the models to train and run without GPU or other specialized hardware?</li>
<li>The current set of components for Neural Magic is either open source or free to use. What is your long-term business model, and how are you approaching governance of the open source projects?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Neural Magic and model sparsification used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Neural Magic?</li>
<li>When is Neural Magic or sparse networks the wrong choice?</li>
<li>What do you have planned for the future of Neural Magic?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.csail.mit.edu/person/nir-shavit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Research Overview</a></li>
<li><a href="https://www.linkedin.com/in/nir-shavit-1b8b4412/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt5540054/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Tick</a> TV show</li>
</ul>
</li>
<li>Nir
<ul>
<li><a href="https://www.openculture.com/2019/02/bauhaus-world.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bauhaus</a> documentary</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://neuralmagic.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neural Magic</a></li>
<li><a href="https://web.mit.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computational_neuroscience?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computational Neurobiology</a></li>
<li><a href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-006-introduction-to-algorithms-fall-2011/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">6.006</a> MIT Course</li>
<li><a href="https://en.wikipedia.org/wiki/FLOPS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FLOPS == FLoating point OPerations per Second</a></li>
<li><a href="https://en.wikipedia.org/wiki/Perceptron?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perceptron</a></li>
<li><a href="https://en.wikipedia.org/wiki/Convolutional_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Convolutional Neural Network</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp</a></li>
<li><a href="https://towardsdatascience.com/how-to-accelerate-and-compress-neural-networks-with-quantization-edfbbabb6af7?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantization of ML</a></li>
<li><a href="https://towardsdatascience.com/yolo-you-only-look-once-real-time-object-detection-explained-492dc9230006?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">YOLO ML Model</a></li>
<li><a href="https://en.wikipedia.org/wiki/Federated_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Federated Learning</a>
<ul>
<li><a href="https://www.pythonpodcast.com/flower-federated-learning-episode-314/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Reinforcement_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reinforcement Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/GPT-3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPT-3</a></li>
<li><a href="https://openai.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenAI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transfer_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transfer Learning</a>
<ul>
<li><a href="https://www.pythonpodcast.com/paul-azunre-transfer-learning-for-natural-language-processing-episode-315/?utm_source=rss&utm_medium=rss">Podcast Episode about Transfer Learning for NLP</a></li>
</ul>
</li>
<li><a href="https://neuralmagic.com/blog/how-neural-magics-deep-sparse-technology-works/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensor Columns</a></li>
<li><a href="https://docs.neuralmagic.com/deepsparse/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neural Magic DeepSparse Engine</a></li>
<li><a href="https://onnx.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ONNX</a></li>
<li><a href="https://en.wikipedia.org/wiki/CUDA?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CUDA</a></li>
<li><a href="https://github.com/neuralmagic/sparsezoo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sparse Zoo</a></li>
<li><a href="https://www.tabnine.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tab9</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fneural-magic-deep-learning-sparse-networks-episode-321%2F&amp;action_name=Lightening+The+Load+For+Deep+Learning+With+Sparse+Networks+Using+Neural+Magic+-+Episode+321&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-06-30t01:13:41+00:00-fc562b64cef5f3d</guid>
      <link>https://www.pythonpodcast.com/neural-magic-deep-learning-sparse-networks-episode-321</link>
      <pubDate>Wed, 30 Jun 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="458.19" duration="18.22">Yeah. It's definitely interesting how much effort people will push into just brute forcing a problem rather than trying to figure out the nuance to it just because figuring out the nuance requires time. And after you figure it out, you can maybe move faster, but it slows you down at the outset, and people just aren't interested in taking that time to figure it out.</podcast:soundbite>
      <podcast:soundbite startTime="1760.61" duration="10.31">Yeah. That'll definitely be interesting to see what we can deliver in that regard and, you know, whether that allows us to make the leap to general AI versus the sort of specialized AI that we have right now.</podcast:soundbite>
      <podcast:soundbite startTime="186.21" duration="19.87">Yeah. Maybe I'll start at the very beginning. You know, what I've actually learned from the work in neurobiology is kinda that our our brains, right, as a computing device, right, are extremely sparse. Okay. There are not a lot of compute, but they're very big in terms of the representation.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:33</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Lightening The Load For Deep Learning With Sparse Networks Using Neural Magic</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>321</itunes:episode>
      <podcast:episode>321</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298198287624a5ea2962-0233-4fe2-9d30-106a8aaf6074v1.mp3" length="36959548" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298198287624a5ea2962-0233-4fe2-9d30-106a8aaf6074v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a5ea2962-0233-4fe2-9d30-106a8aaf6074638558791243425496.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a5ea2962-0233-4fe2-9d30-106a8aaf6074638558791240658912.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a5ea2962-0233-4fe2-9d30-106a8aaf6074638558791238583526.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Finding The Core Of Python For A Bright Future With Brett Cannon</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Brett Cannon has been a long-time contributor to the Python language and community in many ways. In this episode he shares some of his work and thoughts on modernizing the ecosystem around the language. This includes standards for packaging, discovering the true core of the language, and how to make it possible to target mobile and web platforms.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python&#8217;s role in data and science.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you&#8217;re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at <a href="https://www.pythonpodcast.com/hightouch?utm_source=rss&utm_medium=rss">pythonpodcast.com/hightouch</a>.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Brett Cannon about improvements in the packaging ecosystem, the promise of WebAssembly, and his recent explorations of CPython&#8217;s interpreter</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>As a core contributor to CPython, a member of the steering Council, and the team lead for VSCode&#8217;s Python extension, what are your current areas of focus for the language?</li>
<li>One of the PEPs that you were involved with recently introduced the pyproject.toml file for simplifying the work of building Python packages. Can you share some of the background behind that work and the goals that you had for it?
<ul>
<li>Since its introduction a lot of people have co-opted that file for other project configuration. What was your reaction to that, and if you had foreseen that usage what might you have changed or added in the PEP to account for it?</li>
</ul>
</li>
<li>What are the long term impacts on the packaging ecosystem that you anticipate with the standardization efforts that are happening?</li>
<li>Another area where there is a lot of attention right now is being able to target additional deployment environments such as the browser, with web assembly, and mobile devices, with projects like BriefCase and Kivy. You had a recent post where you posed some questions about the true nature of Python and the possibility of removing pieces of it to simplify building for these other runtimes. What is your personal sense of the minimal set of features that we need for something to still be Python?
<ul>
<li>How have projects such as MicroPython and PyOdide influenced your thinking on the matter?</li>
</ul>
</li>
<li>You have also recently been writing a series of articles about the implementation details of different syntactic elements of Python. What was your inspiration for that?
<ul>
<li>What are some of the interesting or surprising details that you encountered while unwrapping the way that the interpreter handles those syntactic elements?</li>
<li>How have those explorations helped you in your efforts to identify the core of Python?</li>
</ul>
</li>
<li>Recent releases of Python have brought in some substantial changes to the interpreter and new language features (e.g. PEG parser, pattern matching). What are some of the other large initiatives that you are keeping track of?</li>
<li>What are your personal goals for the near to medium term future of Python?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on the Python language and related tooling?</li>
<li>If you were to redesign Python today, what are some of the things that you would do differently?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/brettcannon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">brettcannon</a> on GitHub</li>
<li><a href="https://twitter.com/brettsky?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@brettsky</a> on Twitter</li>
<li><a href="https://snarky.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://cleananddelicious.com/how-to-make-cold-brew-iced-tea/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cold Brew Iced Tea</a></li>
<li><a href="https://www.disneyplus.com/series/loki/6pARMvILBGzF?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Loki</a> on Disney+</li>
</ul>
</li>
<li>Brett
<ul>
<li><a href="https://github.com/willmcgugan/rich?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rich</a></li>
<li><a href="https://github.com/willmcgugan/textual?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Textual</a></li>
<li>The physics facts included in all of the Python 3.10 release announcements, e.g. <a href="https://discuss.python.org/t/python-3-10-0b3-is-now-available/9323#and-now-for-something-completely-different-4?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">you will never see a green star</a></li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://snarky.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brett&#8217;s Blog</a></li>
<li><a href="https://code.visualstudio.com/docs/languages/python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python VSCode Extension</a></li>
<li><a href="https://www.python.org/dev/peps/pep-8016/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Steering Council</a></li>
<li><a href="https://www.pypa.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Package Authority</a></li>
<li><a href="https://www.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UC Berkeley</a></li>
<li><a href="https://en.wikipedia.org/wiki/Vancouver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vancouver, BC</a></li>
<li><a href="https://www.legendsofvancouver.net/nations?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Squamish, Musquiam, Tsleil-waututh First Nations</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pascal</a></li>
<li><a href="https://www.python.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C</a></li>
<li><a href="https://www.oreilly.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">O&#8217;Reilly</a></li>
<li><a href="https://www.youtube.com/watch?v=xEkuOtCQ6vA&amp;list=PL2Uw4_HvXqvYk1Y5P8kryoyd83L_0Uk5K&amp;index=4&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon US 2021 Steering Council Keynote</a></li>
<li><a href="https://pyfound.blogspot.com/2021/04/the-psf-is-hiring-developer-in.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Developer-In-Residence</a></li>
<li><a href="https://pyfound.blogspot.com/2021/02/welcoming-google-as-visionary-sponsor.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PSF Visionary Sponsorship</a></li>
<li><a href="https://setuptools.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Setuptools</a></li>
<li><a href="https://pip.pypa.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pip</a></li>
<li><a href="https://pythonwheels.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Wheels</a></li>
<li><a href="https://pypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPI</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0518/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 518</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0517/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 517</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0621/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 621</a></li>
<li><a href="https://snarky.ca/what-the-heck-is-pyproject-toml/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyproject.toml</a></li>
<li><a href="https://flit.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flit</a></li>
<li><a href="https://pypi.org/project/enscons/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Enscons</a></li>
<li><a href="https://github.com/pypa/build?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPA Build</a></li>
<li><a href="https://pyoxidizer.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOxidizer</a></li>
<li><a href="https://pex.readthedocs.io/en/v2.1.42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pex</a></li>
<li><a href="https://shiv.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shiv</a></li>
<li><a href="https://cx-freeze.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cx_Freeze</a></li>
<li><a href="https://github.com/pypa/cibuildwheel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cibuildwheel</a></li>
<li><a href="https://github.com/takluyver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thomas Kluyver</a></li>
<li><a href="https://python-poetry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poetry</a></li>
<li><a href="https://wiki.python.org/moin/VaultsOfParnassus?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vaults of Parnassus</a></li>
<li><a href="https://micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-15-damien-george-talks-to-us-about-micropython/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://circuitpython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CircuitPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/circuitpython-hardware-hacking-episode-212/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://snarky.ca/tag/syntactic-sugar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Desugaring Python Blog Series</a></li>
<li><a href="https://jupyter.org/hub?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JupyterHub</a></li>
<li><a href="https://pyodide.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOdide</a></li>
<li><a href="https://github.com/jtpio/jupyterlite?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JupyterLite</a></li>
<li><a href="https://en.wikipedia.org/wiki/C99?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ANSI C99</a></li>
<li><a href="https://www.pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://www.jython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jython</a></li>
<li><a href="https://ipython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython</a></li>
<li><a href="https://en.wikipedia.org/wiki/Ncurses?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ncurses</a></li>
<li><a href="https://kivy.org/#home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy</a></li>
<li><a href="https://briefcase.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Briefcase</a></li>
<li><a href="https://toga.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toga</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0401/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 401</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmodern-python-brett-cannon-episode-320%2F&amp;action_name=Finding+The+Core+Of+Python+For+A+Bright+Future+With+Brett+Cannon+-+Episode+320&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-06-23t02:33:28+00:00-79a8fc39f9ff110</guid>
      <link>https://www.pythonpodcast.com/modern-python-brett-cannon-episode-320</link>
      <pubDate>Wed, 23 Jun 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="101.13" duration="39.91">So, Brett, can can you start by introducing yourself for anyone who isn't familiar with you? So as Tobias said, my name is Brett Cannon. I am the dev manager for the Python extension of Versus Code, and that is how I pay for my open source habits, being a Python core developer for the past 18 years. And I'm also a member of the Python steering council. Work a lot on the Python Packaging Authority, the PyPA. It's not really that authoritative. It was a bad name choice. And, yeah, I am calling from Vancouver, Canada, which I should mention is on the unceded traditional territories of the Musqueam, Squamish, and Tsleil Waututh First Nations. And that's pretty much it for me.</podcast:soundbite>
      <podcast:soundbite startTime="600.62" duration="50.32">I think it's the first PEP I ever wrote for packaging is PEP 5 18 that introduces pyproject.toml file. And I should, mention I'm just a coauthor on Nathaniel Smith, Donald Stuff, and I think I might be forgetting somebody else, coauthored that PEP. So just not all me, whether you love it or hate it. But that PEP was basically driven by the fact that setup dot py as a configuration format from setup tools without being too blunt, it's kind of a bad idea. Right? You don't want executable code as the way to configure your packaging data. Right? It's not introspectable. It's a potential security hole. It's messy, and it leads to people oftentimes doing some things that are not necessarily good.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:03:19</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Finding The Core Of Python For A Bright Future With Brett Cannon</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>320</itunes:episode>
      <podcast:episode>320</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306006115112fca5d23b-01a0-439c-a69b-759cddefea50v1.mp3" length="53105744" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306006115112fca5d23b-01a0-439c-a69b-759cddefea50v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fca5d23b-01a0-439c-a69b-759cddefea50638558815995247465.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fca5d23b-01a0-439c-a69b-759cddefea50638558815991582198.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fca5d23b-01a0-439c-a69b-759cddefea50638558815989552239.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Traversing The Challenges And Promise Of Graph Machine Learning</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The foundation of every ML model is the data that it is trained on. In many cases you will be working with tabular or unstructured information, but there is a growing trend toward networked, or graph data sets. Benedek Rozemberczki has focused his research and career around graph machine learning applications. In this episode he discusses the common sources of networked data, the challenges of working with graph data in machine learning projects, and describes the libraries that he has created to help him in his work. If you are dealing with connected data then this interview will provide a wealth of context and resources to improve your projects.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you&#8217;re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at <a href="https://www.pythonpodcast.com/hightouch?utm_source=rss&utm_medium=rss">pythonpodcast.com/hightouch</a>.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Benedek Rozemberczki about his work on machine learning for graph data, including a variety of libraries to support his efforts</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of when you might want to do machine learning on networked/graph data?</li>
<li>How do networked data sets change the way that you approach machine learning tasks?</li>
<li>Can you describe the current state of the ecosystem for machine learning on graphs?</li>
<li>You have created a number of libraries to address different aspects of machine learning on graphs. Can you list them and share some of the stories behind their creation?
<ul>
<li>How do the different tools relate to each other?</li>
</ul>
</li>
<li>Can you talk through some of the structural and user experience design principles that you lean on when building these libraries?</li>
<li>When you are working with networked data sets, what is your current workflow from idea to completion?</li>
<li>What are the most difficult aspects of working with networked data sets for machine learning applications?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen graph ML used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on graph ML problems?</li>
<li>What are some examples of when you would choose not to use some or all of your own libraries?</li>
<li>What do you have planned for the future of your libraries/what new libraries do you anticipate needing to build?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/benedekrozemberczki?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">benedekrozemberczki</a> on GitHub</li>
<li><a href="https://twitter.com/benrozemberczki?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@benrozemberczki</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/benedekrozemberczki/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt11083552/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wrath of Man</a></li>
</ul>
</li>
<li>Benedek
<ul>
<li><a href="https://www.imdb.com/title/tt4698684/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hunt for the Wilderpeople</a></li>
<li><a href="https://geometricdeeplearning.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/benedekrozemberczki/KarateClub?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Karate Club</a></li>
<li><a href="https://github.com/benedekrozemberczki/pytorch_geometric_temporal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch Geometric Temporal</a></li>
<li><a href="https://www.astrazeneca.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AstraZeneca</a></li>
<li><a href="https://en.wikipedia.org/wiki/Budapest?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Budapest</a></li>
<li><a href="https://www.ed.ac.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Edinburgh</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://www.r-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bipartite_graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bipartite Graph</a></li>
<li><a href="https://paperswithcode.com/task/node-classification?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Node Classification</a></li>
<li><a href="https://paperswithcode.com/task/graph-classification?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graph Classification</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/rusty1s/pytorch_geometric?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch Geometric</a></li>
<li><a href="https://github.com/deepjavalibrary/dgl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DGL (Deep Graph Library)</a></li>
<li><a href="https://machinelearningmastery.com/parametric-and-nonparametric-machine-learning-algorithms/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parametric Machine Learning</a></li>
<li><a href="https://graph-tool.skewed.de/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">graph-tool</a></li>
<li><a href="https://github.com/google/jax?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jax</a></li>
<li><a href="https://networkx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworkX</a></li>
<li><a href="https://github.com/benedekrozemberczki/littleballoffur?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Little Ball of Fur</a></li>
<li><a href="https://tkipf.github.io/graph-convolutional-networks/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GCN == Graph Convolutional Network</a></li>
<li><a href="https://networkit.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworKit</a></li>
<li><a href="https://radimrehurek.com/gensim/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gensim</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-71-gensim-with-radim-rehurek/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/rapidsai/cugraph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nvidia cuGraph</a></li>
<li><a href="https://en.wikipedia.org/wiki/Random_walk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Random Walk</a></li>
<li><a href="https://scikit-learn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://mal-net.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MalNet</a></li>
<li><a href="https://www.cs.mcgill.ca/~wlh/grl_book/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graph Representation Learning</a> by William Hamilton</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgraph-machine-learning-episode-319%2F&amp;action_name=Traversing+The+Challenges+And+Promise+Of+Graph+Machine+Learning+-+Episode+319&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-06-16t01:58:39+00:00-40bb2831026829d</guid>
      <link>https://www.pythonpodcast.com/graph-machine-learning-episode-319</link>
      <pubDate>Wed, 16 Jun 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="831.26" duration="99.59">Yeah. So the first library was karate club. The story behind karate club was that I had this frustration with ML research that a lot of the times you are asked to compare to certain methods, but you can do that because methods are not implemented and the code is not, like, open source. So I had this, like, machine learning paper Fridays when I would take a paper, implement it, and I had a lot of tools that would run from the command line. And then when I was doing my research internship in Google, people told me that you you should, like, have a unified library. It should have you know, it could be installable via PIP, and it would be a lovely thing to do. And then at the same time, what I saw is that certain tools such as, like, this fingerprinting techniques, which can learn vector representations of a whole graph are not really available in a library, and I had a lot of tools that could do that. And then what I wanted to do is have this unified library, which provides a, you know, a wide range of GraphML tools that are unsupervised. And what I wanted to do is to have something that's not dependent on the auto differentiation libraries. So everything is implemented purely in scipyNumPy, which was kind of looking back a choice that had, you know, consequences with respect to technical debt. Also, using network x was not the best idea. At the same time, it gave a very nice coverage of this graph fingerprinting techniques. And to this day, people don't really write libraries which cover these things.</podcast:soundbite>
      <podcast:soundbite startTime="89.79" duration="32.30">Your host as usual is Tobias Macy. And today, I'm interviewing Benedek Rosambertski about his work on machine learning for graph data, including a variety of libraries that support his efforts. So, Benedek, can you start by introducing yourself? I'm Benedek Rosambergsky. I'm a machine learning engineer at AstraZeneca. I did a PhD in data science at the University of Edinburgh and did some research in Google AI. Right now, I live in Oxford, the United Kingdom, and I was born in Budapest, Hungary. And I work mainly on graph related machine learning problems.</podcast:soundbite>
      <podcast:soundbite startTime="2146.09" duration="122.08">Yeah. So 1 of the, like, lessons that I learned, it's not about Graph and all, but it's about a lot of people in machine learning don't understand the algorithms themselves, which is sometimes scary to see. So I get a lot of, like, issues which are like, how can I use this to do? I don't know. This or that type of problem which you can't solve with that tool, which is sometimes funny. Yeah. Another thing is that people are not really good at, like, you know, recombining these ideas, which was also surprising. 1 of the things that I realized is that people need much more, you know, hand holding, notebooks, examples, and that is something that people love. If you have, for example, a model class, then there should be an example with that. There should be a notebook with that. Yeah. 1 of the things that I realized that I came with a background that was in statistics and econometrics. And because of that, I had a strong awareness, like, what are the basic principles such as, like, let us say, you know, residual autocorrelation and things like statistical phenomenon. And it was really surprising to see that people who develop these models and some of them, like, very important, like, you know, cornerstones in this, domain. And yet they didn't understand that that model fails to capture something or has a certain, you know, specification issue and so on. And that was also, like, interesting to see. And 1 of the, like, last things is that, you know, we put a lot of effort into, like, beating state of the art models while it's very easy to create algorithms and tools that are very simple, easy to understand, and very hard to beat, which are scalable, work well. And, you know, these are the ideal things for actual, you know, production machine learning.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:47</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Traversing The Challenges And Promise Of Graph Machine Learning</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>319</itunes:episode>
      <podcast:episode>319</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532027904296612d760a5-0307-4dc2-80b9-d5cb0245df63v1.mp3" length="36105696" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532027904296612d760a5-0307-4dc2-80b9-d5cb0245df63v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_12d760a5-0307-4dc2-80b9-d5cb0245df63638558839242251990.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/12d760a5-0307-4dc2-80b9-d5cb0245df63638558839239853174.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/12d760a5-0307-4dc2-80b9-d5cb0245df63638558839237616577.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Keep Your Analytics Lint Free With SQLFluff</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>The growth of analytics has accelerated the use of SQL as a first class language. It has also grown the amount of collaboration involved in writing and maintaining SQL queries. With collaboration comes the inevitable variation in how queries are written, both structurally and stylistically which can lead to a significant amount of wasted time and energy during code review and employee onboarding. Alan Cruickshank was feeling the pain of this wasted effort first-hand which led him down the path of creating SQLFluff as a linter and formatter to enforce consistency and find bugs in the SQL code that he and his team were working with. In this episode he shares the story of how SQLFluff evolved from a simple hackathon project to an open source linter that is used across a range of companies and fosters a growing community of users and contributors. He explains how it has grown to support multiple dialects of SQL, as well as integrating with projects like DBT to handle templated queries. This is a great conversation about the long detours that are sometimes necessary to reach your original destination and the powerful impact that good tooling can have on team productivity.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Alan Cruickshank about SQLFluff, a dialect-flexible and configurable SQL linter</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what SQLFluff is and the story behind it?</li>
<li>SQL is one of the oldest programming languages that is still in regular use. Why do you think that there are so few linters for it?</li>
<li>Who are the target users of SQLFluff and how do those personas influence the design and user experience of the project?</li>
<li>What are some of the characteristics of SQL and how it is used that contribute to readability/comprehension challenges?
<ul>
<li>What are some of the additional difficulties that are introduced by templating in the queries?</li>
</ul>
</li>
<li>How is SQLFluff implemented?
<ul>
<li>How have the goals and design of the project changed since you first began working on it?</li>
</ul>
</li>
<li>How do you handle support of varying SQL dialects without undue maintenance burdens?</li>
<li>What are some of the stylistic elements and strategies for making SQL code more maintainable?</li>
<li>What are some strategies for making queries self-documenting?
<ul>
<li>What are some signs that you should document it anyway?</li>
</ul>
</li>
<li>What are some of the kinds of bugs that you are able to identify with SQLFluff?</li>
<li>What are some of the resources/references that you relied on for identifying useful linting rules?</li>
<li>What are some methods for measuring code quality in SQL?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen SQLFluff used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on SQLFluff?</li>
<li>When is SQLFluff the wrong choice?</li>
<li>What do you have planned for the future of SQLFluff?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/alanmcruickshank?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">alanmcruickshank</a> on GitHub</li>
<li><a href="http://designingoverload.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/amcruickshank/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.hbo.com/the-nevers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Nevers</a></li>
</ul>
</li>
<li>Alan
<ul>
<li><a href="https://amzn.to/3ptQTsJ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lost Connections</a>: Uncovering the Real Causes of Depression – and the Unexpected Solutions by Johann Hari (affiliate link)</li>
<li><a href="https://amzn.to/3cktIvt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Wim Hof Method</a> by Wim Hof</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.sqlfluff.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLFluff</a></li>
<li><a href="https://tails.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tails.com</a></li>
<li><a href="https://hypothesis.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypothesis</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-52-hypothesis-with-david-maciver/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://projecteuler.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Euler</a></li>
<li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a>
<ul>
<li><a href="https://www.pythonpodcast.com/flake8-static-analysis-episode-309/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black</a></li>
<li><a href="getdbt.com/">dbt</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.snowflake.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowflake</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/snowflakedb-cloud-data-warehouse-episode-110/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://cloud.google.com/bigquery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BigQuery</a></li>
<li><a href="https://en.wikipedia.org/wiki/Window_function_(SQL)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQL Window Functions</a></li>
<li><a href="https://blog.ansi.org/2018/10/sql-standard-iso-iec-9075-2016-ansi-x3-135/#gref?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ANSI SQL</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a></li>
<li><a href="https://www.microsoft.com/en-us/sql-server/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MS SQL Server</a></li>
<li><a href="https://www.oracle.com/database/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oracle DB</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://www.sqltutorial.org/sql-subquery/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQL Subquery</a></li>
<li><a href="https://www.essentialsql.com/introduction-common-table-expressions-ctes/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Common Table Expression (CTE)</a></li>
<li><a href="https://www.freecodecamp.org/news/the-rise-of-the-data-engineer-91be18f1e603/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Rise Of The Data Engineer</a> blog post</li>
<li><a href="https://maximebeauchemin.medium.com/the-downfall-of-the-data-engineer-5bfb701e5d6b?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Downfall Of The Data Engineer</a> blog post</li>
<li><a href="https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Object-Relational Mapper (ORM)</a></li>
<li><a href="https://www.tableau.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tableau</a></li>
<li><a href="https://github.com/fishtown-analytics/corp/blob/master/dbt_style_guide.md?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fishtown Analytics SQL Styleguide</a></li>
<li><a href="https://docs.telemetry.mozilla.org/concepts/sql_style.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozilla SQL Styleguide</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0020/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Zen of Python</a></li>
<li><a href="https://docs.getdbt.com/docs/building-a-dbt-project/package-management?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dbt Packages</a></li>
<li><a href="https://github.com/google/yapf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">yapf</a></li>
<li><a href="https://en.wikipedia.org/wiki/Set_theory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Set Theory</a></li>
<li><a href="https://github.com/pgjones/flake8-sql?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8 SQL Plugin</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsqlfluff-sql-linter-episode-318%2F&amp;action_name=Keep+Your+Analytics+Lint+Free+With+SQLFluff+-+Episode+318&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-06-09t01:44:14+00:00-154c855b3c6d372</guid>
      <link>https://www.pythonpodcast.com/sqlfluff-sql-linter-episode-318</link>
      <pubDate>Wed, 9 Jun 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="3426.18" duration="35.62">What are the reasons that I initially wanted to start a open source project in the first place? Not just it being a SQL linter, but just a a project in general, was actually to improve my Python because in my day to day role and increasingly so these days, I don't write a lot of Python, and I think it's an important skill for people working in analytics and data. I I wanted a way of keeping the knife sharp, so to speak, which feels weird now to be the maintainer of a relatively well used Python open source project when I don't actually myself a very good Python developer.</podcast:soundbite>
      <podcast:soundbite startTime="243.38" duration="31.69">Needing to be able to be self sufficient and build the tools and infrastructure that you need for your analytics, I'm sure, was a natural progression towards creating the SQL fluff package. So I'm wondering if you could just describe a bit about what it is that you've built there and some of the story behind how it came about. I'll start with the story, and that explains what it is in the background. So as I was getting into Python, 1 of the things that I think some of the people who guided me along that way have pointed me towards Linters, like Flak8, who I understand have been on the podcast recently, and and latterly, tools like Black.</podcast:soundbite>
      <podcast:soundbite startTime="64.00" duration="16.26">So, Alan, can you start by introducing yourself? Hi. I'm Alan. I will I'm head of data at tails.com, in the UK. So we are a tailor made online subscription pet food business. People come to us, dealers, love your deals about the dog and themselves, and we make buttons of food specifically for that dog and ship it to their door.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:13:14</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Keep Your Analytics Lint Free With SQLFluff</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>318</itunes:episode>
      <podcast:episode>318</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298581991340bc917a1d-4606-4147-8fee-1bf1e0d7e4cfv1.mp3" length="50780120" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298581991340bc917a1d-4606-4147-8fee-1bf1e0d7e4cfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_bc917a1d-4606-4147-8fee-1bf1e0d7e4cf638558793022003293.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bc917a1d-4606-4147-8fee-1bf1e0d7e4cf638558793017200015.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bc917a1d-4606-4147-8fee-1bf1e0d7e4cf638558793014338706.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Exploring The Patterns And Practices For Deep Learning With Andrew Ferlitsch</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Deep learning is gaining an immense amount of popularity due to the incredible results that it is able to offer with comparatively little effort. Because of this there are a number of engineers who are trying their hand at building machine learning models with the wealth of frameworks that are available. Andrew Ferlitsch wrote a book to capture the useful patterns and best practices for building models with deep learning to make it more approachable for newcomers ot the field. In this episode he shares his deep expertise and extensive experience in building and teaching machine learning across many companies and industries. This is an entertaining and educational conversation about how to build maintainable models across a variety of applications.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Scaling your data infrastructure is hard. Maintaining data quality standards as you scale is harder. Databand solves this. Their Unified Data Observability platform gives data engineers visibility over their stack without changing existing pipeline code. Get end-to-end visibility on your pipelines, and identify the root cause of issues before bad data is delivered. Seamlessly integrate with over 20 tools like Apache Airflow, Spark, Snowflake, and more. Use customizable dashboards to see where pipelines are broken and how that impacts delivery downstream. Get alerts on leading indicators of pipeline failure. Open up your pipeline and see exactly which code strings are broken &#8211; so you can fix the issue immediately. Create more reliable data products. Go to <a href="https://www.pythonpodcast.com/databand?utm_source=rss&utm_medium=rss">pythonpodcast.com/databand</a> today to start your free trial!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Andrew Ferlitsch about the patterns and practices for deep learning applications</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the major elements of a model architecture?</li>
<li>What is the relationship between the specific learning task being addressed and the architecture of the learning network?</li>
<li>In your experience, what is the level of awareness of a typical ML engineer or data scientist with respect to the most current design patterns in deep learning?</li>
<li>Your currently working on a book about deep learning patterns and practices. What was your motivation for starting that project?
<ul>
<li>What are your goals for the book?</li>
</ul>
</li>
<li>How have advancements in the operability of machine learning influenced the ways that the models are designed and trained?
<ul>
<li>How do recent approaches such as transfer learning impact the needs of the supporting tools and infrastructure?</li>
</ul>
</li>
<li>Can you describe the different design patterns that you cover in your book and the selection process for when and how to apply them?</li>
<li>What are the aspects of bringing deep learning to production that continue to be a challenge?
<ul>
<li>What are some of the emerging practices that you are optimistic about?</li>
</ul>
</li>
<li>What are some of the industry trends or areas of current research that you are most excited about?</li>
<li>What are the most interesting, innovative, or unexpected patterns that you have encountered?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on the book?</li>
<li>What are some of the other resources that you recommend for listeners to learn more about how to build production ready models?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/andrew-ferlitsch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/andrewferlitsch?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@AndrewFerlitsch</a> on Twitter</li>
<li><a href="https://github.com/andrewferlitsch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">andrewferlitsch</a> on GitHub</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/3vpuKhy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Designing Data Intensive Applications</a> (affiliate link)</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://cloud.google.com/products/ai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Cloud AI</a></li>
<li><a href="https://global.sharp/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sharp Corporation</a></li>
<li><a href="https://www.manning.com/books/deep-learning-patterns-and-practices?a_aid=bnpodcasts&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning Patterns and Practices</a> (affiliate link) use the code <em>podinit21</em> at checkout for 35% off all books at Manning!</li>
<li><a href="https://www.cid-inc.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CID Bioscience</a></li>
<li><a href="https://towardsdatascience.com/understanding-latent-space-in-machine-learning-de5a7c687d8d?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Latent Space</a></li>
<li><a href="https://en.wikipedia.org/wiki/AI_winter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AI Winter</a></li>
<li><a href="https://en.wikipedia.org/wiki/Numerical_stability?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numerical Stability</a></li>
<li><a href="https://en.wikipedia.org/wiki/Surrogate_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Surrogate Model</a></li>
<li><a href="https://en.wikipedia.org/wiki/Generative_adversarial_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GAN == Generative Adversarial Network</a></li>
<li><a href="https://en.wikipedia.org/wiki/Gradient_descent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gradient Descent</a></li>
<li><a href="https://en.wikipedia.org/wiki/Design_Patterns?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Gang of 4</a> &#8211; <a href="https://amzn.to/3yJeBWj?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Design Patterns: Elements of Reusable Object-Oriented Software</a> (affiliate link)</li>
<li><a href="https://www.csail.mit.edu/research/lottery-ticket-hypothesis#publications?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Lottery Hypothesis</a></li>
<li><a href="https://www.manning.com/?utm_source=bnpodcasts&amp;utm_medium=affiliate&amp;utm_campaign=affiliate&amp;a_aid=bnpodcasts&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Manning Publications</a> (affiliate link)</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdeep-learning-patterns-and-practices-episode-317%2F&amp;action_name=Exploring+The+Patterns+And+Practices+For+Deep+Learning+With+Andrew+Ferlitsch+-+Episode+317&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-06-02t00:48:47+00:00-778742a06069f3e</guid>
      <link>https://www.pythonpodcast.com/deep-learning-patterns-and-practices-episode-317</link>
      <pubDate>Wed, 2 Jun 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="389.12" duration="103.61">Well, 1, we could probably spend a whole hour just talking on that, so I'll just kinda briefly summarize. You know, over the last few years in the research, we came up with this phrase. You see, I used a lot called essential features. Okay? So if you look at a model and you start at the top of the model and you sort of work deeper and deeper in the model, you get near the end before you do the task learning. Okay? You have what's called a latent space. It's a representation of the input in a low dimensionality. And what we really want in there are what's called the essential features. Okay? And if we can keep that constraint, we'll prevent things like memorization, memorizing examples, and allow the model to better generalize to examples it's never seen, particularly if those examples are outside the distribution that the model was trained on. So a lot of effort in the last few years is all the different ways to represent that latent space and how to train the model so that latent space just has the essential features. But once you got that, the task learning is simple. And it's actually plug and play. I can take that same bottom part of the model that I could put on a regressor, you know, to say, predict the selling price of a house. I could take that off and put on a class ifier and predict who the target demographic is that would be most interested in buying the house. So I don't even have to have 2 separate models. It really just comes down to really the latent space and how it's trained, what I can accomplish on the other end.</podcast:soundbite>
      <podcast:soundbite startTime="185.94" duration="44.80">And do you remember how you first got introduced to Python? It was probably more accidental. You know, I knew when I first got first used, it was 2016. And I know before that, I wouldn't have thought it was just some kind of toy programming language I didn't take serious. You know? I was doing this consulting job with an agricultural technology company, CID Bioscience. They were developing an autonomous farm vehicle that would use computer vision to count crops and, you know, detect infestations in the crops. Okay? And so all the experimental code that they were putting together with some Python. Mhmm. Of course, I had to jump in and participate, so I had learn Python.</podcast:soundbite>
      <podcast:soundbite startTime="1381.14" duration="160.26">And then as far as the actual tooling and practices and infrastructure around deep learning and machine learning and bringing it into production contexts. I'm curious what you see as some of the most useful advancements and some of the areas that are still under supported or underrepresented as far as the overall life cycle of going from idea to delivery. I think a big contribution is really the growth of how to augment the training using unlabeled data or noisy data that's crowdsourced. There are a variety of what we call pretext tasks. You're not learning a task like a classification or predicting the value of the house. You're learning a transformation. So I have input x, and I define some transformation function, f of x. Okay? And, you know, that's a static function, so I can actually put the data into it, get what the transformation was, and use the transformation as the label. Okay? And so I'm trying to force the model to learn essential features in that latent space before I actually do the training on labelled data, which is expensive. Okay? And so, you know, there is the opportunity. I've seen a lot of growth that we can start creating models, to solve, more and more problems that it would be, cost challenge for data. Another area that I see again improvements on data is, again, data costs money. So in, you know, let's say you go into Fintech. Okay? Maybe you're trying to do a model for fraud detection. Okay? Well, you might actually have not 10, 20 fields in your structured data. You might have 100 of fields. Okay? You don't know which ones are the good ones. Right? But every 1 of them has a cost, data acquisition cost. Okay? And so before, you would try to figure out which ones actually contribute or how well to the outcome doing the PCA analysis. But, you know, on that scale, that's highly expensive. So 1 of the, you know, with the growth of, explainability, being able to instrument your model and directly attribute a prediction back to the feature list is really shown a great promise to substantially reduce the cost of identifying how my data contributes to the outcome. And as you know, a business manager make cost effective decisions on data acquisition costs.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:19</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Exploring The Patterns And Practices For Deep Learning With Andrew Ferlitsch</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>317</itunes:episode>
      <podcast:episode>317</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303252636912838563df-e6ce-48f7-8eb2-4a849f2eac55v1.mp3" length="33747290" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303252636912838563df-e6ce-48f7-8eb2-4a849f2eac55v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_838563df-e6ce-48f7-8eb2-4a849f2eac55638558803530001083.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/838563df-e6ce-48f7-8eb2-4a849f2eac55638558803527745094.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/838563df-e6ce-48f7-8eb2-4a849f2eac55638558803525886124.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Automatically Generate Your Unit Tests From Scratch With Pynguin</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Unit tests are an important tool to ensure the proper functioning of your application, but writing them can be a chore. Stephan Lukasczyk wants to reduce the monotony of the process for Python developers. As part of his PhD research he created the Pynguin project to automate the creation of unit tests. In this episode he explains the complexity involved in generating useful tests for a dynamic language, how he has designed Pynguin to address the challenges, and how you can start using it today for your own work.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you&#8217;re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at <a href="https://www.pythonpodcast.com/hightouch?utm_source=rss&utm_medium=rss">pythonpodcast.com/hightouch</a>.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Stephan Lukasczyk about Pynguin, the PYthoN General UnIt test geNerator</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what Pynguin is and the story behind it?</li>
<li>What are the problems that Pynguin is designed to solve?</li>
<li>What other projects are you drawing inspiration from?</li>
<li>What are some of the use cases for automatic test generation?</li>
<li>How is Pynguin implemented?
<ul>
<li>What are the challenges that the dynamic nature of Python introduces?</li>
<li>What are some of the packages and libraries that have been most helpful while building Pynguin?</li>
</ul>
</li>
<li>Can you talk through the workflow of using Pynguin to generate tests for a project?
<ul>
<li>What are some of the limitations on what kinds of projects Pynguin can be used for?</li>
<li>What are some design or implementation strategies in the code that you are generating tests for that will help make Pynguin&#8217;s job easier?</li>
</ul>
</li>
<li>Once a test suite has been created, what are the next steps?</li>
<li>What are some of the initial assumptions or goals of the project that have been revised or challenged once you began implementing it?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Pynguin used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Pynguin?</li>
<li>When is Pynguin the wrong choice?</li>
<li>What do you have planned for the future of Pynguin?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li>Related to Pynguin: best via <a href="https://github.com/se2p/pynguin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li>Find me on <a href="https://twitter.com/erdmaennchen42?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://concourse-ci.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Concourse CI</a></li>
</ul>
</li>
<li>Stephan
<ul>
<li><a href="https://tourism.passau.de/leisure-sports/cycling/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cycling</a></li>
<li>Take care of your health</li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/se2p/pynguin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pynguin</a></li>
<li><a href="https://www.uni-passau.de?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Passau</a></li>
<li><a href="https://www.passau.de?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Passau, Germany</a></li>
<li><a href="https://www.evosuite.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Evosuite</a></li>
<li><a href="https://hypothesis.works/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypothesis</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-52-hypothesis-with-david-maciver/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://astor.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Astor</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0572/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Walrus Operator</a></li>
<li><a href="http://www.mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pytest.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pytest</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-16-holger-krekel-on-py-test/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.python.org/3/library/unittest.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UnitTest</a></li>
<li><a href="https://bytecode.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bytecode library</a></li>
<li><a href="https://google.github.io/pytype/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pytype</a></li>
<li><a href="https://github.com/instagram/MonkeyType?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monkeytype</a>
<ul>
<li><a href="https://www.pythonpodcast.com/monkeytype-with-carl-meyer-and-matt-page-episode-146/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/google/atheris?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Atheris</a> from Google &#8211; coverage-guided fuzzing</li>
<li>Blog series about “Python behind the scenes”: <a href="https://tenthousandmeters.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ten thousand meters by Victor Skvortsov</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpynguin-automatic-python-unit-tests-episode-316%2F&amp;action_name=Automatically+Generate+Your+Unit+Tests+From+Scratch+With+Pynguin+-+Episode+316&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-05-25t00:05:55+00:00-2d6280adb73b77d</guid>
      <link>https://www.pythonpodcast.com/pynguin-automatic-python-unit-tests-episode-316</link>
      <pubDate>Tue, 25 May 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="319.88" duration="27.41">First of all, we want to have it as general as possible. So in theory, it should be applicable to all kinds of projects that are written in Python. In practice, we cannot hold that premise. So 1 of the problems is that as soon as you don't know about type information, which is an optional feature, a feature I highly encourage people to use. But as soon as you leave that out, it becomes more and more difficult.</podcast:soundbite>
      <podcast:soundbite startTime="1503.02" duration="47.11">So I guess 1 could do both. So the first thing is maybe the more the easier or maybe also more reasonable way of starting to have some basic tests. And I think of, like, having tests for basically data classes or classes that do not rely, like, on web APIs or databases or something. For this, Penguin might be a good start to provide you at least a couple of tests that you don't need to do all the way manually. When you generate tests for more mature projects, more mature code basis where you also have tests, of course, you could do that in the end, especially assertions, a problem that you need to inspect manually, at least in, like, code review or something.</podcast:soundbite>
      <podcast:soundbite startTime="169.56" duration="18.07">Now in terms of the Penguin project, you mentioned that that's some of the focus of your current research with your PhD program. I'm wondering if you can just give a bit of a description about what it is that you're building and some of the story behind how you came on this particular problem space to work through and some of the interesting areas of research that it's uncovering as you go through your program?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:41</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Automatically Generate Your Unit Tests From Scratch With Pynguin</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>316</itunes:episode>
      <podcast:episode>316</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302566091714f073506f-8de4-4e5c-9dd5-3d22eb8209aev1.mp3" length="43411111" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302566091714f073506f-8de4-4e5c-9dd5-3d22eb8209aev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f073506f-8de4-4e5c-9dd5-3d22eb8209ae638558800564801166.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f073506f-8de4-4e5c-9dd5-3d22eb8209ae638558800561849524.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f073506f-8de4-4e5c-9dd5-3d22eb8209ae638558800560100601.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Leveling Up Natural Language Processing with Transfer Learning</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Natural language processing is a powerful tool for extracting insights from large volumes of text. With the growth of the internet and social platforms, and the increasing number of people and communities conducting their professional and personal activities online, the opportunities for NLP to create amazing insights and experiences are endless. In order to work with such a large and growing corpus it has become necessary to move beyond purely statistical methods and embrace the capabilities of deep learning, and transfer learning in particular. In this episode Paul Azunre shares his journey into the application and implementation of transfer learning for natural language processing. This is a fascinating look at the possibilities of emerging machine learning techniques for transforming the ways that we interact with technology.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you&#8217;re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at <a href="https://www.pythonpodcast.com/hightouch?utm_source=rss&utm_medium=rss">pythonpodcast.com/hightouch</a>.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Paul Azunre about using transfer learning for natural language processing</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what transfer learning is?</li>
<li>How is transfer learning being applied to natural language processing?</li>
<li>What motivated you to write a book about the application of transfer learning to NLP?</li>
<li>What are some of the applications of NLP that are impractical on intractable without transfer learning?</li>
<li>At a high level, what are the steps for building a new language model via transfer learning?</li>
<li>There have been a number of base models created recently, such as BERT and ERNIE, ELMo, GPT-3, etc. What are the factors that need to be considered when selecting which model to build from?
<ul>
<li>If there are multiple models that contain the seeds for different aspects of the end goal that you are trying to obtain, what is the feasibility of extracting the relevant capabilities from each of them and combining them in the final model?</li>
</ul>
</li>
<li>What are some of the tools or frameworks that you have found most useful while working with NLP and transfer learning?</li>
<li>How would you characterize the current state of the ecosystem for transfer learning and deep learning techniques applied to NLP problems?</li>
<li>What are the most interesting, innovative, or unexpected applications of transfer learning with NLP that you have seen?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on the book?</li>
<li>When is transfer learning the wrong choice for an NLP project?</li>
<li>What are the trends or techniques that you are most excited for?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/paulazunre/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://www.azunre.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/pazunre?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@pazunre</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://infected-mushroom.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Infected Mushroom</a></li>
</ul>
</li>
<li>Paul
<ul>
<li><a href="https://www.imdb.com/title/tt6723592/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tenet</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://www.manning.com/books/transfer-learning-for-natural-language-processing?utm_source=bnpodcasts&amp;utm_medium=affiliate&amp;utm_campaign=book_azunre_transfer_3_10_20&amp;a_aid=bnpodcasts&amp;a_bid=d53fed17&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transfer Learning for Natural Language Processing</a> by Paul Azunre (affiliate link)
Use the code <em>podinit21</em> at checkout for 35% off all books at Manning!</li>
<li><a href="https://arxiv.org/abs/2006.07264?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Low Resource Languages</a></li>
<li><a href="https://fortran-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fortran</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MatLab</a></li>
<li><a href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-003-signals-and-systems-fall-2011/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT 6.003</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transfer_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transfer Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computer_vision?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computer Vision</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning#Deep_neural_networks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Neural Network</a></li>
<li><a href="https://en.wikipedia.org/wiki/Convolutional_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Convolutional Neural Network (CNN)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Recurrent_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Recurrent Neural Network (RNN)</a></li>
<li><a href="https://gluebenchmark.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GLUE == General Lanuage Understanding Evaluation</a></li>
<li><a href="https://super.gluebenchmark.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLP SuperGLUE</a></li>
<li><a href="https://medium.com/modern-nlp/on-variety-of-encoding-text-8b7623969d1e?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLP Encoder</a></li>
<li><a href="https://en.wikipedia.org/wiki/Named-entity_recognition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Named Entity Recognition</a></li>
<li><a href="https://www.image-net.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ImageNet</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mathematical_optimization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mathematical Optimization</a></li>
<li><a href="https://en.wikipedia.org/wiki/Gradient_descent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gradient Descent</a></li>
<li><a href="https://www.yonder-ai.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yonder AI</a></li>
<li><a href="https://allennlp.org/elmo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ELMo</a> language model from <a href="https://allennlp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Allen NLP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Ghana?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ghana</a></li>
<li><a href="https://arxiv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ArXiv</a></li>
<li><a href="https://arxiv.org/abs/1810.04805?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BERT</a> language model</li>
<li><a href="https://en.wikipedia.org/wiki/Tf%E2%80%93idf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TF-IDF == Term Frequency &#8211; Inverse Document Frequency</a></li>
<li><a href="https://en.wikipedia.org/wiki/Word2vec?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Word2Vec</a></li>
<li><a href="https://en.wikipedia.org/wiki/GPT-3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPT-3</a></li>
<li><a href="https://ghananlp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ghana NLP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Speech_recognition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automatic Speech Recognition</a></li>
<li><a href="https://arxiv.org/abs/1801.06146?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ULM Fit</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://huggingface.co/transformers/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Huggingface Transformers</a></li>
<li><a href="https://en.wikipedia.org/wiki/Multi-task_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Multi-Task Learning</a></li>
<li><a href="https://www.fast.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fast.ai</a></li>
<li><a href="https://openai.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenAI</a></li>
<li><a href="https://aws.amazon.com/sagemaker/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS SageMaker</a></li>
<li><a href="https://www.kaggle.com/getting-started/44939?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kaggle Kernels</a></li>
<li><a href="https://colab.research.google.com/notebooks/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Colab Notebooks</a></li>
<li><a href="https://studio.azureml.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Azure ML Studio</a></li>
<li><a href="https://en.wikipedia.org/wiki/BLEU?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BLEU Score</a></li>
<li>Khaya application
<ul>
<li><a href="https://play.google.com/store/apps/details?id=com.nlpghana.khaya&amp;hl=en_US&amp;gl=US&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Android</a></li>
<li><a href="https://apps.apple.com/no/app/khaya/id1549294522?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iOS</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpaul-azunre-transfer-learning-for-natural-language-processing-episode-315%2F&amp;action_name=Leveling+Up+Natural+Language+Processing+with+Transfer+Learning+-+Episode+315&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-05-18t00:44:50+00:00-78bf0a7fbcef57c</guid>
      <link>https://www.pythonpodcast.com/paul-azunre-transfer-learning-for-natural-language-processing-episode-315</link>
      <pubDate>Tue, 18 May 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="428.32" duration="37.08">My journey started, as you correctly pointed out, in mathematical optimization, which is a field that is related to machine learning, but has a very different focus. So I would say, at least, there is a lot more theory that's been done. That's very mathematically robust and well understood. So there are spaces where this problem is set in a very theoretical way, and there's a lot of activity around that. There's also an applied side to it, which I would say not nearly as widespread and applied in industry as machine learning is.</podcast:soundbite>
      <podcast:soundbite startTime="166.03" duration="30.17">So transfer learning is the idea that you do not have to start learning things from scratch anytime you need to solve NLP or computer vision problem or any machine learning problem for that matter. If you are starting from scratch, you are likely to need a lot of data and a lot of resources to achieve a certain level of performance. However, with transfer learning, you try to leverage existing knowledge that you might have in order to simplify a task, which is very similar to how human beings learn.</podcast:soundbite>
      <podcast:soundbite startTime="639.58" duration="55.30">So I started thinking about this, and I couldn't find, you know, once I started doing this, I couldn't find references that's in my opinion had the right balance between application and theory. Right? So the field is very theoretical. It's still empirical, but it gets very detailed and specialized in the papers on archive. Right? And so you don't really need to understand 100% the birth paper to apply birth. Right? You may need to understand some key concepts and then that allows you to start making impacts. So this is what this was the idea behind writing this book, building intuition for the problem, understanding the key ideas behind the problem without getting into, you know, proving things and the mathematics and notation and all of that. Code examples that work rather than, you know, very well understood theoretical examples.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:46:34</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Leveling Up Natural Language Processing with Transfer Learning</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>315</itunes:episode>
      <podcast:episode>315</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322013054463014ae2db-4542-412e-921c-f5a7eeded025v1.mp3" length="35192229" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322013054463014ae2db-4542-412e-921c-f5a7eeded025v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_014ae2db-4542-412e-921c-f5a7eeded025638558846554335005.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/014ae2db-4542-412e-921c-f5a7eeded025638558846550816954.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/014ae2db-4542-412e-921c-f5a7eeded025638558846548880622.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Federated Learning For All With Flower</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Machine learning is a tool that has typically been performed on large volumes of data in one place. As more computing happens at the edge on mobile and low power devices, the learning is being federated which brings a new set of challenges. Daniel Beutel co-created the Flower framework to make federated learning more manageable. In this episode he shares his motivations for starting the project, how you can use it for your own work, and the unique challenges and benefits that this emerging model offers. This is a great exploration of the federated learning space and a framework that makes it more approachable.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you&#8217;re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at <a href="https://www.pythonpodcast.com/hightouch?utm_source=rss&utm_medium=rss">pythonpodcast.com/hightouch</a>.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Daniel Beutel about Flower, a framework for building federated learning systems</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what federated learning is?</li>
<li>What is Flower and what&#8217;s the story behind it?</li>
<li>What are the trade-offs between federated and centralized models of machine learning?</li>
<li>What are some of the types of use cases or workloads that federated learning is used for?</li>
<li>Federated learning appears to be a growing area of interest. How would you characterize the current state of the ecosystem?</li>
<li>What are the most complex or challenging aspects of federating model training?
<ul>
<li>How does Flower simplify the process of distributing the model training process?</li>
</ul>
</li>
<li>Can you describe how Flower is implemented?
<ul>
<li>How have the goals and/or design of Flower changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>One of the design principles that you list is &quot;understandability&quot;. What are some of the ways that that manifests in the project?</li>
<li>It also mentions extensibility. What are the interfaces that Flower exposes for integration or extending its capabilities?</li>
<li>For someone who has an existing project that runs in a centralized manner, what are some indicators that a federated approach would be beneficial?
<ul>
<li>What is involved in translating the existing project to run in a federated fashion using Flower?</li>
</ul>
</li>
<li>What is involved in building a production ready system with Flower?</li>
<li>How does your work at Adap inform the design and product direction for Flower?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Flower used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned from your work on and with Flower?</li>
<li>When is Flower the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://www.linkedin.com/in/daniel-janes/?originalSubdomain=de&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/danieljanes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">danieljanes</a> on GitHub</li>
<li><a href="https://twitter.com/daniel_janes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@daniel_janes</a> on Twitter</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://bicyclecards.com/game_types/rummy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rummy Card Game</a></li>
</ul>
</li>
<li>Daniel
<ul>
<li><a href="https://en.wikipedia.org/wiki/Standup_paddleboarding?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stand Up Paddling</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://flower.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flower</a></li>
<li><a href="https://adap.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adap</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hyperparameter_optimization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hyperparameter Optimization</a></li>
<li><a href="https://en.wikipedia.org/wiki/Federated_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Federated Learning</a></li>
<li><a href="https://www.ox.ac.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Oxford</a></li>
<li><a href="https://www.cam.ac.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Cambridge</a></li>
<li><a href="https://developer.nvidia.com/buy-jetson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nvidia Jetson</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.tensorflow.org/lite?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow Lite</a></li>
<li><a href="https://www.tensorflow.org/federated?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow Federated</a></li>
<li><a href="https://github.com/OpenMined/PySyft?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PySyft</a></li>
<li><a href="https://flower.dev/conf/flower-summit-2021?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flower Summit</a></li>
<li><a href="https://github.com/google/jax?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jax</a></li>
<li><a href="https://en.wikipedia.org/wiki/Convolutional_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CNN == Convolutional Neural Network</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="https://grpc.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gRPC</a></li>
<li><a href="https://mqtt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MQTT</a></li>
<li><a href="https://numpy.org/doc/stable/reference/arrays.ndarray.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy NDArray</a></li>
<li><a href="https://aws.amazon.com/device-farm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS Device Farm</a></li>
<li><a href="https://ray.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray Framework</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fflower-federated-learning-episode-314%2F&amp;action_name=Federated+Learning+For+All+With+Flower+-+Episode+314&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-05-11t02:49:30+00:00-0ce13a9a488e7ce</guid>
      <link>https://www.pythonpodcast.com/flower-federated-learning-episode-314</link>
      <pubDate>Tue, 11 May 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="578.74" duration="28.82">And then as far as the federated versus centralized model, you were mentioning that 1 of the main motivating factors is whether it's feasible to locate all of the data in 1 place versus keeping it separated because of legal or technical reasons. I'm wondering if you can just dig a bit more into some of the trade offs in terms of the capabilities and complexity and use cases for federated versus centralized machine learning?</podcast:soundbite>
      <podcast:soundbite startTime="223.98" duration="22.54">So in federated learning, the underlying assumption is that data is distributed across multiple partitions. So this could be just a few partitions, just a handful of partitions, but it could equally well be a very, very large number of partitions. For example, data stored on mobile phones or the entire globe, basically. So so there could be billions of partitions.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:01:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Federated Learning For All With Flower</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>314</itunes:episode>
      <podcast:episode>314</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530344476828979745b64-54a7-4919-bcc9-4e19905f943bv1.mp3" length="45342211" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530344476828979745b64-54a7-4919-bcc9-4e19905f943bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_79745b64-54a7-4919-bcc9-4e19905f943b638558804637950790.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79745b64-54a7-4919-bcc9-4e19905f943b638558804633460494.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79745b64-54a7-4919-bcc9-4e19905f943b638558804631467700.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Data Exploration and Visualization Made Effortless with Lux</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h2>Summary</h2>
<p>Data exploration is an important step in any analysis or machine learning project. Visualizing the data that you are working with makes that exploration faster and more effective, but having to remember and write all of the code to build a scatter plot or histogram is tedious and time consuming. In order to eliminate that friction Doris Lee helped create the Lux project, which wraps your Pandas data frame and automatically generates a set of visualizations without you having to lift a finger. In this episode she explains how Lux works under the hood, what inspired her to create it in the first place, and how it can help you create a better end result. The Lux project is a valuable addition to the toolbox of anyone who is doing data wrangling with Pandas.</p>
<h2>Announcements</h2>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you&#8217;re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at <a href="https://www.pythonpodcast.com/hightouch?utm_source=rss&utm_medium=rss">pythonpodcast.com/hightouch</a>.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Doris Lee about Lux, a Python library that facilitates fast and easy data exploration by automating the visualization and data analysis process</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Lux is and how the project got started?</li>
<li>What is the role of visualization in a data science workflow?
<ul>
<li>What are the challenges that data scientists face in the exploratory phase of their analysis?</li>
</ul>
</li>
<li>There are a wide variety of data visualization tools in the Python ecosystem with differing areas of focus. What is the role of Lux in that ecosystem?
<ul>
<li>How does Lux compare to tools such as <a href="https://www.scikit-yb.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-yb</a>?</li>
</ul>
</li>
<li>What is the workflow for someone using Lux in their analysis and what problems does it solve for them?</li>
<li>Can you talk through how Lux is architected?
<ul>
<li>How have the goals and design of Lux changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>Data visualization is a broad field. How do you determine which kinds of charts or plots are best suited to a particular data set or exploration?</li>
<li>What are some of the capabilities of Lux that are often overlooked or underutilized?</li>
<li>How has Lux impacted your own work in data analysis/data science?</li>
<li>What are some of the other gaps that you see in the available tooling for data science?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Lux used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on and with Lux?</li>
<li>When is Lux the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h2>Keep In Touch</h2>
<ul>
<li><a href="https://github.com/dorisjlee?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dorisjlee</a> on GitHub</li>
<li><a href="http://dorisjunglinlee.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/dorisjlee/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Pirates_of_the_Caribbean_(film_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pirates of the Carribean</a> movies</li>
</ul>
</li>
<li>Doris
<ul>
<li><a href="https://www.utrgv.edu/cstem/_files/documents/snake-wrangling.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snake Wrangling for Kids</a></li>
</ul>
</li>
</ul>
<h2>Closing Announcements</h2>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/lux-org/lux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lux</a></li>
<li><a href="https://www.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UC Berkeley</a></li>
<li><a href="https://rise.cs.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RISE Lab</a></li>
<li><a href="https://www.ischool.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">School of Information</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.bokeh.org/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bokeh</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-22-bryan-van-de-ven-on-bokeh/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://seaborn.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seaborn</a></li>
<li><a href="https://altair-viz.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Altair</a>
<ul>
<li><a href="https://www.pythonpodcast.com/jake-vanderplas-episode-140/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://www.springer.com/gp/book/9780387245447?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grammar of Graphics</a></li>
<li><a href="https://plotly.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plotly</a></li>
<li><a href="https://www.scikit-yb.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scikit YellowBrick</a>
<ul>
<li><a href="https://www.pythonpodcast.com/yellowbrick-with-bejnamin-bengfort-and-rebecca-bilbro-episode-166/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://d3js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D3.js</a></li>
<li><a href="https://vega.github.io/vega/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vega</a></li>
<li><a href="https://numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numpy</a></li>
<li><a href="http://xarray.pydata.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">xarray</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://jupyter.org/widgets?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Widget</a></li>
<li><a href="https://en.wikipedia.org/wiki/Choropleth_map?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chloropleth Map</a></li>
<li><a href="https://en.wikipedia.org/wiki/Group_of_Ten_(economics)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">G10 Countries</a></li>
<li><a href="https://ray.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://modin.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modin</a></li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
<li><a href="https://www.pythonpodcast.com/coiled-dask-python-data-science-episode-275/?utm_source=rss&utm_medium=rss">Podcast Interview About Coiled</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Flux-data-exploration-episode-313%2F&amp;action_name=Data+Exploration+and+Visualization+Made+Effortless+with+Lux+-+Episode+313&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-05-04t00:50:28+00:00-542716be3ff4474</guid>
      <link>https://www.pythonpodcast.com/lux-data-exploration-episode-313</link>
      <pubDate>Tue, 4 May 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="101.96" duration="27.64">So Doris, can you start by introducing yourself? Hi, everyone. My name is Doris Lee, and I'm a PhD student at UC Berkeley at the School of Information and at RISE Lab. Most of my work is around building tools to help enable data scientists to more easily explore their data or visualize their data. And recently, I've been working on a Python library called Lux, which is a tool that helps you visualize your data frames within your Jupyter Notebooks.</podcast:soundbite>
      <podcast:soundbite startTime="1350.03" duration="17.32">And so a lot of the work that we've been doing in Luxe is trying to make sure that the overhead cost of us generating those visualization is not significant so that it doesn't slow down the user's sort of data science workflow. There's some interesting optimizations that we've applied in order to make that happen.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:05</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Data Exploration and Visualization Made Effortless with Lux</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>313</itunes:episode>
      <podcast:episode>313</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252970660321758f5222cb-91fc-4b56-9716-05dc1880930av1.mp3" length="36968884" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252970660321758f5222cb-91fc-4b56-9716-05dc1880930av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8f5222cb-91fc-4b56-9716-05dc1880930a638558787385237126.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8f5222cb-91fc-4b56-9716-05dc1880930a638558787381797742.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8f5222cb-91fc-4b56-9716-05dc1880930a638558787379592334.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Extensible Open Source Authorization For Your Applications With Oso</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Any project that is used by more than one person will eventually need to handle permissions for each of those users. It is certainly possible to write that logic yourself, but you&#8217;ll almost certainly do it wrong at least once. Rather than waste your time fighting with bugs in your authorization code it makes sense to use a well-maintained library that has already made and fixed all of the mistakes so that you don&#8217;t have to. In this episode Sam Scott shares the Oso framework to give you a clean separation between your authorization policies and your application code. He explains how you can call a simple function to ask if something is allowed, and then manage the complex rules that match your particular needs as a separate concern. He describes the motivation for building a domain specific language based on logic programming for policy definitions, how it integrates with the host language (such as Python), and how you can start using it in your own applications today. This is a must listen even if you never use the project because it is a great exploration of all of the incidental complexity that is involved in permissions management.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you&#8217;re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at <a href="https://www.pythonpodcast.com/hightouch?utm_source=rss&utm_medium=rss">pythonpodcast.com/hightouch</a>.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Sam Scott about Oso, an open source library for managing authorization in your applications</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Oso is and the story behind it?</li>
<li>What was missing from the ecosystem of authorization libraries/frameworks that motivated you to create a new one?</li>
<li>What are some of the most common mistakes that you see developers make when implementing authorization logic?</li>
<li>At a high level, what is the process of using Oso to add access control policies to a piece of software?</li>
<li>What is the motivation for using a DSL for defining policies as opposed to writing those definitions in pure Python?
<ul>
<li>How have you approached the design of the policy language, particularly deciding what constraints to impose?</li>
<li>What other policy frameworks or dialects have you drawn inspiration from?</li>
</ul>
</li>
<li>How is the Oso framework implemented?
<ul>
<li>How have the goals and design of Oso changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>What are some useful design patterns for integrating Oso into an application?
<ul>
<li>How does the type of application (e.g. web app vs. system daemon, etc.) affect the ways that Oso is used?</li>
</ul>
</li>
<li>Given that Oso supports multiple language runtimes, what is involved in defining and enforcing policies that span multiple processes? (e.g. Python backend and Javascript frontend, Python microservice communicating with Go microservice, etc.)</li>
<li>What are some of the common mistakes or areas of confusion for users who are getting started with Oso and Polar?</li>
<li>What are some of the capabilities of Oso that are often overlooked or misunderstood?</li>
<li>I noticed that you&#8217;re backed by some venture firms. What is your current product vision and how does that relate to your current open source goals?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Oso used?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while working on and with oso?</li>
<li>When is Oso the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/samjs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/samscott89?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">samscott89</a> on GitHub</li>
<li><a href="https://twitter.com/samososos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@samososos</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt2076822/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Walking</a></li>
</ul>
</li>
<li>Sam
<ul>
<li><a href="https://www.supergiantgames.com/games/hades/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hades</a> video game</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.osohq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oso</a></li>
<li><a href="https://www.osohq.com/developers/authorization-academy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oso Authorization Academy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Number_theory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Number Theory</a></li>
<li><a href="https://www.sagemath.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sage Math</a></li>
<li><a href="https://en.wikipedia.org/wiki/Role-based_access_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RBAC == Role-Based Access Control</a></li>
<li><a href="https://en.wikipedia.org/wiki/Attribute-based_access_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ABAC == Attribute-Based Access Control</a></li>
<li><a href="https://docs.osohq.com/python/learn/polar-foundations.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polar Policy Language</a></li>
<li><a href="https://en.wikipedia.org/wiki/Prolog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prolog</a></li>
<li><a href="https://en.wikipedia.org/wiki/Logic_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logic Programming</a></li>
<li><a href="https://www.openpolicyagent.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Policy Agent</a></li>
<li><a href="https://aws.amazon.com/iam/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS IAM</a></li>
<li><a href="https://en.wikipedia.org/wiki/XACML?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XACML</a></li>
<li><a href="https://research.google/pubs/pub48190/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Zanzibar</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web Assembly (Wasm)</a></li>
<li><a href="https://oauth.net/2/scope/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OAuth Scopes</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Foso-open-source-authorization-episode-312%2F&amp;action_name=Extensible+Open+Source+Authorization+For+Your+Applications+With+Oso+-+Episode+312&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-04-26t01:08:59+00:00-b745a544d951554</guid>
      <link>https://www.pythonpodcast.com/oso-open-source-authorization-episode-312</link>
      <pubDate>Tue, 27 Apr 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="98.68" duration="9.70">So, Sam, can you start by introducing yourself? My name is Sam. I'm the cofounder and CTO at Oso. We're a startup primarily based in New York, just under 10 people, but growing rapidly.</podcast:soundbite>
      <podcast:soundbite startTime="2923.53" duration="16.22">We have some amount of, like, linting and warnings built into the language that would just, you know, print out in any whatever language you were using. ID support specifically, but we have support for Versus codes. And, actually, we just recently had a community member contributed Vim syntax highlighting as well.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Extensible Open Source Authorization For Your Applications With Oso</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>312</itunes:episode>
      <podcast:episode>312</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532223577826261260431-434a-4437-875f-f8ce56cc55bcv1.mp3" length="39359114" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532223577826261260431-434a-4437-875f-f8ce56cc55bcv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_61260431-434a-4437-875f-f8ce56cc55bc638558847608385864.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/61260431-434a-4437-875f-f8ce56cc55bc638558847604117313.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/61260431-434a-4437-875f-f8ce56cc55bc638558847600697552.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Teaching Geeks The Value And Skills Of Public Speaking</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Being able to present your ideas is one of the most valuable and powerful skills to have as a professional, regardless of your industry. For software engineers it is especially important to be able to communicate clearly and effectively because of the detail-oriented nature of the work. Unfortunately, many people who work in software are more comfortable in front of the keyboard than a crowd. In this episode Neil Thompson shares his story of being an accidental public speaker and how he is helping other engineers start down the road of being effective presenters. He discusses the benefits for your career, how to build the skills, and how to find opportunities to practice them. Even if you never want to speak at a conference, it&#8217;s still worth your while to listen to Neil&#8217;s advice and find ways to level up your presentation and speaking skills.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Are you bored with writing scripts to move data into SaaS tools like Salesforce, Marketo, or Facebook Ads? Hightouch is the easiest way to sync data into the platforms that your business teams rely on. The data you&#8217;re looking for is already in your data warehouse and BI tools. Connect your warehouse to Hightouch, paste a SQL query, and use their visual mapper to specify how data should appear in your SaaS systems. No more scripts, just SQL. Supercharge your business teams with customer data using Hightouch for Reverse ETL today. Get started for free at <a href="https://www.pythonpodcast.com/hightouch?utm_source=rss&utm_medium=rss">pythonpodcast.com/hightouch</a>.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Neil Thompson about the value of public speaking skills as a developer and how to gain them</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get into engineering?</li>
<li>Can you start by discussing the different types of public speaking that we are talking about and some of the different venues where it might take place?</li>
<li>How did you get into public speaking?</li>
<li>What are some of the ways that our speaking abilities can impact the value that we provide and the trajectory of our career as engineers?</li>
<li>What were some of the methods and resources that you used to improve your own public speaking skills?</li>
<li>What are the common mistakes that people make when speaking to a group?</li>
<li>What are some of the non-obvious ways that speaking skills can be useful as an engineer?</li>
<li>What was your approach to learning how to be an effective speaker?
<ul>
<li>What are some of the mis-steps or dead ends that you encountered?</li>
</ul>
</li>
<li>What are the different skills or capabilities that are necessary for being an effective presenter?</li>
<li>What are some ways that engineers can practice their presentation skills?</li>
<li>How do different audiences/venues influence the approach that you take to how to prepare for a presentation?</li>
<li>How has your experience in public speaking factored into the work you do for your podcast?</li>
<li>What are some of the most interesting, innovative, or unexpected presentations or speaking techniques that you have seen or used/created?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned from speaking and teaching others to speak in a professional context?</li>
<li>What resources do you recommend for engineers who want to improve their speaking and presenting skills?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/neilithompson/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/neil_i_thompson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@neil_i_thompson</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt9208876/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Falcon and the Winter Soldier</a></li>
</ul>
</li>
<li>Neil
<ul>
<li><a href="https://teachthegeek.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Teach The Geek To Speak</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Materials_science?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Materials Science</a></li>
<li><a href="https://www.toastmasters.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toastmasters</a></li>
<li><a href="https://teachthegeek.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Teach The Geek To Speak</a></li>
<li><a href="https://anchor.fm/teachthegeek?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Teach The Geek Podcast</a></li>
<li><a href="https://www.freecodecamp.org/news/what-the-heck-is-a-developer-advocate-87ab4faccfc4/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Developer Advocate</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fneil-thompson-public-speaking-episode-311%2F&amp;action_name=Teaching+Geeks+The+Value+And+Skills+Of+Public+Speaking+-+Episode+311&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-04-20t00:59:00+00:00-6614b260766c400</guid>
      <link>https://www.pythonpodcast.com/neil-thompson-public-speaking-episode-311</link>
      <pubDate>Tue, 20 Apr 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="195.02" duration="19.76">I had to give presentations in front of senior management every month on project progress, and I was terrible at those presentations at first. And I noticed a lot of the other engineers, they weren't all that much better at it than I was, but I wanted to get better at it because I knew I had to give you presentations every month. I didn't wanna look like a doofus every time I did so.</podcast:soundbite>
      <podcast:soundbite startTime="1640.98" duration="10.16">And so just being able to communicate as a way that you can speak your way into a new position even if you don't necessarily have the direct experience needed, but you have the motivation and the inspiration to learn.</podcast:soundbite>
      <podcast:soundbite startTime="541.13" duration="18.76">Well, firstly, it was being open to feedback. Sometimes that's difficult for some people, especially if it's overly critical, But you don't get better at anything unless you get some sort of feedback. Obviously, you can look within yourself and think of the things that you need to improve on, but getting feedback from others is really important too.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Teaching Geeks The Value And Skills Of Public Speaking</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>311</itunes:episode>
      <podcast:episode>311</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253205984444070cb14254-1257-47c1-9782-dd7baa84b031v1.mp3" length="32810294" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253205984444070cb14254-1257-47c1-9782-dd7baa84b031v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_0cb14254-1257-47c1-9782-dd7baa84b031638558840507055861.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0cb14254-1257-47c1-9782-dd7baa84b031638558840504370020.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0cb14254-1257-47c1-9782-dd7baa84b031638558840502393069.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Let The Robots Do The Work Using Robotic Process Automation with Robocorp</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>One of the great promises of computers is that they will make our work faster and easier, so why do we all spend so much time manually copying data from websites, or entering information into web forms, or any of the other tedious tasks that take up our time? As developers our first inclination is to &quot;just write a script&quot; to automate things, but how do you share that with your non-technical co-workers? In this episode Antti Karjalainen, CEO and co-founder of Robocorp, explains how Robotic Process Automation (RPA) can help us all cut down on time-wasting tasks and let the computers do what they&#8217;re supposed to. He shares how he got involved in the RPA industry, his work with Robot Framework and RPA framework, how to build and distribute bots, and how to decide if a task is worth automating. If you&#8217;re sick of spending your time on mind-numbing copy and paste then give this episode a listen and then let the robots do the work for you.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Software is read more than it is written, so complex and poorly organized logic slows down everyone who has to work with it. Sourcery makes those problems a thing of the past, giving you automatic refactoring recommendations in your IDE or text editor while you write (I even have it working in Emacs). It isn&#8217;t just another linting tool that nags you about issues. It&#8217;s like pair programming with a senior engineer, finding and applying structural improvements to your functions so that you can write cleaner code faster. Best of all, listeners of Podcast.__init__ get 6 months of their Pro tier for free if you go to <a href="https://www.pythonpodcast.com/sourcery?utm_source=rss&utm_medium=rss">pythonpodcast.com/sourcery</a> today and use the promo code INIT when you sign up.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Antti Karjalainen about the RPA Framework for automating your daily tasks and his work at Robocorp to manage your robots in production</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what Robotic Process Automation is?</li>
<li>What are some of the ways that RPA might be used?
<ul>
<li>What are the advantages over writing a custom library or script in Python to automate a given task?</li>
<li>How does the functionality of RPA compare to automation services like Zapier, IFTTT, etc.?</li>
</ul>
</li>
<li>What are you building at Robocorp and what was your motivation for starting the business?
<ul>
<li>Who is your target customer and how does that inform the products that you are building?</li>
</ul>
</li>
<li>Can you give an overview of the state of the ecosystem for RPA tools and products and how Robocorp and RPA framework fit within it?
<ul>
<li>How does the RPA Framework relate to Robot Framework?</li>
</ul>
</li>
<li>What are some of the challenges that developers and end users often run into when trying to build, use, or implement an RPA system?</li>
<li>How is the RPA framework itself implemented?
<ul>
<li>How has the design of the project evolved since you first began working on it?</li>
</ul>
</li>
<li>Can you talk through an example workflow for building a robot?</li>
<li>Once you have built a robot, what are some of the considerations for local execution or deploying it to a production environment?</li>
<li>How can you chain together multiple robots?</li>
<li>What is involved in extending the set of operations available in the framework?</li>
<li>What are the available integration points for plugging a robot written with RPA Framework into another Python project?</li>
<li>What are the dividing lines between RPA Framework and Robocorp?
<ul>
<li>How are you handling the governance of the open source project?</li>
</ul>
</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen RPA Framework and the Robocorp platform used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while building and growing RPA Framework and the Robocorp business?</li>
<li>When is RPA and RPA Framework the wrong choice for automation?</li>
<li>What do you have planned for the future of the framework and business?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/aikarjal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">aikarjal</a> on GitHub</li>
<li><a href="https://twitter.com/aikarjal?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@aikarjal</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/aikarjal/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt9140560/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WandaVision</a></li>
</ul>
</li>
<li>Antti
<ul>
<li><a href="https://www.imdb.com/title/tt6723592/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tenet</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="http://robocorp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robocorp</a></li>
<li><a href="https://rpaframework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RPA Framework</a></li>
<li><a href="https://github.com/robocorp/rcc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RCC</a></li>
<li><a href="https://en.wikipedia.org/wiki/Robotic_process_automation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robotic Process Automation</a></li>
<li><a href="https://zapier.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zapier</a></li>
<li><a href="https://ifttt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IFTTT (If This Then That)</a></li>
<li><a href="https://robotframework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robot Framework</a></li>
<li><a href="https://www.selenium.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium</a></li>
<li><a href="https://playwright.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Playwright</a></li>
<li><a href="https://docs.conda.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conda</a></li>
<li><a href="https://github.com/mamba-org/mamba#micromamba?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Micro Mamba</a></li>
<li><a href="https://pyoxidizer.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOxidizer</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pyoxidizer-python-package-creation-episode-282/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://xkcd.com/1205/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XKCD &quot;Is It Worth The Time?&quot;</a></li>
<li><a href="https://xkcd.com/1319/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XKCD Automation Curve</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Frobocorp-robotic-process-automation-episode-310%2F&amp;action_name=Let+The+Robots+Do+The+Work+Using+Robotic+Process+Automation+with+Robocorp+-+Episode+310&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-04-11t11:37:06+00:00-6e78d2017c4167e</guid>
      <link>https://www.pythonpodcast.com/robocorp-robotic-process-automation-episode-310</link>
      <pubDate>Tue, 13 Apr 2021 01:45:00 +0000</pubDate>
      <podcast:soundbite startTime="58.69" duration="23.17">And today, I'm interviewing Antti Karjalainen about the RPA framework for automating your daily tasks and his work at Robocorp to manage your robots in production. So, Antti, can you start by introducing yourself? Hey. So I'm Antti Karyalainen. I'm the CEO and cofounder of a company called Robocop. We are bringing open source technology into the world of RPA, which is all about automating business processes.</podcast:soundbite>
      <podcast:soundbite startTime="1995.14" duration="37.13">In terms of the use cases and the sort of implementations of the different robots and workflows that people have built using RPA Framework and Robocorp, what are some of the most interesting or innovative or unexpected ways that you've seen it employed? I think what what's amazing with it is, grinding routine, it can automate away. So, grinding routine, it can automate away. So I've heard that, you know, people are doing, like, health care insurance claim automation at a hospital's way. It just frees away, like, half a day every day from somebody's work.</podcast:soundbite>
      <podcast:soundbite startTime="443.18" duration="21.01">So I've been involved with this project called Robot Framework for quite a while. Already 2013, I think I started there. We were running a consultancy that where we did a lot of software test automation back in the day. And and robot framework is a generic Python based test automation framework for doing end to end testing. So I had that background.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:34</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Let The Robots Do The Work Using Robotic Process Automation with Robocorp</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>310</itunes:episode>
      <podcast:episode>310</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298637802995360a40cc-5f93-45cc-a754-1ca0d4686b8bv1.mp3" length="38206228" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298637802995360a40cc-5f93-45cc-a754-1ca0d4686b8bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_360a40cc-5f93-45cc-a754-1ca0d4686b8b638558793064016342.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/360a40cc-5f93-45cc-a754-1ca0d4686b8b638558793061396599.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/360a40cc-5f93-45cc-a754-1ca0d4686b8b638558793059567345.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Keep Your Code Clean And Maintainable Using Static Analysis With Flake8</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>When you are writing code it is all to easy to introduce subtle bugs or leave behind unused code. Unused variables, unused imports, overly complex logic, etc. If you are careful and diligent you can find these problems yourself, but isn&#8217;t that what computers are supposed to help you with? Thankfully Python has a wealth of tools that will work with you to keep your code clean and maintainable. In this episode Anthony Sottile explores Flake8, one of the most popular options for identifying those problematic lines of code. He shares how he became involved in the project and took over as maintainer and explains the different categories of code quality tooling and how Flake8 compares to other static analyzers. He also discusses the ecosystem of plugins that have grown up around it, including some detailed examples of how you can write your own (and why you might want to).</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Anthony Sottile about Flake8</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what Flake8 is and how you got involved with the project?</li>
<li>There are a variety of tools available for checking or enforcing code quality. How would you characterize Flake8 in comparison to the other options?</li>
<li>What do you see as the motivating factors for individuals or teams to integrate static analysis/linting in their toolchain and workflow?
<ul>
<li>What are some of the challenges that might prevent someone from adopting something like Flake8?</li>
<li>How can developers add Flake8 to an existing project without spending hours or days fixing all of the violations?</li>
</ul>
</li>
<li>Can you describe the overall design and implementation of Flake8?
<ul>
<li>How has the design and goals of the project changed or evolved?</li>
</ul>
</li>
<li>There are a wide array of plugins for Flake8. What is involved in adding new functionality or linting rules?
<ul>
<li>What capabilities does Flake8 provide that make it a viable platform for building plugins?</li>
<li>What are some of the limitations of Flake8 as a platform?</li>
</ul>
</li>
<li>What do you see as the factors that have contributed to the widespread usage of Flake8 and the large number of available plugins?
<ul>
<li>What challenges does that pose as a maintainer of Flake8?</li>
</ul>
</li>
<li>What are some of the other tools that you see developers use alongside Flake8 to help manage code quality and style enforcement?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Flake8 and its plugin ecosystem used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on Flake8?</li>
<li>When is Flake8 the wrong choice?</li>
<li>What do you have planned for the future of Flake8?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/codewithanthony?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@codewithanthony</a> on Twitter</li>
<li><a href="https://github.com/asottile?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">asottile</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/anthony-sottile-940008b1/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.nealstephenson.com/seveneves.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SEVENEVES</a> by Neal Stephenson</li>
</ul>
</li>
<li>Anthony
<ul>
<li><a href="https://pre-commit.ci/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pre-commit CI</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://flake8.pycqa.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a></li>
<li><a href="https://github.com/PyCQA/pyflakes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyFlakes</a></li>
<li><a href="https://pycodestyle.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCodestyle</a></li>
<li><a href="https://github.com/pycqa/mccabe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">McCabe</a></li>
<li><a href="https://pre-commit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pre-commit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pre-commit-with-anthony-sottile-episode-178/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.python.org/dev/peps/pep-0484/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 484</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a></li>
<li><a href="https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pylance</a></li>
<li><a href="https://github.com/microsoft/pyright?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyright</a></li>
<li><a href="http://pylint.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pylint</a></li>
<li><a href="https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black</a></li>
<li><a href="https://github.com/google/yapf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">yapf</a></li>
<li><a href="https://pypi.org/project/autopep8/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">autopep8</a></li>
<li><a href="https://github.com/asottile/pyupgrade?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyupgrade</a></li>
<li><a href="https://pycqa.github.io/isort/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">isort</a></li>
<li><a href="https://github.com/asottile/reorder_python_imports?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">reorder-python-imports</a></li>
<li><a href="https://en.wikipedia.org/wiki/Static_program_analysis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Static Analysis</a></li>
<li><a href="http://www.pydocstyle.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pydocstyle</a></li>
<li><a href="https://github.com/myint/autoflake?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">autoflake</a></li>
<li><a href="https://snarky.ca/what-the-heck-is-pyproject-toml/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyproject.toml</a></li>
<li><a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Abstract Syntax Tree</a></li>
<li><a href="https://en.wikipedia.org/wiki/Parse_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Concrete Syntax Tree</a></li>
<li><a href="https://dagster.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fflake8-static-analysis-episode-309%2F&amp;action_name=Keep+Your+Code+Clean+And+Maintainable+Using+Static+Analysis+With+Flake8+-+Episode+309&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-04-05t11:15:56+00:00-57e51bf53cfca0e</guid>
      <link>https://www.pythonpodcast.com/flake8-static-analysis-episode-309</link>
      <pubDate>Tue, 6 Apr 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="960.10" duration="29.41">So enabling a linter for the first time is an extremely daunting task, especially if you haven't been doing it before because taking code that doesn't adhere to a particular guideline and making it adhere to a guideline can be very difficult. My recommendation when doing this for the first time, especially if it's, you know, your absolute first saluting experience with the code base is to start small. Let's take flake8 as an example. I would start by enabling flake8 and enabling it on either 1 file or 1 subset of files and getting those to pass.</podcast:soundbite>
      <podcast:soundbite startTime="2462.78" duration="41.27">I think probably the most well, this this no longer surprises me, but when I first started working on Flak8 or other related Winters and Code Promoter tools, I was surprised how often I found bugs in either the parser or the tokenizer of Python or differences in implementation between the C based tokenizer and the pure Python based tokenizer. But also, you know, it surprised me, but in the same way it surprised me at how quickly and how easily those can get fixed. So I actually made, like, a lot of contributions to CPython just to improve a lot of these situations where, you know, the parser is slightly wrong or the tokenizer is slightly wrong or it's slightly different between the different implementations.</podcast:soundbite>
      <podcast:soundbite startTime="1597.41" duration="43.96">I think the biggest limitation is that well well, this is 1 that people ask for a lot, and I I don't think flake 8 fits well into this space is reformatting code. Flake 8 is almost entirely just a checker and isn't going to it doesn't have places to fit in code formatting, so that's not really 1 of its goals. Another thing that people ask for a lot that's kind of a limitation is that richer type information that I talked about before or that richer dynamic analysis. Flak8 is essentially gonna hand you information about a single source file and not any other remaining or peripheral context from there. You basically get your source file, it's AST, and it's tokenization, and that's it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:32</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Keep Your Code Clean And Maintainable Using Static Analysis With Flake8</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>309</itunes:episode>
      <podcast:episode>309</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304397807404bdc1bb87-9fc9-4acb-b793-5ef44df2ffb3v1.mp3" length="40584892" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304397807404bdc1bb87-9fc9-4acb-b793-5ef44df2ffb3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_bdc1bb87-9fc9-4acb-b793-5ef44df2ffb3638558808796564114.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bdc1bb87-9fc9-4acb-b793-5ef44df2ffb3638558808793955138.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bdc1bb87-9fc9-4acb-b793-5ef44df2ffb3638558808791617305.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Make Your Code More Readable With The Magic Of Refactoring Using Sourcery</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Writing code that is easy to read and understand will have a lasting impact on you and your teammates over the life of a project. Sometimes it can be difficult to identify opportunities for simplifying a block of code, especially if you are early in your journey as a developer. If you work with senior engineers they can help by pointing out ways to refactor your code to be more readable, but they aren&#8217;t always available. Brendan Maginnis and Nick Thapen created Sourcery to act as a full time pair programmer sitting in your editor of choice, offering suggestions and automatically refactoring your Python code. In this episode they share their journey of building a tool to automatically find opportunities for refactoring in your code, including how it works under the hood, the types of refactoring that it supports currently, and how you can start using it in your own work today. It always pays to keep your tool box organized and your tools sharp and Sourcery is definitely worth adding to your repertoire.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nick Thapen and Brendan Maginnis about Sourcery, an advanced refactoring engine that cleans up your code as you work</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what Sourcery is?</li>
<li>What was your motivation for building a system for performing automated refactoring?
<ul>
<li>What are your goals and priorities with Sourcery?</li>
</ul>
</li>
<li>There are a number of services that aim to automate portions of the developer workflow, such as code completions, quality checks, refactoring, etc. What was lacking in the existing tooling that made Sourcery a necessary project?
<ul>
<li>How does Sourcery compare with some of the other services that offer AI or ML powered assistance? (e.g. Kite, Tab9, Codata(?))</li>
</ul>
</li>
<li>What was your reasoning for focusing solely on Python for your refactoring, rather than trying to support multiple language targets?</li>
<li>Can you give some examples of the types of refactoring that you are able to automate?</li>
<li>Can you describe how Sourcery is implemented?
<ul>
<li>What are some of the ways that the system has changed or evolved in design and/or scope?</li>
</ul>
</li>
<li>What are some examples of the types of refactorings that Sourcery is ill-suited for and which still require manual intervention?</li>
<li>What is involved in adding support for a new editor?
<ul>
<li>How much variation is there in terms of implementation or available functionality across editors?</li>
<li>How has the introduction of the Language Server Protocol influenced your approach to editor integration?</li>
</ul>
</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while working on Sourcery?</li>
<li>When is Sourcery the wrong choice?</li>
<li>What do you have planned for the future of Sourcery</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Nick
<ul>
<li><a href="https://www.linkedin.com/in/nicholas-thapen/?originalSubdomain=uk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/nthapen?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@nthapen</a> on Twitter</li>
</ul>
</li>
<li>Brendan
<ul>
<li><a href="https://www.linkedin.com/in/brendan-maginnis/?originalSubdomain=uk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/brendan_m6s?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@brendan_m6s</a> on Twitter</li>
<li><a href="https://github.com/brendanator?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">brendanator</a> on GitHub</li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt2850386/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Croods: New Age</a></li>
</ul>
</li>
<li>Nick
<ul>
<li><a href="https://www.syfy.com/the-magicians?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Magicians</a> TV Series</li>
</ul>
</li>
<li>Brendan
<ul>
<li><a href="https://en.wikipedia.org/wiki/David_Copperfield?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">David Copperfield</a> by Charles Dickens</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://sourcery.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sourcery</a></li>
<li><a href="https://en.wikipedia.org/wiki/IBM_RPG?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IBM RPG</a></li>
<li><a href="https://en.wikipedia.org/wiki/Delphi_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Delphi</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://www.scala-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scala</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Natural_language_processing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLP == Natural Language Processing</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://microsoft.github.io/language-server-protocol/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Language Server Protocol</a></li>
<li><a href="https://en.wikipedia.org/wiki/Kent_Beck?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kent Beck</a></li>
<li><a href="https://martinfowler.com/aboutMe.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Martin Fowler</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a></li>
<li><a href="https://clojure.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clojure</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp</a></li>
<li><a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Abstract Syntax Tree</a></li>
<li><a href="https://github.com/PyCQA/astroid?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASTroid</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-35-sylvain-thenault-on-astroid/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/python-rope/rope?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rope</a></li>
<li><a href="https://sans-io.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sans I/O</a></li>
<li><a href="https://pre-commit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pre-commit framework</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pre-commit-with-anthony-sottile-episode-178/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsourcery-automated-python-refactoring-episode-308%2F&amp;action_name=Make+Your+Code+More+Readable+With+The+Magic+Of+Refactoring+Using+Sourcery+-+Episode+308&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-03-30t02:39:45+00:00-05cf8ee52d7a278</guid>
      <link>https://www.pythonpodcast.com/sourcery-automated-python-refactoring-episode-308</link>
      <pubDate>Tue, 30 Mar 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="441.97" duration="24.66">We like to think of Sourcery as an automated pair programmer that sits there reading the code that you're writing. And as you're writing it, it understands it and suggests these refactorings to you in real time. So you've got your code open in your IDE. PyCharm or Versus Code are the 2 main ones that we support, and you're working on file of code. And it's understanding those functions in your code.</podcast:soundbite>
      <podcast:soundbite startTime="896.25" duration="18.26">And I'm curious why you chose to focus on Python as both the tool that you're using to implement Sourcery, but also the primary language that you're focusing on as far as the refactorings that you're providing and what your motivation is for investing in Python as a language and for building your business on it.</podcast:soundbite>
      <podcast:soundbite startTime="339.36" duration="24.19">Refactoring is restructuring and changing the code without changing what it does. It's kind of the the basics of it. So it might be changing how the logic works. It might be moving things around to be in different classes. It might be renaming variables and functions, keeping all the functionality exactly the same while improving the quality is how we kinda think about it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:00:58</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Make Your Code More Readable With The Magic Of Refactoring Using Sourcery</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>308</itunes:episode>
      <podcast:episode>308</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304474940310b2f22638-4b03-432e-8c9d-5fa10d328a19v1.mp3" length="48071937" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304474940310b2f22638-4b03-432e-8c9d-5fa10d328a19v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b2f22638-4b03-432e-8c9d-5fa10d328a19638558809140771397.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b2f22638-4b03-432e-8c9d-5fa10d328a19638558809137640000.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b2f22638-4b03-432e-8c9d-5fa10d328a19638558809135841280.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Be Data Driven At Any Scale With Superset</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Becoming data driven is the stated goal of a large and growing number of organizations. In order to achieve that mission they need a reliable and scalable method of accessing and analyzing the data that they have. While business intelligence solutions have been around for ages, they don&#8217;t all work well with the systems that we rely on today and a majority of them are not open source. Superset is a Python powered platform for exploring your data and building rich interactive dashboards that gets the information that your organization needs in front of the people that need it. In this episode Maxime Beauchemin, the creator of Superset, shares how the project got started and why it has become such a widely used and popular option for exploring and sharing data at companies of all sizes. He also explains how it functions, how you can customize it to fit your specific needs, and how to get it up and running in your own environment.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Max Beauchemin about Superset, an open source platform for data exploration and visualization</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what Superset is and what it might be used for?
<ul>
<li>What problem were you trying to solve when you created it?</li>
<li>What tools or platforms did you consider before deciding to build something new?</li>
</ul>
</li>
<li>There are a few different ways that someone might categorize Superset, such as business intelligence, data exploration, dashboarding, data visualization. How would you characterize it and how it fits in the current state of the industry and ecosystem?</li>
<li>What are some of the lessons that you have learned from your work on Airflow that you applied to Superset?</li>
<li>Can you give an overview of how Superset is implemented?
<ul>
<li>How have the goals, design and architecture evolved since you first began working on it?</li>
</ul>
</li>
<li>Given its origin as a hackathon project the choice of Python seems natural. What are some of the challenges that choice has posed over the life of the project?
<ul>
<li>If you were to start the whole project over today what might you do differently?</li>
</ul>
</li>
<li>Can you describe what&#8217;s involved in getting started with a new setup of Superset?
<ul>
<li>What are the available interfaces and integration points for someone who wants to extend it or add new functionality?</li>
</ul>
</li>
<li>What are some of the most often overlooked, misunderstood, or underused capabilities of Superset?</li>
<li>One of the perennial challenges with a tool that allows users to build data visualizations is the potential to build dashboards or charts that are visually appealing but ultimately meaningless or wrong. How much guidance does Superset provide in helping to select a useful representation of the data?</li>
<li>In addition to being the original author and a project maintainer you have also started a company to offer Superset as a service. What are your goals with that business and what is the opportunity that it provides?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Superset used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while building and growing the Superset project and community?</li>
<li>When is Superset the wrong choice?</li>
<li>What do you have planned for the future of Superset and Preset?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/maximebeauchemin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/mistercrunch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mistercrunch</a> on Twitter</li>
<li><a href="https://github.com/mistercrunch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mistercrunch</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/mozilla/sops?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SOPS</a></li>
</ul>
</li>
<li>Max
<ul>
<li><a href="https://www.imdb.com/title/tt4881578/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Frank Zappa Documentary</a></li>
<li><a href="https://itrevolution.com/book/accelerate/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Accelerate: The Science of Lean Software and DevOps</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://superset.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Superset</a></li>
<li><a href="https://preset.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Preset</a>
<ul>
<li><a href="https://preset.io/blog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>
</li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-44-airflow-with-maxime-beauchemin/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.airbnb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AirBnB</a></li>
<li><a href="https://www.lyft.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lyft</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://flask.palletsprojects.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://en.wikipedia.org/wiki/Create,_read,_update_and_delete?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CRUD == Create, Read, Update, Delete</a></li>
<li><a href="https://en.wikipedia.org/wiki/Business_intelligence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Business Intelligence</a></li>
<li><a href="https://druid.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Druid</a></li>
<li><a href="https://prestodb.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Presto</a></li>
<li><a href="https://trino.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trino</a> (formerly known as Presto SQL)</li>
<li><a href="https://redash.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redash</a>
<ul>
<li><a href="https://www.pythonpodcast.com/redash-data-driven-dashboards-episode-246/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://looker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Looker</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/looker-with-daniel-mintz-episode-55/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.metabase.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metabase</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/metabase-with-sameer-al-sakran-episode-29/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://flask-appbuilder.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask App Builder</a></li>
<li><a href="https://react-redux.js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React Redux</a></li>
<li><a href="https://www.typescriptlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typescript</a></li>
<li><a href="https://graphql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphQL</a></li>
<li><a href="http://www.celeryproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li>
<li><a href="https://www.rabbitmq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RabbitMQ</a></li>
<li><a href="https://aws.amazon.com/s3/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">S3</a></li>
<li><a href="https://medium.com/airbnb-engineering/supercharging-apache-superset-b1a2393278bd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AirBnB Superset Blog Post</a></li>
<li><a href="https://d3js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D3</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsuperset-data-driven-episode-207%2F&amp;action_name=Be+Data+Driven+At+Any+Scale+With+Superset+-+Episode+307&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-03-22t11:25:39+00:00-d2749fd17969036</guid>
      <link>https://www.pythonpodcast.com/superset-data-driven-episode-207</link>
      <pubDate>Mon, 22 Mar 2021 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="72.60" duration="22.26">I'm the original creator of Apache Airflow and Apache Superset. I started these projects while I was at Airbnb about 5 years ago or so. Since then, I spent some time at Airbnb at Lyft, and more recently, I started a company. So now I'm the the CEO and founder of a company called Preset. So we're at preset.io. We commercialize superset in some way.</podcast:soundbite>
      <podcast:soundbite startTime="1051.26" duration="44.88">Now I'm gonna start digging into archaeology, right, of the software and the different layers, you know, over the past 5 years. 1 thing that's really interesting to note is the fact that Superset was born a Python project. I know we're on a Python podcast, but over time, as derived to become much more of a JavaScript slash TypeScript React project over time. You know, we're building user experiences, and I think very naturally, we tend to evolve in the direction of adding just a really clear, solid, like, Python API in the back end and for everything else to become more and more of a just a single page app written in JavaScript. It's still very much served by a Python layer by Flask currently.</podcast:soundbite>
      <podcast:soundbite startTime="334.69" duration="40.16">So thinking about, like, my journey in business intelligence too, so I started my career early 2000. And very quickly, I became a business intelligence engineer, data architect. Right? So I so I did, a fair amount of ETL and just making you know, using these tools and making them available for the companies where I worked at for people internally to to self serve with the data that we were kinda preparing in the backroom for them. So I used extensively things like Microsoft SQL Server, Analysis Services, you know, Excel Business Objects, MicroStrategy, you know, and all sorts of other packages and solutions over the years.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:33</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Be Data Driven At Any Scale With Superset</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>307</itunes:episode>
      <podcast:episode>307</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298878851358ab6abc6c-12fb-47ff-aa9b-1f69ad33008dv1.mp3" length="39734876" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298878851358ab6abc6c-12fb-47ff-aa9b-1f69ad33008dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ab6abc6c-12fb-47ff-aa9b-1f69ad33008d638558793864053425.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ab6abc6c-12fb-47ff-aa9b-1f69ad33008d638558793861214623.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ab6abc6c-12fb-47ff-aa9b-1f69ad33008d638558793858388878.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Practical Advice On Using Python To Power A Business</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Python is a language that is used in almost every imaginable context and by people from an amazing range of backgrounds. A lot of the people who use it wouldn&#8217;t even call themselves programmers, because that is not the primary focus of their job. In this episode Chris Moffitt shares his experience writing Python as a business user. In order to share his insights and help others who have run up against the limits of Excel he maintains the site Practical Business Python where he publishes articles that help introduce newcomers to Python and explain how to perform tasks such as building reports, automating Excel files, and doing data analysis. This is a great conversation that illustrates how useful it is to learn Python even if you never intend to write software professionally.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>We&#8217;ve all been asked to help with an ad-hoc request for data by the sales and marketing team. Then it becomes a critical report that they need updated every week or every day. Then what do you do? Send a CSV via email? Write some Python scripts to automate it? But what about incremental sync, API quotas, error handling, and all of the other details that eat up your time? Today, there is a better way. With Census, just write SQL or plug in your dbt models and start syncing your cloud warehouse to SaaS applications like Salesforce, Marketo, Hubspot, and many more. Go to <a href="https://www.pythonpodcast.com/census?utm_source=rss&utm_medium=rss">pythonpodcast.com/census</a> today to get a free 14-day trial.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Chris Moffitt about how Python is used to help manage business needs and processes and his work to share advice on this topic at Practical Business Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of your mission at Practical Business Python?
<ul>
<li>What was your inspiration for starting the site and what keeps you motivated?</li>
</ul>
</li>
<li>What are some of the kinds of problems that a business user is looking to solve for themselves?</li>
<li>Why is Python a viable tool for a business user to become familiar with?</li>
<li>How would you characterize the difference between the ways that a software engineer and a business user approach Python?</li>
<li>What do you see as the tipping point of complexity or time investment past which a business user will pass a given project on to a software engineer?</li>
<li>How much familiarity with adjacent concerns such as version control, software design, etc. do you consider useful for a business user?</li>
<li>What are some of the ways that you use Python in your day-to-day?</li>
<li>What are some of the onramps for integrating Python into a user&#8217;s workflow?</li>
<li>What are some common stumbling blocks that business users run into when getting started with Python?</li>
<li>What are some of the most interesting, innovative, or impressive ways that you have seen Python employed by business users?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while working on the Practical Business Python site?</li>
<li>What are some cases where you would advocate for a tool other than Python for a business use case?</li>
<li>What do you have planned for the future of the site?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/cmoffitt/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/chris1610?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">chris1610</a> on GitHub</li>
<li><a href="https://twitter.com/chris1610?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@chris1610</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="http://roundup.fishtownanalytics.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Data Science Roundup</a> Newsletter</li>
<li><a href="https://dataeco.substack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">This Week In Data</a> Newsletter</li>
</ul>
</li>
<li>Chris Moffitt
<ul>
<li><a href="https://www.amazon.com/Line-of-Duty-Series-1/dp/B00J4YN5ZU?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Line Of Duty</a> BBC Series</li>
<li><a href="https://www.amazon.com/gp/product/B08BTJBGQ4?ref_=dbs_p_mng_rwt_ser_shvlr&amp;storeType=ebooks&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Out Of The Dark</a> by David Weber</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://pbpython.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Practical Business Python</a> blog</li>
<li><a href="https://en.wikipedia.org/wiki/Electrical_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Electrical Engineering</a></li>
<li><a href="https://en.wikipedia.org/wiki/Unix?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unix</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://en.wikipedia.org/wiki/Data_science?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Science</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.raspberrypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="https://www.microsoft.com/en-us/microsoft-365/excel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Excel</a></li>
<li><a href="https://en.wikipedia.org/wiki/Visual_Basic_for_Applications?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VBA == Visual Basic for Applications</a></li>
<li><a href="https://code.visualstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VSCode</a></li>
<li><a href="https://powerapps.microsoft.com/en-us/blog/introducing-microsoft-power-fx-the-low-code-programming-language-for-everyone/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Excel PowerFX</a></li>
<li><a href="https://pbpython.com/pathlib-intro.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pathlib</a></li>
<li><a href="https://docs.conda.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conda</a></li>
<li><a href="https://pythonwheels.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Wheels</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0582/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 582</a></li>
<li><a href="https://www.sap.com/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SAP</a></li>
<li><a href="https://www.salesforce.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Salesforce</a></li>
<li><a href="https://www.tableau.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tableau</a></li>
<li><a href="https://facebook.github.io/prophet/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prophet</a> library for timeseries forecasting</li>
<li><a href="https://training.talkpython.fm/courses/move-from-excel-to-python-and-pandas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Talk Python Course</a> Moving From Excel To Python</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpractical-business-python-episode-306%2F&amp;action_name=Practical+Advice+On+Using+Python+To+Power+A+Business+-+Episode+306&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-03-15t23:34:15+00:00-8758563c3501bbc</guid>
      <link>https://www.pythonpodcast.com/practical-business-python-episode-306</link>
      <pubDate>Tue, 16 Mar 2021 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="940.71" duration="66.28">I think there's probably 2 main reasons. 1, Python is for a new person to programming. Python is a language that has a very clean syntax and good tutorials and good reference materials to help people learn. And my experience is people generally can look at Python programming or Python code and not be intimidated by it. They kind of look at it, and it makes sense. They understand it. So it is simpler for new people to get started, and there's a lot of concepts that Python takes care of that you maybe have to deal with in a lower left language like a c or c plus plus. It also has that cleaner, crisp, concise syntax versus something like a Java. So you can get started with Python with minimal boilerplate, and I think that really helps with adoption. I think the second thing is the Python ecosystem. So there are so many tools, libraries, modules out there in the Python world that can help people solve their problems.</podcast:soundbite>
      <podcast:soundbite startTime="197.54" duration="43.92">So like I mentioned, I first got exposed to Python a while back. So this was pre data science hype, if you will. This was even probably before Django was really getting started in the web space, so I used it a little bit from an administrative perspective. I also did a little bit of Django work. And then over time, I just stopped using Python. So I didn't have a real good excuse or reason to use it on a daily basis. Well, I wanted to find an opportunity to continue to use Python, explore the Python ecosystem, and maybe share some of that with people. So I thought, you know, maybe it would be a good idea to start a blog. And that's the genesis of Practical Business Python.</podcast:soundbite>
      <podcast:soundbite startTime="68.89" duration="38.12">Hi, Tobias. My name is Chris Moffett, and I blog at Practical Business Python, which is dedicated to sharing examples of how you can use Python to solve common business problems. I've been using Python for probably a dozen plus years and was formally trained in electrical engineering and computer science, but never actually been a computer scientist. And most of my career has been on the business side. So that's where I've really enjoyed combining that business experience, that Python experience, and that's a lot of what I'm trying to share at Practical Business Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:30</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Practical Advice On Using Python To Power A Business</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>306</itunes:episode>
      <podcast:episode>306</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253031102804251454f708-c514-4946-8c45-4624258e06aav1.mp3" length="46477064" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253031102804251454f708-c514-4946-8c45-4624258e06aav1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1454f708-c514-4946-8c45-4624258e06aa638558802919262966.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1454f708-c514-4946-8c45-4624258e06aa638558802914432678.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1454f708-c514-4946-8c45-4624258e06aa638558802912329776.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Analyzing The Ecosystem of Python Data Companies With Tony Liu</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>There are a large and growing number of businesses built by and for data science and machine learning teams that rely on Python. Tony Liu is a venture investor who is following that market closely and betting on its continued success. In this episode he shares his own journey into the role of an investor and discusses what he is most excited about in the industry. He also explains what he looks at when investing in a business and gives advice on what potential founders and early employees of startups should be thinking about when starting on that journey.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tony Liu about his perspectives on the landscape of Python in the data ecosystem from his role as an investor</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by sharing your background in the data ecosystem?</li>
<li>What led you to your current role as a venture investor?
<ul>
<li>What is your current area of focus in your investments?</li>
</ul>
</li>
<li>What do you see as the major strengths of Python in the current landscape for data and analytics?
<ul>
<li>What are the areas where the ecosystem is still lacking?</li>
<li>Where are you seeing growth in the space and what do you see as the motivating factors?</li>
</ul>
</li>
<li>As an investor, what are the qualities that you look for in a startup that is trying to compete in the data ecosystem?
<ul>
<li>What is your process for learning about and identifying companies that demonstrate the potential to succeed?</li>
<li>Do you focus on a particular problem domain and research a grouping of companies that are focused on that problem, or do you start from a given company to determine where to place your bets?</li>
<li>How has COVID changed the competitive landscape?</li>
</ul>
</li>
<li>Can you share some of the companies that you have invested in?
<ul>
<li>What was noteable about their respective businesses that provided you with the confidence that they were worth investing in?</li>
</ul>
</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned from your experience as a venture investor?</li>
<li>What are some of the companies that you are keeping a close eye on, whether as potential investments or as competitors to your existing portfolio?</li>
<li>What are some of the problem spaces that you would like to see companies try to tackle?</li>
<li>What advice do you have for engineers who might be considering building a new business?
<ul>
<li>Do you have any advice for engineers who are working at a startup as to how best to compete in the current market?</li>
</ul>
</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/tonydl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt10888708/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Sleepover</a> movie</li>
<li><a href="https://www.youtube.com/watch?v=kRRmQ1Tz-Ao&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">What do ya do with a Bernie Sanders?</a> music video</li>
</ul>
</li>
<li>Tony
<ul>
<li><a href="https://www.imdb.com/title/tt5727208/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uncut Gems</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.costanoavc.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Costanoa Ventures</a></li>
<li><a href="https://en.wikipedia.org/wiki/Sports_analytics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sports Analytics</a></li>
<li><a href="https://turo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Turo</a></li>
<li><a href="https://databricks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Databricks</a></li>
<li><a href="https://koalas.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Koalas</a></li>
<li><a href="https://www.datarobot.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DataRobot</a></li>
<li><a href="https://faust.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Faust</a>
<ul>
<li><a href="https://www.pythonpodcast.com/fast-stream-processing-in-python-using-faust-with-ask-solem-episode-176/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://oozie.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oozie</a></li>
<li><a href="https://azkaban.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Azkaban</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-44-airflow-with-maxime-beauchemin/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.prefect.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prefect</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/prefect-workflow-engine-episode-86/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://dagster.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster</a>
<ul>
<li><a href="https://www.pythonpodcast.com/dagster-data-orchestration-episode-279/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
<li><a href="https://www.dataengineeringpodcast.com/dagster-data-applications-episode-104/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.kubeflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubeflow</a></li>
<li><a href="https://mlflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MLFlow</a></li>
<li><a href="https://metaflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metaflow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/metaflow-machine-learning-operations-episode-274/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/putting-apache-spark-into-action-with-jean-georges-perrin-episode-60/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.getdbt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DBT</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.snowflake.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SnowflakeDB</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/snowflakedb-cloud-data-warehouse-episode-110/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://coiled.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coiled</a>
<ul>
<li><a href="https://www.pythonpodcast.com/coiled-dask-python-data-science-episode-275/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://noteable.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Noteable</a></li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.dataengineeringpodcast.com/using-notebooks-as-the-unifying-layer-for-data-roles-at-netflix-with-matthew-seal-episode-54/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode About Notebooks at Netflix</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftony-liu-python-venture-investing-episode-305%2F&amp;action_name=Analyzing+The+Ecosystem+of+Python+Data+Companies+With+Tony+Liu+-+Episode+305&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-03-09t00:36:43+00:00-b3b6ca03b3f1750</guid>
      <link>https://www.pythonpodcast.com/tony-liu-python-venture-investing-episode-305</link>
      <pubDate>Tue, 9 Mar 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="424.52" duration="44.98">So in the latter case, talking to data scientists, data engineers is actually also very helpful in a part of my, I wouldn't say day to day, but, like, do a lot of these conversations on a weekly basis. In terms of Python specifically, it's obviously a very strong contender in the data science ecosystem, and I've been seeing it leak into other aspects of data. But from your perspective, as somebody who has worked in the space and been a product manager for a company where Python was actually 1 of the core projects that you were involved with and somebody who's working as an investor who is talking to data scientists and deciding whether to invest in these various companies. What do you see as being the major strengths of Python in the current landscape for data and analytics?</podcast:soundbite>
      <podcast:soundbite startTime="1602.66" duration="48.58">And it addresses 1 of the issues that I've seen, you know, and at the same time, opportunity in the Python ecosystem, which is the scalability side of the equation. So as I, you know, talked about earlier, a lot of data scientists in organizations, once they push the limits of, you know, single node compute, they're often faced with a tough decision of what do we do next? Do we get a beefier machine? Do we switch to Spark? And Dask was a project that, you know, many people adopted to, you know, bridge that gap. And, you know, it seemed like there was a really interesting opportunity to make Dask the centerpiece of a Python company where a user that hits that point of, like, I need to scale now can actually say, there's this Python native approach to doing this that is, you know, backed by some company.</podcast:soundbite>
      <podcast:soundbite startTime="146.89" duration="30.49">I was always interested in data. Early on in college, the thing that really got me into data was sports analytics, to be honest, specifically NBA analytics, which at the time was very immature. And I spent, you know, summers working on this with, you know, professors in the statistics department, and it really got me excited about, you know, the applications of data essentially. And since then, my first industry experience was working on core search ranking at Amazon. In hindsight, I didn't know, like, how nice people had it there.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Analyzing The Ecosystem of Python Data Companies With Tony Liu</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>305</itunes:episode>
      <podcast:episode>305</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306766929730d5158598-12d9-4a90-a294-7fe1302aa2bcv1.mp3" length="28494304" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306766929730d5158598-12d9-4a90-a294-7fe1302aa2bcv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d5158598-12d9-4a90-a294-7fe1302aa2bc638558818706033973.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d5158598-12d9-4a90-a294-7fe1302aa2bc638558818703345083.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d5158598-12d9-4a90-a294-7fe1302aa2bc638558818701298502.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Go From Notebook To Pipeline For Your Data Science Projects With Orchest</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Jupyter notebooks are a dominant tool for data scientists, but they lack a number of conveniences for building reusable and maintainable systems. For machine learning projects in particular there is a need for being able to pivot from exploring a particular dataset or problem to integrating that solution into a larger workflow. Rick Lamers and Yannick Perrenet were tired of struggling with one-off solutions when they created the Orchest platform. In this episode they explain how Orchest allows you to turn your notebooks into executable components that are integrated into a graph of execution for running end-to-end machine learning workflows.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Rick Lamers and Yannick Perrenet about Orchest, a development environment designed for building data science pipelines from notebooks and scripts.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what Orchest is and the story behind it?</li>
<li>Who are the users that you are building Orchest for and what are their biggest challenges?
<ul>
<li>What are some examples of the types of tools or workflows that they are using now?</li>
</ul>
</li>
<li>What are some of the other tools or strategies in the data science ecosystem that Orchest might replace? (e.g. MLFlow, Metaflow, etc.)</li>
<li>What problems does Orchest solve?</li>
<li>Can you describe how Orchest is implemented?
<ul>
<li>How have the design and goals of the project changed since you first started working on it?</li>
</ul>
</li>
<li>What is the workflow for someone who is using Orchest?</li>
<li>What are some of the sharp edges that they might run into?</li>
<li>What is the deployable unit once a pipeline has been created?
<ul>
<li>How do you handle verification and promotion of pipelines across staging and production environments?</li>
</ul>
</li>
<li>What are the interfaces available for integrating with or extending Orchest?
<ul>
<li>How might an organization incorporate a pipeline defined in Orchest with the rest of their data orchestration workflows?</li>
</ul>
</li>
<li>How are you approaching governance and sustainability of the Orchest project?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen Orchest used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while building Orchest?</li>
<li>When is Orchest the wrong choice?</li>
<li>What do you have planned for the future of the project and company?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Rick
<ul>
<li><a href="https://github.com/ricklamers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ricklamers</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/lamersrick/?originalSubdomain=nl&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/RickLamers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@RickLamers</a> on Twitter</li>
</ul>
</li>
<li>Yannick
<ul>
<li><a href="https://github.com/yannickperrenet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">yannickperrenet</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/yannickperrenet/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.google.com/search?q=fresh+bagels+near+me&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fresh Bagels</a></li>
</ul>
</li>
<li>Rick
<ul>
<li><a href="https://github.com/vaexio/vaex?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vaex</a></li>
</ul>
</li>
<li>Yannick
<ul>
<li><a href="https://cookiecutter.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cookiecutter</a></li>
<li><a href="https://github.com/pyenv/pyenv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyenv</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.orchest.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Orchest</a></li>
<li><a href="https://www.cs.toronto.edu/~hinton/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Geoffrey Hinton</a></li>
<li><a href="http://yann.lecun.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yann LeCun</a></li>
<li><a href="https://coffeescript.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CoffeeScript</a></li>
<li><a href="https://www.vim.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vim</a></li>
<li><a href="https://en.wikipedia.org/wiki/Generative_adversarial_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GAN == Generative Adversarial Network</a></li>
<li><a href="http://git-scm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git</a></li>
<li><a href="https://en.wikipedia.org/wiki/SQL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQL</a></li>
<li><a href="https://cloud.google.com/bigquery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BigQuery</a></li>
<li><a href="https://software-carpentry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Software Carpentry</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-33-maneesha-sane-on-software-and-data-carpentry/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://colab.research.google.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Colab</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-44-airflow-with-maxime-beauchemin/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://kedro.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kedro</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/kedro-data-pipeline-episode-100/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/fastai/nbdev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nbdev</a>
<ul>
<li><a href="https://www.pythonpodcast.com/nbdev-literate-programming-episode-300/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://papermill.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Papermill</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/using-notebooks-as-the-unifying-layer-for-data-roles-at-netflix-with-matthew-seal-episode-54/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://mlflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MLFlow</a></li>
<li><a href="https://metaflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metaflow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/metaflow-machine-learning-operations-episode-274/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://dvc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DVC</a>
<ul>
<li><a href="https://www.pythonpodcast.com/data-version-control-episode-206/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.andrewng.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Andrew Ng</a></li>
<li><a href="https://www.kubeflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubeflow</a></li>
<li><a href="http://www.lua.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lua</a></li>
<li><a href="https://caddyserver.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Caddy</a></li>
<li><a href="https://traefik.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Traefik</a></li>
<li><a href="https://en.wikipedia.org/wiki/Directed_acyclic_graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DAG == Directed Acyclic Graph</a></li>
<li><a href="https://jupyter-enterprise-gateway.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Enterprise Gateway</a></li>
<li><a href="https://www.streamlit.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Streamlit</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://dagster.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster</a>
<ul>
<li><a href="https://www.pythonpodcast.com/dagster-data-orchestration-episode-279/?utm_source=rss&utm_medium=rss">Podcast.__init__ Episode</a></li>
<li><a href="https://www.dataengineeringpodcast.com/dagster-data-applications-episode-104/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.getdbt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DBT</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://gitlab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitLab</a></li>
<li><a href="https://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a></li>
<li><a href="https://en.wikipedia.org/wiki/Extract,_transform,_load?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ETL</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Forchest-data-science-ide-episode-304%2F&amp;action_name=Go+From+Notebook+To+Pipeline+For+Your+Data+Science+Projects+With+Orchest+-+Episode+304&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-03-02t01:41:21+00:00-9de9cd112c0c704</guid>
      <link>https://www.pythonpodcast.com/orchest-data-science-ide-episode-304</link>
      <pubDate>Tue, 2 Mar 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2109.50" duration="24.85">And what we've noticed is if that can be interactive where you can visualize the values or the distributions of columns, and if you can do that iteratively, it's a lot less painful because you don't have to, like, kick off a job, wait, look at the output, say, oh, this data is actually contained some null values. And I have to, like, kind of rinse and repeat that tedious process. With Orcus, you can kind of inject using the interactivity between each step in the data pipeline.</podcast:soundbite>
      <podcast:soundbite startTime="137.58" duration="21.10">And I remember thinking when I was first trying out Python, this has been created by a Dutch guy, so I kinda owe it to the Dutch, you know, society to try out this language. And I remember very vividly that the first time working in it, it felt natural straight off the bat, which I can't say from any other languages felt like this. So I was kinda hooked right from the get go.</podcast:soundbite>
      <podcast:soundbite startTime="2413.77" duration="19.81">I think the stigma of notebooks, I think, is good to cover. I think a lot of things have been said about the advantages and disadvantages of notebooks. And I think rather than kind of attacking the shortcomings of notebooks, yes, the encoding of JSON makes it hard to version them. I think we should try to see the merits and address the shortcomings.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:24</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Go From Notebook To Pipeline For Your Data Science Projects With Orchest</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>304</itunes:episode>
      <podcast:episode>304</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525318312064941c2c0fd60-de9f-46dd-8658-d4338e63e77av1.mp3" length="29805217" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525318312064941c2c0fd60-de9f-46dd-8658-d4338e63e77av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c2c0fd60-de9f-46dd-8658-d4338e63e77a638558838723210501.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c2c0fd60-de9f-46dd-8658-d4338e63e77a638558838720283091.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c2c0fd60-de9f-46dd-8658-d4338e63e77a638558838717551426.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Write Your Python Scripts In A Flow Based Visual Editor With Ryven</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>When you are writing a script it can become unwieldy to understand how the logic and data are flowing through the program. To make this easier to follow you can use a flow-based approach to building your programs. Leonn Thomm created the Ryven project as an environment for visually constructing a flow-based program. In this episode he shares his inspiration for creating the Ryven project, how it changes the way you think about program design, how Ryven is implemented, and how to get started with it for your own programs.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Leon Thomm about Ryven, a flow-based visual scripting environment for Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what Ryven is and what inspired you to create it?</li>
<li>What is flow-based visual scripting?</li>
<li>What are other popular flow-based visual scripting systems out there and have they been inspiring to the project?
<ul>
<li>What problem(s) do these try to solve?</li>
</ul>
</li>
<li>What are some of the places where you are drawing inspiration for Ryven?</li>
<li>What are the kinds of projects that someone might build with Ryven?</li>
<li>How are you using Ryven in your personal projects?</li>
<li>How does structuring a project as a set of nodes in a flow graph influence the way that you think about how to design the solution to a problem?</li>
<li>Can you describe how Ryven is implemented?
<ul>
<li>How has the design or goals of the project changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>For someone who wants to use Ryven to build a project can you describe their workflow?</li>
<li>How do you handle things like code quality and tests for a Ryven project?</li>
<li>How do you manage collaboration for a Ryven project? (e.g. version control)</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Ryven used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while building Ryven?</li>
<li>When is Ryven the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/leon-thomm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">leon-thomm</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://pyinfra.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyInfra</a></li>
</ul>
</li>
<li>Leon
<ul>
<li><a href="https://www.simonandschuster.com/books/A-Universe-from-Nothing/Lawrence-M-Krauss/9781451624465?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A Universe from Nothing!</a> by Lawrence M. Krauss</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://ryven.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ryven</a></li>
<li><a href="https://en.wikipedia.org/wiki/Switzerland?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Switzerland</a></li>
<li><a href="https://www.qt.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qt</a> C++ framework</li>
<li><a href="https://en.wikipedia.org/wiki/Flow-based_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flow-based Scripting</a></li>
<li><a href="https://www.unrealengine.com/en-US/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unreal Engine</a></li>
<li><a href="https://nodered.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Node-RED</a></li>
<li><a href="https://ifttt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IFTTT == IF This Then That</a></li>
<li><a href="https://en.wikipedia.org/wiki/Directed_acyclic_graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DAG == Directed Acyclic Graph</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mind_map?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mind Map</a></li>
<li><a href="https://en.wikipedia.org/wiki/Literate_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Literate Programming</a></li>
<li><a href="https://nbdev.fast.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nbdev</a>
<ul>
<li><a href="https://www.pythonpodcast.com/nbdev-literate-programming-episode-300/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://orgmode.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Org Mode</a></li>
<li><a href="https://opencv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenCV</a></li>
<li><a href="https://scikit-learn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://docs.unrealengine.com/en-US/PythonAPI/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unreal Python</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fryven-flow-based-visual-scripting-episode-303%2F&amp;action_name=Write+Your+Python+Scripts+In+A+Flow+Based+Visual+Editor+With+Ryven+-+Episode+303&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-02-21t02:33:08+00:00-92e6d3cdc63f677</guid>
      <link>https://www.pythonpodcast.com/ryven-flow-based-visual-scripting-episode-303</link>
      <pubDate>Tue, 23 Feb 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1053.96" duration="50.49">So I think 1 very important thing to mention is that at least for Riven, the idea is not at all to provide a full alternative to conventional coding, to textual coding. It's not at all the idea to replace textual coding in some way. It's just a different approach that requires a little bit different kind of thinking for different applications. So what you would not want to do I mean, you could do it, but I think this quickly gets pretty messy is taking a script that you have written in source code and basically creating notes for all the atomic operations that you're doing, and then create the same thing using the flow structure. I did this myself just to try it out with, like, the basic examples, like sorting algorithms, stuff like that.</podcast:soundbite>
      <podcast:soundbite startTime="198.10" duration="38.58">Basically, Riven is a small environment for flow based visual scripting in Python. So what it is, it it implements the idea of flow based visual scripting using a more diagram like, representation to represent parts of your script of your code. And it just provides with a software that makes it kind of intuitive. So basically, to give a little picture how this works, you have, like, a scene and you can place blocks inside the scene and you can connect these blocks with connections to define relations between these blocks. And this is how you define your program structure.</podcast:soundbite>
      <podcast:soundbite startTime="66.17" duration="13.30">I'm Leon Tham. I am from Germany, and I am a student currently studying computer science in Switzerland. I finished high school last year. So I'm in just started my bachelor. So there's a long way to go for me.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:21</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Write Your Python Scripts In A Flow Based Visual Editor With Ryven</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>303</itunes:episode>
      <podcast:episode>303</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303718873532a9159a95-84d0-473d-9144-50d83cc85033v1.mp3" length="28871213" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303718873532a9159a95-84d0-473d-9144-50d83cc85033v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a9159a95-84d0-473d-9144-50d83cc85033638558805854449597.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a9159a95-84d0-473d-9144-50d83cc85033638558805851910079.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a9159a95-84d0-473d-9144-50d83cc85033638558805849865228.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>CrossHair: Your Automatic Pair Programmer</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>One of the perennial challenges in software engineering is to reduce the opportunity for bugs to creep into the system. Some of the tools in our arsenal that help in this endeavor include rich type systems, static analysis, writing tests, well defined interfaces, and linting. Phillip Schanely created the CrossHair project in order to add another ally in the fight against broken code. It sits somewhere between type systems, automated test generation, and static analysis. In this episode he explains his motivation for creating it, how he uses it for his own projects, and how to start incorporating it into yours. He also discusses the utility of writing contracts for your functions, and the differences between property based testing and SMT solvers. This is an interesting and informative conversation about some of the more nuanced aspects of how to write well-behaved programs.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Phillip Schanely about CrossHair, an analysis tool for Python that blurs the line between testing and type systems.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what the CrossHair project is and how it got started?</li>
<li>What are some examples of the types of tools that CrossHair might augment or replace? (e.g. Pydantic, Doctest, etc.)</li>
<li>What are the categories of bugs or problems in your code that CrossHair can help to identify or discover?</li>
<li>Can you explain the benefits of implementing contracts in your software?</li>
<li>What are the limitations of contract implementations?</li>
<li>What are the available interfaces for creating and validating contracts?</li>
<li>How does the use of contracts in your software influence the overall design of the system?</li>
<li>How does CrossHair compare to type systems in terms of use cases or capabilities?</li>
<li>Can you describe how CrossHair is implemented?
<ul>
<li>How has the design or goal of CrossHair changed or evolved since you first began working on it?</li>
<li>What are some of the other projects that you have gained inspiration or ideas from while working on CrossHair? (inside or outside of the Python ecosystem)</li>
</ul>
</li>
<li>For someone who wants to get started with CrossHair, can you talk through the developer workflow?</li>
<li>I noticed that you recently added support for validating the functional equivalency of different method implementations. What was the inspiration for that capability?
<ul>
<li>What kinds of use cases does that enable?</li>
</ul>
</li>
<li>How much of CrossHair are you able to dogfood while developing CrossHair?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen CrossHair used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on CrossHair?</li>
<li>When is CrossHair the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/pschanely?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pschanely</a> on GitHub</li>
<li><a href="https://twitter.com/pschanely?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@pschanely</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/phil-schanely-1171131/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt4532038/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The War With Grandpa</a></li>
</ul>
</li>
<li>Phillip
<ul>
<li><a href="https://amzn.to/3rRaK5e?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hammock chairs!</a> (affiliate link)</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/pschanely/CrossHair#ide-integrations?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CrossHair</a></li>
<li><a href="https://www.nltk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLTK == Natural Language ToolKit</a></li>
<li><a href="https://en.wikipedia.org/wiki/ACL2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ACL2</a></li>
<li><a href="https://ucsd-progsys.github.io/liquidhaskell-blog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Liquid Haskell</a></li>
<li><a href="https://en.wikipedia.org/wiki/Satisfiability_modulo_theories?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SMT Solver</a></li>
<li><a href="https://docs.python.org/3/library/doctest.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Doctest</a></li>
<li><a href="https://hypothesis.works/articles/what-is-property-based-testing/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Property Based Testing</a></li>
<li><a href="https://hypothesis.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypothesis</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-52-hypothesis-with-david-maciver/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Halting_problem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Halting Problem</a></li>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pydantic</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0316/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 316</a></li>
<li><a href="https://pypi.org/project/icontract/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">icontract</a></li>
<li><a href="https://en.wikipedia.org/wiki/Eiffel_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eiffel</a> programming language</li>
<li><a href="https://en.wikipedia.org/wiki/Design_by_contract?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Design By Contract</a></li>
<li><a href="https://en.wikipedia.org/wiki/Metamorphic_testing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metamorphic Testing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Kind_(type_theory)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Higher Order Types</a></li>
<li><a href="https://en.wikipedia.org/wiki/Fuzzing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fuzz Testing</a></li>
<li><a href="https://www.fuzzingbook.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Fuzzing Book</a></li>
<li><a href="https://docs.python.org/3/library/sys.html#sys.addaudithook?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Audit Hooks</a></li>
<li><a href="https://github.com/github/scientist?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub Scientist</a>
<ul>
<li><a href="https://github.com/joealcorn/laboratory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Laboratory</a> Python implementation of GitHub Scientist
<ul>
<li><a href="https://www.pythonpodcast.com/laboratory-with-joe-alcorn-episode-150/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Taint_checking?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Taint Analysis</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcrosshair-automated-bug-finder-episode-302%2F&amp;action_name=CrossHair%3A+Your+Automatic+Pair+Programmer+-+Episode+302&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-02-15t02:02:18+00:00-401818f4b67a1df</guid>
      <link>https://www.pythonpodcast.com/crosshair-automated-bug-finder-episode-302</link>
      <pubDate>Tue, 16 Feb 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="65.65" duration="11.66">So, Philip, can you start by introducing yourself? My name is Philip. I am a just a Python fanboy. The primary dev on Crosshair. For my day job, I work on maps data for Google.</podcast:soundbite>
      <podcast:soundbite startTime="842.60" duration="46.08">There are a lot of opinionated people about this. The original contract idea, I believe, came out of the program language called Eiffel. And in the text, it's often referred to as design by contract, like it comes with a design philosophy. There's no reason that you need to have a design philosophy around it. So, you know, if you just wanna verify some assertive statements, just, you know, just do that. But you can adopt some design philosophy around it. In the original incarnations, the idea was, like, you actually write your contracts before you write your function. In some sense, this is not different than, like, a test driven design where you're like, oh, write your test first and then implement your function. The difference is, of course, that that contract sort of, like, specify almost infinitely many test cases. That's the thing.</podcast:soundbite>
      <podcast:soundbite startTime="150.36" duration="37.92">Can you give a bit of an example of the types of use cases that it enables or some of the ways that it fits into the overall development flow and maybe some of the other tools in the Python ecosystem that it might either augment or replace? In many cases, crosshair can be used alongside existing tools. So 1 of the ways you can use it is to put your conditions and the contracts and the the properties you want to specify inside the docstring. You can do that alongside your dot tests so you can have some examples and then also specify, properties that should always hold about your code. So there's some nice synergy there.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>CrossHair: Your Automatic Pair Programmer</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>302</itunes:episode>
      <podcast:episode>302</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531442355164581fe6a9b-3e9f-4a8f-81a9-95ff402b7ecev1.mp3" length="31850907" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531442355164581fe6a9b-3e9f-4a8f-81a9-95ff402b7ecev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_81fe6a9b-3e9f-4a8f-81a9-95ff402b7ece638558824967451396.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/81fe6a9b-3e9f-4a8f-81a9-95ff402b7ece638558824963933179.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/81fe6a9b-3e9f-4a8f-81a9-95ff402b7ece638558824962089911.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Giving Your Data Science Projects And Teams A Home At DagsHub</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Collaborating on software projects is largely a solved problem, with a variety of hosted or self-managed platforms to choose from. For data science projects, collaboration is still an open question. There are a number of projects that aim to bring collaboration to data science, but they are all solving a different aspect of the problem. Dean Pleban and Guy Smoilovsky created DagsHub to give individuals and teams a place to store and version their code, data, and models. In this episode they explain how DagsHub is designed to make it easier to create and track machine learning experiments, and serve as a way to promote collaboration on open source data science projects.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Dean Pleban and Guy Smoilovsky about DagsHub, a platform to track experiments, and version data, models &amp; pipelines for your data science and machine learning projects.</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introduction</li>
<li>How did you first get introduced to Python?</li>
<li>Can you start by describing what the DagsHub platform is and why you built it?</li>
<li>There are a number of projects and platforms that aim to support collaboration among data scientists. What are the distinguishing features of DagsHub and how does it compare to the other options in the ecosystem?
<ul>
<li>What are the biggest opportunities for improvement that you still see in the space of collaboration on data projects?</li>
</ul>
</li>
<li>What do you see as the biggest points of friction for building experiments and managing source data collaboratively?</li>
<li>Can you describe how the DagsHub platform is implemented?
<ul>
<li>How have the design and goals of the system changed or evolved since you first began working on it?</li>
<li>How has your own understanding and practices of working on data science/ML projects changed changed?</li>
</ul>
</li>
<li>GitHub has a number of convenience features beyond just storing a git repository. What are the capabilities that you are focusing on to add value to the data science workflow within DagsHub?</li>
<li>How are you approaching the bootstrapping problem of building a critical mass of users to be able to generate a beneficial network effect?</li>
<li>Are there any conventions that make it easier or more familiar for newcomers to a given project? (e.g. code layout, data labeling/tagging formats, etc.)</li>
<li>What are your recommendations for managing onwership/licensing of data assets in public projects?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen DagsHub used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while building DagsHub?</li>
<li>When is DagsHub the wrong choice?</li>
<li>What do you have planned for the future of the platform and business?</li>
</ul>
<h3>Keep In Touch</h3>
<p>Follow us on Twitter or LinkedIn, join our Discord, sign up to DAGsHub</p>
<ul>
<li><a href="https://twitter.com/DeanPlbn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@DeanPlbn</a></li>
<li><a href="https://twitter.com/Guy_T_Sky?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Guy_T_Sky</a></li>
<li><a href="https://twitter.com/TheRealDAGsHub?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@TheRealDAGsHub</a></li>
<li><a href="https://discord.com/invite/pk22NradY4?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DagsHub Discord</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.penguinrandomhouse.com/books/294429/the-remarkable-journey-of-prince-jen-by-lloyd-alexander/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Remarkable Journey of Prince Jen</a> by Lloyd Alexander</li>
</ul>
</li>
<li>Dean
<ul>
<li><a href="https://www.cambridge.org/us/academic/subjects/physics/quantum-physics-quantum-information-and-quantum-computation/quantum-computing-democritus?format=PB&amp;isbn=9780521199568&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Computing Since Democritus</a> by Scott Aaronson</li>
<li><a href="https://www.imdb.com/title/tt3230854/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Expanse</a> TV Series</li>
</ul>
</li>
<li>Guy
<ul>
<li>Try to consume only the very best of available content, not the things that are coming out right now.</li>
<li>Applies to textbooks, TV shows, movies</li>
<li><a href="https://www.lesswrong.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Less Wrong</a> blog</li>
<li><a href="https://astralcodexten.substack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slate Star Codex \ Astral Codex Ten</a></li>
<li><a href="https://www.imdb.com/title/tt0417299/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Avatar: The Last Airbender</a></li>
<li><a href="https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3 Blue 1 Brown</a> YouTube Channel</li>
<li><a href="https://www.haskell.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Haskell</a></li>
<li><a href="https://clojure.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clojure</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://dagshub.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DagsHub</a></li>
<li><a href="https://dvc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DVC</a>
<ul>
<li><a href="https://www.pythonpodcast.com/data-version-control-episode-206/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://drivendata.github.io/cookiecutter-data-science/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Science Cookiecutter</a></li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebooks</a></li>
<li><a href="https://paperswithcode.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Papers With Code</a></li>
<li><a href="https://www.connectedpapers.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Connected Papers</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdagshub-data-science-collaboration-episode-301%2F&amp;action_name=Giving+Your+Data+Science+Projects+And+Teams+A+Home+At+DagsHub+-+Episode+301&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-02-09t01:57:32+00:00-69de702c74dd979</guid>
      <link>https://www.pythonpodcast.com/dagshub-data-science-collaboration-episode-301</link>
      <pubDate>Tue, 9 Feb 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="186.01" duration="34.24">Basically, I've been a software developer, like, professionally for a bit more than 10 years. Now a variety of of fields like mobile, cyber, all kinds of unrelated areas, but my last job, which I've done for 3 years, was as 1 of the developers in a startup called Glassbox Digital, where I came in to do, like, heavy duty data engineering, like how to ingest and handle data rates of, like, gigabits per second and just having to elastic search, do all kinds of analytics on top of them.</podcast:soundbite>
      <podcast:soundbite startTime="592.90" duration="41.52">Maybe to start because I didn't exactly explain it, what is the exam right now. So it's a platform, site, where you can collaborate on open source data science projects like GitHub for machine learning. The analogy is very correct because you can actually get push your data science projects and get features that are more useful specifically for data scientists versus software to 1.0 developers, like data and model hosting and the ability to contribute not just code changes, but the more important parts like contributions to data and new experiments, review tools, automatic reproducibility, experiment tracking.</podcast:soundbite>
      <podcast:soundbite startTime="2757.67" duration="47.72">On 3 fronts. The first is a product front. So our near term plans are to add real time experiment tracking capabilities. That's something that's been coming up from users. Obviously, you can already see your experiments on DAGS Hub. But if you want in real time, if you're training a heavy deep learning model, you want to see that the loss curve is is converging, We plan to add support for such a use case in the near future. We also plan on adding sort of integrations and help with automations, for example, continuous training and deployment, which we men we mentioned a few questions ago. Again, in all of these cases, we don't plan on building these things from scratch, but integrating with the best solutions that are already in the field since that offers our users the the best options that they could have.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:20</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Giving Your Data Science Projects And Teams A Home At DagsHub</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>301</itunes:episode>
      <podcast:episode>301</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297618126819d6c1c8c9-77a2-4c5b-9911-0bbbf6654ecev2.mp3" length="44848945" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297618126819d6c1c8c9-77a2-4c5b-9911-0bbbf6654ecev2.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d6c1c8c9-77a2-4c5b-9911-0bbbf6654ece638558789343729406.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d6c1c8c9-77a2-4c5b-9911-0bbbf6654ece638558789340752370.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d6c1c8c9-77a2-4c5b-9911-0bbbf6654ece638558789338514473.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Exploring Literate Programming For Python Projects With nbdev</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Creating well designed software is largely a problem of context and understanding. The majority of programming environments rely on documentation, tests, and code being logically separated despite being contextually linked. In order to weave all of these concerns together there have been many efforts to create a literate programming environment. In this episode Jeremy Howard of fast.ai fame and Hamel Husain of GitHub share the work they have done on nbdev. The explain how it allows you to weave together documentation, code, and tests in the same context so that it is more natural to explore and build understanding when working on a project. It is built on top of the Jupyter environment, allowing you to take advantage of the other great elements of that ecosystem, and it provides a number of excellent out of the box features to reduce the friction in adopting good project hygiene, including continuous integration and well designed documentation sites. Regardless of whether you have been programming for 5 days, 5 years, or 5 decades you should take a look at nbdev to experience a different way of looking at your code.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jeremy Howard and Hamel Husain about nbdev, a library for turning Jupyter notebooks into Python libraries.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what nbdev is and the goals of the project?
<ul>
<li>What is the story behind how and why it got started?</li>
</ul>
</li>
<li>Who is the target audience for the nbdev project?
<ul>
<li>How does that focus influence the features and design of nbdev?</li>
</ul>
</li>
<li>What do you see as the primary challenges of building and collaborating on projects written in notebooks?</li>
<li>What are some of the other projects that are working to simplify or improve the experience of using notebooks?
<ul>
<li>How does nbdev compare to or complement those other tools?</li>
</ul>
</li>
<li>Can you describe how nbdev is implemented?
<ul>
<li>How has the design and goals of the project evolved since it was first started?</li>
</ul>
</li>
<li>What is the workflow of someone who is using nbdev?
<ul>
<li>At what point in the lifecycle of a notebook oriented project should someone start integrating nbdev?</li>
</ul>
</li>
<li>How does nbdev scale when working on a project that spans multiple notebooks/modules?</li>
<li>How does working in a notebook environment change your approach to software development and project design?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen nbdev used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned from working on nbdev?</li>
<li>When is nbdev the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Jeremy
<ul>
<li><a href="https://www.linkedin.com/in/howardjeremy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/jeremyphoward?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jeremyphoward</a> on Twitter</li>
<li><a href="https://github.com/jph00?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jph00</a> on GitHub</li>
</ul>
</li>
<li>Hamel
<ul>
<li><a href="https://github.com/hamelsmu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hamelsmu</a> on GitHub</li>
<li><a href="https://hamel.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/HamelHusain?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@HamelHusain</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/hamelhusain/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.audible.com/series/Rivals-Audiobooks/B07S6SDQB6?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rivals! Frenemies Who Changed The World</a></li>
</ul>
</li>
<li>Jeremy
<ul>
<li><a href="https://en.wikipedia.org/wiki/Chess?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chess</a></li>
</ul>
</li>
<li>Hamel
<ul>
<li><a href="https://amzn.to/2NGuLMS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moonwalking With Einstein</a> by Joshua Foer (affiliate link)</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://nbdev.fast.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nbdev</a></li>
<li><a href="https://www.fast.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">fast.ai</a></li>
<li><a href="https://github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://www.fastmail.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fastmail</a></li>
<li><a href="https://rstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R Studio</a></li>
<li><a href="https://rmarkdown.rstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R Markdown</a></li>
<li><a href="https://en.wikipedia.org/wiki/Literate_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Literate Programming</a></li>
<li><a href="https://fastcore.fast.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">fastcore</a></li>
<li><a href="https://jupyterlab.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JupyterLab</a></li>
<li><a href="https://nteract.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nteract</a></li>
<li><a href="https://github.com/voila-dashboards/voila?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Voilà</a></li>
<li><a href="https://docs.github.com/en/actions?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub Actions</a></li>
<li><a href="https://www.sphinx-doc.org/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sphinx</a></li>
<li><a href="https://colab.research.google.com/notebooks/intro.ipynb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Colab</a></li>
<li><a href="https://amzn.to/36lJG5N?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Working In Public</a> by Nadia Eghbal (affiliate link)</li>
<li><a href="https://jekyllrb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jekyll</a></li>
<li><a href="https://gohugo.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hugo</a></li>
<li><a href="https://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-45-cython-with-craig-citro-and-robert-bradshaw/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fnbdev-literate-programming-episode-300%2F&amp;action_name=Exploring+Literate+Programming+For+Python+Projects+With+nbdev+-+Episode+300&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-02-02t02:36:51+00:00-7ad11860df08715</guid>
      <link>https://www.pythonpodcast.com/nbdev-literate-programming-episode-300</link>
      <pubDate>Tue, 2 Feb 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="277.18" duration="22.50">So nbdev is something which brings the kind of worlds of a software development of Python libraries and notebooks together so that you can use notebooks. A single notebook will create your tests, your documentation, and your actual Python module all in 1 place. And I just love working with that. I find it dramatically more enjoyable and more productive.</podcast:soundbite>
      <podcast:soundbite startTime="1873.73" duration="45.38">When developing software notebooks like this, 1 thing that has changed for me is compared to a text editor where you might have a bunch of code and, you know, you have various functions, and those functions may have entry points. It's unclear, like, what the entry point to that function is or what code path leads to that function. So debugging can be a little bit sometimes complicated. But when you, develop code in notebooks and along with the documentation, you're creating playground where you want to show everybody what is the entry point to that function, how to execute it, what are the dependencies. You know, you kinda create this environment with the minimal dependencies required to execute that function or method, and that is really powerful.</podcast:soundbite>
      <podcast:soundbite startTime="796.08" duration="34.68">Another problem with collaboration is, like, notebooks. There's some quite nice notebook viewers on the web, and GitHub isn't has a basic notebook viewer, but they're not as not nearly as nice to work with as properly indexed documentation with proper hyperlinks and tables of contents and search and so forth. So, again, nbdev will add that for you. So, yeah, all the kind of limitations of working with notebooks, of which there are many, suddenly actually become features when you add nbdev on top of it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:39</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Exploring Literate Programming For Python Projects With nbdev</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>300</itunes:episode>
      <podcast:episode>300</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531553275568896439787-86f0-4b1d-8701-a84cae11da83v1.mp3" length="32574083" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531553275568896439787-86f0-4b1d-8701-a84cae11da83v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_96439787-86f0-4b1d-8701-a84cae11da83638558829260855832.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/96439787-86f0-4b1d-8701-a84cae11da83638558829256800887.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/96439787-86f0-4b1d-8701-a84cae11da83638558829254679012.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Making The Sans I/O Ideal A Reality For The Websockets Library</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Working with network protocols is a common need for software projects, particularly in the current age of the internet. As a result, there are a multitude of libraries that provide interfaces to the various protocols. The problem is that implementing a network protocol properly and handling all of the edge cases is hard, and most of the available libraries are bound to a particular I/O paradigm which prevents them from being widely reused. To address this shortcoming there has been a movement towards &quot;sans I/O&quot; implementations that provide the business logic for a given protocol while remaining agnostic to whether you are using async I/O, Twisted, threads, etc. In this episode Aymeric Augustin shares his experience of refactoring his popular websockets library to be I/O agnostic, including the challenges involved in how to design the interfaces, the benefits it provides in simplifying the tests, and the work needed to add back support for async I/O and other runtimes. This is a great conversation about what is involved in making an ideal a reality.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Aymeric Augustin about his work on the websockets library and the work involved in making it sans I/O</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of your work on the websockets library and how the project got started?</li>
<li>What does &quot;sans I/O&quot; mean and what are the goals associated with it?</li>
<li>Can you share the history of your work on the websockets project?
<ul>
<li>What was your motivation for starting down the path of rearchitecting a project that is already production ready?</li>
</ul>
</li>
<li>Can you talk through how the websockets library is architected currently?
<ul>
<li>How has the design of the project evolved since you first began working on it?</li>
<li>At a high level, what were the changes required to make it functionally sans i/o?</li>
</ul>
</li>
<li>What do you see as the primary challenges associated with making network related libraries sans i/o?</li>
<li>In your experience of porting websockets to be purely protocol oriented, what are the technical and design challenges that you faced?</li>
<li>One of the goals of the Sans I/O approach is to support reusability and composability of network protocol implementations. What has your experience been as to the viability of those goals in practice?</li>
<li>What is your current perspective on the cost/benefit of the sans i/o conversion?</li>
<li>Who are the primary consumers of the websockets library?
<ul>
<li>How do you foresee the target audience changing once you have completed extracting the protocol logic?</li>
</ul>
</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen the websockets project used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on the websockets project and sans i/o conversion?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/aaugustin/?originalSubdomain=fr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/aymericaugustin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@aymericaugustin</a> on Twitter</li>
<li><a href="https://myks.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Jigsaw_puzzle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jigsaw Puzzles</a></li>
</ul>
</li>
<li>Aymeric
<ul>
<li><a href="https://qonto.com/en/blog/inside-qonto/inside-qonto-aymeric-augustin-cto?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inside Qonto interview</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://fractalideas.com/blog/sans-io-when-rubber-meets-road/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sans I/O: When The Rubber Meets The Road</a></li>
<li><a href="https://github.com/aaugustin/websockets/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Websockets</a> library</li>
<li><a href="https://tools.ietf.org/html/rfc6455?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Websockets Protocol</a></li>
<li><a href="https://qonto.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qonto</a></li>
<li><a href="https://groups.google.com/g/python-tulip?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tulip</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Asyncio</a></li>
<li><a href="https://alice-collaboration.web.cern.ch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CERN Particle Accelerator</a></li>
<li><a href="https://sans-io.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sans I/O</a></li>
<li><a href="https://lukasa.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cory Benfield</a></li>
<li><a href="https://tools.ietf.org/html/rfc7540?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HTTP/2</a></li>
<li><a href="https://twistedmatrix.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a></li>
<li><a href="https://github.com/dabeaz/curio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Curio</a></li>
<li><a href="https://github.com/python-trio/trio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trio</a></li>
<li><a href="https://en.wikipedia.org/wiki/Inversion_of_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inversion of Control</a></li>
<li><a href="https://github.com/acatton/ohneio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ohneio</a> helper library for implementing sans I/O network protocols</li>
<li><a href="https://en.wikipedia.org/wiki/SOCKS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SOCKS Proxy</a></li>
<li><a href="https://github.com/sanic-org/sanic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sanic</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fwebsockets-sans-io-episode-299%2F&amp;action_name=Making+The+Sans+I%2FO+Ideal+A+Reality+For+The+Websockets+Library+-+Episode+299&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-01-26t00:18:28+00:00-06b0bbedbd701dc</guid>
      <link>https://www.pythonpodcast.com/websockets-sans-io-episode-299</link>
      <pubDate>Tue, 26 Jan 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="851.78" duration="24.85">So from a regular user's perspective, I think it can change nothing. You can provide exactly the same high level API. And my plan at this point is to swap the legacy asyncio based implementation with the new Sans IO based implementation. So every user in some version update will get the new 1 by default, and I think it could work.</podcast:soundbite>
      <podcast:soundbite startTime="394.66" duration="22.74">The good news about a Hubby project is that I don't have to have a specific reason to pursue different goals. And in fact, it's a complete switch from the original goal. The original goal of WebSockets was to feel asynch Ionally. And over time, I put a lot of energy into making sure the APIs would behave like similar APIs in plain asyncio.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:04</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Making The Sans I/O Ideal A Reality For The Websockets Library</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>299</itunes:episode>
      <podcast:episode>299</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252998809916195abcff57-611d-42fa-82e9-2f0da0fb9cf8v1.mp3" length="26686743" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252998809916195abcff57-611d-42fa-82e9-2f0da0fb9cf8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_5abcff57-611d-42fa-82e9-2f0da0fb9cf8638558797487733469.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5abcff57-611d-42fa-82e9-2f0da0fb9cf8638558797485250202.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5abcff57-611d-42fa-82e9-2f0da0fb9cf8638558797483361774.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Driving Toward A Faster Python Interpreter With Pyston</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>One of the common complaints about Python is that it is slow. There are languages and runtimes that can execute code faster, but they are not as easy to be productive with, so many people are willing to make that tradeoff. There are some use cases, however, that truly need the benefit of faster execution. To address this problem Kevin Modzelewski helped to create the Pyston intepreter that is focused on speeding up unmodified Python code. In this episode he shares the history of the project, discusses his current efforts to optimize a fork of the CPython interpreter, and his goals for building a business to support the ongoing work to make Python faster for everyone. This is an interesting look at the opportunities that exist in the Python ecosystem and the work being done to address some of them.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Kevin Modzelewski about his work on Pyston, an interpreter for Python focused on compatibility and speed.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Pyston is and how it got started?</li>
<li>Can you share some of the history of the project and the recent changes?
<ul>
<li>What is your motivation for focusing on Pyston and Python optimization?</li>
</ul>
</li>
<li>What are the use cases that you are primarily focused on with Pyston?</li>
<li>Why do you think Python needs another performance project?</li>
<li>Can you describe the technical implementation of Pyston?
<ul>
<li>How has the project evolved since you first began working on it?</li>
</ul>
</li>
<li>What are the biggest challenges that you face in maintaining compatibility with CPython?</li>
<li>How does the approach to Pyston compare to projects like PyPy and Pyjion?</li>
<li>How are you approaching sustainability and governance of the project?</li>
<li>What are some of the most interesting, innovative, or unexpected uses for Pyston that you have seen?</li>
<li>What have you found to be the most interesting, unexpected, or challenging lessons that you have learned while working on Pyston?</li>
<li>When is Pyston the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/kmod?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">kmod</a> on GitHub</li>
<li><a href="https://blog.kevmod.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://www.linkedin.com/in/kevinmodzelewski/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://lastweekinaws.com/?grsf=v2xa48&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Last Week In AWS Newsletter</a></li>
</ul>
</li>
<li>Kevin
<ul>
<li><a href="https://en.wikipedia.org/wiki/Meditation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Meditation</a></li>
<li><a href="https://www.calm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Calm App</a></li>
<li><a href="https://www.headspace.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Headspace</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://blog.pyston.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyston</a>
<ul>
<li><a href="https://discord.com/invite/S7gsqnb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Discord Chat</a></li>
</ul>
</li>
<li><a href="https://www.dropbox.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dropbox</a></li>
<li><a href="https://github.com/python/cpython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CPython</a></li>
<li><a href="https://www.pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://github.com/tonybaloney/Pyjion?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyjion</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-51-pyjion-with-dino-viehland-and-brett-cannon/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.jython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jython</a></li>
<li><a href="https://github.com/hpyproject/hpy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hpy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/hpy-python-extension-episode-254/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Just-in-time_compilation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JIT Compiler</a></li>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Software Foundation</a>
<ul>
<li><a href="https://www.pythonpodcast.com/python-software-foundation-episode-217/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyston-fast-python-interpreter-episode-298%2F&amp;action_name=Driving+Toward+A+Faster+Python+Interpreter+With+Pyston+-+Episode+298&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-01-19t01:47:20+00:00-5648adb4bea3b38</guid>
      <link>https://www.pythonpodcast.com/pyston-fast-python-interpreter-episode-298</link>
      <pubDate>Tue, 19 Jan 2021 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="246.47" duration="19.44">I think a big part of it is is just a technical itch that I really wanna scratch. It just really bothers me that Python is not as fast as it could be. And I feel very attracted to that problem and feel like it should be solved. And if it hasn't been solved yet, then I wanna help solve it.</podcast:soundbite>
      <podcast:soundbite startTime="145.31" duration="17.33">So Pysen is a new implementation of Python that with the goal of being faster. And well, I say new implementation, but it's really a a fork of CPython, the reference implementation in terms of the technical implementation of it.</podcast:soundbite>
      <podcast:soundbite startTime="1772.60" duration="23.69">I think the biggest challenge is in getting adoption that we knew this going in. That if you look at something like PyPy, they seem very technically successful, but they also seem to not have super widespread adoption. So I think getting adoption is a first order problem with a even a very technical project like this.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:07</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Driving Toward A Faster Python Interpreter With Pyston</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>298</itunes:episode>
      <podcast:episode>298</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530748146675433d45c03-bd5b-41c0-9840-88f38b5a63f7v1.mp3" length="26874936" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530748146675433d45c03-bd5b-41c0-9840-88f38b5a63f7v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_33d45c03-bd5b-41c0-9840-88f38b5a63f7638558821398084048.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/33d45c03-bd5b-41c0-9840-88f38b5a63f7638558821394682381.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/33d45c03-bd5b-41c0-9840-88f38b5a63f7638558821392333299.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Project Scaffolding That Evolves With Your Software Using Copier</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Every software project has a certain amount of boilerplate to handle things like linting rules, test configuration, and packaging. Rather than recreate everything manually every time you start a new project you can use a utility to generate all of the necessary scaffolding from a template. This allows you to extract best practices and team standards into a reusable project that will save you time. The Copier project is one such utility that goes above and beyond the bare minimum by supporting project <em>evolution</em>, letting you bring in the changes to the source template after you already have a project that you have dedicated significant work on. In this episode Jairo Llopis explains how the Copier project works under the hood and the advanced capabilities that it provides, including managing the full lifecycle of a project, composing together multiple project templates, and how you can start using it for your own work today.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jairo Llopis about Copier, a library for managing project templates</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what the Copier project is?
<ul>
<li>How did you get involved in the project?</li>
<li>Can you share some of the history of the project?</li>
</ul>
</li>
<li>What do you see as the most common uses for a project templating tool?</li>
<li>There are a variety of different tools for scaffolding projects across a wide range of languages. What are the distinguishing features of Copier that might lead someone to choose it over the alternatives?</li>
<li>Can you describe how the Copier project is implemented?
<ul>
<li>How has the design and feature set evolved over time?</li>
</ul>
</li>
<li>What is the workflow for someone building a template with Copier?
<ul>
<li>What are some of the edge cases or complexities that they might run into?</li>
</ul>
</li>
<li>What are the options for extensibility or integration with Copier?</li>
<li>What are some of the capabilities or use cases for Copier that are often overlooked?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Copier used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working on and with Copier?</li>
<li>When is Copier the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/Yajo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yajo</a> on GitHub</li>
<li><a href="https://twitter.com/__yajo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">__yajo</a> on Twitter</li>
<li><a href="https://www.recallstack.icu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://bicyclecards.com/products/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Playing Cards</a></li>
</ul>
</li>
<li>Jairo
<ul>
<li><a href="https://hubs.mozilla.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozilla Hubs</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://copier.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Copier</a></li>
<li><a href="https://www.tecnativa.com/en_US/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tecnativa</a></li>
<li><a href="https://www.odoo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Odoo</a> Open Source ERP</li>
<li><a href="https://github.com/cookiecutter/cookiecutter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cookiecutter</a></li>
<li><a href="https://yeoman.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yeoman</a></li>
<li><a href="https://jinja.palletsprojects.com/en/2.11.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jinja</a></li>
<li><a href="https://www.recallstack.icu/en/2020/04/18/yeoman-and-cookiecutter-are-dead-long-live-copier/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cookiecutter, Yeoman, and Copier Blog Post</a></li>
<li><a href="https://github.com/Tecnativa/doodba-copier-template?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">doodba-copier-template</a></li>
<li><a href="https://github.com/topics/copier-template?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Copier Templates</a></li>
<li><a href="https://www.commitstrip.com/en/2020/04/16/a-story-of-duplicate-code?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A Story of Duplicate Code</a></li>
<li><a href="https://traefik.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Traefik</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcopier-project-scaffolding-episode-297%2F&amp;action_name=Project+Scaffolding+That+Evolves+With+Your+Software+Using+Copier+-+Episode+297&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-01-12t00:04:47+00:00-119f21201c9604d</guid>
      <link>https://www.pythonpodcast.com/copier-project-scaffolding-episode-297</link>
      <pubDate>Tue, 12 Jan 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="164.00" duration="46.64">Copier is this kind of tools are usually called template managers or scaffolding manager or generator. There's some tools similar. However, since version 3, which is the version I helped develop, I would say it's more a project life cycle management tool, which is somehow unique. And I got involved, because, well, I told you before I am working with Odoo, but Huddl has a very steep learning curve. To develop it, you need a lot of packages, not just from Python, but from many things you cannot pip install, although it's way more than that.</podcast:soundbite>
      <podcast:soundbite startTime="2631.19" duration="62.85">Copier 6 is gonna be a huge release. Really, really huge. Until now, let's say copier 12 was, simple, fun scaffolding project, just like any other, but easier. Copy of 345 has been the best templating engine in the world. No. Not the best, but, you know, it has these killer features. But Copier 6 is gonna be a complete refactor of Copier. I am confident about it because we have very, very big test coverage. So I'm refactoring it because Copier was built around functions, but functions were too dependent among themselves. And at the end of the day, it became hard to detect when is something happening, when not, or to have a relationships among the whole copying process.</podcast:soundbite>
      <podcast:soundbite startTime="501.40" duration="56.76">We are programmers, and we love to, to keep our code dry. What we call dry, don't repeat yourself. That's very nice, but sometimes you just cannot do that. Recently, I started 1 very, very little library that I needed for specific need. It's called Versort. It's for sorting versions. It's very small. It was like an exercise to see how much these undryable things are in a project. This project is 144 lines of Python code, plus 111 lines of Pytest code. So it's very, very small, but the total amount of lines it's 678, almost 700 lines for around 150 lines of real code.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:57</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Project Scaffolding That Evolves With Your Software Using Copier</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>297</itunes:episode>
      <podcast:episode>297</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321294748296eba0417b-616a-45b4-9500-ebe76b9664f3v1.mp3" length="40575874" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321294748296eba0417b-616a-45b4-9500-ebe76b9664f3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_eba0417b-616a-45b4-9500-ebe76b9664f3638558843534326855.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/eba0417b-616a-45b4-9500-ebe76b9664f3638558843531566141.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/eba0417b-616a-45b4-9500-ebe76b9664f3638558843529909276.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>How Python's Evolution Impacts Your Fluency With Luciano Ramalho</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>On its surface Python is a simple language which is what has contributed to its rise in popularity. As you move to intermediate and advanced usage you will find a number of interesting and elegant design elements that will let you build scalable and maintainable systems and design friendly interfaces. Luciano Ramalho is best known as the author of Fluent Python which has quickly become a leading resource for Python developers to increase their facility with the language. In this episode he shares his journey with Python and his perspective on how the recent changes to the interpreter and ecosystem are influencing who is adopting it and how it is being used. Luciano has an interesting perspective on how the feedback loop between the community and the language is driving the curent and future priorities of the features that are added.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Luciano Ramalho about the recent and upcoming changes in the Python language</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of the role that Python has played in your career?</li>
<li>What other languages do you work with on a regular basis?
<ul>
<li>How has that experience influenced the ways that you use Python?</li>
</ul>
</li>
<li>What do you see as the biggest changes that have been added to Python in recent years?</li>
<li>How have the changes in Python changed the way that you approach program design?</li>
<li>How has your work on Fluent Python influenced your perspective on the language and its utility?</li>
<li>What do you find to be the most confusing aspects of Python, whether for newcomers or experienced developers?</li>
<li>How would you characterize the types of features that have been added to Python in recent years?
<ul>
<li>What, if any, trends have you observed in the types of features that are proposed and included in Python and what do you see as the motivating factors for them?</li>
</ul>
</li>
<li>What changes to the language are you tracking?
<ul>
<li>Which are you personally invested in?</li>
</ul>
</li>
<li>What new features or capabilities would you like to see included in Python?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/ramalhoorg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ramalhoorg</a> on Twitter</li>
<li><a href="https://github.com/ramalho?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ramalho</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/lucianoramalho/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://magic.wizards.com/en/mtgarena?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magic: The Gathering: Arena</a></li>
</ul>
</li>
<li>Luciano
<ul>
<li><a href="https://www.netflix.com/title/80234304?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Queen&#8217;s Gambit</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.oreilly.com/library/view/fluent-python/9781491946237/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fluent Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Library_and_information_science?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Library and Information Sciences</a></li>
<li><a href="https://www.thoughtworks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thoughtworks</a></li>
<li><a href="https://en.wikipedia.org/wiki/S%C3%A3o_Paulo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">São Paulo, Brazil</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Object-oriented_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Object Oriented Programming</a></li>
<li><a href="https://dbader.org/blog/python-dunder-methods?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dunder Methods</a></li>
<li><a href="https://www.dabeaz.com/per.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Essential Reference</a></li>
<li><a href="https://learning.oreilly.com/library/view/python-in-a/9781491913833/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python In A Nutshell</a></li>
<li><a href="https://docs.python.org/3/library/typing.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Typing Module</a></li>
<li><a href="https://google.github.io/pytype/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pytype</a></li>
<li><a href="https://pyre-check.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyre</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AsyncIO</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0544/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typing Protocols</a></li>
<li><a href="https://en.wikipedia.org/wiki/Duck_typing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Duck Typing</a></li>
<li><a href="https://www.researchgate.net/publication/213886116_Static_Typing_Where_Possible_Dynamic_Typing_When_Needed_The_End_of_the_Cold_War_Between_Programming_Languages?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Static Typing Where Possible, Dynamic Typing Where Needed</a></li>
<li><a href="https://www.typescriptlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TypeScript</a></li>
<li><a href="https://www.ruby-lang.org/en/news/2020/12/20/ruby-3-0-0-rc1-released/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby 3 Type Annotations</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C#</a></li>
<li><a href="https://golang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Go Language</a></li>
<li><a href="https://kotlinlang.org/docs/tutorials/javascript/kotlin-to-javascript/kotlin-to-javascript.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KotlinJS</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0465/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matrix Multiplication Operator</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0572/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Walrus Operator == Assignment Expressions</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0617/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CPython PEG Parser</a>
<ul>
<li><a href="https://www.pythonpodcast.com/cpython-parser-replacement-episode-285/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.python.org/dev/peps/pep-3099/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 3099</a>: Things that will Not Change in Python 3000</li>
<li><a href="https://elixir-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elixir</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pattern_matching?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pattern Matching</a></li>
<li><a href="https://www.erlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Erlang</a></li>
<li><a href="https://en.wikipedia.org/wiki/Prolog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prolog</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0634/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Pattern Matching PEP</a></li>
<li><a href="http://www.swig.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SWIG</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computer_algebra?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Symbolic Computation</a></li>
<li><a href="https://docs.python.org/3/howto/descriptor.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Descriptors</a></li>
<li><a href="https://beeware.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beeware</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fluciano-ramalho-python-evolution-episode-296%2F&amp;action_name=How+Python%27s+Evolution+Impacts+Your+Fluency+With+Luciano+Ramalho+-+Episode+296&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2021-01-03t21:17:43+00:00-b57d042bb421ca0</guid>
      <link>https://www.pythonpodcast.com/luciano-ramalho-python-evolution-episode-296</link>
      <pubDate>Tue, 5 Jan 2021 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="364.50" duration="39.06">So the impact on my career was at in in 99, I created a company that was the first company in Brazil as far as I know that was doing all work in Python, and we did server side web programming in Python. Well, we did client side too, but it was much simpler at the time. And then afterwards, I started speaking about it at conferences. I helped organize the Brazilian Python Association, which we created to support the local teams who were doing Python events but needed a way to collect sponsorships and sign contracts.</podcast:soundbite>
      <podcast:soundbite startTime="321.58" duration="32.14">I am now 57 years old, and I've started programming as a kid with 16 years, I think, about 16, 15. So I learned several programming languages before I learned Python, and I always enjoy I still do enjoy learning new programming languages. But I've never been with 1 favorite programming language for so long, and I think because I think Python has some there was an old slogan about Python that said it fits my brain. Now that's what I think Python does.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:00:13</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>How Python's Evolution Impacts Your Fluency With Luciano Ramalho</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>296</itunes:episode>
      <podcast:episode>296</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530648570577978ef1636-4c60-4903-a552-7d66e16ebacav1.mp3" length="44588048" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530648570577978ef1636-4c60-4903-a552-7d66e16ebacav1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_78ef1636-4c60-4903-a552-7d66e16ebaca638558818051791657.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/78ef1636-4c60-4903-a552-7d66e16ebaca638558818048342146.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/78ef1636-4c60-4903-a552-7d66e16ebaca638558818046500288.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Making Content Management A Smooth Experience With A Headless CMS</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Building a web application requires integrating a number of separate concerns into a single experience. One of the common requirements is a content management system to allow product owners and marketers to make the changes needed for them to do their jobs. Rather than spend the time and focus of your developers to build the end to end system a growing trend is to use a headless CMS. In this episode Jake Lumetta shares why he decided to spend his time and energy on building a headless CMS as a service, when and why you might want to use one, and how to integrate it into your applications so that you can focus on the rest of your application.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Python has become the default language for working with data, whether as a data scientist, data engineer, data analyst, or machine learning engineer. Springboard has launched their School of Data to help you get a career in the field through a comprehensive set of programs that are 100% online and tailored to fit your busy schedule. With a network of expert mentors who are available to coach you during weekly 1:1 video calls, a tuition-back guarantee that means you don’t pay until you get a job, resume preparation, and interview assistance there’s no reason to wait. Springboard is offering up to 20 scholarships of $500 towards the tuition cost, exclusively to listeners of this show. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> today to learn more and give your career a boost to the next level.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jake Lumetta about Butter CMS and the role of a headless CMS in the modern web ecosystem.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what a headless CMS is?
<ul>
<li>How does the use case and user experience differ from working with a traditional CMS (e.g. WordPress, etc.)?</li>
<li>How does a headless CMS compare to using a framework such as Django CMS or Wagtail?</li>
</ul>
</li>
<li>Can you describe what you have built at ButterCMS?
<ul>
<li>What was your motivation for starting a business to provide a CMS as a service?</li>
</ul>
</li>
<li>How would you characterize the current state of the CMS ecosystem?
<ul>
<li>How does ButterCMS compare to the available open source and commercial options?</li>
</ul>
</li>
<li>What are the trends in the web ecosystem that have made a headless CMS necessary or useful?</li>
<li>What types of information are people managing in a CMS?</li>
<li>How are people integrating headless CMS systems into their Python applications?</li>
<li>Can you describe the architecture for Butter?
<ul>
<li>How has the system changed or evolved since you first began working on it?</li>
<li>What was your decision process for determining what language(s) and technology stack to use for building the platform?</li>
</ul>
</li>
<li>What are the aspects of building and maintaining a CMS that are most complex?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen ButterCMS used?</li>
<li>What have you found to be the most interesting, unexpected, or challenging lessons that you have learned while building ButterCMS?</li>
<li>When is ButterCMS the wrong choice?</li>
<li>What do you have planned for the future of ButterCMS?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/lumetta/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/jakelumetta?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jakelumetta</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt2193021/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Arrow</a> TV Show</li>
</ul>
</li>
<li>Jake
<ul>
<li><a href="https://www.amazon.com/Ghost-Wires-Adventures-Worlds-Wanted/dp/0316037729?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ghost In The Wires</a> by Kevin Mitnick</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://buttercms.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ButterCMS</a>
<ul>
<li><a href="https://djangogigs.com/gigs/director-of-engineering-for-headless-cms-saas-startup-buttercms-lqyma8/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hiring: Dir of Engineering</a></li>
</ul>
</li>
<li><a href="https://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MVC == Model, View, Controller</a></li>
<li><a href="https://en.wikipedia.org/wiki/Headless_content_management_system?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Headless CMS</a></li>
<li><a href="https://wordpress.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WordPress</a></li>
<li><a href="https://www.django-cms.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django CMS</a></li>
<li><a href="https://wagtail.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wagtail</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-58-wagtail-with-tom-dyson/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Search_engine_optimization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SEO == Search Engine Optimization</a></li>
<li><a href="https://jamstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JAM (Javascript, APIs, and Markup) Stack</a></li>
<li><a href="https://www.netlify.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netlify</a></li>
<li><a href="https://vercel.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vercel</a></li>
<li><a href="https://pages.cloudflare.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloudflare Pages</a></li>
<li><a href="https://vuejs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vue.js</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React.js</a></li>
<li><a href="https://www.django-rest-framework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Rest Framework</a></li>
<li><a href="https://www.fastly.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fastly</a></li>
<li><a href="https://en.wikipedia.org/wiki/Content_delivery_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CDN == Content Delivery Network</a></li>
<li><a href="https://aws.amazon.com/cloudfront/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS Cloudfront</a></li>
<li><a href="https://ionicframework.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ionic</a></li>
<li><a href="https://reactnative.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React Native</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbuttercms-headless-cms-episode-295%2F&amp;action_name=Making+Content+Management+A+Smooth+Experience+With+A+Headless+CMS+-+Episode+295&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-12-28t15:14:59+00:00-5490a5eef2c2c97</guid>
      <link>https://www.pythonpodcast.com/buttercms-headless-cms-episode-295</link>
      <pubDate>Mon, 28 Dec 2020 22:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2144.37" duration="29.29">So the biggest surprise is just the breadth of industries. You know, there's the typical ones, like tech startups and stuff like that. But, you know, we've seen everyone from like law firms, to health care, to crypto startups, to like real estate companies, to food delivery companies, SSL vendors, gourmet pet food delivery, conference platforms. I mean, I guess it kind of literally is like any business that has a website, you know, could theoretically have a need for a CMS.</podcast:soundbite>
      <podcast:soundbite startTime="1813.51" duration="26.64">So the journey, yeah, honestly, you know, day 1 was sort of leaving with that experience where I tried to integrate WordPress into Django and come up with my own thoughts of, like, what would an optimal way like, what would an ideal experience be? Again, speaking primarily from the developer side, of course, the marketers need the dashboard, but, like, from the dev side, how would it work? And then saying, like, would anybody pay for this? You know? Like, would anybody pay for this? Is this even a problem that other people have?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:51</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Making Content Management A Smooth Experience With A Headless CMS</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>295</itunes:episode>
      <podcast:episode>295</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314737814479b71fc959-047e-4dbc-8243-9bbe4f72af5cv1.mp3" length="33799090" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314737814479b71fc959-047e-4dbc-8243-9bbe4f72af5cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b71fc959-047e-4dbc-8243-9bbe4f72af5c638558826291166759.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b71fc959-047e-4dbc-8243-9bbe4f72af5c638558826286827888.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b71fc959-047e-4dbc-8243-9bbe4f72af5c638558826284715568.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Turning Notebooks Into Collaborative And Dynamic Data Applications With Hex</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Notebooks have been a useful tool for analytics, exploratory programming, and shareable data science for years, and their popularity is continuing to grow. Despite their widespread use, there are still a number of challenges that inhibit collaboration and use by non-technical stakeholders. Barry McCardel and his team at Hex have built a platform to make collaboration on Jupyter notebooks a first class experience, as well as allowing notebooks to be parameterized and exposing the logic through interactive web applications. In this episode Barry shares his perspective on the state of the notebook ecosystem, why it is such as powerful tool for computing and analytics, and how he has built a successful business around improving the end to end experience of working with notebooks. This was a great conversation about an important piece of the toolkit for every analyst and data scientist.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Do you want to get better at Python? Now is an excellent time to take an online course. Whether you&#8217;re just learning Python or you&#8217;re looking for deep dives on topics like APIs, memory mangement, async and await, and more, our friends at Talk Python Training have a top-notch course for you. If you&#8217;re just getting started, be sure to check out the Python for Absolute Beginners course. It&#8217;s like the first year of computer science that you never took compressed into 10 fun hours of Python coding and problem solving. Go to <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a> today and get 10% off the course that will help you find your next level. That&#8217;s <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a>, and don&#8217;t forget to thank them for supporting the show.</li>
<li>Python has become the default language for working with data, whether as a data scientist, data engineer, data analyst, or machine learning engineer. Springboard has launched their School of Data to help you get a career in the field through a comprehensive set of programs that are 100% online and tailored to fit your busy schedule. With a network of expert mentors who are available to coach you during weekly 1:1 video calls, a tuition-back guarantee that means you don’t pay until you get a job, resume preparation, and interview assistance there’s no reason to wait. Springboard is offering up to 20 scholarships of $500 towards the tuition cost, exclusively to listeners of this show. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> today to learn more and give your career a boost to the next level.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Barry McCardel about Hex, a managed platform to turn your notebooks into collaborative, interactive data apps and stories</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what you have built at Hex and your motivation for starting the business?</li>
<li>Who are the primary users of the Hex platform?
<ul>
<li>How has that focus influenced your product direction and the features that you prioritize?</li>
</ul>
</li>
<li>What are the biggest roadblocks that you see data analysts and data consumers running into?
<ul>
<li>How have those roadblocks shifted in recent years?</li>
</ul>
</li>
<li>What is it about the concept of a notebook that has caused them to see such a massive rise in usage and popularity?</li>
<li>What are the barriers to productivity and accessibility that still exist in the notebook ecosystem?</li>
<li>What are the pieces for working in and with notebooks that are still missing?
<ul>
<li>What does Hex add to the experience of working with notebooks?</li>
</ul>
</li>
<li>Can you describe how the Hex platform implemented?
<ul>
<li>How has the design of the platform changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>Where does Hex sit in the lifecycle of notebook creation and usage?</li>
<li>How does it compare to other services built to support users of notebooks such as Zepl, Saturn Cloud, Noteable, etc.?</li>
<li>You focus on the Jupyter platform, but there are a number of other notebook frameworks that have sprung up in recent years. What do you see as being the relative strengths of the available options?</li>
<li>What are the trends in the tooling, capabilities, and use cases for notebooks that you are keeping an eye on?</li>
<li>What are the most interesting, innovative, or unexpected ways that you have seen the Hex platform used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while building Hex?</li>
<li>When is Hex the wrong choice?</li>
<li>What do you have planned for the future of the Hex business and product?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/barrymccardel/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/therealbarrym?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@TheRealBarryM</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://flakehell.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flakehell</a></li>
<li><a href="https://en.wikipedia.org/wiki/DC_Extended_Universe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DC Extended Universe Movies</a></li>
</ul>
</li>
<li>Barry
<ul>
<li><a href="https://stonemaiergames.com/games/wingspan/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wingspan</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://hex.tech/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hex</a></li>
<li><a href="https://www.palantir.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Palantir</a></li>
<li><a href="https://ipython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-10-brian-granger-and-fernando-perez-of-the-ipython-project/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://www.wolfram.com/mathematica/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mathematica</a></li>
<li><a href="https://en.wikipedia.org/wiki/Integrated_development_environment?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IDE == Integrated Development Environment</a></li>
<li><a href="https://nbconvert.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nbconvert</a></li>
<li><a href="https://observablehq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Observable Javascript Notebooks</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React</a></li>
<li><a href="https://blueprintjs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BlueprintJS</a></li>
<li><a href="https://papermill.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Papermill</a></li>
<li><a href="https://www.streamlit.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Streamlit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/streamlit-web-application-episode-238/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://shiny.rstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shiny</a></li>
<li><a href="https://aws.amazon.com/redshift/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redshift</a></li>
<li><a href="https://www.snowflake.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowflake</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/snowflakedb-cloud-data-warehouse-episode-110/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://cloud.google.com/bigquery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BigQuery</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://noteable.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Noteable</a></li>
<li><a href="https://www.saturncloud.io/s/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Saturn Cloud</a></li>
<li><a href="https://www.zepl.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zepl</a></li>
<li><a href="https://zeppelin.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zeplin Notebooks</a></li>
<li><a href="https://jupyterhub.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JupyterHub</a></li>
<li><a href="https://mybinder.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Binder</a></li>
<li><a href="https://www.kubeflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubeflow</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fhex-collaborative-notebooks-episode-294%2F&amp;action_name=Turning+Notebooks+Into+Collaborative+And+Dynamic+Data+Applications+With+Hex+-+Episode+294&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-12-21t22:52:48+00:00-a07ae9d4d46b29d</guid>
      <link>https://www.pythonpodcast.com/hex-collaborative-notebooks-episode-294</link>
      <pubDate>Mon, 21 Dec 2020 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="642.60" duration="30.54">And going back to the roadblocks that exist for people who are using notebooks and trying to be able to go beyond the limitations of just working in isolation on their machine with their locally set up environment. How have those roadblocks changed over the past few years from when notebooks were first introduced with IPython and IPython Notebooks, and now moving to the stage where notebooks have become 1 of the default platforms for computing and data analysis?</podcast:soundbite>
      <podcast:soundbite startTime="1612.23" duration="17.46">In terms of the capabilities of turning your analysis or your Python logic into an interactive web app, another project in that space that I'm curious to get your take on is Streamlit. And I'm wondering if you can give some compare and contrast between the capabilities that they provide and what you've built with Hex.</podcast:soundbite>
      <podcast:soundbite startTime="144.96" duration="22.81">And so I then went to Palantir, a data analytics company, and that's where I really got a chance to really go very deep on using languages like SQL and Python to analyze data, analyze data at scale. It really is kind of what fully showed me the potential for Python as a language that's very approachable and great for data work, but, you know, but but also very powerful and flexible.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:39</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Turning Notebooks Into Collaborative And Dynamic Data Applications With Hex</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>294</itunes:episode>
      <podcast:episode>294</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299691147194949d3d0e-7bb2-4780-8d24-2ccfcba4aa77v1.mp3" length="30241595" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299691147194949d3d0e-7bb2-4780-8d24-2ccfcba4aa77v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_949d3d0e-7bb2-4780-8d24-2ccfcba4aa77638558796627864349.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/949d3d0e-7bb2-4780-8d24-2ccfcba4aa77638558796625293965.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/949d3d0e-7bb2-4780-8d24-2ccfcba4aa77638558796623318040.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Add Anomaly Detection To Your Time Series Data With Luminaire</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>When working with data it&#8217;s important to understand when it is correct. If there is a time dimension, then it can be difficult to know when variation is normal. Anomaly detection is a useful tool to address these challenges, but a difficult one to do well. In this episode Smit Shah and Sayan Chakraborty share the work they have done on Luminaire to make anomaly detection easier to work with. They explain the complexities inherent to working with time series data, the strategies that they have incorporated into Luminaire, and how they are using it in their data pipelines to identify errors early. If you are working with any kind of time series then it&#8217;s worth giving Luminaure a look.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Python has become the default language for working with data, whether as a data scientist, data engineer, data analyst, or machine learning engineer. Springboard has launched their School of Data to help you get a career in the field through a comprehensive set of programs that are 100% online and tailored to fit your busy schedule. With a network of expert mentors who are available to coach you during weekly 1:1 video calls, a tuition-back guarantee that means you don’t pay until you get a job, resume preparation, and interview assistance there’s no reason to wait. Springboard is offering up to 20 scholarships of $500 towards the tuition cost, exclusively to listeners of this show. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> today to learn more and give your career a boost to the next level.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Smit Shah and Sayan Chakraborty about Luminaire, a machine learning based package for anomaly detection on timeseries data</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Luminaire is and how the project got started?
<ul>
<li>Where does the name come from?</li>
</ul>
</li>
<li>How does Luminaire compare to other frameworks for working with timeseries data such as Prophet?</li>
<li>What are the main use cases that Luminaire is powering at Zillow?</li>
<li>What are some of the complexities inherent to anomaly detection that are non-obvious at first glance?
<ul>
<li>How are you addressing those challenges in Luminaire?</li>
</ul>
</li>
<li>Can you describe how Luminaire is implemented?
<ul>
<li>How has the design of the project evolved since it was first started?</li>
</ul>
</li>
<li>What was the motivation for releasing Luminaire as open source?</li>
<li>For someone who is using Luminaire, what is the process for training and deploying a model with it?
<ul>
<li>What are some common ways that it is used within a larger system?</li>
</ul>
</li>
<li>How do sustained anomalies such as the current pandemic affect the work of identifying other sources of meaningful outliers?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Luminaire being used?</li>
<li>What are some of the most interesting, unexpected, or challening lessons that you have learned while building and using Luminaire?</li>
<li>When is Luminaire the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Smit
<ul>
<li><a href="https://www.linkedin.com/in/smitvshah/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/shahsmit14?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">shahsmit14</a> on GitHub</li>
</ul>
</li>
<li>Sayan
<ul>
<li><a href="https://www.linkedin.com/in/sayan-chakraborty-8890b673/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://sayancborty.wordpress.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/tweettosayan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tweettosayan</a> on Twitter</li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://flakehell.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flakehell</a></li>
</ul>
</li>
<li>Smit
<ul>
<li><a href="https://ranger.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Ranger</a></li>
</ul>
</li>
<li>Sayan
<ul>
<li><a href="https://www.predictionmachines.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prediction Machines: The Simple Economics Of Artificial Intelligence</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://zillow.github.io/luminaire/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luminaire</a></li>
<li><a href="https://www.zillow.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zillow</a></li>
<li><a href="https://en.wikipedia.org/wiki/Anomaly_detection?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anomaly Detection</a></li>
<li><a href="https://facebook.github.io/prophet/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Facebook Prophet</a></li>
<li><a href="http://bigdataieee.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IEEE Big Data Conference</a></li>
<li><a href="https://en.wikipedia.org/wiki/Unsupervised_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unsupervised Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ARIMA (Autoregressive Integrated Moving Average) Model</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fluminaire-anomaly-detection-episode-293%2F&amp;action_name=Add+Anomaly+Detection+To+Your+Time+Series+Data+With+Luminaire+-+Episode+293&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-12-15t01:20:40+00:00-5b4d3473d0159ef</guid>
      <link>https://www.pythonpodcast.com/luminaire-anomaly-detection-episode-293</link>
      <pubDate>Tue, 15 Dec 2020 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="766.46" duration="54.01">Anomaly detection is a challenging problem indeed. Specifically, like, if you are building an anomaly detection model for a given problem, like a given dataset, you can keep on optimizing that because you can ingest more data, more information about the data, and you can keep on optimizing your model so that it works best for that dataset. But from a tool or from a service perspective, when you're making, like, an anomaly detection service, so that is a challenging problem because that is something anomaly detection is, like, an unsupervised problem. So anomaly detection is, like, an unsupervised problem, so it does not really come with labeled data. So that is, like, 1 tricky problem to understand, like, the performance of the anomaly detector, whether how good it is performing versus, like, how bad it is performing.</podcast:soundbite>
      <podcast:soundbite startTime="174.63" duration="31.25">So Luminar is a tool for detecting anomalies, specifically for time series data, and we do it for both batch and streaming use cases. The in the place where Luminaire stands out is, like, automating the whole modeling process and somehow, like, democratizing them. Anomaly detection across the community because, like, anomaly detection is a hard problem, and and not everyone comes with a domain a domain expertise or, like, the ML expertise needed for doing an omnidirection. That's where Lumina comes in to automate the process.</podcast:soundbite>
      <podcast:soundbite startTime="1729.95" duration="53.52">So, ideally, what this open source package is providing you is the brains, which is the models. Now for teams, if they wanna leverage it, so their main goal is, first of all, the matrix that they care about. And that matrix basically involves, like, let's say, 2 main columns. 1 is your time column and 1 is your actual metric column. So that kind of becomes the initial inputs to Luminaire. And then you train it using that historical data. So make sure you provide enough history so you get a proper model, trained model. And now you have this trained model which is getting outputted. Now you wanna store that model somewhere, and that can be any of your desired storage format. You can either go with any kind of file storage or even you can store the object in a database if you like that.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:24</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Add Anomaly Detection To Your Time Series Data With Luminaire</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>293</itunes:episode>
      <podcast:episode>293</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530624041038075e5a859-41b3-4acd-b6f4-79fc865c7877v1.mp3" length="36152444" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530624041038075e5a859-41b3-4acd-b6f4-79fc865c7877v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_75e5a859-41b3-4acd-b6f4-79fc865c7877638558816980738000.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/75e5a859-41b3-4acd-b6f4-79fc865c7877638558816977889943.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/75e5a859-41b3-4acd-b6f4-79fc865c7877638558816976120763.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building Big Data Pipelines For Audio With Klio</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Technologies for building data pipelines have been around for decades, with many mature options for a variety of workloads. However, most of those tools are focused on processing of text based data, both structured and unstructured. For projects that need to manage large numbers of binary and audio files the list of options is much shorter. In this episode Lynn Root shares the work that she and her team at Spotify have done on the Klio project to make that list a bit longer. She discusses the problems that are specific to working with binary data, how the Klio project is architected to allow for scalable and efficient processing of massive numbers of audio files, why it was released as open source, and how you can start using it today for your own projects. If you are struggling with ad-hoc infrastructure and a medley of tools that have been cobbled together for analyzing large or numerous binary assets then this is definitely a tool worth testing out.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Do you want to get better at Python? Now is an excellent time to take an online course. Whether you&#8217;re just learning Python or you&#8217;re looking for deep dives on topics like APIs, memory mangement, async and await, and more, our friends at Talk Python Training have a top-notch course for you. If you&#8217;re just getting started, be sure to check out the Python for Absolute Beginners course. It&#8217;s like the first year of computer science that you never took compressed into 10 fun hours of Python coding and problem solving. Go to <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a> today and get 10% off the course that will help you find your next level. That&#8217;s <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a>, and don&#8217;t forget to thank them for supporting the show.</li>
<li>Python has become the default language for working with data, whether as a data scientist, data engineer, data analyst, or machine learning engineer. Springboard has launched their School of Data to help you get a career in the field through a comprehensive set of programs that are 100% online and tailored to fit your busy schedule. With a network of expert mentors who are available to coach you during weekly 1:1 video calls, a tuition-back guarantee that means you don’t pay until you get a job, resume preparation, and interview assistance there’s no reason to wait. Springboard is offering up to 20 scholarships of $500 towards the tuition cost, exclusively to listeners of this show. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> today to learn more and give your career a boost to the next level.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Lynn Root about Klio, an open source pipeline for processing audio and binary data</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Klio is and how it got started?</li>
<li>What are some of the challenges that are unique to processing audio data as compared to text?</li>
<li>What use cases does Klio enable?</li>
<li>What are some of the alternative options available for working with binary data?
<ul>
<li>What capabilities were lacking in other solutions that made it worthwhile to build a new system from scratch?</li>
</ul>
</li>
<li>Can you describe the design and architecture of Klio?
<ul>
<li>What was the motivation for implementing Klio as a Python framework, rather than building on top of the Scio project?</li>
</ul>
</li>
<li>How much of a challenge has it been to interface to the Beam framework from Python? (Java &lt;-&gt; Python impedance mismatch)</li>
<li>One of the interesting optimizations in Klio is the option for bottom up execution of a job to avoid processing a given file unless absolutely necessary. What are some of the other useful or interesting capabilities that are built into Klio?</li>
<li>What was the motivation and process for releasing Klio as open source?</li>
<li>For someone who is building a pipeline with Klio, can you talk through the workflow?
<ul>
<li>What are the extension and integration points that are exposed?</li>
<li>How does Klio handle third party dependencies for a given job?</li>
</ul>
</li>
<li>What are some of the challenges, misunderstandings, or edge cases that users of Klio should be aware of?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while building and growing the Klio project?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Klio used?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="http://github.com/econchick/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://twitter.com/roguelynn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://www.linkedin.com/in/lynnroot/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.python.org/psf/donations/2020-q42020-drive/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PSF Fundraiser</a></li>
</ul>
</li>
<li>Lynn
<ul>
<li><a href="https://roamresearch.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Roam note-taking tool</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://klio.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Klio</a>
<ul>
<li><a href="https://engineering.atspotify.com/2020/11/04/its-all-just-wiggly-air-building-infrastructure-to-support-audio-research/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Announcement Blog Post</a></li>
<li><a href="https://docs.klio.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docs</a></li>
<li><a href="https://github.com/spotify/klio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>
</li>
<li><a href="https://www.spotify.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spotify</a></li>
<li><a href="https://pyladies.com/locations/sf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyLadies SF</a></li>
<li><a href="https://luigi.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luigi</a></li>
<li><a href="https://raml.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RAML</a></li>
<li><a href="https://ramlfications.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ramlfications</a></li>
<li><a href="https://interrogate.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Interrogate</a></li>
<li><a href="https://beam.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Beam</a></li>
<li><a href="https://librosa.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Librosa</a></li>
<li><a href="http://people.csail.mit.edu/hubert/pyaudio/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyAudio</a></li>
<li><a href="https://pillow.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pillow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-59-pillow-with-alex-clark/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://ffmpeg.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FFMPeg</a></li>
<li><a href="https://imagemagick.org/index.php?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ImageMagick</a></li>
<li><a href="https://musicinformationretrieval.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Music Information Retrieval</a></li>
<li><a href="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36608.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Hearing</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/audio-analytic-sound-recognition-episode-139/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://spotify.github.io/scio/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scio</a></li>
<li><a href="https://azure.microsoft.com/en-us/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft Azure</a></li>
<li><a href="https://cloud.google.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Cloud Platform</a></li>
<li><a href="https://cloud.google.com/dataflow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Cloud Dataflow</a></li>
<li><a href="https://developers.google.com/protocol-buffers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Protocol Buffers</a></li>
<li><a href="https://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Spark</a></li>
<li><a href="https://spark.apache.org/docs/latest/api/python/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PySpark</a></li>
<li><a href="https://en.wikipedia.org/wiki/Directed_acyclic_graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DAG == Directed Acyclic Graph</a></li>
<li><a href="https://ismir.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ISMIR Conference</a></li>
<li><a href="https://en.wikipedia.org/wiki/Digital_signal_processing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Digital Signal Processing (DSP)</a></li>
<li><a href="https://docs.python.org/3/library/pickle.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Pickle</a></li>
<li><a href="https://pdfs.semanticscholar.org/83ea/11b45cba0fc7ee5d60f608edae9c1443861d.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Research paper on separating vocals from instrumentals of a song</a></li>
<li><a href="https://www.nytimes.com/interactive/2018/08/09/opinion/do-songs-of-the-summer-sound-the-same.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">New York Times: Why songs of the summer sound the same</a></li>
<li><a href="https://github.com/microsoft/Microsoft-Rocket-Video-Analytics-Platform?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft&#8217;s Rocket Platform for video analytics</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fklio-big-data-audio-pipelines-episode-292%2F&amp;action_name=Building+Big+Data+Pipelines+For+Audio+With+Klio+-+Episode+292&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-12-05t21:34:02+00:00-8a4cbc7994db6ae</guid>
      <link>https://www.pythonpodcast.com/klio-big-data-audio-pipelines-episode-292</link>
      <pubDate>Mon, 7 Dec 2020 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1368.55" duration="35.93">So Clio allows you to hook into a queue, like, pops up to listen to an event for that new song. But that event producing system doesn't necessarily have to be a Clio job itself, just so long as it has data that you need to process, like a reference to an audio file. And so this leads me to kind of like a bigger part of Clio's architecture is what's in that event data and refer to it as like a Clio message. And it's just basically a protobuf message that contains Clio related metadata as well.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:37</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building Big Data Pipelines For Audio With Klio</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>292</itunes:episode>
      <podcast:episode>292</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305387211012f5eaa4fc-5ece-46b5-a9b3-69bd9fac50e2v1.mp3" length="39340163" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305387211012f5eaa4fc-5ece-46b5-a9b3-69bd9fac50e2v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f5eaa4fc-5ece-46b5-a9b3-69bd9fac50e2638558813417045178.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f5eaa4fc-5ece-46b5-a9b3-69bd9fac50e2638558813413892991.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f5eaa4fc-5ece-46b5-a9b3-69bd9fac50e2638558813411892398.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Open Sourcing The Anvil Full Stack Python Web App Platform</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Building a complete web application requires expertise in a wide range of disciplines. As a result it is often the work of a whole team of engineers to get a new project from idea to production. Meredydd Luff and his co-founder built the Anvil platform to make it possible to build full stack applications entirely in Python. In this episode he explains why they released the application server as open source, how you can use it to run your own projects for free, and why developer tooling is the sweet spot for an open source business model. He also shares his vision for how the end-to-end experience of building for the web should look, and some of the innovative projects and companies that were made possible by the reduced friction that the Anvil platform provides. Give it a listen today to gain some perspective on what it could be like to build a web app.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Do you want to get better at Python? Now is an excellent time to take an online course. Whether you&#8217;re just learning Python or you&#8217;re looking for deep dives on topics like APIs, memory mangement, async and await, and more, our friends at Talk Python Training have a top-notch course for you. If you&#8217;re just getting started, be sure to check out the Python for Absolute Beginners course. It&#8217;s like the first year of computer science that you never took compressed into 10 fun hours of Python coding and problem solving. Go to <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a> today and get 10% off the course that will help you find your next level. That&#8217;s <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a>, and don&#8217;t forget to thank them for supporting the show.</li>
<li>Python has become the default language for working with data, whether as a data scientist, data engineer, data analyst, or machine learning engineer. Springboard has launched their School of Data to help you get a career in the field through a comprehensive set of programs that are 100% online and tailored to fit your busy schedule. With a network of expert mentors who are available to coach you during weekly 1:1 video calls, a tuition-back guarantee that means you don’t pay until you get a job, resume preparation, and interview assistance there’s no reason to wait. Springboard is offering up to 20 scholarships of $500 towards the tuition cost, exclusively to listeners of this show. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> today to learn more and give your career a boost to the next level.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Meredydd Luff about the process and motivations for releasing the Anvil platform as open source</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what Anvil is and some of the story behind it?
<ul>
<li>What is new or different in Anvil since we last spoke in June of 2019?</li>
</ul>
</li>
<li>What are the most common or most impressive use cases for Anvil that you have seen?
<ul>
<li>On your website you mention Anvil being used for deploying models and productionizing notebooks. How does Anvil help in those use cases?</li>
</ul>
</li>
<li>How much of the adoption of Anvil do you attribute to the use of Skulpt and providing a way to write Python for the browser?
<ul>
<li>What are some of the complications that users might run into when trying to integrate with the broader Javascript ecosystem?</li>
</ul>
</li>
<li>How does the release of the Anvil App Server affect your business model?
<ul>
<li>How does the workflow for users of the Anvil platform change if they decide to run their own instance?</li>
<li>What is involved in getting it deployed to production?</li>
</ul>
</li>
<li>What other tools or companies did you look to for positive and negative examples of how to run a successful business based on open source?</li>
<li>What was your motivation for open sourcing the core runtime of Anvil?
<ul>
<li>What was involved in getting the code cleaned up and ready for a public release?</li>
</ul>
</li>
<li>What are the other ways that your business relies on or contributes to the open source ecosystem?</li>
<li>What do you see as the primary threats to open source business models?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while building and growing Anvil?</li>
<li>What do you have planned for the future of the platform and business?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/meredydd/?originalSubdomain=uk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/meredydd?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@meredydd</a> on Twitter</li>
<li><a href="https://github.com/meredydd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">meredydd</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://magic.wizards.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magic: The Gathering</a></li>
</ul>
</li>
<li>Meredydd
<ul>
<li><a href="https://anvil.works/advent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anvil Advent Calendar</a></li>
<li><a href="https://anvil.works/podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anvil Podcast</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://anvil.works/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anvil</a>
<ul>
<li><a href="https://www.pythonpodcast.com/anvil-web-application-development-episode-215/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Visual_Basic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Basic</a></li>
<li><a href="http://skulpt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Skulpt</a></li>
<li><a href="https://www.streamlit.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Streamlit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/streamlit-web-application-episode-238/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://plotly.com/dash/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plot.ly Dash</a></li>
<li><a href="https://anvil.works/docs/uplink?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anvil Uplink</a></li>
<li><a href="https://en.wikipedia.org/wiki/Document_Object_Model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DOM == Document Object Model</a></li>
<li><a href="https://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="http://www.brython.info/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brython</a></li>
<li><a href="https://www.transcrypt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transcrypt</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-50-transcrypt-with-jacques-de-hooge/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://anvil.works/blog/python-in-the-browser-talk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Comparison of Python in the browser implementations</a></li>
<li><a href="https://anvil.works/blog/announcing-portable-classes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog post about Anvil object serializer</a></li>
<li><a href="https://create-react-app.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Create React App</a></li>
<li><a href="https://webpack.js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Webpack</a></li>
<li><a href="https://www.jetbrains.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jetbrains</a></li>
<li><a href="https://traefik.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Traefik</a></li>
<li><a href="https://letsencrypt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Let&#8217;s Encrypt</a></li>
<li><a href="https://twitter.com/QuinnyPig?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Corey Quinn</a></li>
<li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WebAssembly</a></li>
<li><a href="https://pyodide.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOdide</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fanvil-open-source-web-app-server-episode-291%2F&amp;action_name=Open+Sourcing+The+Anvil+Full+Stack+Python+Web+App+Platform+-+Episode+291&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-12-01t00:17:14+00:00-d1e57dd56bdb9d4</guid>
      <link>https://www.pythonpodcast.com/anvil-open-source-web-app-server-episode-291</link>
      <pubDate>Tue, 1 Dec 2020 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="147.76" duration="46.18">The topic of the conversation today is the Anvil platform and the work that you've done on it. And for folks who haven't listened to the previous episode that you were on where we dug deep into the platform, can you just give a quick overview about what it is and some of the story behind it? Sure. So Anvil's a tool for building full stack web apps with nothing but Python. So you don't need to use HTML and JavaScript and CSS and all that stuff. You can in fact build your designer user interface with a drag and drop designer or built in code, write Python that runs in the web browser, Python runs on the server, and then just deploy it if you're using our hosted service with 1 click or on your own machine, as we're gonna be talking about today. So the idea is to make web development more accessible, because the web is honestly a bit of a mess.</podcast:soundbite>
      <podcast:soundbite startTime="1595.47" duration="55.47">And so digging more now into the open source release of the Anvil app server, I'm wondering if you can start by just going over how that affects your overall business model and maybe some of the shift that was necessary to make that a reality and the motivation behind releasing it as open source in the first place. 1st, I should probably explain what the app server is. The app server is everything you need to run an Anvil app. And it's open source. It's a thing you can just pip install, and then you can say, okay. This folder over here contains an Anvil app. Serve that, please. It will just do it. No must, no fuss. So the goal here is to ensure that apps people have written are theirs, like they can take them, run away, and do anything with them. We have people shipping user interfaces on IoT devices using the app server running on a Raspberry Pi. That's the kind of thing you could never do from a hosted platform, but that's okay, we have an escape hatch.</podcast:soundbite>
      <podcast:soundbite startTime="2095.06" duration="45.09">Digging more into the actual model of running a business based on open source, there are a lot of different ways that people have approached it where you mentioned 1 track will give you a tool to be able to get 80% of the way there. But if you actually wanna use this in production, you need to pay us for hosting to make your life easy or spend 6 months rebuilding our whole platform. And then there are other avenues of, we'll give you this tool, but, you know, there might be some edge cases or there are difficulties that we can't have anticipated. So if you pay us for support, we'll provide some consulting services to help you get over that problem. What were some of the other tools or companies that you looked to for both positive and negative examples of how to be able to run a business that is based on open source?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:23</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Open Sourcing The Anvil Full Stack Python Web App Platform</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>291</itunes:episode>
      <podcast:episode>291</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530056826990595d01d1e-602f-4335-9c98-3847cbd0dc49v1.mp3" length="41207452" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530056826990595d01d1e-602f-4335-9c98-3847cbd0dc49v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_95d01d1e-602f-4335-9c98-3847cbd0dc49638558799587027034.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/95d01d1e-602f-4335-9c98-3847cbd0dc49638558799583642145.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/95d01d1e-602f-4335-9c98-3847cbd0dc49638558799581477849.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Pants Has Got Your Python Monorepo Covered</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>In a software project writing code is just one step of the overall lifecycle. There are many repetitive steps such as linting, running tests, and packaging that need to be run for each project that you maintain. In order to reduce the overhead of these repeat tasks, and to simplify the process of integrating code across multiple systems the use of monorepos has been growing in popularity. The Pants build tool is purpose built for addressing all of the drudgery and for working with monorepos of all sizes. In this episode core maintainers Eric Arellano and Stu Hood explain how the Pants project works, the benefits of automatic dependency inference, and how you can start using it in your own projects today. They also share useful tips for how to organize your projects, and how the plugin oriented architecture adds flexibility for you to customize Pants to your specific needs.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Python has become the default language for working with data, whether as a data scientist, data engineer, data analyst, or machine learning engineer. Springboard has launched their School of Data to help you get a career in the field through a comprehensive set of programs that are 100% online and tailored to fit your busy schedule. With a network of expert mentors who are available to coach you during weekly 1:1 video calls, a tuition-back guarantee that means you don’t pay until you get a job, resume preparation, and interview assistance there’s no reason to wait. Springboard is offering up to 20 scholarships of $500 towards the tuition cost, exclusively to listeners of this show. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> today to learn more and give your career a boost to the next level.</li>
<li>Feature flagging is a simple concept that enables you to ship faster, test in production, and do easy rollbacks without redeploying code. Teams using feature flags release new software with less risk, and release more often. ConfigCat is a feature flag service that lets you easily add flags to your Python code, and 9 other platforms. By adopting ConfigCat you and your manager can track and toggle your feature flags from their visual dashboard without redeploying any code or configuration, including granular targeting rules. You can roll out new features to a subset or your users for beta testing or canary deployments. With their simple API, clear documentation, and pricing that is independent of your team size you can get your first feature flags added in minutes without breaking the bank. Go to <a href="https://www.pythonpodcast.com/configcat?utm_source=rss&utm_medium=rss">pythonpodcast.com/configcat</a> today to get 35% off any paid plan with code <em>PYTHONPODCAST</em> or try out their free forever plan.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Eric Arellano and Stu Hood about Pants, a flexible build system that works well with monorepos.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Pants is and how it got started?
<ul>
<li>What&#8217;s the story behind the name?</li>
</ul>
</li>
<li>What is a monorepo and why might I want one?
<ul>
<li>What are the challenges caused by working with a monorepo?</li>
<li>Why are monorepos so uncommon in Python projects?</li>
</ul>
</li>
<li>What is the workflow for a developer or team who is managing a project with Pants?</li>
<li>How does Pants integrate with the broader ecosystem of Python tools for dependency management and packaging (e.g. Poetry, Pip, pip-tools, Flit, Twine, Pex, Shiv, etc.)?</li>
<li>What is involved in setting up Pants for working with a new Python project?
<ul>
<li>What complications might developers encounter when trying to implement Pants in an existing project?</li>
</ul>
</li>
<li>How is Pants itself implemented?
<ul>
<li>How have the design, goals, or architecture evolved since Pants was first created?</li>
<li>What are the major changes in the v2 release?
<ul>
<li>What was the motivation for the major overhaul of the project?</li>
</ul>
</li>
</ul>
</li>
<li>How do you recommend developers lay out their projects to work well with Python?</li>
<li>How can I handle code shared between different modules or packages, and reducing the third party dependencies that are built into the respective packages?</li>
<li>What are some of the most interesting, unexpected, or innovative ways that you have seen Pants used?</li>
<li>What have you found to be the most interesting, unexpected, or challenging aspects of working on Pants?</li>
<li>What are the cases where Pants is the wrong choice?</li>
<li>What do you have planned for the future of the pants project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Eric
<ul>
<li><a href="https://www.linkedin.com/in/arellanoeric/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/Eric-Arellano?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eric-Arellano</a> on GitHub</li>
<li><a href="https://twitter.com/EArellanoAZ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@EArellanoAZ</a> on Twitter</li>
</ul>
</li>
<li>Stu
<ul>
<li><a href="https://github.com/stuhood?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">stuhood</a> on GitHub</li>
<li><a href="https://twitter.com/stuhood?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@stuhood</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/stu-hood-6b65633/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Cursed_(2020_TV_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cursed</a> TV show</li>
</ul>
</li>
<li>Eric
<ul>
<li><a href="https://docs.python.org/3/library/turtle.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Turtle Graphics</a></li>
</ul>
</li>
<li>Stu
<ul>
<li><a href="https://fasterthanli.me/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Faster Than Lime</a> blog</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.pantsbuild.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pants</a></li>
<li><a href="https://foursquare.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Foursquare</a></li>
<li><a href="https://foursquare.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://www.toolchain.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toolchain</a></li>
<li><a href="https://bazel.build/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bazel</a> build tool</li>
<li><a href="https://ant.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ant</a> build tool</li>
<li><a href="https://en.wikipedia.org/wiki/Monorepo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monorepo</a></li>
<li><a href="https://pycqa.github.io/isort/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">isort</a></li>
<li><a href="https://tox.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tox</a></li>
<li><a href="https://python-poetry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poetry</a></li>
<li><a href="https://docs.python.org/3/library/distutils.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">distutils</a></li>
<li><a href="https://github.com/pypa/setuptools?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">setuptools</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mypy</a></li>
<li><a href="https://bandit.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bandit</a></li>
<li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a></li>
<li><a href="https://github.com/pantsbuild/example-python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sample Python Pants Project</a></li>
<li><a href="https://grpc.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gRPC</a></li>
<li><a href="https://developers.google.com/protocol-buffers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Protocol Buffers</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://wiki.python.org/moin/GlobalInterpreterLock?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GIL == Global Interpreter Lock</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0420/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 420</a></li>
<li><a href="https://blog.pantsbuild.org/python-3-migrations/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog post about using Pants to migrate from Python 2 to 3</a></li>
<li><a href="https://github.com/pantsbuild/pex?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pex</a></li>
<li><a href="https://shiv.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shiv</a></li>
<li><a href="https://pyoxidizer.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOxidizer</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpants-monorepo-build-tool-episode-290%2F&amp;action_name=Pants+Has+Got+Your+Python+Monorepo+Covered+-+Episode+290&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-11-23t23:16:29+00:00-808d6fb218993a5</guid>
      <link>https://www.pythonpodcast.com/pants-monorepo-build-tool-episode-290</link>
      <pubDate>Mon, 23 Nov 2020 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="124.34" duration="25.61">First got involved with the pants project about 3 years ago as a summer intern at Foursquare, and my project that summer was to lead pants's Python 3 migration. I fell in love with the community and kept working on pants as an open source contributor after that. And then got offered a job to work for Twitter, working on pants, and now work on pants for most of my time as a software engineer at a start up called Toolchain.</podcast:soundbite>
      <podcast:soundbite startTime="285.50" duration="23.16">So as I alluded to earlier, pants got started at Twitter, but its history, something like 8 years ago and was open sourced, 6 or 7 years ago. But its history is really intertwined with the history of monorepos. And monorepos are sort of a 10 year arc of how to layout code changing as our understanding of these larger and larger projects.</podcast:soundbite>
      <podcast:soundbite startTime="564.91" duration="30.14">I think monorepos require good tooling. And so the history of, like, monorepo build tools and monorepos is pretty intimately intertwined because it's hard to have 1 without the other. And so you need this good tooling. The reason you need the tooling is that if you don't have it, you end up manually maintaining sort of partitions of some larger code base. And the CI example is a pretty clear 1 where when you get to the point that you have thousands of tests, you're gonna find that you wanna run some of them on a different machine.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:39</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Pants Has Got Your Python Monorepo Covered</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>290</itunes:episode>
      <podcast:episode>290</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320785268340fdce5158-4c57-4174-af4a-e3a051940338v1.mp3" length="38613200" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320785268340fdce5158-4c57-4174-af4a-e3a051940338v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fdce5158-4c57-4174-af4a-e3a051940338638558841615002134.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fdce5158-4c57-4174-af4a-e3a051940338638558841612528834.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fdce5158-4c57-4174-af4a-e3a051940338638558841610518713.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Scale Your Data Science Teams With Machine Learning Operations Principles</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Building a machine learning model is a process that requires well curated and cleaned data and a lot of experimentation. Doing it repeatably and at scale with a team requires a way to share your discoveries with your teammates. This has led to a new set of operational ML platforms. In this episode Michael Del Balso shares the lessons that he learned from building the platform at Uber for putting machine learning into production. He also explains how the feature store is becoming the core abstraction for data teams to collaborate on building machine learning models. If you are struggling to get your models into production, or scale your data science throughput, then this interview is worth a listen.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Do you want to get better at Python? Now is an excellent time to take an online course. Whether you&#8217;re just learning Python or you&#8217;re looking for deep dives on topics like APIs, memory mangement, async and await, and more, our friends at Talk Python Training have a top-notch course for you. If you&#8217;re just getting started, be sure to check out the Python for Absolute Beginners course. It&#8217;s like the first year of computer science that you never took compressed into 10 fun hours of Python coding and problem solving. Go to <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a> today and get 10% off the course that will help you find your next level. That&#8217;s <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a>, and don&#8217;t forget to thank them for supporting the show.</li>
<li>Python has become the default language for working with data, whether as a data scientist, data engineer, data analyst, or machine learning engineer. Springboard has launched their School of Data to help you get a career in the field through a comprehensive set of programs that are 100% online and tailored to fit your busy schedule. With a network of expert mentors who are available to coach you during weekly 1:1 video calls, a tuition-back guarantee that means you don&#8217;t pay until you get a job, resume preparation, and interview assistance there&#8217;s no reason to wait. Springboard is offering up to 20 scholarships of $500 towards the tuition cost, exclusively to listeners of this show. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> today to learn more and give your career a boost to the next level.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Mike Del Balso about what is involved in operationalizing machine learning, and his work at Tecton to provide that platform as a service</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what is encompassed by the term &quot;Operational ML&quot;?
<ul>
<li>What other approaches are there to building and managing machine learning projects?</li>
<li>How do these approaches differ from operational ML in terms of the use cases that they enable or the scenarios where they can be employed?</li>
</ul>
</li>
<li>How would you characterize the current level of maturity for the average organization or enterprise in terms of their capacity for delivering ML projects?</li>
<li>What are the necessary components for an operational ML platform?</li>
<li>You helped to build the Michelangelo platform at Uber. How did you determine what capabilities were necessary to provide a unified approach for building and deploying models?</li>
<li>How did your work on Michelangelo inform your work on Tecton?</li>
<li>How does the use of a feature store influence the structure and workflow of a data team?</li>
<li>In addition to the feature store, what are the other necessary components of a full pipeline for identifying, training, and deploying machine learning models?</li>
<li>Once a model is in production, what signals or metrics do you track to feed into the next iteration of model development?</li>
<li>One of the common challenges in data science and machine learning is managing collaboration. How do tools such as feature stores or the Michelangelo platform address that problem?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while building operational ML platforms?</li>
<li>What advice or recommendations do you have for teams who are trying to work with machine learning?</li>
<li>What do you have planned for the future of Tecton?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/michaeldelbalso/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.neilgaiman.com/Cool_Stuff/Essays/Essays_About_Neil/The_Sandman_Summary?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sandman</a> graphic novel series by Neil Gaiman</li>
</ul>
</li>
<li>Mike
<ul>
<li><a href="https://www.penguinrandomhouse.com/books/20575/at-home-by-bill-bryson/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">At Home: A Short History of Private Life</a> by Bill Bryson</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.tecton.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tecton</a></li>
<li><a href="https://eng.uber.com/michelangelo-machine-learning-platform/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Michelangelo</a></li>
<li><a href="https://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sklearn</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="https://www.dataengineeringpodcast.com/streamsql-machine-learning-feature-store-episode-137/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode About StreamSQL</a></li>
<li><a href="https://www.featurestore.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feature Store</a></li>
<li><a href="https://en.wikipedia.org/wiki/Master_data_management?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Master Data Management</a></li>
<li><a href="https://www.amundsen.io/amundsen/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amundsen</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/amundsen-data-discovery-episode-92/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://algorithmia.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Algorithmia</a></li>
<li><a href="https://en.wikipedia.org/wiki/Unix_philosophy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unix philosophy</a></li>
<li><a href="https://feast.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feast</a> feature store</li>
<li><a href="https://www.kubeflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubeflow</a></li>
<li><a href="https://a16z.com/2020/10/15/the-emerging-architectures-for-modern-data-infrastructure/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Andreesen Horowitz Post On Emerging Data Architectures</a></li>
<li><a href="https://www.tecton.ai/blog/what-is-a-feature-store/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">What is a feature store?</a> post on the Tecton blog</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmachine-learning-operations-episode-289%2F&amp;action_name=Scale+Your+Data+Science+Teams+With+Machine+Learning+Operations+Principles+-+Episode+289&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-11-17t01:40:15+00:00-946fb6be42dad64</guid>
      <link>https://www.pythonpodcast.com/machine-learning-operations-episode-289</link>
      <pubDate>Tue, 17 Nov 2020 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2625.71" duration="31.45">And the second element is don't reinvent the wheel. When we built Michelangelo, there just weren't a lot of good tools out there. So we ended up having to build a lot of this stuff. But today, there's not really a need to build to staff up a 35 person ML infrastructure team and have them work for a couple of years to rebuild a bunch of stuff that you can get off the shelf in from vendors or from open source today. And as we discussed, teams are specializing in these different areas, and these tools are way faster than a generic internal platform can keep up with.</podcast:soundbite>
      <podcast:soundbite startTime="604.38" duration="26.92">So maybe we should take a minute to kind of define what a feature store is and what it does. So it's something we developed at Michelangelo. Feature store is really a data system built for supporting the data side of ML workflows. And so what feature stores do is they operate data pipelines that generate feature values. They persist and manage the feature data themselves, and they serve this feature data consistently for training and inference purposes.</podcast:soundbite>
      <podcast:soundbite startTime="143.32" duration="31.10">I first got started in Python when I was back in undergrad, and I had been doing a machine learning course actually. And we started we were trying to predict this is such a silly project. We were trying to predict the stock market using Twitter feeds and the Twitter fire hose, and so we were using sklearn. I'm sure Pandas was around at that time, but we had never heard of it. And I remember my friend just showing me Python and thinking, wow. This is way simpler than all the other languages I had used up to this point.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:58</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Scale Your Data Science Teams With Machine Learning Operations Principles</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>289</itunes:episode>
      <podcast:episode>289</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317226330403a28ab3ba-400c-4ba9-9318-c469d3133ce6v1.mp3" length="43894375" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317226330403a28ab3ba-400c-4ba9-9318-c469d3133ce6v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a28ab3ba-400c-4ba9-9318-c469d3133ce6638558835165674612.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a28ab3ba-400c-4ba9-9318-c469d3133ce6638558835162150048.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a28ab3ba-400c-4ba9-9318-c469d3133ce6638558835160238113.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Making The Case For A (Semi) Formal Specification Of CPython</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The CPython implementation has grown and evolved significantly over the past ~25 years. In that time there have been many other projects to create compatible runtimes for your Python code. One of the challenges for these other projects is the lack of a fully documented specification of how and why everything works the way that it does. In the most recent Python language summit Mark Shannon proposed implementing a formal specification for CPython, and in this episode he shares his reasoning for why that would be helpful and what is involved in making it a reality.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Do you want to get better at Python? Now is an excellent time to take an online course. Whether you&#8217;re just learning Python or you&#8217;re looking for deep dives on topics like APIs, memory mangement, async and await, and more, our friends at Talk Python Training have a top-notch course for you. If you&#8217;re just getting started, be sure to check out the Python for Absolute Beginners course. It&#8217;s like the first year of computer science that you never took compressed into 10 fun hours of Python coding and problem solving. Go to <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a> today and get 10% off the course that will help you find your next level. That&#8217;s <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a>, and don&#8217;t forget to thank them for supporting the show.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Mark Shannon about his efforts to create a formal specification for the CPython interpreter</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the current state of how the Python language and the CPython runtime are defined?</li>
<li>What is your motivation in advocating for a specification?
<ul>
<li>After ~25 years of the language, why is now the time to pursue this effort?</li>
<li>How does the history of the language and the scope of the ecosystem and community impact the effort required to make this a reality?</li>
</ul>
</li>
<li>What is involved in creating the specification and where would it be located once complete?
<ul>
<li>What are some examples of languages that are formally specified?</li>
</ul>
</li>
<li>What are the possible benefits of creating a specification for the CPython virtual machine?
<ul>
<li>What is the distinction between a specification for the VM as opposed to a specification for the language?</li>
</ul>
</li>
<li>What are some potential downsides to having a (semi-)formal specification become part of the definition of the interpreter?</li>
<li>Can you describe the process of doing the work to create the specification?</li>
<li>How are you approaching the actual definition of the specification (e.g. prose vs programmatic)?
<ul>
<li>What are the tradeoffs of prose vs. an executable specification (e.g. TLA+, Alloy)?</li>
</ul>
</li>
<li>How does this work tie into your goals of improving the speed of the CPython interpreter?</li>
<li>What are some of the most interesting, unexpected, or challenging aspects of your efforts to bring this specification to CPython?</li>
<li>How can the community contribute to this effort?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/markshannon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">markshannon</a> on GitHub</li>
<li><a href="https://sites.google.com/site/makingcpythonfast/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li>American Gods <a href="https://www.neilgaiman.com/works/Books/American+Gods/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">book</a> and <a href="https://www.imdb.com/title/tt1898069/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TV series</a></li>
</ul>
</li>
<li>Mark
<ul>
<li><a href="https://en.wikipedia.org/wiki/Roadside_Picnic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Roadside Picnic</a></li>
<li><a href="https://www.oculus.com/experiences/quest/2334376869949242/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">In Death (VR game)</a>
&#8211;<a href="https://store.steampowered.com/app/605450/In_Death/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">On Steam</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://en.wikipedia.org/wiki/CPython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CPython</a></li>
<li><a href="https://www.pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0380/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 380</a> yield from</li>
<li><a href="https://us.pycon.org/2020/events/languagesummit/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Language Summit</a></li>
<li><a href="https://rustpython.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RustPython</a></li>
<li><a href="https://www.jython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jython</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="https://en.wikipedia.org/wiki/ML_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ML</a> programming language</li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://github.com/markshannon/python_formal_semantics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Formal Semantics git repository</a></li>
<li><a href="https://www.pythonpodcast.com/cpython-parser-replacement-episode-285/?utm_source=rss&utm_medium=rss">CPython PEG Parser Episode</a> with Pablo Galindo and Lysandros Nikolaou</li>
<li><a href="https://www.ietf.org/standards/rfcs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IETF RFCs</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcpython-formal-specification-episode-288%2F&amp;action_name=Making+The+Case+For+A+%28Semi%29+Formal+Specification+Of+CPython+-+Episode+288&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-11-10t02:58:49+00:00-9b6953e61419a0b</guid>
      <link>https://www.pythonpodcast.com/cpython-formal-specification-episode-288</link>
      <pubDate>Tue, 10 Nov 2020 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="865.02" duration="25.04">In terms of the actual effort to define the specification, I'm wondering if you can just outline the approach to actually committing that to paper and writing it down and what's involved in Dirich to identify the areas that need to be specified. And then once it is created, where that specification might live to ensure that it is accessible to people at the time that they need it.</podcast:soundbite>
      <podcast:soundbite startTime="62.88" duration="21.35">So Mark, can you start by introducing yourself? Yeah. I'm Mark Shann, a Python core developer. I've been using Python since 2005 ish. I started using it when I was doing my master's degree on building a CPython for a stack machine. And it's 1 of those things where you just need to do little tasks like generate tables of data and all sorts of things.</podcast:soundbite>
      <podcast:soundbite startTime="142.08" duration="36.29">And so you mentioned how CPython is the reference implementation, and everything has to define itself in terms of whatever CPython happens to be doing. And what that is can change from version to version. And so I'm curious if you can do what the motivation is for actually trying to advocate for a more formalized specification of the language and whether the specification is then tied to CPython itself or if it is a body apart from that, and all implementations of Python should be trying to adhere to that?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:36:41</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Making The Case For A (Semi) Formal Specification Of CPython</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>288</itunes:episode>
      <podcast:episode>288</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315866478482b56812e0-69d7-455b-bb4f-aea953dadd77v1.mp3" length="29044238" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315866478482b56812e0-69d7-455b-bb4f-aea953dadd77v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b56812e0-69d7-455b-bb4f-aea953dadd77638558830364585594.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b56812e0-69d7-455b-bb4f-aea953dadd77638558830362360777.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b56812e0-69d7-455b-bb4f-aea953dadd77638558830360388577.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Bringing Artificial Intelligence Projects From Idea To Production</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Artificial intelligence applications can provide dramatic benefits to a business, but only if you can bring them from idea to production. Henrik Landgren was behind the original efforts at Spotify to leverage data for new product features, and in his current role he works on an AI system to evaluate new businesses to invest in. In this episode he shares advice on how to identify opportunities for leveraging AI to improve your business, the capabilities necessary to enable aa successful project, and some of the pitfalls to watch out for. If you are curious about how to get started with AI, or what to consider as you build a project, then this is definitely worth a listen.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $100 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Do you want to get better at Python? Now is an excellent time to take an online course. Whether you&#8217;re just learning Python or you&#8217;re looking for deep dives on topics like APIs, memory mangement, async and await, and more, our friends at Talk Python Training have a top-notch course for you. If you&#8217;re just getting started, be sure to check out the Python for Absolute Beginners course. It&#8217;s like the first year of computer science that you never took compressed into 10 fun hours of Python coding and problem solving. Go to <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a> today and get 10% off the course that will help you find your next level. That&#8217;s <a href="https://www.pythonpodcast.com/talkpython?utm_source=rss&utm_medium=rss">pythonpodcast.com/talkpython</a>, and don&#8217;t forget to thank them for supporting the show.</li>
<li>Equalum’s end to end data ingestion platform is relied upon by enterprises across industries to seamlessly stream data to operational, real-time analytics and machine learning environments. Equalum combines streaming Change Data Capture, replication, complex transformations, batch processing and full data management using a no-code UI. Equalum also leverages open source data frameworks by orchestrating Apache Spark, Kafka and others under the hood. Tool consolidation and linear scalability without the legacy platform price tag. Go to <a href="https://www.pythonpodcast.com/equalum?utm_source=rss&utm_medium=rss">pythonpodcast.com/equalum</a> today to start a free 2 week test run of their platform, and don’t forget to tell them that we sent you.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Henrik Landgren about his experiences building AI platforms to transform business capabilities.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by sharing your thoughts on when, where, and how AI/ML are useful tools for a business?</li>
<li>What has been your experience in building AI platforms?</li>
<li>For organizations who are considering investing in AI capabilities, what are some alternative strategies that they might consider first?</li>
<li>What are the cases where AI is likely to be a wasted effort, or will fail to create a return on investment?</li>
<li>In order to be succesful in bringing AI products to production, what are the foundational capabilities that are necessary?
<ul>
<li>What have you found to be a useful composition of roles and skills for building AI products?</li>
</ul>
</li>
<li>There are various statistics that all point to a remarkably low success rate for bringing AI into production. What are some of the pitfalls that organizations and engineers should be aware of when undertaking such a project?</li>
<li>What is your strategy for identifying opportunities for a successful AI product?
<ul>
<li>Once you have determined the possible utility for such a project, how do you approach the work of making it a reality?</li>
</ul>
</li>
<li>What are the common factors in what you built at Spotify and EQT ventures?
<ul>
<li>Where do the two efforts diverge?</li>
</ul>
</li>
<li>Your work on Motherbrain is interesting because of the fact that it is dealing in what seems to be intangible or unpredictable forces. What kinds of input are you relying on to generate useful predictions?</li>
<li>What are some of the most interesting, innovative, or unexpected uses of AI that you have seen?</li>
<li>What are some of the biggest failures of AI that you are aware of?</li>
<li>In your work at Spotify and EQT ventures, what are the most interesting, unexpected, or challenging lessons that you have learned?</li>
<li>What advice or recommendations do you have for anyone who wants to learn more about the potential for AI and the work involved in bringing it to production?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/henriklandgren/?originalSubdomain=se&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/hlandgren?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@hlandgren</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/dataframehq/whale?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Whale</a></li>
<li><a href="https://github.com/sharkdp/bat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">bat</a></li>
</ul>
</li>
<li>Henrik
<ul>
<li><a href="https://observablehq.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Observable</a></li>
<li><a href="https://dataform.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dataform</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dataform-data-warehouse-management-episode-102/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://eqtventures.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EQT Ventures</a></li>
<li><a href="https://en.wikipedia.org/wiki/Stockholm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stockholm Sweden</a></li>
<li><a href="https://www.eqtgroup.com/digital/motherbrain/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Motherbrain</a></li>
<li><a href="https://www.accenture.com/us-en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Accenture</a></li>
<li><a href="https://www.spotify.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spotify</a></li>
<li><a href="https://en.wikipedia.org/wiki/BASIC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Basic</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C#</a></li>
<li><a href="https://en.wikipedia.org/wiki/ASP.NET?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASP.NET</a></li>
<li><a href="https://en.wikipedia.org/wiki/JavaScript?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Javascript</a></li>
<li><a href="http://hadoop.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hadoop</a></li>
<li><a href="https://www.mckinsey.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">McKinsey</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a></li>
<li><a href="https://www.dataengineeringpodcast.com/episode-3-defining-data-engineering-with-maxime-beauchemin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineer</a></li>
<li><a href="https://en.wikipedia.org/wiki/Data_science?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Scientist</a></li>
<li><a href="https://www.springboard.com/blog/machine-learning-engineer-vs-data-scientist/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Engineer</a></li>
<li><a href="https://www.spotify.com/us/discoverweekly/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Discover Weekly Spotify Playlist</a></li>
<li><a href="https://en.wikipedia.org/wiki/GPT-3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPT-3</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deepfake?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Fakes</a></li>
<li><a href="https://www.getdbt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DBT</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fhenrik-landgren-artificial-intelligence-episode-287%2F&amp;action_name=Bringing+Artificial+Intelligence+Projects+From+Idea+To+Production+-+Episode+287&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-11-02t23:41:18+00:00-6b988598a52f213</guid>
      <link>https://www.pythonpodcast.com/henrik-landgren-artificial-intelligence-episode-287</link>
      <pubDate>Tue, 3 Nov 2020 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1270.76" duration="10.58">I'm wondering what you have seen as some of the common pitfalls that organizations and engineers might be aware of when undertaking such a project and things that they should be considering at the outset.</podcast:soundbite>
      <podcast:soundbite startTime="324.43" duration="18.04">Yeah. So I'm wondering if you can just start by giving an overview on your thoughts on the when, where, and how artificial intelligence or machine learning are useful for a business and maybe some of the cases where it is just a time sink and isn't going to be as transformational as it can be for certain entities?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Bringing Artificial Intelligence Projects From Idea To Production</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>287</itunes:episode>
      <podcast:episode>287</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532149540059879d78509-f974-4d25-b474-eeb01cdfc959v1.mp3" length="37069549" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532149540059879d78509-f974-4d25-b474-eeb01cdfc959v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_79d78509-f974-4d25-b474-eeb01cdfc959638558844361331520.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79d78509-f974-4d25-b474-eeb01cdfc959638558844357833014.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79d78509-f974-4d25-b474-eeb01cdfc959638558844356067337.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Power Up Your Java Using Python With JPype</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Python and Java are two of the most popular programming languages in the world, and have both been around for over 20 years. In that time there have been numerous attempts to provide interoperability between them, with varying methods and levels of success. One such project is JPype, which allows you to use Java classes in your Python code. In this episode the current lead developer, Karl Nelson, explains why he chose it as his preferred tool for combining these ecosystems, how he and his team are using it, and when and how you might want to use it for your own projects. He also discusses the work he has done to enable use of JPype on Android, and what is in store for the future of the project. If you have ever wanted to use a library or module from Java, but the rest of your project is already in Python, then this episode is definitely worth a listen.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Karl Nelson about JPype, a language bridge that lets you use Java classes in your Python programs</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what JPype is?
<ul>
<li>What was your motivation for becoming such a regular contributor to the project?</li>
</ul>
</li>
<li>Why might someone want to be able to call into the Java ecosystem from a Python program?</li>
<li>There have been a number of other projects aiming to combine the capabilities of Java and Python, such as Jython and PyJNIus. What are the relative tradeoffs between the different options?
<ul>
<li>Many of those other projects have stalled or stopped altogether. What about JPype has allowed it to survive for so long?</li>
</ul>
</li>
<li>Can you explain how JPype is implemented?
<ul>
<li>How has the design and implementation of the project evolved since it was first implemented?</li>
<li>How do the relative language versions influence the compatibility of programs on either side of the bridge?</li>
</ul>
</li>
<li>What is involved in creating a project that uses JPype?
<ul>
<li>How are dependencies, packaging, distribution, etc. handled across the Java and Python portions of the code?</li>
</ul>
</li>
<li>What are some of the ways that JPype can be used for Android applications?</li>
<li>What are some of the sharp edges or pitfalls that users of JPype should be aware of?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen JPype used?</li>
<li>What have you found to be the most interesting or challenging aspects of building JPype?</li>
<li>When is JPype the wrong choice?</li>
<li>What is in store for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/Thrameos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thrameos</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/karl-nelson-6119b68/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Hiking?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hiking</a></li>
<li><a href="https://www.alltrails.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">All Trails</a></li>
<li><a href="https://www.hikingproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Hiking Project</a></li>
</ul>
</li>
<li>Karl
<ul>
<li><a href="https://leagueoflegends.fandom.com/wiki/Summoner%27s_Rift?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Summoner&#8217;s Rift</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://jpype.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JPype</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://talvi.net/a-brief-overview-of-python-java-bridges-in-2020.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Overview of Python to Java bridges</a></li>
<li><a href="https://www.llnl.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lawrence Livermore National Lab</a></li>
<li><a href="https://en.wikipedia.org/wiki/Gtkmm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GTK&#8211;</a></li>
<li><a href="https://www.gnome.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gnome</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_Native_Interface?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java Native Interface (JNI)</a></li>
<li><a href="https://www.scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://www.jython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jython</a></li>
<li><a href="https://pyjnius.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyJNIus</a></li>
<li><a href="https://www.py4j.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Py4J</a></li>
<li><a href="https://github.com/ninia/jep?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jep</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://www.oracle.com/technical-resources/articles/java/javareflection.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reflection</a></li>
<li><a href="https://ant.apache.org/ivy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ivy</a></li>
<li><a href="https://maven.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Maven</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_Database_Connectivity?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JDBC</a></li>
<li><a href="https://kivy.org/#home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy</a></li>
<li><a href="https://www.android.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Android</a></li>
<li><a href="https://docs.python.org/3/reference/datamodel.html#slots?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Slots</a></li>
<li><a href="https://www.pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://asm.ow2.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java ASM</a></li>
<li><a href="http://arrow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arrow Columnar Memory Format</a></li>
<li><a href="https://developers.google.com/protocol-buffers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Protocol Buffers</a></li>
<li><a href="https://www.graalvm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraalVM</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fjpype-java-python-bridge-episode-286%2F&amp;action_name=Power+Up+Your+Java+Using+Python+With+JPype+-+Episode+286&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-10-26t22:29:27+00:00-30e8a9d3d30caf5</guid>
      <link>https://www.pythonpodcast.com/jpype-java-python-bridge-episode-286</link>
      <pubDate>Mon, 26 Oct 2020 22:00:00 +0000</pubDate>
      <podcast:soundbite startTime="258.76" duration="37.49">Jpype is a module in Python, which is the intent of exposing all Java packages as Python modules. It does this by using reflection through the Java native interface to basically find out whatever the capabilities are of a Java class and reexport them into the dictionary based Python world. The whole philosophy is to be able to directly cut and paste Java code into the Python language and just make a few syntax changes in order to basically execute the same code that would have been done within Java.</podcast:soundbite>
      <podcast:soundbite startTime="1006.85" duration="44.60">The key advantage of Jpipy is that it is pretty darn small in scope. The whole API is less than 20 primitive classes and about the same number of derived classes and support functions, but it takes close to 1, 500 different unit tests just to exercise all of the behaviors because you have so much different behaviors that exist behind the scene with the interactions with Java. So Jpipe being limited in scope, not really having the ability to connect and disconnect the JVM, and already having an extensive testing framework, I had a lot of good material to build on.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Power Up Your Java Using Python With JPype</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>286</itunes:episode>
      <podcast:episode>286</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531808038083179f84426-fd43-47d2-9883-cf1dd53a35bbv1.mp3" length="39521684" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531808038083179f84426-fd43-47d2-9883-cf1dd53a35bbv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_79f84426-fd43-47d2-9883-cf1dd53a35bb638558838057152915.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79f84426-fd43-47d2-9883-cf1dd53a35bb638558838053570650.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79f84426-fd43-47d2-9883-cf1dd53a35bb638558838051683520.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Journey To Replace Python's Parser And What It Means For The Future</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The release of Python 3.9 introduced a new parser that paves the way for brand new features. Every programming language has its own specific syntax for representing the logic that you are trying to express. The way that the rules of the language are defined and validated is with a grammar definition, which in turn is processed by a parser. The parser that the Python language has relied on for the past 25 years has begun to show its age through mounting technical debt and a lack of flexibility in defining new syntax. In this episode Pablo Galindo and Lysandros Nikolaou explain how, together with Python&#8217;s creator Guido van Rossum, they replaced the original parser implementation with one that is more flexible and maintainable, why now was the time to make the change, and how it will influence the future evolution of the language.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Pablo Galindo and Lysandros Nikolaou about their work on replacing the parser in CPython and what that means for the language</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by discussing the role of the parser in the lifecycle of a Python program?</li>
<li>What were the limitations of the previous parser, and how did that contribute to complexity and technical debt in the CPython runtime?</li>
<li>What are the options for styles of parsers, and what are the benefits of using a PEG style grammar?</li>
<li>How does the new parser impact the approachability of the CPython code for new contributors?</li>
<li>What was the process for reimplementing the parser and guarding against regressions in the syntax?</li>
<li>As developers switch to the 3.9 release, what potential edge cases/bugs might they see from introducing the new parser?</li>
<li>What new syntax options does this parser provide for the Python language?
<ul>
<li>Are there any specific features that are planned for implementation in the 3.10 release that are enabled by the new parser grammar?</li>
</ul>
</li>
<li>As the language evolves due to new capabilities offered by the updated parser, how will that impact other implementations such as PyPy?</li>
<li>What were the most interesting, unexpected, or challenging aspects of this project?</li>
<li>What other aspects of the CPython code do you think should be reconsidered or reimplemented in light of the changes in computing and the usage of the language?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Pablo
<ul>
<li><a href="https://github.com/pablogsal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pablogsal</a> on GitHub</li>
<li><a href="https://twitter.com/pyblogsal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@pyblogsal</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/pablo-galindo-salgado-4996b4139/?originalSubdomain=uk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
<li>Lysandros
<ul>
<li><a href="https://www.linkedin.com/in/lysnikolaou/?originalSubdomain=de&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/lysnikolaou?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">lysnikolaou</a> on GitHub</li>
<li><a href="https://twitter.com/lysnikolaou?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@lysnikolaou</a> on Twitter</li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://surveys.jetbrains.com/s3/c3-python-developers-survey-2020?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Annual Python Developer Survey</a></li>
<li><a href="https://www.netflix.com/title/80002311?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jessica Jones</a> TV show</li>
</ul>
</li>
<li>Pablo
<ul>
<li><a href="https://www.imdb.com/title/tt9170108/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raised By Wolves</a> TV Series</li>
</ul>
</li>
<li>Lysandros
<ul>
<li><a href="https://www.imdb.com/title/tt8398600/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Afterlife</a> TV show</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.python.org/dev/peps/pep-0617/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 617</a> &#8211; New PEG Parser for CPython</li>
<li><a href="https://www.pythonpodcast.com/episode-95-parsing-and-parsers-with-dave-beazley-and-erik-rose/?utm_source=rss&utm_medium=rss">Podcast Episode About Parsers</a></li>
<li><a href="https://en.wikipedia.org/wiki/CPython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CPython</a></li>
<li><a href="https://www.bloomberg.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bloomberg</a></li>
<li><a href="https://en.wikipedia.org/wiki/Parsing_expression_grammar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEG Parsers</a></li>
<li><a href="https://www.seafair.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seafair</a></li>
<li><a href="https://en.wikipedia.org/wiki/LL_parser?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LL(1) Parsers</a></li>
<li><a href="https://lukasz.langa.pl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Łukasz Langa</a></li>
<li><a href="https://en.wikipedia.org/wiki/Compiler-compiler?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parser Generator</a></li>
<li><a href="https://en.wikipedia.org/wiki/Parse_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Concrete Syntax Tree</a></li>
<li><a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Abstract Syntax Tree</a></li>
<li><a href="https://www.pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://rustpython.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RustPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/rust-python-interpreter-episode-207/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://ironpython.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IronPython</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0622/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Structural Pattern Matching &#8211; PEP 622</a></li>
<li><a href="https://www.pylint.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pylint</a></li>
<li><a href="https://github.com/PyCQA/astroid?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASTroid</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-35-sylvain-thenault-on-astroid/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.hylang.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-23-hylang-core-developers/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.python.org/dev/peps/pep-0572/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Walrus Operator/Assignment Expressions</a></li>
<li><a href="https://en.wikipedia.org/wiki/C99?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C99</a></li>
<li><a href="https://en.wikipedia.org/wiki/Reference_counting?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reference Counting</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tracing_garbage_collection#Generational_GC_(ephemeral_GC)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cycle Hunting/Generational Garbage Collection</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcpython-parser-replacement-episode-285%2F&amp;action_name=The+Journey+To+Replace+Python%27s+Parser+And+What+It+Means+For+The+Future+-+Episode+285&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-10-19t23:14:22+00:00-e3e734d2d09af6e</guid>
      <link>https://www.pythonpodcast.com/cpython-parser-replacement-episode-285</link>
      <pubDate>Mon, 19 Oct 2020 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2330.52" duration="30.72">As we've discussed already, because of the fact that we do have this new parser with a more expressive grammar available to it, it makes it possible or easier to introduce new syntax that was too cumbersome or too impractical with the l l 1 parser. I'm wondering what the scope of those new capabilities are and if there are any specific features or PEPs that are planned for implementation in the 3.10 release that are relying on this new parser.</podcast:soundbite>
      <podcast:soundbite startTime="637.63" duration="13.89">So I'm wondering if you can talk a bit more about some of the options for other parsing strategies and what it is about the current point in time that makes peg parsers the right answer for CPython going forward.</podcast:soundbite>
      <podcast:soundbite startTime="245.51" duration="13.57">As I mentioned, we're discussing the work that you've both been doing on replacing the parser within the CPython runtime. So I'm wondering if you can just start by giving an overview of the role of the parser in the life cycle of a Python program.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:05:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Journey To Replace Python's Parser And What It Means For The Future</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>285</itunes:episode>
      <podcast:episode>285</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253059353543314c264646-cba5-44a4-9883-7462a12d65b6v1.mp3" length="54952333" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253059353543314c264646-cba5-44a4-9883-7462a12d65b6v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4c264646-cba5-44a4-9883-7462a12d65b6638558815686014193.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4c264646-cba5-44a4-9883-7462a12d65b6638558815682177170.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4c264646-cba5-44a4-9883-7462a12d65b6638558815679701257.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Cloud Native Application Delivery Using GitOps</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The way that applications are being built and delivered has changed dramatically in recent years with the growing trend toward cloud native software. As part of this movement toward the infrastructure and orchestration that powers your project being defined in software, a new approach to operations is gaining prominence. Commonly called GitOps, the main principle is that all of your automation code lives in version control and is executed automatically as changes are merged. In this episode Victor Farcic shares details on how that workflow brings together developers and operations engineers, the challenges that it poses, and how it influences the architecture of your software. This was an interesting look at an emerging pattern in the development and release cycle of modern applications.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Tree Schema is a data catalog that is making metadata management accessible to everyone. With Tree Schema you can create your data catalog and have it fully populated in under five minutes when using one of the many automated adapters that can connect directly to your data stores. Tree Schema includes essential cataloging features such as first class support for both tabular and unstructured data, data lineage, rich text documentation, asset tagging and more. Built from the ground up with a focus on the intersection of people and data, your entire team will find it easier to foster collaboration around your data. With the most transparent pricing in the industry – $99/mo for your entire company – and a money-back guarantee for excellent service, you’ll love Tree Schema as much as you love your data. Go to <a href="https://www.pythonpodcast.com/treeschema?utm_source=rss&utm_medium=rss">pythonpodcast.com/treeschema</a> today to get your first month free, and mention this podcast to get %50 off your first three months after the trial.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Victor Farcic about using GitOps practices to manage your application and your infrastructure in the same workflow</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what GitOps is?</li>
<li>What are the architectural or design elements that developers need to incorporate to make their applications work well in a GitOps workflow?</li>
<li>What are some of the tools that facilitate a GitOps approach to managing applications and their target environments?</li>
<li>What are some useful strategies for managing local developer environments to maintain parity with how production deployments are architected?</li>
<li>As developers acquire more resonsibility for building the automation to provision the production environment for their applications, what are some of the operations principles that they need to understand?</li>
<li>What are some of the development principles that operators and systems administrators need to acquire to be effective in contributing to an environment that is managed by GitOps?</li>
<li>What are the areas for collaboration and dividing lines of responsibility between developers and platform engineers in a GitOps environment?</li>
<li>Beyond the application development and deployment, what are some of the additional concerns that need to be built into an application in order for it to be manageable and maintainable once it is in production?</li>
<li>What are some of the organizational principles that contribute to a successful implementation of GitOps?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen GitOps employed?</li>
<li>What have you found to be the most challenging aspects of creating a scalable and maintainable GitOps practice?</li>
<li>When is GitOps the wrong choice, and what are the alternatives?</li>
<li>What resources do you recommend for anyone who wants to dig deeper into this subject?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/viktorfarcic/?originalSubdomain=es&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://technologyconversations.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/vfarcic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@vfarcic</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.pulumi.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pulumi</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pulumi-infrastructure-as-code-episode-261/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
<li>Victor
<ul>
<li><a href="https://grafana.com/oss/loki/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Loki</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://youtu.be/qwyRJlmG5ew?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitOps</a></li>
<li><a href="https://codefresh.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeFresh</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://www.devopsparadox.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DevOps Paradox Podcast</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://www.cncf.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloud Native</a></li>
<li><a href="https://argoproj.github.io/argo-cd/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ArgoCD</a></li>
<li><a href="https://github.com/fluxcd/flux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flux</a></li>
<li><a href="https://en.wikipedia.org/wiki/Observability?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Observability</a></li>
<li><a href="https://prometheus.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prometheus</a></li>
<li><a href="https://helm.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Helm</a></li>
<li><a href="https://knative.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KNative</a></li>
<li><a href="https://github.com/kubernetes/minikube?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MiniKube</a></li>
<li><a href="https://www.devopstoolkitseries.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Viktor&#8217;s Udemy Books and Courses</a></li>
<li><a href="https://www.youtube.com/c/TheDevOpsToolkitSeries?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Viktor&#8217;s YouTube channel</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgitops-cloud-native-operations-episode-284%2F&amp;action_name=Cloud+Native+Application+Delivery+Using+GitOps+-+Episode+284&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-10-12t22:56:29+00:00-472dee61daf7ef0</guid>
      <link>https://www.pythonpodcast.com/gitops-cloud-native-operations-episode-284</link>
      <pubDate>Mon, 12 Oct 2020 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="152.17" duration="29.39">And, also, when I was getting ready for this interview, I noticed that you have a podcast of your own. Yes. Yes. Me and colleague or ex colleague, Darren, are having a devil's paradox podcast where we just speak usually about random things. It's occasionally, we have guests, but more often than not, it's about, hey. What were we doing this week? This or that. Right? And then completely unscripted. Without preparation, we just talk about stuff that we like.</podcast:soundbite>
      <podcast:soundbite startTime="2293.59" duration="66.70">In terms of actually employing GitOps principles and orienting all of your workflow around the code repository as the source of truth and automating the deployment of environments to converge on some desired state. What are some of the ways that it goes wrong or some of the horror stories of people who have attempted this and ultimately thrown their hands up in failure and gone back to doing everything manually? Yeah. You know that saying, destroying a cluster destroying a service human, destroying a fleet of clusters that's DevOps and GitOps. Yeah. It could go terribly wrong. Right? Because at some moment, we become comfortable with what we do, and that's good. That's what we really, really want. We become comfortable in our automation. And from that moment on, it's very easy to slip. Right? It's very easy to introduce a change, push the change to Git, and that change could affect hundreds of servers. Right? It could affect many clusters. It could affect different regions simply because we have that power now.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:44</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Cloud Native Application Delivery Using GitOps</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>284</itunes:episode>
      <podcast:episode>284</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320687888449728b5a02-4a04-46ad-b83a-de90fcdf2126v1.mp3" length="42222944" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320687888449728b5a02-4a04-46ad-b83a-de90fcdf2126v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_728b5a02-4a04-46ad-b83a-de90fcdf2126638558841077357822.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/728b5a02-4a04-46ad-b83a-de90fcdf2126638558841073681137.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/728b5a02-4a04-46ad-b83a-de90fcdf2126638558841071747331.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Threading The Needle Of Interesting And Informative While You Learn To Code</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Learning to code is a neverending journey, which is why it&#8217;s important to find a way to stay motivated. A common refrain is to just find a project that you&#8217;re interested in building and use that goal to keep you on track. The problem with that advice is that as a new programmer, you don&#8217;t have the knowledge required to know which projects are reasonable, which are difficult, and which are effectively impossible. Steven Lott has been sharing his programming expertise as a consultant, author, and trainer for years. In this episode he shares his insights on how to help readers, students, and colleagues interested enough to learn the fundamentals without losing sight of the long term gains. He also uses his own difficulties in learning to maintain, repair, and captain his sailboat as relatable examples of the learning process and how the lessons he has learned can be translated to the process of learning a new technology or skill. This was a great conversation about the various aspects of how to learn, how to stay motivated, and how to help newcomers bridge the gap between what they want to create and what is within their grasp.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at <a href="https://www.pythonpocast.com/datadog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pythonpodcast.com/datadog</a>. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Steven F. Lott about finding a project that you care about to aid in learning to program</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by outlining your experiences working with and teaching Python?</li>
<li>Does your day-to-day experience at work suggest ways to help newcomers learn about Python?</li>
<li>How have your experiences as an author influenced your perspective on how to help newcomers become motivated to learn programming?</li>
<li>One of the common pieces of advice that I and others have given to people learning Python or other languages is to find a project that they want to build, but that&#8217;s not necessarily a practical approach. What are some of the difficulties that might come of that approach?
<ul>
<li>What are some strategies that you have tried for helping learners identify what kinds of project are possible and practical?</li>
</ul>
</li>
<li>Beyond the difficulty of understanding what is possible and what is going to require a dedicated team of engineers to even attempt, there is the question of remaining motivated for long enough to follow through on a project in the face of syntax errors and design challenges. What can language developers and ecosystems do to improve the newcomer experience in exploring possibilities?
<ul>
<li>How can we make syntax errors educational and recoverable, rather than needing accrued knowledge, or hours of web searches?</li>
</ul>
</li>
<li>As an author, there are complementary goals that may lead to conflict in the form of wanting to provide structured guidance and progression while allowing for creativity and experimentation. How have you approached those objectives in your books?</li>
<li>What are some of the projects that have motivated you to learn new skills?</li>
<li>What advice do you have for anyone who is working on or considering writing a book to teach a technical skill?</li>
<li>What advice do you have for anyone who is trying to learn programming or acquire a skill in a new language, platform, or framework?</li>
<li>Why are both of you movie picks black and white? Are you a film noir fan?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="http://www.itmaybeahack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://slott-softwarearchitect.blogspot.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://www.linkedin.com/in/steven-lott-029835/detail/contact-info/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/slott56?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">slott56</a> on GitHub</li>
<li><a href="https://twitter.com/s_lott?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@s_lott</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/30xBOuV?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Hobbit Trilogy: Extended Edition</a> (affiliate link)</li>
<li><a href="https://amzn.to/33tnPbn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Lord Of The Rings Trilogy: Extended Edition</a> (affiliate link)</li>
</ul>
</li>
<li>Steven
<ul>
<li><a href="https://en.wikipedia.org/wiki/Dr._Strangelove?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_General_(1926_film)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The General</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.packtpub.com/product/modern-python-cookbook-second-edition/9781800207455?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modern Python Cookbook</a></li>
<li><a href="https://www.packtpub.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Packt Publishing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Eiffel_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eiffel</a></li>
<li><a href="https://en.wikipedia.org/wiki/Modula-3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modula 3</a></li>
<li><a href="https://en.wikipedia.org/wiki/COBOL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">COBOL</a></li>
<li><a href="https://stackoverflow.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stack Overflow</a></li>
<li><a href="https://www.capitalone.com/tech/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Capital One</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsteven-lott-learn-to-code-episode-283%2F&amp;action_name=Threading+The+Needle+Of+Interesting+And+Informative+While+You+Learn+To+Code+-+Episode+283&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-10-06t00:00:32+00:00-b5846cf8727ae15</guid>
      <link>https://www.pythonpodcast.com/steven-lott-learn-to-code-episode-283</link>
      <pubDate>Tue, 6 Oct 2020 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1180.83" duration="109.55">Tooling is a sensitive issue because you can imagine having some really slick integrated development environment that's looking over your shoulder and trying to coach you on what those error messages really mean. And this is a potentially dangerous area because somehow or other this looking over your shoulder software tool is trying to register your intent. And that can be really tricky because it may not be clear from the code what you were intending to do in the 1st place. And so the tool in trying to square you away may wind up misleading you because it made the wrong guess about your intent. So I worry a little bit about over tooling in this area. But then on the other hand, under tooling means people look at cryptic error messages and say, gosh, I can't do computer today. And I don't know where the middle ground would be. Is it possible to have some super clever assistant, or would you need some natural language thing where you talked through the problem and the solution with some chatbot before you started coding so that the chatbot had some context and some sense of what you think the terminology means, and maybe that would be helpful. But, gosh, doing sentiment analysis on some of these technical topics fraught with difficulty. Since I get median and mean confused, even having me start a statistical project is gonna be trouble because you know where it's gonna go. Nowhere good. And so I would need to talk to a real data scientist before I got started down something that involves statistics.</podcast:soundbite>
      <podcast:soundbite startTime="817.46" duration="103.49">And the second part, which is no less important is sometimes it's just difficult to build good automated solutions. Software is, well frankly, hard and robust, scalable, reliable software is really hard. And so you may have some clever automated small app that runs on your desk top and may help the project that you're passionate about, but can you turn this into something that will scale and can be run-in the cloud and can be deployed automatically? Oh, gosh. There's a whole lot of other considerations there outside the language, outside the value created by your project that can make it just daunting. And so you have a, am I doing the right thing, and am I doing the thing the right way? And there's both of those can be difficult to discover whether or not you've got the right thing, whether or not you're doing it the right way. And so when someone is learning technology for the first time, you know, you're trying to learn the Python language, oh, gosh, you kinda have to set both of those things aside and you wind up having to build something that maybe isn't a great solution, doesn't solve the problem you're passionate about, but it becomes close and that's important. That way you have something you're interested in. Maybe it's not the best ever solution, but it's better than nothing, and you learned the Python, and you learned more about automation, what can be automated, what can't be automated.</podcast:soundbite>
      <podcast:soundbite startTime="864.43" duration="83.07">And so you have a, am I doing the right thing, and am I doing the thing the right way? And there's both of those can be difficult to discover whether or not you've got the right thing, whether or not you're doing it the right way. And so when someone is learning technology for the first time, you know, you're trying to learn the Python language, oh, gosh, you kinda have to set both of those things aside and you wind up having to build something that maybe isn't a great solution, doesn't solve the problem you're passionate about, but it becomes close and that's important. That way you have something you're interested in. Maybe it's not the best ever solution, but it's better than nothing, and you learned the Python, and you learned more about automation, what can be automated, what can't be automated. And so the final bit of this is giving yourself permission to fail. It may not work. Things didn't work out right. That's okay. You started again. The second 1 was better than the first 1, and that I believe is where the real secret is, is giving yourself permission to fail, to try something, to see if it worked. And if it didn't work, try something different. That, I think, is really important.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:56:30</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Threading The Needle Of Interesting And Informative While You Learn To Code</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>283</itunes:episode>
      <podcast:episode>283</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300294402600a0363290-facb-4700-89ce-374070b05a93v1.mp3" length="45493533" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300294402600a0363290-facb-4700-89ce-374070b05a93v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a0363290-facb-4700-89ce-374070b05a93638558798885342380.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a0363290-facb-4700-89ce-374070b05a93638558798880166010.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a0363290-facb-4700-89ce-374070b05a93638558798878151604.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Solving Python Package Creation For End User Applications With PyOxidizer</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Python is a powerful and expressive programming language with a vast ecosystem of incredible applications. Unfortunately, it has always been challenging to share those applications with non-technical end users. Gregory Szorc set out to solve the problem of how to put your code on someone else&#8217;s computer and have it run without having to rely on extra systems such as virtualenvs or Docker. In this episode he shares his work on PyOxidizer and how it allows you to build a self-contained Python runtime along with statically linked dependencies and the software that you want to run. He also digs into some of the edge cases in the Python language and its ecosystem that make this a challenging problem to solve, and some of the lessons that he has learned in the process. PyOxidizer is an exciting step forward in the evolution of packaging and distribution for the Python language and community.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at <a href="https://www.pythonpocast.com/datadog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pythonpodcast.com/datadog</a>. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Gregory Szorc about his work on PyOxidizer, a revolutionary new approach to building and distributing self-contained Python applications</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview on the shortcomings of the current state of the art for distributing Python projects, both for deployment and end-user consumption?</li>
<li>What is PyOxidizer and what motivated you to create it?</li>
<li>How does PyOxidizer differ from projects such as CxFreeze, Py2Exe, or Shiv?</li>
<li>What are the characteristics of CPython and the packaging ecosystem that make it so challenging to easily distribute self-contained applications?</li>
<li>For someone using PyOxidizer, what is their workflow for building an executable that they can share with end users?
<ul>
<li>What are some of the edge cases or special considerations that they need to be aware of?</li>
</ul>
</li>
<li>How is PyOxidizer implemented?
<ul>
<li>How has the design or direction evolved since you first began working on it?</li>
</ul>
</li>
<li>From your experience in working on PyOxidizer, what changes would you like to see in the Python language or the CPython reference implementation?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while working on PyOxidizer?</li>
<li>What do you have planned for the future of PyOxidizer?</li>
<li>What are the ways that listeners can contribute to PyOxidizer?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://gregoryszorc.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/indygreg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">indygreg</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.santana.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Carlos Santana</a></li>
</ul>
</li>
<li>Gregory
<ul>
<li><a href="https://www.nytimes.com/wirecutter/reviews/best-home-air-quality-monitor/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Air Quality Monitor</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://pyoxidizer.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOxidizer</a></li>
<li><a href="https://www.mercurial-scm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mercurial</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-60-mercurial-with-augie-fackler/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.mozilla.org/en-US/about/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozilla</a></li>
<li><a href="https://virtualenv.pypa.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Virtualenv</a></li>
<li><a href="https://pip.pypa.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pip</a></li>
<li><a href="https://www.docker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="https://www.py2exe.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Py2Exe</a></li>
<li><a href="https://cx-freeze.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CXFreeze</a></li>
<li><a href="https://beeware.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beeware</a></li>
<li><a href="https://shiv.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shiv</a></li>
<li><a href="https://github.com/jordansissel/fpm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FPM</a></li>
<li><a href="https://python-build-standalone.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Build Standalone</a></li>
<li><a href="https://docs.python.org/3/library/importlib.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Importlib</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://youtu.be/ftP5BQh1-YM?t=1246&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Russell Keith-Magee Black Swans Keynote</a>
<ul>
<li><a href="https://www.pythonpodcast.com/python-potential-black-swans-episode-221/?utm_source=rss&utm_medium=rss">Followup Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyoxidizer-python-package-creation-episode-282%2F&amp;action_name=Solving+Python+Package+Creation+For+End+User+Applications+With+PyOxidizer+-+Episode+282&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-09-29t01:28:53+00:00-4d2cfafbeb2817a</guid>
      <link>https://www.pythonpodcast.com/pyoxidizer-python-package-creation-episode-282</link>
      <pubDate>Tue, 29 Sep 2020 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="417.06" duration="28.97">Yeah. I think that the biggest challenge that exists in the Python ecosystem right now is that problem of being able to produce a single statically linked binary that you can drop onto another system and just execute it without having to have all of these ancillary installation steps of what version of Python do you have installed? Is it in your path? Do you have the right modules located? Are they in a virtual environment, or are they in a packaged objects in the case of things like shiv?</podcast:soundbite>
      <podcast:soundbite startTime="1988.66" duration="39.17">What motivates me to work on Paroxidizer is a new approach to Python packaging. I am trying to push the forefront of what you can accomplish with Python. I am trying to find a solution to this existential problem of how do you distribute Python applications. It is, I believe, Keith Russell McGee referred to this problem as a black swan for the Python community. Like, you have this massive community of programmers and there's so much energy in in the large larger Python community. But that energy is and the potential is significantly undermined by the inability to easily distribute Python applications.</podcast:soundbite>
      <podcast:soundbite startTime="189.96" duration="25.34">You can't rely on system libraries, a Python interpreter being installed, things of that nature. The state of the art here, I would say PyOxidizer is trying to become state of the art. I'm not sure if it's quite there yet. But there are other tools in this space, PytXe, Shiv, The Bware project is making good headroom here for mobile. I would say it's generally an unsolved problem in the Python ecosystem.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Solving Python Package Creation For End User Applications With PyOxidizer</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>282</itunes:episode>
      <podcast:episode>282</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253042528345197f3f7e41-7098-4d53-8a20-59ec75919479v1.mp3" length="33610901" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253042528345197f3f7e41-7098-4d53-8a20-59ec75919479v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7f3f7e41-7098-4d53-8a20-59ec75919479638558808127032694.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7f3f7e41-7098-4d53-8a20-59ec75919479638558808123724820.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7f3f7e41-7098-4d53-8a20-59ec75919479638558808121874958.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Flexible Network Security Detection And Response With Grapl</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Servers and services that have any exposure to the public internet are under a constant barrage of attacks. Network security engineers are tasked with discovering and addressing any potential breaches to their systems, which is a never-ending task as attackers continually evolve their tactics. In order to gain better visibility into complex exploits Colin O&#8217;Brien built the Grapl platform, using graph database technology to more easily discover relationships between activities within and across servers. In this episode he shares his motivations for creating a new system to discover potential security breaches, how its design simplifies the work of identifying complex attacks without relying on brittle rules, and how you can start using it to monitor your own systems today.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at <a href="https://www.pythonpocast.com/datadog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pythonpodcast.com/datadog</a>. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Colin O&#8217;Brien about Grapl, an open source platform for detection and response of system security incidents</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Grapl is and the problem that you are trying to solve with it?
<ul>
<li>What was your original motivation to create it?</li>
</ul>
</li>
<li>What were the existing options for security detection and response, and how is Grapl differentiated from them?</li>
<li>Who is the target audience for the Grapl project?</li>
<li>How is the Grapl system architected?
<ul>
<li>How has the design of the system evolved since you first began working on it?</li>
<li>How much effort would it be to separate the Grapl architecture from AWS to migrate it to other environments?</li>
</ul>
</li>
<li>What have you found to be the benefits of splitting the implementation of the system between Rust for the system and Python for the exploration?
<ul>
<li>What challenges have you faced as a result of working across those languages?</li>
</ul>
</li>
<li>What data sources does Grapl use to build its graph of events within a system?</li>
<li>Can you talk through the overall workflow for someone using Grapl?</li>
<li>What are some examples of the types of exploits that you can identify with Grapl?</li>
<li>What are some of the most interesting, unexpected, or innovative ways that you have seen Grapl used?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while building it?</li>
<li>When is Grapl the wrong choice?</li>
<li>What do you have planned for the future of Grapl?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/insanitybit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">insanitybit</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/colindobrien/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/InsanityBit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@InsanityBit</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://books.disney.com/artemis-fowl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artemis Fowl</a> book series by Eoin Colfer</li>
<li><a href="https://movies.disney.com/artemis-fowl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artemis Fowl</a> Movie</li>
</ul>
</li>
<li>Colin
<ul>
<li><a href="https://github.com/PyO3/pyo3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyO3</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/grapl-security/grapl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grapl</a></li>
<li><a href="https://www.graplsecurity.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grapl Security</a></li>
<li><a href="https://en.wikipedia.org/wiki/Security_information_and_event_management?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SIEM == Security Information and Event Management</a></li>
<li><a href="https://www.rapid7.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rapid7</a></li>
<li><a href="https://www.metasploit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metasploit</a></li>
<li><a href="https://www.rapid7.com/products/insightidr/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Insight IDR</a></li>
<li><a href="https://www.erlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Erlang</a></li>
<li><a href="https://dgraph.io/graph-db?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DGraph</a></li>
<li><a href="https://www.splunk.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Splunk</a></li>
<li><a href="https://www.elastic.co/elasticsearch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elasticsearch</a></li>
<li><a href="https://aws.amazon.com/lambda/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS Lambda</a></li>
<li><a href="https://sysdig.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sysdig</a></li>
<li><a href="https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sysmon</a></li>
<li><a href="https://aws.amazon.com/cloudtrail/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS CloudTrail</a></li>
<li><a href="https://aws.amazon.com/guardduty/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Guard Duty</a></li>
<li><a href="https://www.openfaas.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenFaaS</a></li>
<li><a href="https://aws.amazon.com/sqs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS SQS</a></li>
<li><a href="https://aws.amazon.com/dynamodb/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DynamoDB</a></li>
<li><a href="https://github.com/PyO3/pyo3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyO3</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dropper_(malware)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dropper Malware</a></li>
<li><a href="https://attack.mitre.org/techniques/T1563/001/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SSH Session Hijacking</a></li>
<li><a href="https://www.vagrantup.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vagrant</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgrapl-network-security-episode-282%2F&amp;action_name=Flexible+Network+Security+Detection+And+Response+With+Grapl+-+Episode+281&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-09-21t11:40:07+00:00-2426e7174848c66</guid>
      <link>https://www.pythonpodcast.com/grapl-network-security-episode-282</link>
      <pubDate>Tue, 22 Sep 2020 00:00:00 +0000</pubDate>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:32</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Flexible Network Security Detection And Response With Grapl</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>281</itunes:episode>
      <podcast:episode>281</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299919063939d6f6f2c8-8a56-4560-94e2-3016c2384dafv1.mp3" length="48873435" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299919063939d6f6f2c8-8a56-4560-94e2-3016c2384dafv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d6f6f2c8-8a56-4560-94e2-3016c2384daf638558797675783364.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d6f6f2c8-8a56-4560-94e2-3016c2384daf638558797673202745.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d6f6f2c8-8a56-4560-94e2-3016c2384daf638558797670975218.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Simplified Data Extraction And Analysis For Current Events With Newspaper</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>News media is an important source of information for understanding the context of the world. To make it easier to access and process the contents of news sites Lucas Ou-Yang built the Newspaper library that aids in automatic retrieval of articles and prepare it for analysis. In this episode he shares how the project got started, how it is implemented, and how you can get started with it today. He also discusses how recent improvements in the utility and ease of use of deep learning libraries open new possibilities for future iterations of the project.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at <a href="https://www.pythonpocast.com/datadog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pythonpodcast.com/datadog</a>. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Lucas Ou-Yang about Newspaper, a framework for easily extracting and processing online articles.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what the Newspaper project is and your motivations for creating it?</li>
<li>What are the main use cases that Newspaper is built for?
<ul>
<li>What are some libraries or tools that Newspaper might replace?</li>
</ul>
</li>
<li>What are the common structures in news sites that allow you to abstract across them for content extraction?
<ul>
<li>What are some ways of determining whether a site will be a good candidate for using with Newspaper?</li>
</ul>
</li>
<li>Can you talk through the developer workflow of someone using Newspaper?
<ul>
<li>What are some of the other libraries or tools that are commonly used alongside Newspaper?</li>
</ul>
</li>
<li>How is Newspaper implemented?
<ul>
<li>How has the design of he project evolved since you first began working on it?</li>
<li>What are some of the most complex or challenging aspects of building an automated article extraction tool?</li>
</ul>
</li>
<li>What are some of the most interesting, unexpected, or innovative projects that you have seen built with Newspaper?</li>
<li>What keeps you interested in the ongoing support and maintenance of the project?</li>
<li>What do you have planned for the future of Newspaper?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/lucasouyang/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/LucasOuYang?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@LucasOuYang</a> on Twitter</li>
<li><a href="https://codelucas.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/codelucas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">codelucas</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.marketplace.org/shows/million-bazillion/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Million Bazillion</a> Podcast</li>
</ul>
</li>
<li>Lucas
<ul>
<li><a href="https://www.amazon.com/gp/product/0596006624?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hackers and Painters</a>: Big Ideas from the Computer Age by Paul Graham</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://newspaper.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Newspaper</a></li>
<li><a href="https://en.wikipedia.org/wiki/Los_Angeles?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Los Angeles</a></li>
<li><a href="https://www.reddit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reddit</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://en.wikipedia.org/wiki/Natural_language_processing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLP == Natural Language Processing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_scraping?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web Scraping</a>
<ul>
<li><a href="https://www.pythonpodcast.com/web-scraping-essentials-episode-278/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://requests.readthedocs.io/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Requests</a></li>
<li><a href="http://www.wintria.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wintria</a></li>
<li><a href="https://goose3.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Goose</a></li>
<li><a href="https://www.diffbot.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Diffbot</a></li>
<li><a href="https://en.wikipedia.org/wiki/Heuristic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heuristics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Stop_word?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stop Words</a></li>
<li><a href="https://en.wikipedia.org/wiki/RSS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RSS</a></li>
<li><a href="https://spacy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpaCy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-87-spacy-with-matthew-honnibal/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://radimrehurek.com/gensim/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gensim</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-71-gensim-with-radim-rehurek/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.nltk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLTK</a></li>
<li><a href="https://lxml.de/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LXML</a></li>
<li><a href="https://www.crummy.com/software/BeautifulSoup/bs4/doc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beautiful Soup</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fnewspaper-data-extraction-episode-280%2F&amp;action_name=Simplified+Data+Extraction+And+Analysis+For+Current+Events+With+Newspaper+-+Episode+280&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-09-15t00:54:55+00:00-251f652fdf8ef13</guid>
      <link>https://www.pythonpodcast.com/newspaper-data-extraction-episode-280</link>
      <pubDate>Tue, 15 Sep 2020 01:00:00 +0000</pubDate>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Simplified Data Extraction And Analysis For Current Events With Newspaper</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>280</itunes:episode>
      <podcast:episode>280</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252977559478665e23ebe3-ee79-4511-8336-0d41ff2068a3v1.mp3" length="32732777" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252977559478665e23ebe3-ee79-4511-8336-0d41ff2068a3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_5e23ebe3-ee79-4511-8336-0d41ff2068a3638558789747261431.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5e23ebe3-ee79-4511-8336-0d41ff2068a3638558789744678421.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5e23ebe3-ee79-4511-8336-0d41ff2068a3638558789742569255.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Digging Into Dagster: An Opinionated Open Source Framework For Data Orchestration</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Data applications are complex and continually evolving, often requiring collaboration across multiple teams. In order to keep everyone on the same page a high level abstraction is needed to facilitate a cross-cutting view of the data orchestration across integration, transformation, analytics, and machine learning. Dagster is an innovative new framework that leans on the power and flexibility of Python to provide an extensible interface to the complete lifecycle of data projects. In this episode Nick Schrock explains how he designed the Dagster project to allow for integration with the entire data ecosystem while providing an opinionated structure for connecting the different stages of computation. He also discusses how he is working to grow an open ecosystem around the Dagster project, and his thoughts on building a sustainable business on top of it without compromising the integrity of the community. This was a great conversation about playing the long game when building a business while providing a valuable utility to a complex problem domain.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at <a href="https://www.pythonpocast.com/datadog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pythonpodcast.com/datadog</a>. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nick Schrock about Dagster, an open source data orchestrator for powering data engineering, analytics, and machine learning</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Dagster is and how it got started?</li>
<li>What are the most common difficulties that organizations face when working with data projects?
<ul>
<li>How does Dagster help in addressing those challenges?</li>
</ul>
</li>
<li>There are a number of workflow orchestration platforms, spanning a few generations of tooling. What do you see as the defining characteristics of the various options, and how does Dagster fit in that ecosystem?</li>
<li>What are the assumptions that you made at the start of building Dagster and how have they been challenged, updated, or invalidated over the past year of working with end users?</li>
<li>How are the internals of Dagster implemented?
<ul>
<li>How has the design changed or evolved since you first began working on it?</li>
</ul>
</li>
<li>For someone who is building on top of Dagster, what is their workflow from first steps through to production?</li>
<li>What are your guiding principles for desigining the user facing API?</li>
<li>What are the available extension points for Dagster?</li>
<li>What was your reason for implementing Dagster as a Python framework?
<ul>
<li>With the benefit of hindsight, would you make the same decision today?</li>
</ul>
</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Dagster used?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while building Dagster and working to grow its ecosystem?</li>
<li>When is Dagster the wrong choice?</li>
<li>As you continue to build Dagster, what is your vision for it and its ecosystem?
<ul>
<li>What are the next steps that you are taking to achieve that vision?</li>
</ul>
</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/schrockn?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@schrockn</a> on Twitter</li>
<li><a href="https://github.com/schrockn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">schrockn</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/schrockn/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://caddyserver.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Caddy</a> web server</li>
</ul>
</li>
<li>Nick
<ul>
<li><a href="https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black</a> code formatter</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://docs.dagster.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster</a></li>
<li><a href="https://www.elementl.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elementl</a></li>
<li><a href="https://ironpython.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IronPython</a></li>
<li><a href="https://www.oreilly.com/library/view/fluent-python/9781491946237/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fluent Python</a></li>
<li><a href="https://graphql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphQL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Maslow&#8217;s Hierarchy of Needs</a></li>
<li><a href="https://hackernoon.com/the-ai-hierarchy-of-needs-18f111fcc007?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hierarchy of Data Needs</a></li>
<li><a href="https://en.wikipedia.org/wiki/Directed_acyclic_graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DAG == Directed Acyclic Graph</a></li>
<li><a href="https://www.informatica.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Informatica</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://luigi.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luigi</a></li>
<li><a href="https://docs.dagster.io/_apidocs/config?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster Config Schema</a></li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
<li><a href="https://www.pythonpodcast.com/coiled-dask-python-data-science-episode-275/?utm_source=rss&utm_medium=rss">Coiled Episode</a></li>
</ul>
</li>
<li><a href="https://grpc.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gRPC</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Data_lineage?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Lineage</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.amundsen.io/amundsen/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amundsen</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/amundsen-data-discovery-episode-92/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://linkedin.github.io/datahub/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DataHub</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/datahub-metadata-management-episode-147/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.gatsbyjs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gatsby.js</a></li>
<li><a href="https://en.wikipedia.org/wiki/Panama_Papers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Panama Papers</a></li>
<li><a href="https://mode.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mode Analytics</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/data-analytics-data-platforms-episode-95/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://papermill.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Papermill</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/using-notebooks-as-the-unifying-layer-for-data-roles-at-netflix-with-matthew-seal-episode-54/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.getdbt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DBT</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://databricks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Databricks</a></li>
<li><a href="https://github.com/mitodl/ol-data-pipelines?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tobias&#8217; Dagster Repository</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdagster-data-orchestration-episode-279%2F&amp;action_name=Digging+Into+Dagster%3A+An+Opinionated+Open+Source+Framework+For+Data+Orchestration+-+Episode+279&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-09-07t22:02:52+00:00-3614fc44ee3f277</guid>
      <link>https://www.pythonpodcast.com/dagster-data-orchestration-episode-279</link>
      <pubDate>Mon, 7 Sep 2020 22:00:00 +0000</pubDate>
      <podcast:soundbite startTime="733.24" duration="39.80">I think the resources in particular are especially valuable because it makes it easy for 1 person to be able to define concretely how a particular set of computations needs to be able to interact with something like a database or the file system or for security purposes being able to pull credentials from HashiCorp Vault, for instance, and then package that up and either distribute it within the context of a pipeline definition or as its own independent Python package that another user of DAXTER can install and use just by passing in the necessary configuration objects.</podcast:soundbite>
      <podcast:soundbite startTime="230.34" duration="38.17">My motivation was that I was a Facebook engineer from 2, 009 to 2017, and kind of the thing I'm known for outside of the company is that I was the original creator and 1 of the co creators of GraphQL, which is now a relatively popular open source technology. So I had this experience in developer tooling and when I left Facebook, I was kind of searching around for what to do next and I kept on asking companies both inside and outside the valley what their biggest technical liability was, what they felt their rate limiting step was in their engineering processes. And this data engineering stuff kept on coming up continuously as well as like ML infrastructure. People would say the same slightly different things, but it was this core problem.</podcast:soundbite>
      <podcast:soundbite startTime="983.28" duration="43.98">I think we've realized that in order to address the problem we had to kind of expand the scope of the system a bit and then really deeply think about how the different roles in the system interact. Yeah. And that's a common theme that's come up in a lot of the conversations on my other show, the data engineering podcast, where the reason that solving for a particular problem in the data space is so complicated is not just because of the technical issues, but because there are so many different stakeholders throughout the entire life cycle of any project, that is not the case with just a web application or an alerting tool where you're primarily focused on solving for the needs of the developer who's building the application.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Digging Into Dagster: An Opinionated Open Source Framework For Data Orchestration</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>279</itunes:episode>
      <podcast:episode>279</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321328221431422492b4-cdbc-4464-8f5f-ec9f344fd13bv1.mp3" length="45205440" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321328221431422492b4-cdbc-4464-8f5f-ec9f344fd13bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_422492b4-cdbc-4464-8f5f-ec9f344fd13b638558843702194000.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/422492b4-cdbc-4464-8f5f-ec9f344fd13b638558843698573753.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/422492b4-cdbc-4464-8f5f-ec9f344fd13b638558843696781900.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>When, Why, and How To Use Web Scraping In A Nutshell</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The internet is a rich source of information, but a majority of it isn&#8217;t accessible programmatically through APIs or databases. To address that shortcoming there are a variety of web scraping frameworks that aid in extracting structured data from web pages. In this episode Attila Tóth shares the challenges of web data extraction, the ways that you can use it, and how Scrapy and ScrapingHub can help you with your projects.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at datadog.com/pythonpodcast. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Attila Tóth about doing data extraction with web scraping.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what web scraping is and when you might want to use it?
<ul>
<li>How did you first get started with web scraping?</li>
</ul>
</li>
<li>There are a number of options for web scraping tools in Python, as well as other languages. What are the characteristics of the Scrapy project and community that have made it stand out and retain such widespread popularity?</li>
<li>One of the perpetual questions with web scraping is that of copyright and content ownership. What should we all be aware of when scraping a given website?</li>
<li>What are some of the most challenging aspects of crawling and scraping the web?
<ul>
<li>What are some of the features of Scrapy that aid in those challenges?</li>
</ul>
</li>
<li>Once you have retrieved the content from a site, what are some of the considerations for storing and processing the data that we should be thinking about?</li>
<li>How can we guard against a scraper breaking due to changes in the layout of a site, or simple updates that weren&#8217;t accounted for in the initial implementation?</li>
<li>What are some of the most complicated aspects of scaling web scrapers?</li>
<li>For someone who is interested in using Scrapy, what are some of the common pitfalls that they should be aware of?</li>
<li>What are some of the most interesting, innovative, or unexpected projects that are built with Scrapy and ScrapingHub?</li>
<li>What are the most interesting, unexpected, or challenging lessons that you have learned while working with web scrapers and ScrapingHub?</li>
<li>What resources would you recommend to anyone who is looking to learn more about web scraping?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/attilapm/?originalSubdomain=hu&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="http://mule.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gov&#8217;t Mule</a></li>
</ul>
</li>
<li>Attila
<ul>
<li><a href="https://github.com/lorien/awesome-web-scraping?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Awesome Web Scraping</a></li>
<li><a href="https://github.com/AccordBox/awesome-scrapy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Awesome Scrapy</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Web_scraping?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web Scraping</a></li>
<li><a href="https://www.scrapinghub.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ScrapingHub</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://www.android.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Android</a></li>
<li><a href="https://scrapy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scrapy</a></li>
<li><a href="https://jsoup.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSoup</a></li>
<li><a href="https://htmlunit.sourceforge.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HTMLUnit</a></li>
<li><a href="https://www.selenium.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="https://en.wikipedia.org/wiki/Robots_exclusion_standard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">robots.txt</a></li>
<li><a href="https://pptr.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Puppeteer</a></li>
<li><a href="https://splash.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Splash</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fweb-scraping-essentials-episode-278%2F&amp;action_name=When%2C+Why%2C+and+How+To+Use+Web+Scraping+In+A+Nutshell+-+Episode+278&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-08-31t11:45:23+00:00-007205773ff1fa1</guid>
      <link>https://www.pythonpodcast.com/web-scraping-essentials-episode-278</link>
      <pubDate>Tue, 1 Sep 2020 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="879.80" duration="51.26">So it's interesting because at scraping hub, we often do webinars for people. And this question always comes up in some shape or form. Is web scraping legal? How you can do it so it's legal? Like, there are some general guidelines about web scraping, which I'm gonna share now, but scraping hub, we have a legal team that makes sure that everything what we are doing as far as web scraping is legal and obviously, I'm not a lawyer. So what I'm gonna say is not any kind of legal advice, but there are some general guidelines. So for example, it's important that web scraping itself is legal, but it really matters how you get the data, how polite you are while getting the data. And also, you mentioned copyright. It's it's important that what you do with the data after you scraped it.</podcast:soundbite>
      <podcast:soundbite startTime="1836.55" duration="45.09">I have a colleague that said last year at at our summit, he said the web is a jungle. So when you scrape the web, you really shouldn't expect to find, you know, standardized websites. You shouldn't expect that websites follow the same practices. So 1 thing is that front end developers or website developers have different ways to accomplish things and when you're writing your spider, it can be really, really frustrating or it can be hard to create really a custom custom web scraper for for each website. Because this website use this way to display data, the other website use some kind of other way to to display the data. So it can be really hard.</podcast:soundbite>
      <podcast:soundbite startTime="127.63" duration="48.24">In my experience with web scraping, the 1 thing that always comes up is, which we will probably talk about later, is the legal issues. Like, is web scraping legal? That always comes up. And another problem which always comes up is, when, like, doing web scraping on a small scale is really easy to do, sort of. You just have a website, you want to grab some data, you write some code in Python or in some other languages using web scraping libraries, and it's really easy to do and it can be quick to do. But when you are trying to do things at scale and get really get like huge amounts of data from the web consistently, that can be really hard to do. So there are a whole another set of challenges when you're trying to scale.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:52</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>When, Why, and How To Use Web Scraping In A Nutshell</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>278</itunes:episode>
      <podcast:episode>278</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530504911082819a8f6b9-b83c-4fdb-9201-659144445217v1.mp3" length="35977946" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530504911082819a8f6b9-b83c-4fdb-9201-659144445217v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_19a8f6b9-b83c-4fdb-9201-659144445217638558811725089630.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/19a8f6b9-b83c-4fdb-9201-659144445217638558811722809673.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/19a8f6b9-b83c-4fdb-9201-659144445217638558811720774883.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Working In The Code Mines: Mining Software Repositories With PyDriller</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>A large portion of the software industry has standardized on Git as the version control sytem of choice. But have you thought about all of the information that you are generating with your branches, commits, and code changes? Davide Spadini created the PyDriller framework to simplify the work of mining software repositories to perform research on the technical and social aspects of software engineering. In this episode he shares some of the insights that you can gain by exploring the history of your code, the complexities of building a framework to interact with Git, and some of the interesting ways that PyDriller can be used to inform your own development practices.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Davide Spadini about PyDriller, a framework for mining software repositories</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what PyDriller is and how the project got started?
<ul>
<li>How is Pydriller different from other Git frameworks?</li>
</ul>
</li>
<li>What kinds of information can you discover by mining a software repository?
<ul>
<li>Where and how might the collected information be used?</li>
</ul>
</li>
<li>What are the limitations of the capabilities offered by Git for investigating the repository?</li>
<li>What are the additional metrics that you are able to extract using PyDriller?</li>
<li>Can you describe how PyDriller itself is implemented?
<ul>
<li>How has the project evolved since you first began working on it?</li>
</ul>
</li>
<li>I noticed that for testing PyDriller you crafted a set of repositories to serve as test cases. What has been the most complex or challenging aspect of writing meaningful tests to ensure a reasonable coverage of this problem domain?</li>
<li>What would be required to add support for other version control systems?</li>
<li>How have you used PyDriller in your own research?</li>
<li>What are some of the most interesting, unexpected, or innovative ways that you have seen PyDriller used?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while working on and with PyDriller?</li>
<li>What do you have planned for the future of PyDriller?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://ishepard.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/ishepard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ishepard</a> on GitHub</li>
<li><a href="https://twitter.com/DavideSpadini?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@DavideSpadini</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://pre-commit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pre-commit</a></li>
</ul>
</li>
<li>Davide
<ul>
<li><a href="https://store.steampowered.com/app/1097150/Fall_Guys_Ultimate_Knockout/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fall guys</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://pydriller.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyDriller</a></li>
<li><a href="https://en.wikipedia.org/wiki/Delft?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Delft</a></li>
<li><a href="https://git-scm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git</a></li>
<li><a href="https://gitpython.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitPython</a></li>
<li><a href="https://github.com/libgit2/pygit2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGit2</a></li>
<li><a href="https://github.com/mauricioaniche/repodriller?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RepoDriller</a></li>
<li><a href="http://www.msrconf.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mining Software Repositories Conference</a></li>
<li><a href="https://github.com/terryyin/lizard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lizard</a></li>
<li><a href="http://hadoop.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hadoop</a></li>
<li><a href="https://www.mercurial-scm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mercurial</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-60-mercurial-with-augie-fackler/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://subversion.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Subversion</a></li>
<li><a href="https://en.wikipedia.org/wiki/Concurrent_Versions_System?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CVS</a></li>
<li><a href="https://neo4j.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neo4J</a></li>
<li><a href="https://github.com/NullConvergence/GraphRepo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphRepo</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpydriller-mining-software-repositories-episode-277%2F&amp;action_name=Working+In+The+Code+Mines%3A+Mining+Software+Repositories+With+PyDriller+-+Episode+277&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-08-23t13:00:49+00:00-48167c5b5d44e1d</guid>
      <link>https://www.pythonpodcast.com/pydriller-mining-software-repositories-episode-277</link>
      <pubDate>Tue, 25 Aug 2020 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="77.49" duration="19.79">And today, I'm interviewing David Spadini about Pydriller, a framework for mining software repositories. So David, can you start by introducing yourself? Yes. Thank you very much. Thank you for having me. I'm David. I'm a PhD student at Delft, University of Technology in the Netherlands, and, part time research at SIG, software improvement group company in Amsterdam.</podcast:soundbite>
      <podcast:soundbite startTime="141.33" duration="47.42">And as we mentioned, you created the PyDriller framework as a means of mining information from software repositories and version control systems that house them. So I'm wondering if you can give a bit more of a description about what the PyDriller project is and how it got started. So well, as you said, it really is a Python framework for for Git. So we all know Git is very famous, very popular, very powerful. And especially in the research community, what we do, with gate is often we we go over the history of a project, the history of, I don't know, developers and how they write files, etcetera. And to do so, we well, it's often not not enough to use git from the terminal. It's just quite complicated.</podcast:soundbite>
      <podcast:soundbite startTime="1703.84" duration="36.61">And you mentioned that it has started to make its way into use within industry. And I've seen when I was looking at the dependence graph of tools that are using PyDriller, some examples of frameworks that people are using to pull out useful code metrics for determining things like development velocity and help to provide feedback to engineering leadership to direct their colleagues in how to address some of the, you know, introductions of bugs and things like that. I'm curious what you have seen as some of the most interesting or unexpected or innovative ways that you've seen PyDriller used.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:40:03</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Working In The Code Mines: Mining Software Repositories With PyDriller</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>277</itunes:episode>
      <podcast:episode>277</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321837084924c6bbfd7d-ae7c-41b4-9d88-f37135d2825av1.mp3" length="24766045" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321837084924c6bbfd7d-ae7c-41b4-9d88-f37135d2825av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c6bbfd7d-ae7c-41b4-9d88-f37135d2825a638558845589025674.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c6bbfd7d-ae7c-41b4-9d88-f37135d2825a638558845586603215.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c6bbfd7d-ae7c-41b4-9d88-f37135d2825a638558845583766143.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building The Open Data Ecosystem For Music And More At Metabrainz</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The Musicbrainz project was an early entry in the movement to build an open data ecosystem. In recent years, the Metabrainz Foundation has fostered a growing ecosystem of projects to support the contribution of, and access to, metadata, listening habits, and review of music. The majority of those projects are written in Python, and in this episode Param Singh explains how they are built, how they fit together, and how they support the goals of the Metabrains Foundation. This was an interesting exporation of the work involved in building an ecosystem of open data, the challenges of making it sustainable, and the benefits of building for the long term rather than trying to achieve a quick win.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Before you put your code into production you need to make sure that it passes all of the tests, that it has been packaged with all of the dependencies, and that you haven&#8217;t introduced any security issues. Instead of running all of that on your laptop, let Codefresh handle it automatically with their continuous integration and continuous delivery platform. Built for the modern era of cloud-native computing, they make publishing to Kubernetes, serverless platforms, and virtual machines fast and seamless. With a growing library of pre-made steps, a flexible pipeline definition, and unlimited scale Codefresh lets you ship faster and safer than ever. Go to <a href="https://www.pythonpodcast.com/codefresh?utm_source=rss&utm_medium=rss">pythonpodcast.com/codefresh</a> today to get unlimited builds on your free account.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Param Singh about the ways that Python is being used across the various Metabrainz projects</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of what the Metabrainz organization is and the various projects that it encompasses?
<ul>
<li>What are the motivations for creating those projects and some of the origin story for Metabrainz?</li>
</ul>
</li>
<li>The Musicbrainz server is the longest running project and is written in Perl. What was the reason for switching to Python for all of the other *brainz projects?</li>
<li>How does the MetaBrainz Foundation sustain itself? Where do the funds come from?
<ul>
<li>How do you determine where and how to allocate the funding that you receive?</li>
</ul>
</li>
<li>Which of the *brainz projects is the most complex or challenging to build, whether due to technical or sociological reasons?</li>
<li>How do you source and manage the information that powers all of the Metabrainz projects?</li>
<li>How is development of the various projects organized?
<ul>
<li>How does that influence the amount of code sharing that is possible between them?</li>
</ul>
</li>
<li>Of the projects that you have been involved in, how are they architected?
<ul>
<li>What are the main ways that the projects differ in how they are implemented?</li>
</ul>
</li>
<li>What are some of the ways that you are using Python in support of the various projects that you work on?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen the projects or data built by Metabrainz being used?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while working as a contributor and maintainer of the Metabrainz projects?</li>
<li>What is in store for the future of the existing Metabrainz projects?</li>
<li>What are the next domains that are being considered for building a Metabrainz platform for?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/prmsngh/?originalSubdomain=ie&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/paramsingh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">paramsingh</a> on GitHub</li>
<li><a href="https://param.codes/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://beets.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beets</a> music library organizer
<ul>
<li><a href="https://www.pythonpodcast.com/beets-with-adrian-sampson-episode-152/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
<li>Param
<ul>
<li><a href="https://open.spotify.com/artist/0tC995Rfn9k2l7nqgCZsV7?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prateek Kuhad</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://metabrainz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metabrainz</a>
<ul>
<li><a href="https://musicbrainz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Musicbrainz</a></li>
<li><a href="https://listenbrainz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Listenbrainz</a></li>
<li><a href="https://acousticbrainz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Acousticbrainz</a></li>
<li><a href="https://bookbrainz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bookbrainz</a></li>
<li><a href="https://critiquebrainz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Critiquebrainz</a></li>
<li><a href="https://picard.musicbrainz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Picard</a></li>
</ul>
</li>
<li><a href="https://stripe.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stripe</a></li>
<li><a href="https://en.wikipedia.org/wiki/Himalayas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Himalayas</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dublin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dublin Ireland</a></li>
<li><a href="https://xkcd.com/353/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XKCD Import Antigravity</a>
<ul>
<li><a href="http://python-history.blogspot.com/2010/06/import-antigravity.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Antigravity Python Module</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Last.fm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Last.fm</a></li>
<li><a href="https://summerofcode.withgoogle.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Summer of Code</a></li>
<li><a href="https://en.wikipedia.org/wiki/CDDB?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CDDB</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://flask.palletsprojects.com/en/1.1.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="https://boingboing.net/2013/12/04/charity-sends-amazon-a-cake-ce.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3rd anniversary cake</a></li>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a></li>
<li><a href="https://www.rabbitmq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RabbitMQ</a></li>
<li><a href="https://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a></li>
<li><a href="https://mtg.upf.edu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Music Technology Group</a></li>
<li><a href="https://www.splunk.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Splunk</a></li>
<li><a href="https://listenbrainz.org/user/iliekcomputers/reports?range=all_time&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artist Origins Map</a> on ListenBrainz</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmetabrainz-open-data-episode-276%2F&amp;action_name=Building+The+Open+Data+Ecosystem+For+Music+And+More+At+Metabrainz+-+Episode+276&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-08-17t02:41:20+00:00-af911d765da63d2</guid>
      <link>https://www.pythonpodcast.com/metabrainz-open-data-episode-276</link>
      <pubDate>Mon, 17 Aug 2020 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="266.30" duration="13.83">So the MetaBrains foundation is apparent to a number of different projects. I know that MusicBrainz was the foundational 1, but can you give a bit more of an overview about what the organization is and some of the various projects that it encompasses?</podcast:soundbite>
      <podcast:soundbite startTime="2600.80" duration="15.11">So in terms of the future direction of the different MetaBrains projects, what do you have in store for the future? And are there any new capabilities or new directions that you're excited about or that you are looking for any particular contributions for?</podcast:soundbite>
      <podcast:soundbite startTime="1982.41" duration="22.87">So for listening, our basic philosophy right now is that we don't really try we try to just not break anything unless we really, really need to. And we haven't made any specific API API changes that might have made clients incompatible or anything. We haven't made any breaking changes in the time that I've been here. But ListenBrainz is, like, relatively young. It's only it's only been, like, 5 years to it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:06</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building The Open Data Ecosystem For Music And More At Metabrainz</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>276</itunes:episode>
      <podcast:episode>276</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253038107242572016ee5b-bb09-4dad-a6f0-52804ec5a06cv1.mp3" length="30239873" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253038107242572016ee5b-bb09-4dad-a6f0-52804ec5a06cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_2016ee5b-bb09-4dad-a6f0-52804ec5a06c638558806391295204.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2016ee5b-bb09-4dad-a6f0-52804ec5a06c638558806385162541.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2016ee5b-bb09-4dad-a6f0-52804ec5a06c638558806383258148.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Growing Dask To Make Scaling Python Data Science Easier At Coiled</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Python is a leading choice for data science due to the immense number of libraries and frameworks readily available to support it, but it is still difficult to scale. Dask is a framework designed to transparently run your data analysis across multiple CPU cores and multiple servers. Using Dask lifts a limitation for scaling your analytical workloads, but brings with it the complexity of server administration, deployment, and security. In this episode Matthew Rocklin and Hugo Bowne-Anderson discuss their recently formed company Coiled and how they are working to make use and maintenance of Dask in production. The share the goals for the business, their approach to building a profitable company based on open source, and the difficulties they face while growing a new team during a global pandemic.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at datadog.com/pythonpodcast. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Matthew Rocklin and Hugo Bowne-Anderson about their work building a business around the Dask ecosystem at Coiled</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you give a quick overview of what Dask is and your motivations for creating it?
<ul>
<li>How has Dask changed or evolved in the past 3 1/2 years since we last talked about it?</li>
</ul>
</li>
<li>How has the rest of the ecosystem changed in that time?</li>
<li>After working on Dask for the past few years, what led you to the decision to build a business around it?</li>
<li>What are the sharp edges of programming for Dask that users are looking for help on solving?</li>
<li>What are the difficulties that users face in deploying and maintaining a production installation of Dask?</li>
<li>What are the limitations of Dask when scaling both up and down?</li>
<li>What are you building at Coiled to improve the user experience for users of Python and Dask?
<ul>
<li>What are your thoughts on the pros and cons of orienting your messaging around the scalability of Python, as opposed to focusing on a specific industry or problem domain?</li>
</ul>
</li>
<li>What are the challenges that you are facing in managing the tensions between the open source and proprietary work that you are doing?</li>
<li>How are you handling the ongoing governance of the Dask project?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while building and launching a company based on an open source project?</li>
<li>What do you have planned for the future of both Coiled and Dask?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Matt
<ul>
<li><a href="https://matthewrocklin.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/mrocklin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mrocklin</a> on Twitter</li>
<li><a href="https://github.com/mrocklin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mrocklin</a> on GitHub</li>
</ul>
</li>
<li>Hugo
<ul>
<li><a href="https://www.linkedin.com/in/hugo-bowne-anderson-045939a5/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/hugobowne?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@hugobowne</a> on Twitter</li>
<li><a href="http://hugobowne.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_Hobbit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Hobbit</a>
<ul>
<li><a href="https://www.audible.com/pd/The-Hobbit-Audiobook/B0099RKI5W?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Audiobook</a></li>
<li><a href="https://audibletrial.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Audible Free Trial</a> (affiliate link)</li>
</ul>
</li>
</ul>
</li>
<li>Matt
<ul>
<li><a href="https://www.prefect.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prefect</a></li>
</ul>
</li>
<li>Hugo
<ul>
<li><a href="https://www.ruhabenjamin.com/race-after-technology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Race After Technology by Ruha Benjamin</a></li>
<li><a href="https://venturebeat.com/2020/04/29/ruha-benjamin-on-deep-learning-computational-depth-without-sociological-depth-is-superficial-learning/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruha Benjamin on deep learning: Computational depth without sociological depth is ‘superficial learning’</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li>Sign up for the <a href="https://coiled.typeform.com/to/mu6Inr4S?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coiled Beta!</a></li>
<li><a href="https://coiled.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coiled</a></li>
<li><a href="dask.org/">Dask</a></li>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview About Dask</a></li>
<li><a href="https://pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyData</a></li>
<li><a href="https://numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://www.scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="">Cell Biology</a></li>
<li><a href="datacamp.com/">Datacamp</a></li>
<li><a href="https://www.datacamp.com/community/podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dataframed</a></li>
<li><a href="https://www.pythonpodcast.com/episode-46-functional-python-with-matthew-rocklin-and-alexander-schepanovsky/?utm_source=rss&utm_medium=rss">Matthew Rocklin on Podcast.__init__</a> about functional programming with <a href="https://toolz.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toolz</a></li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython Notebook</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://www.prefect.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prefect</a></li>
<li><a href="https://xgboost.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XGBoost</a></li>
<li><a href="https://www.tornadoweb.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a></li>
<li><a href="https://coiled.io/blog/history-dask.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coiled Blog Post About The Goals of Dask</a></li>
<li><a href="https://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AsyncIO</a></li>
<li><a href="https://docs.python.org/3/library/concurrent.futures.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Concurrent.futures</a></li>
<li><a href="https://pangeo.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pangeo</a></li>
<li><a href="http://xarray.pydata.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Xarray</a></li>
<li><a href="https://rapids.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RAPIDS</a></li>
<li><a href="https://www.nvidia.com/en-au/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nvidia</a></li>
<li><a href="https://developer.nvidia.com/cuda-downloads?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cuda</a></li>
<li><a href="https://www.prefect.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prefect</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/prefect-workflow-engine-episode-86/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.celeryproject.org/en/stable/getting-started/introduction.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="https://en.wikipedia.org/wiki/List_of_life_sciences?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Life Sciences</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://www.snorkel.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snorkel</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/snorkel-with-alex-ratner-episode-15/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.snorkel.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dagster-data-applications-episode-104/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://aws.amazon.com/devops/what-is-devops/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DevOps</a></li>
<li><a href="https://www.docker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://metaflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metaflow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/metaflow-machine-learning-operations-episode-274/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://rise.cs.berkeley.edu/projects/ray/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a>
<ul>
<li><a href="https://www.pythonpodcast.com/ray-distributed-computing-episode-258/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://anyscale.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anyscale</a></li>
<li><a href="https://yarnpkg.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yarn</a></li>
<li><a href="https://www.gartner.com/en/research/methodologies/gartner-hype-cycle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gartner Hype Cycle</a></li>
<li><a href="https://en.wikipedia.org/wiki/Travis_Oliphant?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Travis Oliphant</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Postgres</a></li>
<li><a href="https://aws.amazon.com/ecs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon ECS</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://django-allauth.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Allauth</a></li>
<li><a href="https://www.quansight.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quansight</a></li>
<li><a href="https://wesmckinney.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wes McKinney</a>
<ul>
<li><a…]]></description>
      <guid isPermaLink="false">podlove-2020-08-10t21:31:46+00:00-cd789b863b8e7cc</guid>
      <link>https://www.pythonpodcast.com/coiled-dask-python-data-science-episode-275</link>
      <pubDate>Mon, 10 Aug 2020 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="84.24" duration="26.30">So, Matt, can you start by introducing yourself? Hey, Tobias. Yeah. My name is Matthew Rocklin. I've been a long time open source maintainer in sort of the Py data space. So the NumPy, Pandas, Scikit, or Jupyter space. Mostly I think about scalable computing, so paralyzing that ecosystem, mostly with the library Dask. I've been sort of 1 of the maintainers of Dask for the last 5 or 6 years. And you're also CEO of Coiled. And I'm also CEO of Coiled. That's right.</podcast:soundbite>
      <podcast:soundbite startTime="992.36" duration="29.99">And I think part of the value prop is that our team has been doing this for for for a long time as well. So productizing that and taking it into organizations that require all these boxes to be ticked, is what we're really excited about as well as meeting the end needs of, the needs of end user data scientists. And I think that the overall push of moving to distributed computation is definitely very evident with the work that you're doing with DASK and the community that's built up around that and some of the other movers of the ecosystem.</podcast:soundbite>
      <podcast:soundbite startTime="111.39" duration="41.95">And Hugo, how about yourself? Well, that's a wonderful segue into into me. I'm, I run, data science evangelism and marketing, wearing a few other hats at at COIL, which we've we've we've just founded. My background is in, math, research science in cell biology, and data science. And I've done a lot of work in, data science education. I I recently joined Code from DataCamp where I I built out, I suppose, foundational, high data ecosystem educational material. And that's actually how Matt and I met around 4 years ago. We're collaborating with with with Anaconda on a lot of, online educational content for the PI Data Stack.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:07</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Growing Dask To Make Scaling Python Data Science Easier At Coiled</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>275</itunes:episode>
      <podcast:episode>275</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305974405911487c074d-e050-454c-bd19-754042ed1d5cv1.mp3" length="44307867" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305974405911487c074d-e050-454c-bd19-754042ed1d5cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_487c074d-e050-454c-bd19-754042ed1d5c638558815784142347.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/487c074d-e050-454c-bd19-754042ed1d5c638558815777929497.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/487c074d-e050-454c-bd19-754042ed1d5c638558815775497939.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Supporting The Full Lifecycle Of Machine Learning Projects With Metaflow</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Netflix uses machine learning to power every aspect of their business. To do this effectively they have had to build extensive expertise and tooling to support their engineers. In this episode Savin Goyal discusses the work that he and his team are doing on the open source machine learning operations platform Metaflow. He shares the inspiration for building an opinionated framework for the full lifecycle of machine learning projects, how it is implemented, and how they have designed it to be extensible to allow for easy adoption by users inside and outside of Netflix. This was a great conversation about the challenges of building machine learning projects and the work being done to make it more achievable.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at datadog.com/pythonpodcast. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Savin Goyal about Netflix&#8217;s infrastructure for machine learning</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the work you are doing at Netflix to support their machine learning workloads?</li>
<li>How are you addressing the impedance mismatch of machine learning/data science work between local experimentation and production deployment?</li>
<li>What was the motivation for building Metaflow?
<ul>
<li>How does Metaflow compare to other tools in the ecosystem such as MLFlow?</li>
<li>What was missing in the other available tools that made Metaflow necessary?</li>
</ul>
</li>
<li>workflow for someone using Metaflow</li>
<li>How do you approach the design of the developer interface to make it approachable to machine learning engineers?</li>
<li>level of coupling with overall Netflix data stack</li>
<li>How is Metaflow implemented?
<ul>
<li>How has the architecture and design of the system evolved since you first began working on it?</li>
</ul>
</li>
<li>supporting infrastructure/integration points</li>
<li>motivation/benefits of releasing it as open source</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while building infrastructure and tooling for machine learning?</li>
<li>When is Metaflow the wrong choice?</li>
<li>What do you have planned for the future of Metaflow and</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/savingoyal/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/savingoyal?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@savingoyal</a> on Twitter</li>
<li><a href="https://github.com/savingoyal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">savingoyal</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/dante-signal31/vdist?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">vdist</a></li>
</ul>
</li>
<li>Savin
<ul>
<li><a href="https://hackaday.com/2014/07/08/go-vintage-learn-to-repair-and-restore-mechanical-pocket-and-wrist-watches/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reparing Vintage Watches</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://metaflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metaflow</a></li>
<li><a href="https://ocaml.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OCaml</a></li>
<li><a href="https://aws.amazon.com/ec2/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EC2</a></li>
<li><a href="https://aws.amazon.com/s3/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">S3</a></li>
<li><a href="https://en.wikipedia.org/wiki/Data_lake?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Lake</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://netflix.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netflix Data Stack</a></li>
<li><a href="https://spinnaker.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spinnaker</a></li>
<li><a href="https://en.wikipedia.org/wiki/Chaos_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Engineering</a>
<ul>
<li><a href="https://www.pythonpodcast.com/chaos-toolkit-chaos-engineering-episode-199/?utm_source=rss&utm_medium=rss">Chaos Toolkit Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/Netflix/chaosmonkey?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Monkey</a></li>
<li><a href="https://github.com/Netflix/SimianArmy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netflix Simian Army</a></li>
<li><a href="https://netflix.github.io/titus/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netflix Titus</a></li>
<li><a href="https://aws.amazon.com/batch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS Batch</a></li>
<li><a href="https://netflixtechblog.com/meson-workflow-orchestration-for-netflix-recommendations-fc932625c1d9?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netflix Meson</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dataflow_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dataflow Programming</a></li>
<li><a href="https://en.wikipedia.org/wiki/Directed_acyclic_graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DAG == Directed Acyclic Graph</a></li>
<li><a href="https://mlflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MLFlow</a></li>
<li><a href="https://dvc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DVC (Data Version Control)</a>
<ul>
<li><a href="https://www.pythonpodcast.com/data-version-control-episode-206/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://cml.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CML (Continuous Machine Learning)</a></li>
<li><a href="https://aws.amazon.com/step-functions/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS Step Functions</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmetaflow-machine-learning-operations-episode-274%2F&amp;action_name=Supporting+The+Full+Lifecycle+Of+Machine+Learning+Projects+With+Metaflow+-+Episode+274&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-08-04t03:08:58+00:00-f6765ce0b2ff36f</guid>
      <link>https://www.pythonpodcast.com/metaflow-machine-learning-operations-episode-274</link>
      <pubDate>Tue, 4 Aug 2020 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1485.92" duration="14.57">On the other side, for infrastructure engineers, for them to enable Metaflow for their end users, it's it's actually a very straightforward deployment, as I said before. Right? Metaflow is a Python library that's installable from PyPI, from conda.</podcast:soundbite>
      <podcast:soundbite startTime="468.88" duration="15.41">And then with our integrations with the cloud, they can very easily and very seamlessly scale out that compute, by, say, leveraging, Amazon's s 3 or launching, their jobs on much bigger instances in the cloud using EC 2 instances.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:45</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Supporting The Full Lifecycle Of Machine Learning Projects With Metaflow</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>274</itunes:episode>
      <podcast:episode>274</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315444906498c3469e3c-1111-487b-b1ca-a74b1ee1b472v1.mp3" length="34522120" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315444906498c3469e3c-1111-487b-b1ca-a74b1ee1b472v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c3469e3c-1111-487b-b1ca-a74b1ee1b472638558828872950594.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c3469e3c-1111-487b-b1ca-a74b1ee1b472638558828869591907.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c3469e3c-1111-487b-b1ca-a74b1ee1b472638558828867547068.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Learning To Program By Building Tiny Python Projects</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>One of the best methods for learning programming is to just build a project and see how things work first-hand. With that in mind, Ken Youens-Clark wrote a whole book of Tiny Python Projects that you can use to get started on your journey. In this episode he shares his inspiration for the book, his thoughts on the benefits of teaching testing principles and the use of linting and formatting tools, as well as the benefits of trying variations on a working program to see how it behaves. This was a great conversation about useful strategies for supporting new programmers in their efforts to learn a valuable skill.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at datadog.com/pythonpodcast. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ken Youens-Clark about his book Tiny Python Projects</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is your goal with your book of Tiny Python Projects?
<ul>
<li>What motivated you to start writing it?</li>
</ul>
</li>
<li>Who is the target audience that you wrote the book for?</li>
<li>One of the notable aspects of the book is the fact that you introduce linting and testing in the first chapter. Why is that a useful subject for the first steps of someone getting started in Python?
<ul>
<li>What are some of the problems that users experience if they are introduced to these tools after they have already established a set of habits?</li>
</ul>
</li>
<li>How did you approach the structure of the book to be approachable by newcomers to Python?</li>
<li>What was your process for deciding on the scope of the information to include in the book?</li>
<li>What are some of the challenges that you faced in identifying self-contained projects that could fit into a single chapter?</li>
<li>As a book that is intended to serve as a learning resource, what was your process for soliciting feedback to determine if your tone and structure is effective in teaching the reader?</li>
<li>What elements of the Python language and ecosystem did you consciously leave out to avoid overwhelming the readers?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you learned while working on the book?</li>
<li>What are your thoughts on useful resources and next steps for readers who are interested in progressing in their use of Python?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/kyclark?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">kyclark</a> on GitHub</li>
<li><a href="http://www.kyclark.us/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/kycl4rk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@kycl4rk</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Marvel_Cinematic_Universe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marvel Cinematic Universe</a></li>
</ul>
</li>
<li>Ken
<ul>
<li><a href="https://en.wikipedia.org/wiki/Parks_and_Recreation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parks &amp; Recreation</a> TV Show</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.manning.com/books/tiny-python-projects?a_aid=bnpodcasts&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tiny Python Projects</a></li>
<li><a href="https://www.arizona.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Arizona</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bioinformatics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BioInformatics</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://biopython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BioPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/biopython-with-peter-cock-wibowo-andrarto-and-tiago-antao-episode-125/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://seq-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seq</a>
<ul>
<li><a href="https://www.pythonpodcast.com/seq-bioinformatics-language-episode-257/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.pytest.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pytest</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-16-holger-krekel-on-py-test/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.microsoft.com/en-us/windows/wsl/about?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Windows Subsystem for Linux</a></li>
<li><a href="http://pylint.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pylint</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-35-sylvain-thenault-on-astroid/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/google/yapf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">YAPF</a></li>
<li><a href="https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black Python Formatter</a></li>
<li><a href="http://www.madlibs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mad Libs</a></li>
<li><a href="https://en.wikipedia.org/wiki/Boolean_algebra?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boolean Algebra</a></li>
<li><a href="https://en.wikipedia.org/wiki/Object-oriented_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Object Oriented Programming</a></li>
<li><a href="https://en.wikipedia.org/wiki/Delphi_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Delphi</a></li>
<li><a href="https://www.omnigroup.com/omnigraffle/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OmniGraffle</a></li>
<li><a href="https://en.wikipedia.org/wiki/Kent_Beck?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kent Beck</a></li>
<li><a href="https://en.wikipedia.org/wiki/Test-driven_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Test Driven Development</a></li>
<li><a href="https://clojure.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clojure</a></li>
<li><a href="https://en.wikipedia.org/wiki/Regular_expression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Regular Expression</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftiny-python-projects-book-episode-273%2F&amp;action_name=Learning+To+Program+By+Building+Tiny+Python+Projects+-+Episode+273&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-07-28t02:36:22+00:00-52b4a6074844ac4</guid>
      <link>https://www.pythonpodcast.com/tiny-python-projects-book-episode-273</link>
      <pubDate>Tue, 28 Jul 2020 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2685.48" duration="36.55">That's a really great I don't, you know, I don't explicitly recommend anything at the end and and maybe that's a a shortcoming. More than anything, I I hope that that they've thought about that I've hopefully introduced some ideas along the way, like test driven development actually that that phrase comes from this book by Kent Beck, which I think I think it was from like 2002. So I mean this this idea has been around a really long time, and I and I point to the original book. And I'm like, you know, if you you should just keep learning more about this. And I and I kinda point to that there's some ambiguities about like, what is what does unit test meaning you? What does integration like, you should read about these things. You should keep looking further.</podcast:soundbite>
      <podcast:soundbite startTime="369.71" duration="36.41">Yeah. So, I I would say that the inspiration really well, it directly came out of the teaching that Ani and I were doing at the University of Arizona. So we're trying to take biologists who don't have a formal computer science background, And we're trying to get them in 1 semester basic programming skills. Like I need to at the end of this course, I need to be able to, you know, process a directory of input files, and, parse through them and output some result. And so practically speaking, like, what can I teach someone in 12 to 14 weeks of class time?</podcast:soundbite>
      <podcast:soundbite startTime="736.07" duration="28.20">It's interesting. I think that when you can make something fun, I think it makes it easier to learn. It was interesting to me when I bought a Prius a few years ago, and there's like this dashboard that gives me real time feedback, like, for how I did on my start and my coasting and my breaking. And every time I do those actions, it gives me immediate feedback like, oh, you used too much energy on that start. So the it's basically teaching me how to drive the car, which I thought was really interesting.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:55:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Learning To Program By Building Tiny Python Projects</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>273</itunes:episode>
      <podcast:episode>273</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530736224489143e38c36-3b55-49b6-ab87-880c1bcfd0dfv1.mp3" length="40762754" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530736224489143e38c36-3b55-49b6-ab87-880c1bcfd0dfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_43e38c36-3b55-49b6-ab87-880c1bcfd0df638558820976035765.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/43e38c36-3b55-49b6-ab87-880c1bcfd0df638558820973401546.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/43e38c36-3b55-49b6-ab87-880c1bcfd0df638558820971327408.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Idiomatic Functional Programming With DRY Python</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Python is an intuitive and flexible language, but that versatility can also lead to problematic designs if you&#8217;re not careful. Nikita Sobolev is the CTO of Wemake Services where he works on open source projects that encourage clean coding practices and maintainable architectures. In this episode he discusses his work on the DRY Python set of libraries and how they provide an accessible interface to functional programming patterns while maintaining an idiomatic Python interface. He also shares the story behind the wemake Python styleguide plugin for Flake8 and the benefits of strict linting rules to engender good development habits. This was a great conversation about useful practices to build software that will be easy and fun to work on.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at datadog.com/pythonpodcast. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nikita Sobolev about his work with DRY Python and Wemake Services</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by sharing your overarching philosophies or design aesthetics for writing maintainable software?</li>
<li>What is your process for starting a new project, beginning at the design phase?</li>
<li>What are some of the challenges or shortcomings that you see in the &quot;default&quot; way that most developers write Python?</li>
<li>What is DRY Python is and how does it help in addressing those concerns?
<ul>
<li>What was your motivation for creating these projects?</li>
</ul>
</li>
<li>There are a number of different projects that are being built under the DRY Python umbrella. Can you list the ones that are currently active and outline how they fit together?</li>
<li>What are some of the initial challenges that newcomers to the DRY Python libraries encounter?</li>
<li>How do you approach the design of the API and developer experience to make these development approaches more accessible?</li>
<li>What have you seen in terms of real world impact on the maintainability and extensibility of projects that you have built on top of the DRY Python components?</li>
<li>In addition to DRY Python you are also involved with development of the wemake-python-styleguide. Can you describe that projects goal and how it got started?
<ul>
<li>If you make the linting too restrictive then developers are likely to just ignore or disable it. What have you found to be the right balance to which rules will fail a build and which are just informational?</li>
<li>Why do you push the responsibility for things like formatting onto the developer, rather than an autoformatter such as YAPF or Black?</li>
</ul>
</li>
<li>What are some of the other supporting technologies that you rely on during your development workflow?</li>
<li>What are some of the elements that you think are missing in the common toolbox for Python developers?
<ul>
<li>What tools are we lacking entirely?</li>
</ul>
</li>
<li>What are the cases where DRY Python is the wrong choice?</li>
<li>What are your goals and plans for the future of DRY Python and the various Wemake libraries?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://sobolevn.me/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://github.com/sobolevn/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sobolevn</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="http://www.themaptoeverywhere.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Map To Everywhere</a></li>
</ul>
</li>
<li>Nikita
<ul>
<li><a href="https://conf.python.ru/moscow/2020?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Russian Python Week</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/dry-python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DRY Python</a></li>
<li><a href="https://wemake.services/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wemake Services</a></li>
<li><a href="https://wemake-python-stylegui.de/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wemake-python-styleguide</a></li>
<li><a href="https://turbogears.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Turbogears 2</a></li>
<li><a href="https://github.com/dotenv-linter/dotenv-linter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dotenv Linter</a></li>
<li><a href="https://returns.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Returns</a></li>
<li><a href="https://github.com/wemake-services/wemake-python-package?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wemake Python Package</a> Cookiecutter Template</li>
<li><a href="https://en.wikipedia.org/wiki/Test-driven_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Test Driven Development</a></li>
<li><a href="https://en.wikipedia.org/wiki/Requirements_analysis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Requirements Analysis</a></li>
<li><a href="https://github.com/dry-python/rests?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RESTs</a></li>
<li><a href="https://www.django-rest-framework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Rest Framework</a></li>
<li><a href="https://github.com/dry-python/classes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Classes</a></li>
<li><a href="https://en.wikipedia.org/wiki/Monad_(functional_programming)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monads</a></li>
<li><a href="https://en.wikipedia.org/wiki/Functor_(functional_programming)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Functors</a></li>
<li><a href="https://www.scala-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scala</a></li>
<li><a href="https://kotlinlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kotlin</a></li>
<li><a href="https://www.haskell.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Haskell</a></li>
<li><a href="https://github.com/bobthemighty/punq?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Punq</a> dependency injection library</li>
<li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a></li>
<li><a href="https://github.com/wemake-services/wemake-django-template?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wemake Django Template</a></li>
<li><a href="https://gitlab.com/pycqa/flake8/-/issues/602?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8 Baseline</a></li>
<li><a href="https://timothycrosley.github.io/isort/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">isort</a></li>
<li><a href="https://nitpick.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nitpick</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mypy</a></li>
<li><a href="https://github.com/terrencepreilly/darglint?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Darglint</a></li>
<li><a href="https://python-poetry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poetry</a></li>
<li><a href="http://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pip Dependency Resolver</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pip-resolver-dependency-management-episode-264/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://hypothesis.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypothesis</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-52-hypothesis-with-david-maciver/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/kiwicom/schemathesis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Schemathesis</a></li>
<li><a href="https://timothycrosley.github.io/hypothesis-auto/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pytest Auto Hypothesis</a></li>
<li><a href="https://www.typescriptlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typescript</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://elixir-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elixir</a></li>
<li><a href="https://zio.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zio</a> Scala</li>
<li><a href="https://github.com/sponsors?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub Sponsors</a></li>
<li><a href="https://sobolevn.me/2020/03/do-not-log?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Do Not Log</a> blog post</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdry-python-functional-programming-episode-272%2F&amp;action_name=Idiomatic+Functional+Programming+With+DRY+Python+-+Episode+272&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-07-20t12:49:31+00:00-1894136670dcf7b</guid>
      <link>https://www.pythonpodcast.com/dry-python-functional-programming-episode-272</link>
      <pubDate>Tue, 21 Jul 2020 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="506.31" duration="96.44">And then the dry Python project you mentioned starts with the returns package, but there are a number of other projects that fit together in that overarching umbrella. So I'm wondering how the dry Python set of libraries helps to address some of the concerns and shortcomings in how some people will architect their projects and how it contributes to building more maintainable and more scalable systems. Right now, it is, on the very early stage of its life. And returns library is the only library that should be used right now. So I want to make it clear from the beginning. And, returns just provides a bunch of primitives to work with your code and to, make some other things explicit. Like, for me, it's very strange when we don't have an opportunity to know if this function rises an exception or not. Returns make makes this simply explicit. So you should write, this function, returns this value and can write this exception. It's very convenient because after that, you just start to see your patterns in your code and the flow, through different files, different classes and so on. And it also allows to enforce your AO contract because sometimes, a lot of people do, input output operations in very, very deep places and you just cannot switch this code easily with some other code. So we want to know where our IO happens and where it does not happen. So that's very important as well.</podcast:soundbite>
      <podcast:soundbite startTime="165.23" duration="64.15">And, as a part of this philosophy, we make a lot of tools that prevents errors from happening. I can give you some examples. For example, we had a really strange bug on our production server. And I spent, like, 3 or 4 hours debugging what is going on. With no luck, I was really lost and no idea what to do. And then, by lack of chance, I found that I have a typo in my dotenv file. I had 1 key and right in the end of the file, I had this key written for another value. So we came up with dotenvlinter. To the linter that links your .env files for a lot of mistakes, bad, usages, and so. So we eliminated this problem at all. This problem cannot be repeated. Just, just don't work. So and that's how we create our new tools. And that's the main motivation for doing these tools. And then we can continue, speaking about each particular tool individually and in the whole picture in general.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:43</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Idiomatic Functional Programming With DRY Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>272</itunes:episode>
      <podcast:episode>272</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531794240142089d2debc-066d-4811-a6d5-ce3c6d06f418v1.mp3" length="40615064" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531794240142089d2debc-066d-4811-a6d5-ce3c6d06f418v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_89d2debc-066d-4811-a6d5-ce3c6d06f418638558837555471948.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/89d2debc-066d-4811-a6d5-ce3c6d06f418638558837552926292.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/89d2debc-066d-4811-a6d5-ce3c6d06f418638558837541018932.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Past, Present, And Future Of The FLUFL: Barry Warsaw Shares His History With Python</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Barry Warsaw has been a member of the Python community since the very beginning. His contributions to the growth of the language and its ecosystem are innumerable and diverse, earning him the title of Friendly Language Uncle For Life. In this episode he reminisces on his experiences as a core developer, a member of the Python Steering Committee, and his roles at Canonical and LinkedIn supporting the use of Python at those companies. In order to know where you are going it is always important to understand where you have been and this was a great conversation to get a sense of the history of how Python has gotten to where it is today.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This episode of Python Podcast is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at datadog.com/pythonpodcast. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Barry Warsaw about his role in the Python community, past, present, and future.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For anyone who isn&#8217;t familiar with you, how would you characterize your role in the Python language and community?</li>
<li>What have been your main areas of focus in your role as a core developer?
<ul>
<li>What are some of the other forms that your contributions to the language and community have taken?</li>
</ul>
</li>
<li>What are the contributions to Python that you are most proud of?</li>
<li>Looking back at the past 25 years of Python, what do you find most interesting/surprising/exciting?</li>
<li>How has the focus of the community changed or evolved since you first began using it?</li>
<li>What are you currently focused on in your role in the steering council?</li>
<li>What are the aspects of the language and community that you think need greater attention?</li>
<li>What are the core strengths of the language and community that you believe will carry it through the next 25 years?</li>
<li>In your current and previous roles you acted as a guiding force for Python. What are the main use cases for Python at LinkedIn?
<ul>
<li>What kinds of projects are you involved with to support the other engineers in their use of Python?</li>
</ul>
</li>
<li>How much of an impact has the invisible hand of the PSU had on the overall trajectory of Python?</li>
<li>Outside of Python, what are the programming languages or communities that you look to for inspiration?</li>
<li>What are your personal goals for the future of Python?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://barry.warsaw.us/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/warsaw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">warsaw</a> on GitHub</li>
<li><a href="https://gitlab.com/warsaw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">warsaw</a> on GitLab</li>
<li><a href="https://www.wefearchange.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/pumpichank?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@pumpichank</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.amazon.com/gp/video/detail/B07L5YC8NJ/ref=atv_hm_hom_1_c_Tco32S_9_3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hanna</a> TV Series</li>
</ul>
</li>
<li>Barry
<ul>
<li><a href="https://www.netflix.com/title/80987903?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Midnight Gospel</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_Expanse_(novel_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Expanse</a>
<ul>
<li><a href="https://www.amazon.com/The-Expanse-Season-1/dp/B018BZ3SCM?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TV Series</a></li>
<li><a href="https://www.audible.com/series/The-Expanse-Audiobooks/B008Y45GCQ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Audio Books</a>
<ul>
<li><a href="https://www.audibletrial.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Free 30 Day Audible Trial</a> (Affiliate Link)</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.python.org/dev/peps/pep-0401/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FLUFL</a> PEP 401</li>
<li><a href="https://www.python.org/dev/peps/pep-0013/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Steering Council</a></li>
<li><a href="https://www.pythonpodcast.com/episode-37-the-pep-talk/?utm_source=rss&utm_medium=rss">The PEP Talk</a> episode</li>
<li><a href="https://en.wikipedia.org/wiki/Usenet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Usenet</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bulletin_board_system?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BBS == Bulletin Board System</a></li>
<li><a href="https://wiki.python.org/moin/CompLangPython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">comp.lang.python</a></li>
<li><a href="https://www.nist.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NIST == National Institute of Standards and Technology</a></li>
<li><a href="https://www.cnri.reston.va.us/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CNRI == Corporation for National Research Initiatives</a></li>
<li><a href="https://baypiggies.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BayPIGgies</a></li>
<li><a href="https://www.tcl.tk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tcl/Tk</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0572/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 572</a> := The Walrus Operator</li>
<li><a href="http://python-history.blogspot.com/2009/03/great-or-grand-renaming.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">&quot;The Grand Renaming&quot;</a></li>
<li><a href="https://ietf.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IETF == Internet Engineering Task Force</a></li>
<li><a href="https://ietf.org/standards/rfcs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RFC</a></li>
<li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WebAssembly</a></li>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Software Foundation</a>
<ul>
<li><a href="https://www.pythonpodcast.com/python-software-foundation-episode-217/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.youtube.com/watch?v=ftP5BQh1-YM&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Black Swans</a> keynote by Russell Keith-Magee
<ul>
<li><a href="https://www.pythonpodcast.com/python-potential-black-swans-episode-221/?utm_source=rss&utm_medium=rss">Followup Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://twitter.com/ewa_jodlowska?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ewa Jodlowska</a></li>
<li><a href="https://launchpad.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Canonical Launchpad</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mypy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.python.org/dev/peps/pep-0484/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Type Annotations</a></li>
<li><a href="https://iris.claims/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Iris</a> Event Paging System</li>
<li><a href="https://oncall.tools/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OnCall</a> Pager Rotation System</li>
<li><a href="https://shiv.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shiv</a></li>
<li><a href="https://pyoxidizer.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOxidizer</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a></li>
<li><a href="https://timothycrosley.github.io/isort/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">isort</a></li>
<li><a href="https://github.com/psf/black?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black</a></li>
<li><a href="https://www.sphinx-doc.org/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sphinx</a></li>
<li><a href="https://readthedocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Read The Docs</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-36-eric-holscher-on-documentation-and-read-the-docs/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/cjw296/sybil?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sybil</a></li>
<li><a href="https://pythonhosted.org/manuel/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Manuel</a></li>
<li><a href="https://docs.python.org/3/library/doctest.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Doctest</a></li>
<li><a href="https://docs.pytest.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pytest</a></li>
<li><a href="https://coverage.readthedocs.io/en/coverage-5.2/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coverage.py</a></li>
<li><a href="https://crates.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cargo</a> package system</li>
<li><a href="https://en.wikipedia.org/wiki/Tai_chi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tai Chi</a></li>
<li><a href="https://www.python.org/dev/core-mentorship/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Core Mentorship</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbarry-warsaw-the-flufl-episode-271%2F&amp;action_name=The+Past%2C+Present%2C+And+Future+Of+The+FLUFL%3A+Barry+Warsaw+Shares+His+History+With+Python+-+Episode+271&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-07-14t11:38:50+00:00-f553a56eea87a4c</guid>
      <link>https://www.pythonpodcast.com/barry-warsaw-the-flufl-episode-271</link>
      <pubDate>Mon, 13 Jul 2020 17:00:00 +0000</pubDate>
      <podcast:soundbite startTime="401.67" duration="25.05">Yeah. I can definitely see how that would be a pretty revolutionary change where all of a sudden you can have sane defaults for all of your functions while still allowing for all of the expressivity that you really want, which is 1 of the more useful aspects of the keyword arguments. But not having them and defaults so that you have some way of not having to rewrite them every single time.</podcast:soundbite>
      <podcast:soundbite startTime="1028.42" duration="11.86">Yeah. 1 of my favorite ways to encapsulate that is I've heard it a few times that Python is not the best language at anything, but it's always the 2nd best language at everything. Yep. Although I'll argue it's the best language for a lot of stuff.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Past, Present, And Future Of The FLUFL: Barry Warsaw Shares His History With Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>271</itunes:episode>
      <podcast:episode>271</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297238063017a91d3c73-5d05-438b-9d5b-09ee6636a3d8v1.mp3" length="41926286" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297238063017a91d3c73-5d05-438b-9d5b-09ee6636a3d8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a91d3c73-5d05-438b-9d5b-09ee6636a3d8638558788172729391.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a91d3c73-5d05-438b-9d5b-09ee6636a3d8638558788170107501.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a91d3c73-5d05-438b-9d5b-09ee6636a3d8638558788168122235.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Pure Python Configuration Management With PyInfra</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Building and managing servers is a challenging task. Configuration management tools provide a framework for handling the various tasks involved, but many of them require learning a specific syntax and toolchain. PyInfra is a configuration management framework that embraces the familiarity of Pure Python, allowing you to build your own integrations easily and package it all up using the same tools that you rely on for your applications. In this episode Nick Barrett explains why he built it, how it is implemented, and the ways that you can start using it today. He also shares his vision for the future of the project and you can get involved. If you are tired of writing mountains of YAML to set up your servers then give PyInfra a try today.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>This portion of Podcast.__init__ is brought to you by Datadog. Do you have an app in production that is slower than you like? Is its performance all over the place (sometimes fast, sometimes slow)? Do you know why? With Datadog, you will. You can troubleshoot your app&#8217;s performance with Datadog&#8217;s end-to-end tracing and in one click correlate those Python traces with related logs and metrics. Use their detailed flame graphs to identify bottlenecks and latency in that app of yours. Start tracking the performance of your apps with a free trial at datadog.com/pythonpodcast. If you sign up for a trial and install the agent, Datadog will send you a free t-shirt.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nick Barrett about PyInfra, a pure Python framework for agentless configuration management</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what PyInfra is and its origin story?</li>
<li>There are a number of options for configuration management of various levels of complexity and language options. What are the features of PyInfra that might lead someone to choose it over other systems?</li>
<li>What do you see as the major pain points in dealing with infrastructure today?</li>
<li>For someone who is using PyInfra to manage their servers, what is the workflow for building and testing deployments?</li>
<li>How do you handle enforcement of idempotency in the operations being performed?</li>
<li>Can you describe how PyInfra is implemented?
<ul>
<li>How has its design or focus evolved since you first began working on it?</li>
<li>What are some of the initial assumptions that you had at the outset which have been challenged or updated as it has grown?</li>
</ul>
</li>
<li>The library of available operations seems to have a good baseline for deploying and managing services. What is involved in extending or adding operations to PyInfra?</li>
<li>With the focus of the project being on its use of pure Python and the easy integration of external libraries, how do you handle execution of python functions on remote hosts that requires external dependencies?</li>
<li>What are some of the other options for interfacing with or extending PyInfra?</li>
<li>What are some of the edge cases or points of confusion that users of PyInfra should be aware of?</li>
<li>What has been the community response from developers who first encounter and trial PyInfra?</li>
<li>What have you found to be the most interesting, unexpected, or challenging aspects of building and maintaining PyInfra?</li>
<li>When is PyInfra the wrong choice for managing infrastructure?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/Fizzadar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fizzadar</a> on GitHub</li>
<li><a href="https://pointlessramblings.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/Fizzadar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Fizzadar</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/fizzadar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.amazon.com/gp/video/detail/B088JW7CPS/ref=atv_wp_cancel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">My Spy</a></li>
</ul>
</li>
<li>Nick
<ul>
<li><a href="https://www.daskeyboard.com/daskeyboard-4-ultimate/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Das Keyboard Ultimate</a></li>
<li><a href="https://www.olivemagazine.com/recipes/meat-and-poultry/slow-braised-korean-short-ribs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Korean Short Ribs</a></li>
<li><a href="https://rasamalaysia.com/kimchi-fried-rice/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kimchi Fried Rice</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://docs.pyinfra.com/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyInfra</a></li>
<li><a href="https://oxygem.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oxygem</a></li>
<li><a href="https://wordpress.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WordPress</a></li>
<li><a href="https://www.lua.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lua</a></li>
<li><a href="https://en.wikipedia.org/wiki/Garry%27s_Mod?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gary&#8217;s Mod</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://www.saltstack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a></li>
<li><a href="https://www.chef.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chef</a></li>
<li><a href="https://puppet.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Puppet</a></li>
<li><a href="https://aws.amazon.com/ec2/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EC2</a></li>
<li><a href="https://boto3.amazonaws.com/v1/documentation/api/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boto 3</a></li>
<li><a href="https://www.vaultproject.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hashicorp Vault</a></li>
<li><a href="https://www.vagrantup.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vagrant</a></li>
<li><a href="https://www.docker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="https://testinfra.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Testinfra</a>
<ul>
<li><a href="https://github.com/mitodl/salt-extensions/blob/main/extensions/_modules/testinframod.py?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack Testinfra Plugin</a></li>
</ul>
</li>
<li><a href="https://docs.docker.com/engine/reference/builder/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dockerfile</a></li>
<li><a href="https://en.wikipedia.org/wiki/Idempotence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Idempotence</a></li>
<li><a href="https://www.nginx.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nginx</a></li>
<li><a href="https://en.wikipedia.org/wiki/POSIX?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">POSIX</a></li>
<li><a href="http://www.gevent.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gevent</a></li>
<li><a href="https://jinja.palletsprojects.com/en/2.11.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jinja2</a></li>
<li><a href="https://click.palletsprojects.com/en/7.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Click</a></li>
<li><a href="https://www.zerotier.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zero Tier</a></li>
<li><a href="https://en.wikipedia.org/wiki/Berkeley_Software_Distribution?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BSD</a></li>
<li><a href="https://docs.python.org/3/library/ast.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AST Module</a></li>
<li><a href="https://redbaron.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedBaron</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyinfra-configuration-management-episode-270%2F&amp;action_name=Pure+Python+Configuration+Management+With+PyInfra+-+Episode+270&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-07-06t15:51:10+00:00-1bf31ddd1d132c1</guid>
      <link>https://www.pythonpodcast.com/pyinfra-configuration-management-episode-270</link>
      <pubDate>Mon, 6 Jul 2020 17:00:00 +0000</pubDate>
      <podcast:soundbite startTime="62.84" duration="20.31">So, Nick, can you start by introducing yourself? Hi. Yeah. Thanks for having me, and thank you for listening. I'm Nick Barrett. I'm a software engineer working at a company in the retail analytics space where I focus on kind of infrastructure heavy projects. I also run a couple of side projects under the Oxygen brand and spend way too many hours on open source projects in addition.</podcast:soundbite>
      <podcast:soundbite startTime="650.99" duration="78.72">So the other thing that you mentioned is that pyinfra has support for being able to handle item potency of the deployments so that you don't have to worry about running at multiple times. And I'm wondering what your approach is for enforcing that in the different operations being performed and some of the things that you have to address in the built in operators to be able to ensure that it does have that idempotency support or edge cases that people who are customizing pyinfra need to look out for in terms of handling idempotency? Yeah. So it's a really interesting subject. It's a bit like pyinfra's like explaining the approach and then then we go from there. The essentially, achieves other potency by executing deploys in a kind of 2 phases. The during the first phase, which is read only, plan for will kind of read state from the server, you know, where's this file? What what packages are installed? Blah blah blah. And and then this is compared in the operations with the state defined by the user or within the deploy logic. And then finally, client for will spit out the commands required to alter that state to the 1, you know, defined defined by the user. And so by doing this, it means you you run it first time it executes them as normal. And then the second time you run it, nothing, you know, nothing will happen because there's nothing to change.</podcast:soundbite>
      <podcast:soundbite startTime="271.19" duration="39.84">So I think for me, the other part of the reason of building time for the kind of greatest benefit is in is in debugging capability, particularly due to the way time for works. So it kind of roughly executes shell commands in the in the same way that you would if you were kind of setting up a server by hand. And this kind of leads nicely into when something does go wrong, you get instead of getting, like, a bespoke kind of error trace back specific to, you know, the software, you just get essentially the standard out or the standard error in as it should be from the the command that failed during the deployment. So I think this is a this is a huge, like it's just instant feedback.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:09</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Pure Python Configuration Management With PyInfra</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>270</itunes:episode>
      <podcast:episode>270</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317757986664611ad6f0-fbec-4aec-bc3f-ccea1d4e8331v1.mp3" length="32532794" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317757986664611ad6f0-fbec-4aec-bc3f-ccea1d4e8331v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_611ad6f0-fbec-4aec-bc3f-ccea1d4e8331638558836951242519.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/611ad6f0-fbec-4aec-bc3f-ccea1d4e8331638558836949183775.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/611ad6f0-fbec-4aec-bc3f-ccea1d4e8331638558836947249887.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build Your Own Domain Specific Language in Python With textX</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Programming languages are a powerful tool and can be used to create all manner of applications, however sometimes their syntax is more cumbersome than necessary. For some industries or subject areas there is already an agreed upon set of concepts that can be used to express your logic. For those cases you can create a Domain Specific Language, or DSL to make it easier to write programs that can express the necessary logic with a custom syntax. In this episode Igor Dejanović shares his work on textX and how you can use it to build your own DSLs with Python. He explains his motivations for creating it, how it compares to other tools in the Python ecosystem for building parsers, and how you can use it to build your own custom languages.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For more opportunities to stay up to date, gain new skills, and learn from your peers there are a growing number of virtual events that you can attend from the comfort and safety of your home. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to check out the upcoming events being offered by our partners and get registered today!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Igor Dejanović about textX, a meta-language for building domain specific languges in Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what a domain specific language is and some examples of when you might need one?</li>
<li>What is textX and what was your motivation for creating it?</li>
<li>There are a number of other libraries in the Python ecosystem for building parsers, and for creating DSLs. What are the features of textX that might lead someone to choose it over the other options?</li>
<li>What are some of the challenges that face language designers when constructing the syntax of their DSL?</li>
<li>Beyond being able to parse and process an arbitrary syntax, there are other concerns for consumers of the definition in terms of tooling. How does textX provide support to those end users?</li>
<li>How is textX implemented?
<ul>
<li>How has the design or goals of textX changed since you first began working on it?</li>
</ul>
</li>
<li>What is the workflow for someone using textX to build their own DSL?
<ul>
<li>Once they have defined the grammar, how do they distribute the generated interpreter for others to use?</li>
</ul>
</li>
<li>What are some of the common challenges that users of textX face when trying to define their DSL?</li>
<li>What are some of the cases where a PEG parser is unable to unambiguously process a defined grammar?</li>
<li>What are some of the most interesting/innovative/unexpected ways that you have seen textX used?</li>
<li>What have you found to be the most interesting, unexpected, or challenging lessons that you have learned while building and maintaining textX and its associated projects?</li>
<li>While preparing for this interview I noticed that you have another parser library in the form of Parglare. How has your experience working with textX informed your designs of that project?
<ul>
<li>What lessons have you taken back from Parglare into textX?</li>
</ul>
</li>
<li>When is textX the wrong choice, and someone might be better served by another DSL library, different style of parser, or just hand-crafting a simple parser with a regex?</li>
<li>What do you have planned for the future of textX?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="http://www.igordejanovic.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/igordejanovic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">igordejanovic</a> on GitHub</li>
<li><a href="https://twitter.com/dejanovicigor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@dejanovicigor</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://wemake-python-stylegui.de/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wemake-python-styleguide</a></li>
</ul>
</li>
<li>Igor
<ul>
<li><a href="https://en.wikipedia.org/wiki/Interactive_fiction?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Interactive Fiction genre</a>
<ul>
<li><a href="https://github.com/tajmone/awesome-interactive-fiction?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Awesome Interactive Fiction</a></li>
<li><a href="https://ifdb.tads.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Interactive Fiction Database</a></li>
<li><a href="https://www.tads.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TADS</a></li>
<li><a href="http://inform7.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inform 7</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="http://textx.github.io/textX/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">textX</a></li>
<li><a href="http://www.uns.ac.rs/index.php/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">U of Novi Sad</a></li>
<li><a href="https://en.wikipedia.org/wiki/Serbia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Serbia</a></li>
<li><a href="http://www.igordejanovic.net/courses/jsd.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DSL course</a></li>
<li><a href="https://dl.acm.org/doi/abs/10.1145/203241.203251?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Secondary Notation</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="http://www.eclipse.org/Xtext/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Xtext</a></li>
<li><a href="http://www.eclipse.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eclipse</a></li>
<li><a href="http://www.dabeaz.com/ply/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PLY</a></li>
<li><a href="https://github.com/dabeaz/sly?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SLY</a></li>
<li><a href="https://github.com/pyparsing/pyparsing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyParsing</a></li>
<li><a href="https://github.com/lark-parser/lark?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lark</a></li>
<li><a href="https://en.wikipedia.org/wiki/Parsing_expression_grammar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEG Grammar</a></li>
<li><a href="https://en.wikipedia.org/wiki/Language_workbench?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Language Workbench</a></li>
<li><a href="https://microsoft.github.io/language-server-protocol/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Language Server Protocol</a></li>
<li><a href="https://code.visualstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Studio Code</a></li>
<li><a href="https://github.com/textX/textX-LS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">textX-LS</a></li>
<li><a href="https://github.com/textX/Arpeggio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arpeggio Parser</a></li>
<li><a href="https://en.wikipedia.org/wiki/Context-free_grammar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Context-Free Grammar</a></li>
<li><a href="https://github.com/E2Music/pyTabs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyTabs</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tablature#Guitar_tablature?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Guitar Tablatures</a></li>
<li><a href="https://github.com/igordejanovic/parglare?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parglare</a></li>
<li><a href="https://en.wikipedia.org/wiki/GLR_parser?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GLR parsing</a></li>
<li><a href="https://github.com/textX/textX/wiki/Reference-resolving-expression-language-(RREL)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TEP 1</a></li>
<li><a href="http://www.evennia.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Evennia</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-24-griatch-on-evennia/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftextx-domain-specific-language-episode-269%2F&amp;action_name=Build+Your+Own+Domain+Specific+Language+in+Python+With+textX+-+Episode+269&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-06-29t11:46:39+00:00-e061e2f4c5da4c6</guid>
      <link>https://www.pythonpodcast.com/textx-domain-specific-language-episode-269</link>
      <pubDate>Tue, 30 Jun 2020 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2268.42" duration="32.51">Well, again, the most projects I see developed are from from my students. There are several projects listed on the on the Textex front page who is using, but usually users don't reach out that much. So I I encourage users of Textex who are listening to this podcast to drop me a line what they are using Textechs for. I always like to hear about that. But from the other projects, probably most interesting was a project done by several students.</podcast:soundbite>
      <podcast:soundbite startTime="539.28" duration="35.66">Well, TexteX is actually a DSL and a tool for building DSLs. So it's a metalanguage. And the motivation was, early in my career I got introduced to model driven engineering and the DSL just, let's say, a different flavor of it or they are overlap a lot. So I quickly got into DSL stuff, through the project called Xtext. It is a Java based project, and I think it was somewhere in 2, 005 or 6 when I played and used the Xtext.</podcast:soundbite>
      <podcast:soundbite startTime="79.79" duration="21.43">And today, I'm interviewing Igor Dejanovich about TextX, a metalanguage for building domain specific languages in Python. So Igor, can you start by introducing yourself? Hi, Tobias. Thanks for hanging. Sure. I'm Igor Dejanovic. I work as a professor at the University of Halmi Sad, teaching their several courses in software engineering.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:18</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build Your Own Domain Specific Language in Python With textX</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>269</itunes:episode>
      <podcast:episode>269</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302459444048dd689e93-9fe5-43f1-aaa6-3c05259de569v1.mp3" length="45915741" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302459444048dd689e93-9fe5-43f1-aaa6-3c05259de569v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_dd689e93-9fe5-43f1-aaa6-3c05259de569638558800097886652.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/dd689e93-9fe5-43f1-aaa6-3c05259de569638558800094482035.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/dd689e93-9fe5-43f1-aaa6-3c05259de569638558800092557892.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Adding Observability To Your Python Applications With OpenTelemetry</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Once you release an application into production it can be difficult to understand all of the ways that it is interacting with the systems that it integrates with. The OpenTracing project and its accompanying ecosystem of technologies aims to make observability of your systems more accessible. In this episode Austin Parker and Alex Boten explain how the correlation of tracing and metrics collection improves visibility of how your software is behaving, how you can use the Python SDK to automatically instrument your applications, and their vision for the future of observability as the OpenTelemetry standard gains broader adoption.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Austin Parker and Alex Boten about the OpenTelemetry project and its efforts to standardize the collection and analysis of observability data for your applications</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what OpenTelemetry is and some of the story behind it?</li>
<li>How do you define observability and in what ways is it separate from the &quot;traditional&quot; approach to monitoring?</li>
<li>What are the goals of the OpenTelemetry project?</li>
<li>For someone who wants to begin using OpenTelemetry clients in their Python application, what is the process of integrating it into their application?</li>
<li>How does the definition and adoption of a cross-language standard for telemetry data benefit the broader software community?
<ul>
<li>How do you avoid the trap of limiting the whole ecosystem to the lowest common denominator?</li>
</ul>
</li>
<li>What types of information are you focused on collecting and analyzing to gain insights into the behavior of applications and systems?
<ul>
<li>What are some of the challenges that are commonly faced in interpreting the collected data?</li>
</ul>
</li>
<li>With so many implementations of the specification, how are you addressing issues of feature parity?</li>
<li>For the Python SDK, how is it implemented?
<ul>
<li>What are some of the initial designs or assumptions that have had to be revised or reconsidered as it gains adoption?</li>
</ul>
</li>
<li>What is your approach to integration with the broader ecosystem of tools and frameworks in the Python community?</li>
<li>What are some of the interesting or unexpected challenges that you have faced or lessons that you have learned while working on instrumentation of Python projects?</li>
<li>Once an application is instrumented, what are the options for delivering and storing the collected data?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while working on and with the OpenTelemetry ecosystem?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen components in the OpenTelemetry ecosystem used?</li>
<li>When is OpenTelemetry the wrong choice?</li>
<li>What is in store for the future of the OpenTelemetry project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Austin
<ul>
<li><a href="https://twitter.com/austinlparker/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@austinlparker</a> on Twitter</li>
<li><a href="https://github.com/austinlparker?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">austinlparker</a> on GitHub</li>
</ul>
</li>
<li>Alex
<ul>
<li><a href="https://www.linkedin.com/in/codeboten/?originalSubdomain=ca&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/codeboten?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@codeboten</a> on Twitter</li>
<li><a href="https://github.com/codeboten?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">codeboten</a> on GitHub</li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.pulumi.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pulumi</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pulumi-infrastructure-as-code-episode-261/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
<li>Austin
<ul>
<li><a href="https://helm.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Helm 3</a></li>
</ul>
</li>
<li>Alex
<ul>
<li><a href="https://algorithmstoliveby.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Algorithms To Live By</a>: The Computer Science Of Everyday Decisions by Brian Christian and Tom Griffiths</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://opentelemetry.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenTelemetry</a></li>
<li><a href="https://lightstep.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lightstep</a></li>
<li><a href="https://opentracing.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenTracing</a></li>
<li><a href="https://opencensus.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenCensus</a></li>
<li><a href="https://opentracing.io/docs/overview/what-is-tracing/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Distributed Tracing</a></li>
<li><a href="https://www.jaegertracing.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jaeger</a></li>
<li><a href="https://zipkin.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zipkin</a></li>
<li><a href="https://lightstep.com/observability/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Observability</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://spring.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spring</a></li>
<li><a href="https://flask.palletsprojects.com/en/1.1.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://grpc.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gRPC</a></li>
<li><a href="https://www.structlog.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Structlog</a></li>
<li><a href="https://www.elastic.co/beats/filebeat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Filebeat</a></li>
<li><a href="https://www.w3.org/TR/trace-context/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">W3C Trace Context</a></li>
<li><a href="https://opentelemetry-python.readthedocs.io/en/stable/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenTelemetry Python SDK</a></li>
<li><a href="https://github.com/open-telemetry/opentelemetry-python/tree/master/ext/opentelemetry-ext-django?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenTelemetry Django</a></li>
<li><a href="https://github.com/open-telemetry/opentelemetry-python/tree/master/ext/opentelemetry-ext-flask?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenTelemetry Flask</a></li>
<li><a href="https://github.com/open-telemetry/opentelemetry-collector?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenTelemetry Collector</a></li>
<li><a href="https://github.com/open-telemetry/oteps/blob/master/text/0035-opentelemetry-protocol.md?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OTLP == Open Telemetry Protocol</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fopentelemetry-observability-episode-268%2F&amp;action_name=Adding+Observability+To+Your+Python+Applications+With+OpenTelemetry+-+Episode+268&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-06-23t00:45:14+00:00-2abedbfb198b9be</guid>
      <link>https://www.pythonpodcast.com/opentelemetry-observability-episode-268</link>
      <pubDate>Tue, 23 Jun 2020 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2562.41" duration="31.67">I think for me, on the challenging side, I think it's just how hard it is to get collecting telemetry right, in a way that's both easy to use and useful to people. I think that's that's been really challenging. And I think the most pleasant surprise by far has been just watching so many different people from so many different organization working together and trying to solve these really hard problems. I think it's been it's been a really, really great experience. So if if anybody's out there looking for an open source project to join, I think this is a this is a great place to start.</podcast:soundbite>
      <podcast:soundbite startTime="678.12" duration="32.79">So I think 1 of the goals of OpenTelemetry is to really help change this narrative, and I think we do that by using the fact that OpenTelemetry is so widely supported. It has extremely broad support from, you know, many, many, many organizations, people you've heard of like Microsoft and Google and Amazon, a huge variety of, you know, monitoring observability tool vendors, also open source vendor open source maintainers, people that are creating things like Jaeger or Prometheus.</podcast:soundbite>
      <podcast:soundbite startTime="368.38" duration="27.67">And so the tagline of OpenTelemetry is that it's trying to help make observability data easier to collect and access. And before we get too much further into the specifics of how it does that, I'm wondering if you can give a bit of a definition as to how you think about observability, and in what ways it's separate from the quote unquote traditional approach to monitoring where you're just collecting different metrics and shipping it off to some host for being able to aggregate them there?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:44</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Adding Observability To Your Python Applications With OpenTelemetry</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>268</itunes:episode>
      <podcast:episode>268</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253036241673851b6b96b2-8d5d-4922-bf23-4f3c7d486d94v1.mp3" length="49121979" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253036241673851b6b96b2-8d5d-4922-bf23-4f3c7d486d94v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1b6b96b2-8d5d-4922-bf23-4f3c7d486d94638558805331783534.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1b6b96b2-8d5d-4922-bf23-4f3c7d486d94638558805328282062.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1b6b96b2-8d5d-4922-bf23-4f3c7d486d94638558805326348141.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build A Personal Knowledge Store With Topic Modeling In Contextualize</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Our thought patterns are rarely linear or hierarchical, instead following threads of related topics in unpredictable directions. Topic modeling is an approach to knowledge management which allows for forming a graph of associations to make capturing and organizing your thoughts more natural. In this episode Brett Kromkamp shares his work on the Contextualize project and how you can use it for building your own topic models. He explains why he wrote a new topic modeling engine, how it is architected, and how it compares to other systems for organizing information. Once you are done listening you can take Contextualize for a test run for free with his hosted instance.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Brett Kromkamp about Contextualise, a topic modeling application that helps you build a mind map for information-heavy projects</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Contextualize is and some of the types of projects that it can be used for?
<ul>
<li>What was your motivation for creating it?</li>
</ul>
</li>
<li>How do you use topic maps in your own work and creative endeavors?</li>
<li>The space of personal note-taking and knowledge management is vast and varied. What does Contextualize do well that you have been unable to find or implement in other tools?</li>
<li>For someone using Contextualize, what does that workflow look like?</li>
<li>How are you approaching integration with different creative contexts (e.g. text editors, graphics editors, word processing, etc.)?</li>
<li>Can you describe how Contextualize is implemented?
<ul>
<li>How has the design evolved since you first began working on it?</li>
</ul>
</li>
<li>In the documentation for Contextualize it mentions that this is the latest in a string of topic mapping platforms that you have built. What are some of the lessons that you have learned from previous efforts that have influenced the design of this one?</li>
<li>One of the challenges with many knowledge management tools is that they are proscriptive in how to work with them. In what ways has your own preference for how to interact with information influenced the direction of Contextualize?
<ul>
<li>Being an open source application, how has its exposure to the public directed your software and user design?</li>
</ul>
</li>
<li>How do you approach the challenge of reducing friction in adding content and relations while allowing for flexibility and context management?</li>
<li>What are some of the projects that you are using Contextualize for?</li>
<li>What are your thoughts on the utility of something like Contextualize for capturing and organizing the collective knowledge of a team of collaborators, whether in a work or casual context?</li>
<li>What have you found to be the most interesting, complex, or complicated aspects of building a topic mapping platform?</li>
<li>When is Contextualize the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://brettkromkamp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/brettkromkamp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@brettkromkamp</a> on Twitter</li>
<li><a href="https://github.com/brettkromkamp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">brettkromkamp</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pydantic</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pydantic-data-validation-episode-263/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
<li>Brett
<ul>
<li><a href="https://blacklivesmatter.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black Lives Matter</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://contextualise.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Contextualise</a>
<ul>
<li><a href="https://github.com/brettkromkamp/contextualise/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub Repository</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Norway?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Norway</a></li>
<li><a href="https://en.wikipedia.org/wiki/Rexx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IBM Rexx</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://en.wikipedia.org/wiki/Semantic_Web?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Semantic Web</a></li>
<li><a href="https://en.wikipedia.org/wiki/Topic_map?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Topic Map</a></li>
<li><a href="https://www.iso.org/standard/38068.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ISO standard for topic maps</a></li>
<li><a href="https://www.w3.org/RDF/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RDF</a></li>
<li><a href="https://en.wikipedia.org/wiki/Spain?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spain</a></li>
<li><a href="https://en.wikipedia.org/wiki/Knowledge_management?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Knowledge Management</a></li>
<li><a href="https://en.wikipedia.org/wiki/Graph_database?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graph Database</a></li>
<li><a href="https://en.wikipedia.org/wiki/Worldbuilding?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Worldbuilding</a></li>
<li><a href="https://roamresearch.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Roam Research</a></li>
<li><a href="https://github.com/brettkromkamp/topic-db?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TopicDB</a></li>
<li><a href="https://getbootstrap.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter Bootstrap</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hypergraph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypergraph</a></li>
<li><a href="https://github.com/MaggieAppleton/digital-gardeners?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Digital Gardening</a></li>
<li><a href="https://www.notion.so/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Notion</a></li>
<li><a href="https://tiddlywiki.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TiddlyWiki</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcontextualize-topic-modeling-episode-267%2F&amp;action_name=Build+A+Personal+Knowledge+Store+With+Topic+Modeling+In+Contextualize+-+Episode+267&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-06-15t10:40:15+00:00-db35134ed0818eb</guid>
      <link>https://www.pythonpodcast.com/contextualize-topic-modeling-episode-267</link>
      <pubDate>Mon, 15 Jun 2020 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="171.80" duration="24.33">And you mentioned that you've been working on topic maps for quite some time now. I'm wondering if you can give a bit of context about what a topic map is and a bit about how you first got involved in working on them. Yeah. Sure. Topic maps, that they were part of I think this was around about 2, 006, 2007. There was this whole semantic web and semantic web technologies.</podcast:soundbite>
      <podcast:soundbite startTime="69.12" duration="13.03">So Brett, can you start by introducing yourself? Yes. As mentioned, my name is Brett. I'm living in, Northern Norway. I'm working for a local software company. We are in the educational sector.</podcast:soundbite>
      <podcast:soundbite startTime="1662.15" duration="26.39">2 things specifically. 1 1 was simply, simplify. Simplify as much as possible and specifically in the actual UX and the UX UI side of things. Again, I mean, there are quite a few really, really powerful, knowledge management systems out there. But to be able to use them, you really do need to be an expert, with regards to these kind of applications.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:06</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build A Personal Knowledge Store With Topic Modeling In Contextualize</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>267</itunes:episode>
      <podcast:episode>267</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305681887348f3df719e-606a-4dff-bd9c-6fb39fe834a9v1.mp3" length="43686134" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305681887348f3df719e-606a-4dff-bd9c-6fb39fe834a9v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f3df719e-606a-4dff-bd9c-6fb39fe834a9638558814644593359.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f3df719e-606a-4dff-bd9c-6fb39fe834a9638558814641331656.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f3df719e-606a-4dff-bd9c-6fb39fe834a9638558814638970680.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Open Source Product Analytics With PostHog</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>You spend a lot of time and energy on building a great application, but do you know how it&#8217;s actually being used? Using a product analytics tool lets you gain visibility into what your users find helpful so that you can prioritize feature development and optimize customer experience. In this episode PostHog CTO Tim Glaser shares his experience building an open source product analytics platform to make it easier and more accessible to understand your product. He shares the story of how and why PostHog was created, how to incorporate it into your projects, the benefits of providing it as open source, and how it is implemented. If you are tired of fighting with your user analytics tools, or unwilling to entrust your data to a third party, then have a listen and then test out PostHog for yourself.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show because you love Python and want to keep your skills up to date, and machine learning is finding its way into every aspect of software engineering. Springboard has partnered with us to help you take the next step in your career by offering a scholarship to their Machine Learning Engineering career track program. In this online, project-based course every student is paired with a Machine Learning expert who provides unlimited 1:1 mentorship support throughout the program via video conferences. You&#8217;ll build up your portfolio of machine learning projects and gain hands-on experience in writing machine learning algorithms, deploying models into production, and managing the lifecycle of a deep learning prototype. Springboard offers a job guarantee, meaning that you don&#8217;t have to pay for the program until you get a job in the space. Podcast.__init__ is exclusively offering listeners 20 scholarships of $500 to eligible applicants. It only takes 10 minutes and there&#8217;s no obligation. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> and apply today! Make sure to use the code <em>AISPRINGBOARD</em> when you enroll.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tim Glaser about PostHog, an open source platform for product analytics</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what PostHog is and what motivated you to build it?</li>
<li>What are the goals of PostHog and who are the target audience?</li>
<li>In the description of PostHog it mentions being a product focused analytics platform, as  opposed to session based. What are the meaningful differences between the two?</li>
<li>Customer analytics is a rather crowded market, with a large number of both commercial and open source offerings (e.g. Google Analytics, Heap, Matomo, Snowplow, etc.). How does PostHog fit in that landscape and what are the differentiating factors that would lead someone to select it over the alternativs?</li>
<li>For anyone interested in using PostHog, do you offer a migration path from other platforms?</li>
<li>necessary features for a customer analytics tool</li>
<li>privacy and security issues around analytics</li>
<li>How is PostHog implemented and how has its design evolved since you first began building it?
<ul>
<li>reason for choosing Python</li>
<li>benefits of Django</li>
</ul>
</li>
<li>thoughts on introducing Channels</li>
<li>option to include it as a pluggable Django app</li>
<li>integration points</li>
<li>data lake integration</li>
<li>challenges of providing understandable statistics and exposing options for detailed analysis</li>
<li>Having data about how users are interacting with your site or application is interesting, but how does it help in determining the useful actions to drive success?</li>
<li>business model and project governance</li>
<li>What are the most complex, complicated, or misunderstood aspects of building a product analytics platform?</li>
<li>What have you found to be the most interesting, unexpected, or challenging lessons that you have learned in the process of building PostHog?</li>
<li>When is PostHog the wrong choice?</li>
<li>What do you have planned for the future of PostHog?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/timgl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">timgl</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/timgl/?originalSubdomain=uk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/timgl?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@timgl</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hitchhiker&#8217;s Guide To The Galaxy</a></li>
</ul>
</li>
<li>Tim
<ul>
<li><a href="https://www.penguinrandomhouse.com/books/303439/triumph-of-the-city-by-edward-glaeser/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Triumph Of The City</a> by Edward Glaeser</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://posthog.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostHog</a></li>
<li><a href="https://mixpanel.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MixPanel</a></li>
<li><a href="https://amplitude.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amplitude</a></li>
<li><a href="https://heap.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heap</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/heap-with-dan-robinson-episode-36/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://snowplowanalytics.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowplow</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/snowplow-with-alexander-dean-episode-48/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://looker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Looker</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/looker-with-daniel-mintz-episode-55/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.snowflake.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SnowflakeDB</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/snowflakedb-cloud-data-warehouse-episode-110/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.tableau.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tableau</a></li>
<li><a href="https://en.wikipedia.org/wiki/Document_Object_Model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DOM == Document Object Model</a> for web pages</li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.django-rest-framework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Rest Framework</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React.js</a></li>
<li><a href="https://github.com/keajs/kea?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kea</a> state management for React.js</li>
<li><a href="https://react-redux.js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redux</a></li>
<li><a href="https://www.typescriptlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TypeScript</a></li>
<li><a href="https://pypi.org/project/django-stubs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Stubs</a></li>
<li><a href="https://channels.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Channels</a></li>
<li><a href="https://sentry.io/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sentry</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-61-sentry-with-david-cramer/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.djangoproject.com/en/3.0/intro/reusable-apps/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pluggable Django App</a></li>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Extract,_load,_transform?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ELT</a></li>
<li><a href="https://en.wikipedia.org/wiki/Data_lake?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Lake</a></li>
<li><a href="https://www.optimizely.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Optimizely</a></li>
<li><a href="https://en.wikipedia.org/wiki/Feature_toggle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feature Flags</a>
<ul>
<li><a href="https://www.pythonpodcast.com/feature-flags-episode-239/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://posthog.com/handbook/strategy/roadmap?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostHog Roadmap</a></li>
<li><a href="https://posthog.com/handbook?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostHog Employee Handbook</a></li>
<li><a href="https://matomo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matomo</a> (formerly Piwik)</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fposthog-product-analytics-episode-266%2F&amp;action_name=Open+Source+Product+Analytics+With+PostHog+-+Episode+266&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-06-08t11:26:30+00:00-5ec8b74c37c23de</guid>
      <link>https://www.pythonpodcast.com/posthog-product-analytics-episode-266</link>
      <pubDate>Mon, 8 Jun 2020 11:00:00 +0000</pubDate>
      <podcast:soundbite startTime="124.77" duration="13.48">So I'm Tim Glaser, CTO and cofounder of Posthog. As you said, we do open source product analytics. So think something like Mixpanel or Amplitude, but completely open source. You can host it yourself and have full control over the data.</podcast:soundbite>
      <podcast:soundbite startTime="181.98" duration="12.67">And, you know, it's, yeah, it's it's a platform you can host yourself that allows you to figure out what your users are doing on your app, on your website, and it will help you build a better product basically, by having all that information.</podcast:soundbite>
      <podcast:soundbite startTime="2387.75" duration="14.10">So the next steps for us are are 1 is that is that toolbar, and that's gonna be super crucial. You know, like you said, bringing the data to where you're developing right in the moment that you're developing, not as an afterthought. We think that's super crucial.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:09</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Open Source Product Analytics With PostHog</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>266</itunes:episode>
      <podcast:episode>266</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253031831775471f2681a0-b4bc-49ad-80df-474976df2508v1.mp3" length="34812613" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253031831775471f2681a0-b4bc-49ad-80df-474976df2508v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1f2681a0-b4bc-49ad-80df-474976df2508638558803249179570.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1f2681a0-b4bc-49ad-80df-474976df2508638558803247209599.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1f2681a0-b4bc-49ad-80df-474976df2508638558803245304747.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Extending The Life Of Python 2 Projects With Tauthon</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The divide between Python 2 and 3 lasted a long time, and in recent years all of the new features were added to version 3. To help bridge the gap and extend the viability of version 2 Naftali Harris created Tauthon, a fork of Python 2 that backports features from Python 3. In this episode he explains his motivation for creating it, the process of maintaining it and backporting features, and the ways that it is being used by developers who are unable to make the leap. This was an interesting look at how things might have been if the elusive Python 2.8 had been created as a more gentle transition.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With the launch of their managed Kubernetes platform it&#8217;s easy to get started with the next generation of deployment and scaling, powered by the battle tested Linode platform, including simple pricing, node balancers, 40Gbit networking, dedicated CPU and GPU instances, and worldwide data centers. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> and get a $60 credit to try out a Kubernetes cluster of your own. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show because you love Python and want to keep your skills up to date, and machine learning is finding its way into every aspect of software engineering. Springboard has partnered with us to help you take the next step in your career by offering a scholarship to their Machine Learning Engineering career track program. In this online, project-based course every student is paired with a Machine Learning expert who provides unlimited 1:1 mentorship support throughout the program via video conferences. You&#8217;ll build up your portfolio of machine learning projects and gain hands-on experience in writing machine learning algorithms, deploying models into production, and managing the lifecycle of a deep learning prototype. Springboard offers a job guarantee, meaning that you don&#8217;t have to pay for the program until you get a job in the space. Podcast.__init__ is exclusively offering listeners 20 scholarships of $500 to eligible applicants. It only takes 10 minutes and there&#8217;s no obligation. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> and apply today! Make sure to use the code AISPRINGBOARD when you enroll.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Naftali Harris about his work on Tauthon, a fork of Python 2 that backports features from Python 3</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Tauthon is and your motivations for creating it?
<ul>
<li>What&#8217;s the story behind the name?</li>
</ul>
</li>
<li>What types of applications and environments are you using Tauthon in?</li>
<li>How much adoption of Tauthon have you seen?
<ul>
<li>What are some of the different ways that your users are employing it?</li>
</ul>
</li>
<li>Is this the missing &quot;2.8&quot; release? In other words, is this intended to be a bridge for simplifying the migration of existing Python 2 code to Python 3, or as an extended support window for Python 2?</li>
<li>What features have you backported from Python 3?
<ul>
<li>What is your process for identifying and prioritizing features to bring into Tauthon?</li>
</ul>
</li>
<li>What is your workflow for implementing the backported functionality in Tauthon?</li>
<li>What are some of the cases where you have had to compromise on the functionality or syntax of a feature that you have backported in order to fit into Python 2?
<ul>
<li>What is your governing philosophy for how to manage syntax or behavior differences between Python 2 and 3?</li>
<li>What have been the most challenging features to backport and maintain?</li>
<li>What are some of the ways that Tauthon might break existing Python 2 code?</li>
</ul>
</li>
<li>What is the story for compatibility with libraries that are Python 3 only?</li>
<li>What have you seen in terms of adoption of Tauthon?
<ul>
<li>Do you have any sense of the commonalities among those users?</li>
</ul>
</li>
<li>What are some of the ecosystem challenges that faces users of Tauthon? (e.g. Pip support, package compatibility, etc.)</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned in the process of creating and maintaining Tauthon?</li>
<li>What are your long-term plans for Tauthon, and how have they changed since you first started working on it?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.naftaliharris.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/naftaliharris?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@naftaliharris</a> on Twitter</li>
<li><a href="https://github.com/naftaliharris/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">naftaliharris</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/dagster-io/dagster/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster</a></li>
<li><a href="https://us.pycon.org/2020/online/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon 2020 Online</a></li>
</ul>
</li>
<li>Naftali
<ul>
<li><a href="https://sentilink.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sentilink</a></li>
<li><a href="https://en.wikipedia.org/wiki/Timsort?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Timsort</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tim_Peters_(software_engineer)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tim Peters</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/naftaliharris/tauthon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tauthon</a></li>
<li><a href="https://www.python.org/dev/peps/pep-3107/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Function Annotations</a></li>
<li><a href="https://en.wikipedia.org/wiki/Turn_(angle)#Tau_proposals?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tau</a></li>
<li><a href="https://github.com/ncoghlan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nick Coghlan</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.python.org/dev/peps/pep-0465/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matrix Multiplier Operator</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0617/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python 3.9 PEG Parser</a></li>
<li><a href="https://pypi.org/project/lazysorted/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">lazysorted</a></li>
<li><a href="https://www.python.org/dev/peps/pep-3104/#proposed-solution?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nonlocal keyword</a></li>
<li><a href="https://www.valgrind.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Valgrind</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftauthon-python-2-fork-episode-265%2F&amp;action_name=Extending+The+Life+Of+Python+2+Projects+With+Tauthon+-+Episode+265&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-06-01t00:24:10+00:00-38a48fe6fa09017</guid>
      <link>https://www.pythonpodcast.com/tauthon-python-2-fork-episode-265</link>
      <pubDate>Tue, 2 Jun 2020 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="951.81" duration="29.51">The core idea is keep the code backwards compatible. So everything that's done is with backwards compatibility. The exceptions to backwards compatibility in Talthon are incredibly pedantic. So, for example, if you like, the exceptions are things like if you literally check the, sys.version and you depend on it being literally 2.7, then obviously your code is going to break because we changed the the system version. You know, or for example, if you depend on the, abstract syntax tree, well, we change that.</podcast:soundbite>
      <podcast:soundbite startTime="279.38" duration="26.64">I think people think it's pretty cool. I mean, I think the concept of it is appealing to a lot of different people that don't necessarily feel the need to upgrade their code to Python 3. I think the other thing is that it's it's sort of a proof of concept of an alternative future that we could have lived in. We don't right now. But I think it it's a pretty convincing demonstration that, had we wanted to, we could have shipped a lot of the new features that people are excited about in Python 3 on top of Python 2 in a backwards compatible way.</podcast:soundbite>
      <podcast:soundbite startTime="174.19" duration="25.96">So Touton is a fork of Python 2.7 that is totally backwards compatible with Python 2, but nonetheless includes a lot of the exciting new features from Python 3 that a lot of people will move to Python 3 for. So, essentially, you can take your Python 2 code, run it exactly as is, but start using some of the exciting new features from Python 3 such as function annotations, the matrix multiplier operator, argument less super, async await, stuff like that.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:33:08</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Extending The Life Of Python 2 Projects With Tauthon</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>265</itunes:episode>
      <podcast:episode>265</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253070132978258e2b9f04-e01b-4979-987e-856010aeb7d1v1.mp3" length="31015250" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253070132978258e2b9f04-e01b-4979-987e-856010aeb7d1v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8e2b9f04-e01b-4979-987e-856010aeb7d1638558819683154135.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8e2b9f04-e01b-4979-987e-856010aeb7d1638558819681326986.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8e2b9f04-e01b-4979-987e-856010aeb7d1638558819679229211.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Dependency Management Improvements In Pip's Resolver</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Dependency management in Python has taken a long and winding path, which has led to the current dominance of Pip. One of the remaining shortcomings is the lack of a robust mechanism for resolving the package and version constraints that are necessary to produce a working system. Thankfully, the Python Software Foundation has funded an effort to upgrade the dependency resolution algorithm and user experience of Pip. In this episode the engineers working on these improvements, Pradyun Gedam, Tzu-Ping Chung, and Paul Moore, discuss the history of Pip, the challenges of dependency management in Python, and the benefits that surrounding projects will gain from a more robust resolution algorithm. This is an exciting development for the Python ecosystem, so listen now and then provide feedback on how the new resolver is working for you.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show because you love Python and want to keep your skills up to date, and machine learning is finding its way into every aspect of software engineering. Springboard has partnered with us to help you take the next step in your career by offering a scholarship to their Machine Learning Engineering career track program. In this online, project-based course every student is paired with a Machine Learning expert who provides unlimited 1:1 mentorship support throughout the program via video conferences. You&#8217;ll build up your portfolio of machine learning projects and gain hands-on experience in writing machine learning algorithms, deploying models into production, and managing the lifecycle of a deep learning prototype. Springboard offers a job guarantee, meaning that you don&#8217;t have to pay for the program until you get a job in the space. Podcast.__init__ is exclusively offering listeners 20 scholarships of $500 to eligible applicants. It only takes 10 minutes and there&#8217;s no obligation. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> and apply today! Make sure to use the code AISPRINGBOARD when you enroll.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tzu-ping Chung, Pradyun Gedam, and Paul Moore about their work to improve the dependency resolution capabilities of Pip and its user experience</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the focus of the work that you are doing?
<ul>
<li>What is the scope of the work, and what is the established criteria for when it is considered complete?</li>
</ul>
</li>
<li>What is your history with working on the Pip source code and what interests you most about this project?</li>
<li>What are the main sources or manifestations of technical debt that exist in Pip as of today?
<ul>
<li>How does it currently handle dependency resolution?</li>
</ul>
</li>
<li>What are some of the workarounds that developers have had to resort to in the absence of a robust dependency resolver in Pip?</li>
<li>How is the new dependency resolver implemented?
<ul>
<li>How has your initial design evolved or shifted as you have gotten further along in its implementation?</li>
</ul>
</li>
<li>What are the pieces of information that the resolver will rely on for determining which packages and versions to install? (e.g. will it install setuptools &gt; 45.x in a Python 2 virtualenv?)</li>
<li>What are the new capabilities in Pip that will be enabled by this upgrade to the dependency resolver?</li>
<li>What projects or features in the encompassing ecosystem will be unblocked with the introduction of this upgrade?</li>
<li>What are some of the changes that users will need to make to adopt the updated Pip?</li>
<li>How do you anticipate the changes in Pip impacting the viability or adoption of Python and its ecosystem within different communities or industries?</li>
<li>What are some of the additional changes or improvements that you would like to see in Pip or other core elements of the Python landscape?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned while working on these updates to Pip?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Pradyun
<ul>
<li><a href="https://pradyunsg.me/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/pradyunsg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pradyunsg</a> on GitHub</li>
<li><a href="https://twitter.com/pradyunsg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@pradyunsg</a> on Twitter</li>
</ul>
</li>
<li>Paul
<ul>
<li><a href="https://github.com/pfmoore?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pfmoore</a> on GitHub</li>
</ul>
</li>
<li>Tzu-Ping
<ul>
<li><a href="https://github.com/uranusjr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">uranusjr</a> on GitHub</li>
<li><a href="https://uranusjr.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/uranusjr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@uranusjr</a> on Twitter</li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tzu-ping
<ul>
<li><a href="https://github.com/brettcannon/python-launcher?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Launcher</a></li>
<li><a href="https://joeabercrombie.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joe Abercrombie</a> author</li>
<li><a href="https://www.penguinrandomhouse.com/series/3SS/shattered-sea?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Shattered Sea Trilogy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Anime?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anime</a></li>
<li><a href="https://github.com/uranusjr/pipx-standalone?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PipX Standalone</a></li>
</ul>
</li>
<li>Paul
<ul>
<li><a href="https://github.com/pipxproject/pipx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pipx</a></li>
<li><a href="https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black</a></li>
<li><a href="https://nox.thea.codes/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nox</a></li>
<li><a href="https://tox.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tox</a></li>
<li><a href="https://scoop.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scoop</a></li>
<li><a href="https://www.neilgaiman.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neil Gaiman</a></li>
<li>Good Omens
<ul>
<li><a href="https://www.neilgaiman.com/works/Books/Good+Omens/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Book</a></li>
<li><a href="https://www.amazon.com/Good-Omens-Season-1/dp/B07FMHTRFD?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TV Series</a></li>
</ul>
</li>
</ul>
</li>
<li>Pradyun
<ul>
<li>because my picks can be anything &#8212; things that have kept me sane in this lockdown world
<ul>
<li>Music: <a href="https://www.daughtryofficial.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chris Daughtry</a></li>
<li>Video Game: <a href="https://themeparkitect.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parkitect</a></li>
</ul>
</li>
</ul>
</li>
<li>Tobias
<ul>
<li><a href="https://microsoft.github.io/language-server-protocol/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Language Server Protocol</a></li>
<li><a href="https://emacs-lsp.github.io/lsp-mode/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Emacs lsp-mode</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://pip.pypa.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pip</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-54-pip-and-the-python-package-authority-with-donald-stufft/?utm_source=rss&utm_medium=rss">Podcast interview with Donald Stufft</a></li>
</ul>
</li>
<li><a href="https://macdown.uranusjr.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Macdown</a></li>
<li><a href="https://en.wikipedia.org/wiki/Taiwan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Taiwan</a></li>
<li><a href="https://pipenv.pypa.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pipenv</a></li>
<li><a href="https://pypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPI</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pypi-improvements-episode-225/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/toml-lang/toml?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TOML</a></li>
<li><a href="https://packaging.python.org/specifications/core-metadata/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Package Metadata Standards</a></li>
<li><a href="https://en.wikipedia.org/wiki/IBook#iBook_G4_(%22Snow%22)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iBook G4</a></li>
<li><a href="https://en.wikipedia.org/wiki/Acorn_Computers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Acorn Computer</a></li>
<li><a href="https://docs.python.org/3/library/distutils.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">distutils</a></li>
<li><a href="https://setuptools.readthedocs.io/en/latest/easy_install.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">easy_install</a></li>
<li><a href="http://peak.telecommunity.com/DevCenter/PythonEggs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Eggs</a></li>
<li><a href="https://setuptools.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">setuptools</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0427/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Wheels</a></li>
<li><a href="https://www.cpan.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CPAN</a></li>
<li><a href="https://docs.conda.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conda</a></li>
<li><a href="https://dustingram.com/talks/2018/10/23/inside-the-cheeseshop/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inside The Cheeseshop</a></li>
<li><a href="https://summerofcode.withgoogle.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Summer of Code</a></li>
<li><a href="https://github.com/pradyunsg/zazo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zazo</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0517/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP517</a></li>
<li><a href="https://github.com/jazzband/pip-tools?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pip-tools</a></li>
<li><a href="https://python-poetry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poetry</a></li>
<li><a href="https://github.com/sarugaku/resolvelib?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">resolvelib</a></li>
<li><a href="https://en.wikipedia.org/wiki/Boolean_satisfiability_problem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SAT Solver</a></li>
<li><a href="https://pypi.org/classifiers/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trove Classifiers</a></li>
<li><a href="https://www.pypa.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPA</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0518/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyproject.toml</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpip-resolver-dependency-management-episode-264%2F&amp;action_name=Dependency+Management+Improvements+In+Pip%27s+Resolver+-+Episode+264&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-05-25t12:04:19+00:00-e66c7fb247b6039</guid>
      <link>https://www.pythonpodcast.com/pip-resolver-dependency-management-episode-264</link>
      <pubDate>Mon, 25 May 2020 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="738.17" duration="39.80">So the focus of the work that we're doing is fairly well scoped. We're replacing pip's current dependency resolution algorithm with something else that's not broken. That's sort of the core bit that we're doing. The other part of it is we have user experience experts who have been brought on as part of the funding we've raised, and they are working to collect user data, collect user information, analyze it, and sort of work with us as PIP's maintainers and the broader community to improve the CLI, all the error messages, all the reporting in PIP to be more useful for the users.</podcast:soundbite>
      <podcast:soundbite startTime="1451.20" duration="34.00">We're using a reusable component, resolvelib being that reusable component, which defines an abstraction layer between the dependency resolution algorithm, part that does, oh, let me fetch this 1. Let me see this 1. Let me backtrack this choice and all of that algorithmic logic from the PIP specific details, like here's how I get dependencies of a package. Here's how this package should be represented, and this is what describes a package and things like that. And by separating these details, we're allowing both of them to evolve independently.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:16:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Dependency Management Improvements In Pip's Resolver</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>264</itunes:episode>
      <podcast:episode>264</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252991023180519cba20ac-7021-4645-a0a7-252831612314v1.mp3" length="54642817" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252991023180519cba20ac-7021-4645-a0a7-252831612314v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_9cba20ac-7021-4645-a0a7-252831612314638558794823553580.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/9cba20ac-7021-4645-a0a7-252831612314638558794819634544.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/9cba20ac-7021-4645-a0a7-252831612314638558794817717445.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Easy Data Validation For Your Python Projects With Pydantic</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>One of the most common causes of bugs is incorrect data being passed throughout your program. Pydantic is a library that provides runtime checking and validation of the information that you rely on in your code. In this episode Samuel Colvin explains why he created it, the interesting and useful ways that it can be used, and how to integrate it into your own projects. If you are tired of unhelpful errors due to bad data then listen now and try it out today.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show because you love Python and want to keep your skills up to date. Machine learning is finding its way into every aspect of software engineering. Springboard has partnered with us to help you take the next step in your career by offering a scholarship to their Machine Learning Engineering career track program. In this online, project-based course every student is paired with a Machine Learning expert who provides unlimited 1:1 mentorship support throughout the program via video conferences. You&#8217;ll build up your portfolio of machine learning projects and gain hands-on experience in writing machine learning algorithms, deploying models into production, and managing the lifecycle of a deep learning prototype. Springboard offers a job guarantee, meaning that you don&#8217;t have to pay for the program until you get a job in the space. Podcast.__init__ is exclusively offering listeners 20 scholarships of $500 to eligible applicants. It only takes 10 minutes and there&#8217;s no obligation. Go to <a href="https://www.pythonpodcast.com/springboard?utm_source=rss&utm_medium=rss">pythonpodcast.com/springboard</a> and apply today! Make sure to use the code AISPRINGBOARD when you enroll.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Samuel Colvin about Pydantic, a library for enforcing type hints at runtime</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Pydantic is and what motivated you to create it?</li>
<li>What are the main use cases that benefit from Pydantic?</li>
<li>There are a number of libraries in the Python ecosystem to handle various conventions or &quot;best practices&quot; for settings management. How does pydantic fit in that category and why might someone choose to use it over the other options?</li>
<li>There are also a number of libraries for defining data schemas or validation such as Marshmallow and Cerberus. How does Pydantic compare to the available options for those cases?
<ul>
<li>What are some of the challenges, whether technical or conceptual, that you face in building a library to address both of these areas?</li>
</ul>
</li>
<li>The 3.7 release of Python added built in support for dataclasses as a means of building containers for data with type validation. What are the tradeoffs of pydantic vs the built in dataclass functionality?</li>
<li>How much overhead does pydantic add for doing runtime validation of the modelled data?</li>
<li>In the documentation there is a nuanced point that you make about parsing vs validation and your choices as to what to support in pydantic. Why is that a necessary distinction to make?
<ul>
<li>What are the limitations in terms of usage that you are accepting by choosing to allow for implicit conversion or potentially silent loss of precision in the parsed data?</li>
<li>What are the benefits of punting on the strict validation of data out of the box?</li>
</ul>
</li>
<li>What has been your design philosophy for constructing the user facing API?</li>
<li>How is Pydantic implemented and how has the overall architecture evolved since you first began working on it?
<ul>
<li>What have you found to be the most challenging aspects of building a library for managing the consistency of data structures in a dynamic language?
<ul>
<li>What are some of the strengths and weaknesses of Python&#8217;s type system?</li>
</ul>
</li>
</ul>
</li>
<li>What is the workflow for a developer who is using Pydantic in their code?
<ul>
<li>What are some of the pitfalls or edge cases that they might run into?</li>
</ul>
</li>
<li>What is involved in integrating with other libraries/frameworks such as Django for web development or Dagster for building data pipelines?</li>
<li>What are some of the more advanced capabilities or use cases of Pydantic that are less obvious?</li>
<li>What are some of the features or capabilities of Pydantic that are often overlooked which you think should be used more frequently?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Pydantic used?</li>
<li>What are some of the most interesting, challenging, or unexpected lessons that you have learned through your work on or with Pydantic?</li>
<li>When is Pydantic the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/samuelcolvin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">samuelcolvin</a> on GitHub</li>
<li><a href="https://scolvin.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/samuel-colvin-27531523/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/samuel_colvin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@samuel_colvin</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.jollylama.com/product-category/juggling-sticks/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Devil Sticks</a></li>
</ul>
</li>
<li>Samuel
<ul>
<li><a href="https://wwnorton.com/books/flash-boys/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flash Boys</a> by Michael Lewis</li>
<li><a href="https://algorithmstoliveby.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Algorithms To Live By</a> by Brian Christian and Tom Griffiths</li>
<li><a href="https://ngrok.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NGrok.com</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pydantic</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C#</a></li>
<li><a href="https://fastapi.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastAPI</a>
<ul>
<li><a href="https://www.pythonpodcast.com/fastapi-web-application-framework-episode-259/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://marshmallow.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marshmallow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/marshmallow-data-validation-episode-200/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.python-cerberus.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cerberus</a></li>
<li><a href="https://12factor.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">12 Factor App</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0484/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Type Hints</a></li>
<li><a href="https://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-45-cython-with-craig-citro-and-robert-bradshaw/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Duck_typing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Duck Typing</a></li>
<li><a href="https://www.haskell.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Haskell</a></li>
<li><a href="https://en.wikipedia.org/wiki/Kind_(type_theory)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Higher Order Types</a></li>
<li><a href="https://plugins.jetbrains.com/plugin/12861-pydantic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCharm Pydantic Plugin</a></li>
<li><a href="https://www.django-rest-framework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Rest Framework</a></li>
<li><a href="http://avro.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Avro</a></li>
<li><a href="https://parquet.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parquet</a></li>
<li><a href="https://github.com/dagster-io/dagster/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dagster</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dagster-data-applications-episode-104/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.starlette.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Starlette</a></li>
<li><a href="https://flask.palletsprojects.com/en/1.1.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://uber.github.io/ludwig/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ludwig</a></li>
<li><a href="http://deeppavlov.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Pavlov</a></li>
<li><a href="https://fastmri.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fast MRI</a></li>
<li><a href="https://reagent.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reagent</a></li>
<li><a href="http://rags.github.io/pynt/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pynt</a></li>
<li><a href="https://medium.com/@johnmark/why-open-source-failed-6cae5d6a9f6?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Source Has Failed</a> article</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpydantic-data-validation-episode-263%2F&amp;action_name=Easy+Data+Validation+For+Your+Python+Projects+With+Pydantic+-+Episode+263&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-05-17t23:10:41+00:00-0e23a4b2d2b092c</guid>
      <link>https://www.pythonpodcast.com/pydantic-data-validation-episode-263</link>
      <pubDate>Mon, 18 May 2020 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2176.40" duration="59.03">Probably the most surprising thing for me has been big companies you would have heard of like Microsoft, IBM, AWS, NSA, Uber, Salesforce using using Pydantic, which never something I would have expected when I first hacked something together and and released something on PyPI. In terms of particular projects, Facebook have, their Fast MRI project for making, MRI scanning faster and their reagent machine learning library that use pedantic. Microsoft use pedantic through FastAPI for core Windows and Office services, which is amazing. There's a Mexican neobank called, Suenka, I hope I pronounced that right, who used Pydantic for their interbank transfer validation. The Molecular Science Software Institute used Pydantic a lot. As far as I know, they're using it for their COVID response, and lots of other projects in academia and in industry. Each of those projects is cool, but the the most gratifying thing for me has been seeing the, like, the sheer number and diversity of different projects that have used it in ways I wouldn't have wouldn't have thought of.</podcast:soundbite>
      <podcast:soundbite startTime="216.49" duration="55.42">And so in terms of the main use cases that benefit from Pydantic, you mentioned being able to parse a dictionary of headers into a class object. But what are some of the other ways that it's being used? So the the fun and the challenging bit of Pydantic is that it's used in quite a lot of different, situations. So it's used for settings management. You can think of it a bit like the the settings dot py file in Django or in any any server project where you would have settings of DSM for connecting to databases and what port and a thousand other different settings, but it's also used for kind of API form data validation. And then for I think people use it at library boundaries. So to confirm when people are using an external library that they are passing that library the correct arguments, and then it's also used by, data scientists in a data processing pipeline kind of scenario.</podcast:soundbite>
      <podcast:soundbite startTime="127.16" duration="21.72">So Samuel, can you start by introducing yourself? Hi. I'm Samuel. I am a software developer. I split my time usually between, a SaaS company, Tutor Crunch, I, been working on for many years, and on Nel Health, which is a very exciting health tech company. We do blood and genetic testing to give people actual health data, and then I also spend too much of my time doing open source.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:15</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Easy Data Validation For Your Python Projects With Pydantic</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>263</itunes:episode>
      <podcast:episode>263</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306306098930d3d88bb2-bc35-4a32-bb6f-7a8007bc9c3fv1.mp3" length="32685910" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306306098930d3d88bb2-bc35-4a32-bb6f-7a8007bc9c3fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d3d88bb2-bc35-4a32-bb6f-7a8007bc9c3f638558817324853494.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d3d88bb2-bc35-4a32-bb6f-7a8007bc9c3f638558817322421308.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d3d88bb2-bc35-4a32-bb6f-7a8007bc9c3f638558817320398597.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Managing Distributed Teams In The Age Of Remote Work</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>More of us are working remotely than ever before, many with no prior experience with a remote work environment. In this episode Quinn Slack discusses his thoughts and experience of running Sourcegraph as a fully distributed company. He covers the lessons that he has learned in moving from partially to fully remote, the practices that have worked well in managing a distributed workforce, and the challenges that he has faced in the process. If you are struggling with your remote work situation then this conversation has some useful tips and references for further reading to help you be successful in the current environment.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You monitor your website to make sure that you&#8217;re the first to know when something goes wrong, but what about your data? Tidy Data is the DataOps monitoring platform that you&#8217;ve been missing. With real time alerts for problems in your databases, ETL pipelines, or data warehouse, and integrations with Slack, Pagerduty, and custom webhooks you can fix the errors before they become a problem. Go to <a href="https://www.pythonpodcast.com/tidydata?utm_source=rss&utm_medium=rss">pythonpodcast.com/tidydata</a> today and get started for free with no credit card required.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Quinn Slack about his experience managing a fully remote company and useful tips for remote work</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of the team structure at Sourcegraph?</li>
<li>You recently moved to being fully remote. What was the motivating factor and how has it changed your personal workflow?
<ul>
<li>What is your prior history with working remote?</li>
</ul>
</li>
<li>team practices for visibility of progress</li>
<li>impact of remote teams on how code is written and organized
<ul>
<li>reducing review burden by writing clearer code</li>
</ul>
</li>
<li>structuring meetings when remote</li>
<li>points of friction for remote developer teams</li>
<li>benefits of being fully remote</li>
<li>incentivizing documentation</li>
<li>compensation structure</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/quinnslack/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/sqs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@sqs</a> on Twitter</li>
<li><a href="https://github.com/sqs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sqs</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://joplinapp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joplin App</a></li>
</ul>
</li>
<li>Quinn
<ul>
<li><a href="https://www.littlebrown.com/titles/ben-r-rich/skunk-works/9780316246934/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Skunkworks</a> by Ben Rich</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://about.sourcegraph.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sourcegraph</a></li>
<li><a href="https://github.com/sqs/freequery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quinn&#8217;s Python Search Engine</a></li>
<li><a href="https://about.sourcegraph.com/handbook?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sourcegraph Employee Handbook</a></li>
<li><a href="https://about.gitlab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitlab</a></li>
<li><a href="https://about.gitlab.com/handbook/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitlab Handbook</a></li>
<li><a href="https://zapier.com/home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zapier</a></li>
<li><a href="https://zapier.com/learn/remote-work/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zapier Guide To Remote Work</a></li>
<li><a href="https://automattic.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automattic</a></li>
<li><a href="https://distributed.blog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automattic Blog On Distributed Work</a></li>
<li><a href="https://standards.mousepawmedia.com/csi.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Comments Showing Intent</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsourcegraph-remote-work-episode-262%2F&amp;action_name=Managing+Distributed+Teams+In+The+Age+Of+Remote+Work+-+Episode+262&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-05-10t23:28:46+00:00-9f4daea451f920b</guid>
      <link>https://www.pythonpodcast.com/sourcegraph-remote-work-episode-262</link>
      <pubDate>Mon, 11 May 2020 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="128.10" duration="22.83">And I remember back in college, I took a whole summer off and I was working at some campus jobs, all to fund what I was doing for most of the hours, which was writing a Google like search engine from scratch in Python. I still have the code. It's up on my GitHub. It's 1 of my fondest memories of just writing a lot of Python code in the California summer.</podcast:soundbite>
      <podcast:soundbite startTime="1642.71" duration="22.58">And 1 great way to make people feel that pain is if they come across code and they need help with it, and if we're in a remote team, they know they can't just get up and tap a teammate on the shoulder. You know, that's bad anyway, but they could do it if we were all in the same office. So if someone has felt the pain of reading through someone else's code without comments and lacking that understanding as a result, they're going to understand better why comments are important.</podcast:soundbite>
      <podcast:soundbite startTime="292.89" duration="17.73">So we had a decision to make. Do we continue to have an office and hire remotely, or do we then go remote first where the default assumption is even if you're based in San Francisco, you choose on any given day whether you wanna come into the office or not. And so we did that. We went to remote first.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:45</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Managing Distributed Teams In The Age Of Remote Work</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>262</itunes:episode>
      <podcast:episode>262</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525308205697747b5ad8c37-cf91-40ad-862b-92ea6d9ae4eav1.mp3" length="43189711" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525308205697747b5ad8c37-cf91-40ad-862b-92ea6d9ae4eav1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b5ad8c37-cf91-40ad-862b-92ea6d9ae4ea638558823858505707.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b5ad8c37-cf91-40ad-862b-92ea6d9ae4ea638558823855527724.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b5ad8c37-cf91-40ad-862b-92ea6d9ae4ea638558823853421111.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Maintainable Infrastructure As Code In Pure Python With Pulumi</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>After you write your application, you need a way to make it available to your users. These days, that usually means deploying it to a cloud provider, whether that&#8217;s a virtual server, a serverless platform, or a Kubernetes cluster. To manage the increasingly dynamic and flexible options for running software in production, we have turned to building infrastructure as code. Pulumi is an open source framework that lets you use your favorite language to build scalable and maintainable systems out of cloud infrastructure. In this episode Luke Hoban, CTO of Pulumi, explains how it differs from other frameworks for interacting with infrastructure platforms, the benefits of using a full programming language for treating infrastructure as code, and how you can get started with it today. If you are getting frustrated with switching contexts when working between the application you are building and the systems that it runs on, then listen now and then give Pulumi a try.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You monitor your website to make sure that you&#8217;re the first to know when something goes wrong, but what about your data? Tidy Data is the DataOps monitoring platform that you&#8217;ve been missing. With real time alerts for problems in your databases, ETL pipelines, or data warehouse, and integrations with Slack, Pagerduty, and custom webhooks you can fix the errors before they become a problem. Go to <a href="https://www.pythonpodcast.com/tidydata&amp;utm_content=pulumi?utm_source=rss&utm_medium=rss">pythonpodcast.com/tidydata</a> today and get started for free with no credit card required.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Luke Hoban about building and maintaining infrastructure as code with Pulumi</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the concept of &quot;infrastructure as code&quot;?</li>
<li>What is Pulumi and what is the story behind it?
<ul>
<li>Where does the name come from?</li>
<li>How does Pulumi compare to other infrastructure as code frameworks, such as Terraform?</li>
</ul>
</li>
<li>What are some of the common challenges in managing infrastructure as code?
<ul>
<li>How does use of a full programming language help in addressing those challenges?</li>
<li>What are some of the dangers of using a full language to manage infrastructure?
<ul>
<li>How does Pulumi work to avoid those dangers?</li>
</ul>
</li>
</ul>
</li>
<li>Why is maintaining a record of the provisioned state of your infrastructure necessary, as opposed to relying on the state contained by the infrastructure provider?
<ul>
<li>What are some of the design principles and constraints that developers should be considering as they architect their infrastructure with Pulumi?</li>
</ul>
</li>
<li>Can you describe how Pulumi is implemented?
<ul>
<li>How does Pulumi manage support for multiple languages while maintaining feature parity across them?</li>
<li>How do you manage testing and validation of the different providers?</li>
</ul>
</li>
<li>The strength of any tool is largely measured in the ecosystem that exists around it, which is one of the reasons that Terraform has been so successful. How are you approaching the problem of bootstrapping the community and prioritizing platform support?</li>
<li>Can you talk through the workflow of working with Pulumi to build and maintain a proper infrastructure?</li>
<li>What are some of the ways to approach testing of infrastructure code?
<ul>
<li>What does the CI/CD lifecycle for infrastructure look like?</li>
</ul>
</li>
<li>What are the limitations of infrastructure as code?
<ul>
<li>How do configuration management tools fit with frameworks such as Pulumi?</li>
</ul>
</li>
<li>The core framework of Pulumi is open source, and your business model is focused around a managed platform for tracking state. How are you approaching governance of the project to ensure its continued viability and growth?</li>
<li>What are some of the most interesting, innovative, or unexpected design patterns that you have seen your users include in their infrastructure projects?</li>
<li>When is Pulumi the wrong choice?</li>
<li>What do you have planned for the future of Pulumi?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/lukejhoban/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/lukehoban?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">lukehoban</a> on GitHub</li>
<li><a href="https://twitter.com/lukehoban?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@lukehoban</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.bookshelfapp.info/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bookshelf App</a></li>
</ul>
</li>
<li>Luke
<ul>
<li><a href="https://gobinaries.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GoBinaries.com</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.pulumi.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pulumi</a></li>
<li><a href="https://www.terraform.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Terraform</a></li>
<li><a href="https://ironpython.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IronPython</a></li>
<li><a href="https://github.com/hashicorp/hcl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HCL == Hashicorp Config Language</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://www.typescriptlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TypeScript</a></li>
<li><a href="https://en.wikipedia.org/wiki/DevOps?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DevOps</a></li>
<li><a href="https://aws.amazon.com/cloudformation/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CloudFormation</a></li>
<li><a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/overview?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ARM == Azure Resource Manager</a></li>
<li><a href="https://github.com/pulumi/pulumi-awsx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWSx</a></li>
<li><a href="https://cloud.google.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GCP == Google Cloud Platform</a></li>
<li><a href="https://www.pulumi.com/pricing/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pulumi SaaS</a></li>
<li><a href="https://www.saltstack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-1-thomas-hatch/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://aws.amazon.com/elasticbeanstalk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elastic Beanstalk</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpulumi-infrastructure-as-code-episode-261%2F&amp;action_name=Maintainable+Infrastructure+As+Code+In+Pure+Python+With+Pulumi+-+Episode+261&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-05-03t22:07:34+00:00-0385b619f42c837</guid>
      <link>https://www.pythonpodcast.com/pulumi-infrastructure-as-code-episode-261</link>
      <pubDate>Mon, 4 May 2020 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="104.53" duration="28.26">And do you remember how you first got introduced to Python? Yes. I've worked in sort of the programming languages space for a lot of my career and, even, you know, back in sort of in in college and things. Kind of got introduced to Python mostly from some sort of academic perspective. Just seeing it as sort of another programming language, another interesting space in the spectrum, and, and just using it from that kind of perspective. I think my my next sort of deeper engagement with it was actually working at Microsoft on sort of dot net and, worked with a lot of the teams building Iron Python actually at the time.</podcast:soundbite>
      <podcast:soundbite startTime="132.93" duration="31.35">And so really sort of seeing Python through the lens of kind of the Microsoft developer ecosystem, which was sort of an interesting lens to to see Python through. And then I think more recently, just personally, I got a lot more exposure to Python just as a as a lens into kind of machine learning and that kind of thing, just learning that from a personal perspective. And then I think, with with Pulumi was where we've really gone I've personally really gone the deepest in my career so far with Python, which is really kind of building and designing APIs and programming models for Python developers to, program the cloud and work with cloud infrastructure.</podcast:soundbite>
      <podcast:soundbite startTime="585.46" duration="45.69">And so we see that more and more that ownership is sort of shifting closer to the application development teams just from a you know, at the speed of iteration and the the the place at which the affinity is with the sort of ownership of the, delivery, is moving so that the application development teams have to have a better understanding of some of cloud primitives if they wanna take advantage of the value of some of these sort of modern cloud technologies. And then the other part of that is just as that complexity rises generally, even within the sort of traditional platform teams or DevOps teams or even sort of traditional infrastructure teams, the amount of cloud infrastructure being managed is just going up dramatically, both because of just the shift in the cloud and also because of the, you know, shift towards these more modern cloud technologies where there are more more moving pieces and more managed services and that sort of thing.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:00:55</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Maintainable Infrastructure As Code In Pure Python With Pulumi</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>261</itunes:episode>
      <podcast:episode>261</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314467219238723a130c-c746-4dc6-ae1f-97bc762d2f21v1.mp3" length="48742748" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314467219238723a130c-c746-4dc6-ae1f-97bc762d2f21v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_723a130c-c746-4dc6-ae1f-97bc762d2f21638558825239638918.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/723a130c-c746-4dc6-ae1f-97bc762d2f21638558825236302245.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/723a130c-c746-4dc6-ae1f-97bc762d2f21638558825230808210.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Teaching Python Machine Learning</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Python has become a major player in the machine learning industry, with a variety of widely used frameworks. In addition to the technical resources that make it easy to build powerful models, there is also a sizable library of educational resources to help you get up to speed. Sebastian Raschka&#8217;s contribution of the Python Machine Learning book has come to be widely regarded as one of the best references for newcomers to the field. In this episode he shares his experiences as an author, his views on why Python is the right language for building machine learning applications, and the insights that he has gained from teaching and contributing to the field.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Sebastian Raschka about his experiences writing the popular Python Machine Learning book</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How did you get started in machine learning?
<ul>
<li>What were the concepts that you found most difficult in your career with statistics and machine learning?</li>
</ul>
</li>
<li>One of your notable contributions to the field is your book &quot;Python Machine Learning&quot;. What inspired you to write the initial version?
<ul>
<li>How did you approach the challenge of striking the right balance of depth, breadth, and accessibility for the content?</li>
<li>What was your process for determining which aspects of machine learning to include?</li>
</ul>
</li>
<li>You have made 3 editions of the book from 2015 through December of 2019. In what ways has the book changed?
<ul>
<li>What are the biggest changes to the ecosystem and approaches to ML in that timeframe?</li>
</ul>
</li>
<li>What are the fundamental challenges of developing machine learning projects that continue to present themselves?
<ul>
<li>What new difficulties have arisen with the introduction of new technologies and the rise of deep learning?</li>
</ul>
</li>
<li>What are some of the ways that the Python language lends itself to analytical work?
<ul>
<li>What are its shortcomings and how has the community worked around them?</li>
<li>What do you see as the biggest risks to the popularity of Python in the data and analytics space?</li>
</ul>
</li>
<li>What are some of the common pitfalls that your readers and students face while learning about different aspects of machine learning?</li>
<li>What are some of the industries that can benefit most from applications of machine learning?</li>
<li>What are you most excited about in the applications or capabilities of machine learning?
<ul>
<li>What are you most worried about?</li>
</ul>
</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://sebastianraschka.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/rasbt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@rasbt</a> on Twitter</li>
<li><a href="https://github.com/rasbt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rasbt</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/sebastianraschka/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.dreamworks.com/movies/trolls-world-tour?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trolls World Tour</a></li>
</ul>
</li>
<li>Sebastian
<ul>
<li><a href="https://github.com/slhck/ffmpeg-normalize?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FFMPeg Normalize</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.packtpub.com/data/python-machine-learning-third-edition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Machine Learning</a> (Packt)
<ul>
<li><a href="https://amzn.to/2Wa2Ias?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Buy On Amazon</a> (affiliate link)</li>
</ul>
</li>
<li><a href="https://www.wisc.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UW Madison</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pascal</a></li>
<li><a href="https://en.wikipedia.org/wiki/Delphi_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Delphi</a></li>
<li><a href="https://www.r-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bioinformatics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bioinformatics</a>
<ul>
<li><a href="https://github.com/seq-lang/seq?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seq</a>
<ul>
<li><a href="https://www.pythonpodcast.com/seq-bioinformatics-language-episode-257/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://biopython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BioPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/biopython-with-peter-cock-wibowo-andrarto-and-tiago-antao-episode-125/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="https://www.codecademy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeCademy</a></li>
<li><a href="http://www.cs.virginia.edu/~evans/courses/cs101/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Udacity CS101</a></li>
<li><a href="https://en.wikipedia.org/wiki/Andrew_Ng?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Andrew Ng</a></li>
<li><a href="https://www.coursera.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coursera</a></li>
<li><a href="https://en.wikipedia.org/wiki/Support-vector_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Support-Vector Machine</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bayesian_statistics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bayesian Statistics</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://sebastianraschka.com/blog/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sebastian&#8217;s Blog</a></li>
<li><a href="https://en.wikipedia.org/wiki/Perceptron?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perceptron</a></li>
<li><a href="https://www.packtpub.com/big-data-and-business-intelligence/instant-heat-maps-r-how-instant?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heatmaps In R</a></li>
<li><a href="http://themlbook.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Hundred Page Machine Learning Book</a> by Andriy Burkov</li>
<li><a href="http://www.image-net.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ImageNet</a></li>
<li><a href="https://en.wikipedia.org/wiki/Random_forest?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Random Forest</a></li>
<li><a href="https://en.wikipedia.org/wiki/Logistic_regression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logistic Regression</a></li>
<li><a href="https://xgboost.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XGBoost</a></li>
<li><a href="http://deeplearning.net/software/theano/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Theano</a></li>
<li><a href="https://en.wikipedia.org/wiki/Generative_adversarial_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Generative Adversarial Networks</a></li>
<li><a href="https://www.thispersondoesnotexist.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Is This Person Real / This Person Does Not Exist</a></li>
<li><a href="https://en.wikipedia.org/wiki/Reinforcement_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reinforcement Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/AlphaGo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AlphaGo</a></li>
<li><a href="https://en.wikipedia.org/wiki/AlphaStar_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AlphaStar</a></li>
<li><a href="https://ray.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a></li>
<li><a href="https://ray.readthedocs.io/en/latest/rllib.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RLlib</a></li>
<li><a href="https://openai.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open AI</a></li>
<li><a href="https://deepmind.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google DeepMind</a></li>
<li><a href="https://colab.research.google.com/notebooks/intro.ipynb#recent=true?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Colab</a></li>
<li><a href="https://developer.nvidia.com/cuda-zone?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CUDA</a></li>
<li><a href="https://julialang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Julia</a></li>
<li><a href="https://www.mdpi.com/2078-2489/11/4/193?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sebastian Raschka, Joshua Patterson, and Corey Nolet (2020). <em>Machine Learning in Python: Main developments and technology trends in data science, machine learning, and artificial intelligence</em>. Information 2020, 11, 193</a></li>
<li><a href="https://developer.apple.com/swift/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swift Language</a></li>
<li><a href="https://tryolabs.com/blog/2020/04/02/swift-googles-bet-on-differentiable-programming/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swift for TensorFlow</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://en.wikipedia.org/wiki/Differential_privacy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Differential Privacy</a></li>
<li><a href="https://arxiv.org/abs/2001.00561?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PrivacyNet</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLTKMiZHVd_2JkR6QtQEnml7swCnFBtq4P&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">YouTube recordings of Stat453: Introduction to Deep Learning and Generative Models (Spring 2020)</a></li>
<li><a href="https://github.com/slhck/ffmpeg-normalize?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ffmpeg-normalize</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpython-machine-learning-book-episode-260%2F&amp;action_name=Teaching+Python+Machine+Learning+-+Episode+260&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-04-28t01:24:23+00:00-343943761d2e96e</guid>
      <link>https://www.pythonpodcast.com/python-machine-learning-book-episode-260</link>
      <pubDate>Tue, 28 Apr 2020 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="192.55" duration="51.30">And in terms of your work in machine learning, how did you get interested and involved in that area of the industry? Yeah, that is also almost a decade ago. So how I got introduced in to machine learning was by taking another class. So that was thing must have been cs 801@michiganstateuniversitystatisticalpatternclassification, which was back then really interesting. So I didn't really know much about machine learning when I went into that class. And it was called statistical pattern classification. I thought, okay, that might be interesting or useful for my projects. So back in the day, I was working on computational biology problems. And I thought, pattern classification. So that maybe allows me to identify or predict certain patterns in my protein structure data sets. So I took that class and it was kind of eye opening and very fascinating.</podcast:soundbite>
      <podcast:soundbite startTime="1015.34" duration="356.90">And you published that initial book in 2015. And since then, you've gone through 3 editions, most recently being published at the end of last year. I'm wondering what have been some of the most notable changes in the content or the overall approach that you've taken with those successive editions? Yeah. So, the first book, well, I wrote this in 2, 000 14 15. So in this book, the focus was mostly on machine learning, because the title of the book was Python machine learning nowadays. So back then deep learning started to became popular. So there was, for example, it was around 2012, early 2013, where Alex net, a deep neural network convolutional network had a really impressive outcome on ImageNet on the ImageNet competition. So having the error of all compared to all traditional methods, and that is where people started to pay more attention to deep learning, but it was still in its infancy. So the focus of this book was more on machine learning nowadays. So I recently wrote an article with Joshua Patterson and Corey Nollet, who work at NVIDIA, on reviewing the recent trends in machine learning. There we really made the distinction between traditional machine learning and deep learning. So machine learning is more like a summary term for the traditional methods, I would group support vector machines, random forest decision trees into that category, and then deep learning. So and but back in the day, when you said machine learning, you meant usually techniques such as Yeah, random forest support vector machines, logistic regression, xG boost, even classic machine learning methods. So the focus of the book back then was mostly on machine learning. And I really still think it's useful to start learning about start with machine learning before you learn about deep learning. And there was only a very small section on neural networks. In the end, the last chapter was a chapter using piano. So that was before TensorFlow. There was no TensorFlow back then I think TensorFlow got introduced 1 year later. So I had this 1 chapter on deep learning with theano. And but the biggest focus of the book was really Python, machine learning in Python. And in the 2nd edition, we extended the machine learning part more into the deep learning realm. So the last chapter, that was when TensorFlow was popular, I replaced that with a chapter on TensorFlow. So we dropped theano completely. And then we added additional chapters on convolutional networks and recurrent neural networks. And also, I vahit morality got involved. He is a co author, he helped a lot with the chapters because it was also the time 2017 when I was about to graduate from college. So I was super busy. And he was a good friend and collaborator back then we also worked on several research papers together. And we partnered up to write the new chapters. And, yeah, that was the 2nd edition where we extended the deep learning part because also, like in real life, deep learning became way more popular in 2017. And we also both did a lot of research involving deep learning. So that was a good fit. And then for the 3rd edition, we went a step further. So that was after TensorFlow 2.0 was released shortly thereafter. So we had to update all the last and latest chapters from 10 TensorFlow 1.0 to TensorFlow 2 point 0, there was a major change in the library because they also switched, not only did they clean up the API, but they also switched from the static graph to the dynamic graph mode, which is I would say, a very different paradigm before when you use TensorFlow. In contrast to using something like NumPy, you usually had a separate graph definition step and a graph execution step. So it was not very Pythonic, I would say. So you define the graph in in Python, but it looked more like a pseudo language or a meta language. And then you executed the graph. And that made it very hard to debug and very clunky. And the community kind of complained about that. So they switched to this eager or dynamic graph mode in TensorFlow 2.0. And we rewrote the chapters to reflect that to have all the newest features of TensorFlow. And then again, we added 2 more chapters. 1 was on generative adversarial networks, which are maybe among the most popular deep learning methods for applications. Like you can do a lot of fun things like generating certain things with that, like there's a website thing it's called, is this person real? Or is this a real person or something like that, where you can see some examples of generating, for example, faces entirely with deep learning faces of people who don't exist, but they look like real people. So 1 chapter was on generative adversarial networks. And then the last chapter was on reinforcement learning. Because I remember in the 1st edition, I had a section in the introduction where I was presenting the 3 big fields of machine learning, which are supervised learning, unsupervised learning and reinforcement learning. And in the book itself, though, I covered supervised learning a lot that is also the biggest area of machine learning and unsupervised learning. But I didn't even mention reinforcement learning after the introduction. So a lot of readers wrote me Hey, where's the part about reinforcement learning. So in this 3rd edition, we finally brought a chapter about reinforcement learning as well. And you may be now it's also 1 of the really interesting and popular areas of research. There were lots of interesting applications recently, for example, 2 years ago now, where they beat the world champion in in go, the bot game go, and also alpha star, which is the StarCraft 2 bot that can or an AI that can play stuff. StarCraft 2, I think they didn't beat the world best player, but they were very competitive, at least. So with that, I think reinforcement learning is also a very interesting area of research. Of course, what I just said, these are toy problems playing Go and StarCraft. But you can also think of this as something where you can design robots, for example, for Amazon warehouses, and just in general, having a method that learns a series of actions. So reinforcement learning is really about learning a series of actions rather than just outputting in 1 label prediction.</podcast:soundbite>
      <podcast:soundbite startTime="507.41" duration="78.61">And 1 of the notable contributions that you've made to the field of both machine learning and its applications within Python is the book Python Machine Learning that we mentioned at the open. And I know that it's become a very popular reference for people who are either just getting into machine learning or trying to gain a better understanding of it. And I'm wondering, what was your inspiration for getting involved in being an author and writing that initial version? Yeah, that is an interesting question. The answer is maybe a little bit boring. The publisher reached out to me and I thought it might be a fun challenge. So a little bit of a background is I as an undergrad, I wrote a very small book before it's small like a booklet. It was heat maps in R. That was before I was working with Python, I had my R face. Nothing against R is I think, still a great language. Anyways, so I was writing this book back in the day. And that is there was a really short book, I think 50 60 pages. But that was my first taste, like writing books. And I kind of liked the process. I liked thinking about things, organizing things, and then writing them down. I don't know, it's like some also when I assumed when I studied, what I always did is I wrote things down in my own words. So I was always compiling reference material for myself. And writing a book is in a way very similar, except that you pay more attention to, let's say, writing proper sentences and adhering to grammar rules.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:25</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Teaching Python Machine Learning</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>260</itunes:episode>
      <podcast:episode>260</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531789743444447cc180b-e32f-42ba-92e1-ce1b0585bc2bv1.mp3" length="42087472" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531789743444447cc180b-e32f-42ba-92e1-ce1b0585bc2bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_47cc180b-e32f-42ba-92e1-ce1b0585bc2b638558837427207127.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/47cc180b-e32f-42ba-92e1-ce1b0585bc2b638558837424892542.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/47cc180b-e32f-42ba-92e1-ce1b0585bc2b638558837422066596.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build The Next Generation Of Python Web Applications With FastAPI</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Python has an embarrasment of riches when it comes to web frameworks, each with their own particular strengths. FastAPI is a new entrant that has been quickly gaining popularity as a performant and easy to use toolchain for building RESTful web services. In this episode Sebastián Ramirez shares the story of the frustrations that led him to create a new framework, how he put in the extra effort to make the developer experience as smooth and painless as possible, and how he embraces extensability with lightweight dependency injection and a straightforward plugin interface. If you are starting a new web application today then FastAPI should be at the top of your list.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Sebastián Ramirez about FastAPI, a framework for building production ready APIs in Python 3</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what FastAPI is?
<ul>
<li>What are the main frustrations that you ran into with other frameworks that motivated you to create an entirely new one?</li>
</ul>
</li>
<li>What are some of the main use cases that FastAPI is designed for?</li>
<li>Many web frameworks focus on managing the end-to-end functionality of a website, including the UI. Why did you focus on just API capabilities?
<ul>
<li>What are the benefits of building an API only framework?</li>
<li>If you wanted to integrate a presentation layer, what would be involved in that effort?</li>
</ul>
</li>
<li>What API formats does FastAPI support?
<ul>
<li>What would be involved in adding support for additional specifications such as GraphQL or JSON-LD?</li>
</ul>
</li>
<li>There are a huge number of web frameworks available just in the Python ecosystem. How does FastAPI fit into that landscape and why might someone choose it over the other options?</li>
<li>Can you share your design philosophy for the project?
<ul>
<li>What are your main sources of inspiration for the framework?</li>
<li>You have also built the Typer CLI library which you refer to as the little sibling of FastAPI. How have your experiences building these two projects influenced their counterpart&#8217;s evolution?</li>
</ul>
</li>
<li>What are the benefits of incorporating type annotations into a web framework and in what ways do they manifest in its functionality?</li>
<li>What is the workflow for a developer building a complex application in FastAPI?</li>
<li>Can you describe how FastAPI itself is architected and how its design has evolved since you first began working on it?
<ul>
<li>What are the extension points that are available for someone to build plugins for FastAPI?</li>
</ul>
</li>
<li>What are some of the challenges that you have faced in building an async framework that is leveraging the new ASGI specification?</li>
<li>What are some sharp edges that users should keep an eye out for?</li>
<li>What are some unique or underutilized features of FastAPI that users might not be aware of?</li>
<li>What are some of the most interesting, unexpected, or innovative ways that you have seen FastAPI used?</li>
<li>When is FastAPI the wrong choice?</li>
<li>What are some of the most interesting, unexpected, or challenging lessons that you have learned in the process of building and maintaining FastAPI?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<p><a href="https://twitter.com/tiangolo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tiangolo</a> on Twitter.
<a href="https://github.com/tiangolo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tiangolo</a> on GitHub.</p>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Once_Upon_a_Time_(TV_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Once Upon A Time</a> TV Show</li>
</ul>
</li>
<li>Sebastián
<ul>
<li><a href="https://en.wikipedia.org/wiki/Cloud_Atlas_(film)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloud Atlas Movie</a></li>
<li><a href="https://en.wikipedia.org/wiki/Isaac_Asimov_short_stories_bibliography?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Isaac Asimov&#8217;s robot short stories</a></li>
<li><a href="https://github.com/samuelcolvin/python-devtools?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python devtools debug function</a></li>
<li><a href="https://www.python-httpx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">async compatible requests with HTTPX</a></li>
<li><a href="https://www.rescuetime.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RescueTime for automatic time tracking</a></li>
<li><a href="https://joplinapp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joplin for Notes</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://fastapi.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastAPI</a></li>
<li><a href="https://typer.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typer</a></li>
<li><a href="https://typer.tiangolo.com/typer-cli/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typer CLI</a></li>
<li><a href="https://fastapi.tiangolo.com/alternatives/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastAPI Alternatives, Inspiration and Comparisons</a></li>
<li><a href="https://spacy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Explosion&#8217;s spaCy</a></li>
<li><a href="https://prodi.gy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Explosion&#8217;s Prodigy</a></li>
<li><a href="https://www.starlette.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Starlette</a></li>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pydantic</a></li>
<li><a href="https://www.uvicorn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uvicorn</a></li>
<li><a href="https://pgjones.gitlab.io/hypercorn/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypercorn</a></li>
<li><a href="https://github.com/dmontagu/fastapi-utils?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">fastapi-utils</a>
<ul>
<li><a href="https://fastapi-utils.davidmontague.xyz/user-guide/class-based-views/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Class Based Views</a></li>
</ul>
</li>
<li><a href="https://github.com/mirumee/ariadne?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GrahQL Ariadne</a></li>
<li><a href="https://github.com/ExpDev07/coronavirus-tracker-api?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coronavirus Tracker API</a></li>
<li><a href="https://github.com/cs01/termpair?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Terminals from browser: termpair</a></li>
<li><a href="https://xpublish.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XPublish</a></li>
<li><a href="https://uber.github.io/ludwig/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uber&#8217;s Ludwig</a></li>
<li><a href="https://github.com/Netflix/dispatch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netflix Dispatch</a></li>
<li><a href="https://en.wikipedia.org/wiki/Colombia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Colombia</a></li>
<li><a href="https://en.wikipedia.org/wiki/Berlin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Berlin Germany</a></li>
<li><a href="https://explosion.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Explosion AI</a></li>
<li><a href="https://docs.python.org/3/library/typing.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Type Annotations</a></li>
<li><a href="https://www.django-rest-framework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Rest Framework</a></li>
<li><a href="https://flask.palletsprojects.com/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://github.com/OAI/OpenAPI-Specification?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swagger/OpenAPI</a></li>
<li><a href="https://sanic.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sanic</a></li>
<li><a href="https://nodejs.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NodeJS</a></li>
<li><a href="https://json-schema.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON Schema</a></li>
<li><a href="https://oauth.net/2/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OAuth2</a></li>
<li><a href="https://github.com/swagger-api/swagger-ui?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swagger UI</a></li>
<li><a href="https://github.com/Redocly/redoc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReDoc</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React</a></li>
<li><a href="https://vuejs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VueJS</a></li>
<li><a href="https://angular.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Angular</a></li>
<li><a href="https://en.wikipedia.org/wiki/Representational_state_transfer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">REST == REpresentational State Transfer</a></li>
<li><a href="https://en.wikipedia.org/wiki/JSON-LD?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON-LD</a></li>
<li><a href="https://golang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Go Language</a></li>
<li><a href="https://hugapi.github.io/hug/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hug</a> API framework</li>
<li><a href="https://click.palletsprojects.com/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Click</a> CLI Framework</li>
<li><a href="https://flask.palletsprojects.com/en/master/blueprints/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask Blueprints</a></li>
<li><a href="https://www.tomchristie.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tom Christie</a>
<ul>
<li><a href="https://www.pythonpodcast.com/apis-sustainable-open-source-and-the-async-web-with-tom-christie/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Dependency_injection?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dependency Injection</a></li>
<li><a href="https://asgi.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASGI</a>
<ul>
<li><a href="https://www.pythonpodcast.com/django-channels-and-the-asynchronous-web-with-andrew-godwin-episode-180/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://wsgi.readthedocs.io/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WSGI</a></li>
<li><a href="https://docs.python.org/3/library/threading.html#thread-local-data?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thread Local Variables</a></li>
<li><a href="https://docs.python.org/3/library/contextvars.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Context Vars</a></li>
<li><a href="https://fastapi.tiangolo.com/advanced/security/oauth2-scopes/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OAUTH2 Scopes</a></li>
<li><a href="https://pipxproject.github.io/pipx/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PipX</a></li>
<li><a href="https://xarray.pydata.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XArray</a></li>
<li><a href="https://jamstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JAM Stack</a></li>
<li><a href="https://nextjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NextJS</a></li>
<li><a href="https://gohugo.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hugo</a></li>
<li><a href="https://www.gatsbyjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GatsbyJS</a></li>
<li><a href="https://fastapi.tiangolo.com/project-generation/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastAPI Project Templates</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img…]]></description>
      <guid isPermaLink="false">podlove-2020-04-20t01:37:08+00:00-296b300801d719a</guid>
      <link>https://www.pythonpodcast.com/fastapi-web-application-framework-episode-259</link>
      <pubDate>Mon, 20 Apr 2020 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="66.30" duration="26.25">So, Sebastian, can you start by introducing yourself? Hello, Tobias. Thank you very much for having me here. Yes. So I'm Sebastian Ramirez. I'm a software developer from Colombia. That's why the accent. I'm currently living in, Berlin in Germany. I work for Explosion, which, they're the creators of spaCy, the NLP package, and Prodigi, the machine learning annotation tool. So, yeah, that that's me.</podcast:soundbite>
      <podcast:soundbite startTime="2632.89" duration="58.76">So for example, recently, I saw this, someone built, the coronavirus tracker API with, coronavirus API data. I was like, oh, that's I think that that's very cool that, it can help someone build something that is useful for us, like, as a society right now and be able to, like, get, like, accurate information easily and, like, handle it and, deal with it with code, which is the thing that we can, like, provide and the the tool that we can use to to help. So I think that that's a very cool use case. Another 1 is that Chad Smith, the creator of PIPx, created this application called Term Pair, that allows you allows you to, handle your terminal from the browser and, like, see the terminal session live in the browser, and it's all built with the fast API and WebSockets. And I think that was, like, a very, very cool application that I hadn't thought about, like, that you could actually do that.</podcast:soundbite>
      <podcast:soundbite startTime="157.66" duration="49.43">Yeah. So, well, FastAPI is a web API framework for building modern applications. So it has, like, high performance. It's easy to learn. It's very fast, to code. Like, writing the code using FastAPI is, very fast and easy. And, like, it's ready for production. Like, it's being used in several production applications, in several places, and, it's all based on standard Python type hints, type annotations. So by using these modern, like, recent type annotations, you get auto completion everywhere in, like, all of the editors and also type checks. So, like, you get type checks for free in your editor that tell you, like, hey. You cannot, like, combine this string with an integer or stuff like that that you wouldn't get if you didn't, like, have these type, annotations.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:34</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build The Next Generation Of Python Web Applications With FastAPI</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>259</itunes:episode>
      <podcast:episode>259</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252973379357278e8ca30f-3d13-49ae-b8da-0a8809b94d2bv1.mp3" length="48927184" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252973379357278e8ca30f-3d13-49ae-b8da-0a8809b94d2bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8e8ca30f-3d13-49ae-b8da-0a8809b94d2b638558788503377847.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8e8ca30f-3d13-49ae-b8da-0a8809b94d2b638558788500382698.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8e8ca30f-3d13-49ae-b8da-0a8809b94d2b638558788498196267.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Distributed Computing In Python Made Easy With Ray</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Distributed computing is a powerful tool for increasing the speed and performance of your applications, but it is also a complex and difficult undertaking. While performing research for his PhD, Robert Nishihara ran up against this reality. Rather than cobbling together another single purpose system, he built what ultimately became Ray to make scaling Python projects to multiple cores and across machines easy. In this episode he explains how Ray allows you to scale your code easily, how to use it in your own projects, and his ambitions to power the next wave of distributed systems at Anyscale. If you are running into scaling limitations in your Python projects for machine learning, scientific computing, or anything else, then give this a listen and then try it out!</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Robert Nishihara about Ray, a framework for building and running distributed applications and machine learning</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Ray is and how the project got started?
<ul>
<li>How did the environment of the RISE lab factor into the early design and development of Ray?</li>
</ul>
</li>
<li>What are some of the main use cases that you were initially targeting with Ray?
<ul>
<li>Now that it has been publicly available for some time, what are some of the ways that it is being used which you didn&#8217;t originally anticipate?</li>
</ul>
</li>
<li>What are the limitations for the types of workloads that can be run with Ray, or any edge cases that developers should be aware of?</li>
<li>For someone who is building on top of ray, what is involved in either converting an existing application to take advantage of Ray&#8217;s parallelism, or creating a greenfield project with it?</li>
<li>Can you describe how Ray itself is implemented and how it has evolved since you first began working on it?</li>
<li>How does the clustering and task distriubtion mechanism in Ray work?</li>
<li>How does the increased parallelism that Ray offers help with machine learning workloads?
<ul>
<li>Are there any types of ML/AI that are easier to do in this context?</li>
</ul>
</li>
<li>What are some of the additional layers or libraries that have been built on top of the functionality of Ray?</li>
<li>What are some of the most interesting, challenging, or complex aspects of building and maintaining Ray?</li>
<li>You and your co-founders recently announced the formation of Anyscale to support the future development of Ray. What is your business model and how are you approaching the governance of Ray and its ecosystem?</li>
<li>What are some of the most interesting or unexpected projects that you have seen built with Ray?</li>
<li>What are some cases where Ray is the wrong choice?</li>
<li>What do you have planned for the future of Ray and Anyscale?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="http://www.robertnishihara.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/robertnishihara?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@robertnishihara</a> on Twitter</li>
<li><a href="https://github.com/robertnishihara?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">robertnishihara</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://dnd.wizards.com/products/tabletop-games/board-games/castle-ravenloft-board-game?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D&amp;D Castle Ravenloft</a> board game</li>
<li><a href="http://www.onedeckdungeon.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">One Deck Dungeon</a></li>
</ul>
</li>
<li>Robert
<ul>
<li><a href="https://www.littlebrown.com/titles/brad-stone/the-everything-store/9780316219266/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Everything Store</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://ray.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a></li>
<li><a href="https://anyscale.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anyscale</a></li>
<li><a href="https://www.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UC Berkeley</a></li>
<li><a href="https://rise.cs.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RISELab</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MATLAB</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a></li>
<li><a href="http://deeplearning.net/software/theano/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Theano</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://people.eecs.berkeley.edu/~pcmoritz/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Philip Moritz</a></li>
<li><a href="https://en.wikipedia.org/wiki/Reinforcement_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reinforcement Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hyperparameter_optimization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hyperparameter Tuning</a></li>
<li><a href="https://ipyparallel.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython Parallel</a></li>
<li><a href="https://amplab.cs.berkeley.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AMPLab</a></li>
<li><a href="https://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Spark</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/putting-apache-spark-into-action-with-jean-georges-perrin-episode-60/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Actor_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Actor Model</a></li>
<li><a href="https://eng.uber.com/horovod/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Horovod(?)</a></li>
<li><a href="https://flink.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flink</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/apache-flink-with-fabian-hueske-episode-57/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://spark.apache.org/docs/latest/streaming-programming-guide.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark Streaming</a></li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://grpc.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gRPC</a></li>
<li><a href="https://ray.readthedocs.io/en/latest/tune.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tune</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C</a></li>
<li><a href="http://arrow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Arrow</a></li>
<li><a href="https://wesmckinney.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wes McKinney</a>
<ul>
<li><a href="https://www.pythonpodcast.com/wes-mckinney-python-for-data-analysis-episode-203/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://databricks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DataBricks</a></li>
<li><a href="https://www.mongodb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoDB</a></li>
<li><a href="https://www.elastic.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elastic</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/elastic-stack-with-philipp-krenn-episode-23/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.confluent.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Confluent</a></li>
<li><a href="https://en.wikipedia.org/wiki/Embarrassingly_parallel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Embarassingly Parallel</a></li>
<li><a href="https://www.antfin.com/index.htm?locale=en_US&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ant Financial</a></li>
<li><a href="http://www.brendangregg.com/flamegraphs.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flame Graph</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fray-distributed-computing-episode-258%2F&amp;action_name=Distributed+Computing+In+Python+Made+Easy+With+Ray+-+Episode+258&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-04-13t20:06:38+00:00-6b0e72c27dcdd67</guid>
      <link>https://www.pythonpodcast.com/ray-distributed-computing-episode-258</link>
      <pubDate>Tue, 14 Apr 2020 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="560.84" duration="19.46">And so you mentioned that some of the original work you were doing was on some of these advanced machine learning algorithms, such as reinforcement learning, and that was some of the initial use case that you were targeting. I'm curious, now that it's been publicly available for some time and it's been out in the wild, what are some of the other ways that it's being used which you didn't originally anticipate?</podcast:soundbite>
      <podcast:soundbite startTime="2201.04" duration="35.05">So 1 answer to that, there's a lot of things we're working on, is that while we are trying to make it as easy as possible to develop distributed applications, developing distributed applications is not enough on its own because once you develop your application and you run it and then you run into some bug, you have to debug your applications. And debugging distributed applications is notoriously difficult. So 1 thing we're focused on or that is very important to us is to make the experience of debugging cluster applications as easy or easier than debugging applications on your laptop.</podcast:soundbite>
      <podcast:soundbite startTime="142.76" duration="28.14">And so you mentioned that Ray is a distributed task execution framework, and that it started when you were doing your PhD research at UC Berkeley. And my understanding is that you were part of RISE Lab at the time. I'm wondering if you can just give a bit more background on the project and the motivations for starting it, some of the challenges that you were facing in your research that led to it, and how the overall environment of the RISE Lab factored into some of the early design and development decisions of the project?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Distributed Computing In Python Made Easy With Ray</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>258</itunes:episode>
      <podcast:episode>258</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532075082455897af935d-09b8-4ebb-8961-dfbfd92122a3v1.mp3" length="27313991" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532075082455897af935d-09b8-4ebb-8961-dfbfd92122a3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_97af935d-09b8-4ebb-8961-dfbfd92122a3638558841376499188.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/97af935d-09b8-4ebb-8961-dfbfd92122a3638558841373994982.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/97af935d-09b8-4ebb-8961-dfbfd92122a3638558841371952194.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building The Seq Language For Bioinformatics</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Bioinformatics is a complex and computationally demanding domain. The intuitive syntax of Python and extensive set of libraries make it a great language for bioinformatics projects, but it is hampered by the need for computational efficiency. Ariya Shajii created the Seq language to bridge the divide between the performance of languages like C and C++ and the ecosystem of Python with built-in support for commonly used genomics algorithms. In this episode he describes his motivation for creating a new language, how it is implemented, and how it is being used in the life sciences. If you are interested in experimenting with sequencing data then give this a listen and then give Seq a try!</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on great conferences. And now, the events are coming to you, with no travel necessary! We have partnered with organizations such as ODSC, and Data Council. Upcoming events include the Observe 20/20 virtual conference on April 6th and ODSC East which has also gone virtual starting April 16th. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ariya Shajii about Seq, a programming language built for bioinformatics and inspired by Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Seq is and your motivation for creating it?
<ul>
<li>What was lacking in other languages or libraries for your use case that is made easier by creating a custom language?</li>
<li>If someone is already working in Python, possibly using BioPython, what might motivate them to consider migrating their work to Seq?</li>
</ul>
</li>
<li>Can you give an impression of the scope and nature of the tasks or projects that a biologist or geneticist might build with Seq?</li>
<li>What was your process for identifying and prioritizing features and algorithms that would be beneficial to the target audience?</li>
<li>For someone using Seq can you describe their workflow and how it might differ from performing the same task in Python?</li>
<li>How is Seq implemented?
<ul>
<li>What are some of the features that are included to simplify the work of bioinformatics?</li>
<li>What was your process of designing the language and runtime?</li>
<li>How has the scope or direction of the project evolved since it was first conceived?</li>
</ul>
</li>
<li>What impact do you anticipate Seq having on the domain of bioinformatics and genomics?</li>
<li>What have you found to be the most interesting, unexpected, and/or challenging aspects of building a language for this problem domain?</li>
<li>What is in store for the future of Seq?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/arshajii?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">arshajii</a> on GitHub</li>
<li><a href="https://ars.me?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Board_game?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Board Games</a></li>
<li><a href="https://www.ravensburger.org/uk/discover/labyrinth/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Labyrinth Boardgame</a></li>
<li><a href="https://boardgamegeek.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Board Game Geek</a></li>
</ul>
</li>
<li>Ariya
<ul>
<li><a href="https://www.breakthroughdoc.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Breakthrough</a> documentary</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://seq-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seq</a></li>
<li><a href="https://www.csail.mit.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT CSAIL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bioinformatics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bioinformatics</a></li>
<li><a href="https://llvm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LLVM</a></li>
<li><a href="https://en.wikipedia.org/wiki/Intermediate_representation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Intermediate Representation</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MatLab</a></li>
<li><a href="https://en.wikipedia.org/wiki/Moore%27s_law?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moore&#8217;s Law</a></li>
<li><a href="https://biopython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BioPython</a></li>
<li><a href="https://en.wikipedia.org/wiki/Smith%E2%80%93Waterman_algorithm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Smith Waterman Algorithm</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hamming_distance?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hamming Distance</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pattern_matching?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pattern Matching in Functional Programming</a></li>
<li><a href="https://en.wikipedia.org/wiki/SIMD?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SIMD == Single Instruction Multiple Data</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computational_genomics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computational Genomics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Phylogenetics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Phylogenetics</a></li>
<li><a href="https://www.ncbi.nlm.nih.gov/sra?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sequence Read Archive</a> public data set</li>
<li><a href="https://cloud.google.com/life-sciences?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Cloud Life Sciences</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fseq-bioinformatics-language-episode-257%2F&amp;action_name=Building+The+Seq+Language+For+Bioinformatics+-+Episode+257&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-04-07t00:06:31+00:00-7f6d0bbf9215aeb</guid>
      <link>https://www.pythonpodcast.com/seq-bioinformatics-language-episode-257</link>
      <pubDate>Tue, 7 Apr 2020 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1440.45" duration="41.34">Right? So if someone writes piece of software today in c, and however many months down the line we add support for a GPU back end or FPGA back end, then our hope is that that software that was written today could just run as is on on those back ends or same for any other compiler, optimizations that we add. And I think, really, like, in an ideal world, Seek would allow bioinformatics software to sort of keep pace with the growing data that, again, is sort of really outpacing, you know, Moore's Law. And I think by 2025, it's predicted that genomic data will even have surpassed Twitter and YouTube data. So it's a really, really fast growing dataset, and I think Seek sort of gives us at least 1 tool to keep pace with that.</podcast:soundbite>
      <podcast:soundbite startTime="228.43" duration="27.49">We tried for a really long time to actually to build a high level language that exposed these primitives as sort of course grain building blocks that you could glue together in different ways. And, ultimately, we actually spent, like, a year and a half trying to do that, and we essentially found that it was impossible. Like, in bioinformatics, there's just too much, you know. Yes. They're using these, primitives, but there's so much stuff interspersed in between that to build a high level language that had just these building blocks was essentially impossible.</podcast:soundbite>
      <podcast:soundbite startTime="138.31" duration="19.97">Sure. So I guess I'll just say, a few words about what SEEK actually is. So sort of at a high level, SEEK is essentially a domain specific language for, computational genomics and bioinformatics. Language wise, it's based largely on Python. So you can think of it as sort of a, Python implementation.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:36:25</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building The Seq Language For Bioinformatics</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>257</itunes:episode>
      <podcast:episode>257</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299149112285aacc2000-4318-4234-b691-2720ba6d41e8v1.mp3" length="29867023" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299149112285aacc2000-4318-4234-b691-2720ba6d41e8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_aacc2000-4318-4234-b691-2720ba6d41e8638558794803153749.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/aacc2000-4318-4234-b691-2720ba6d41e8638558794800366138.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/aacc2000-4318-4234-b691-2720ba6d41e8638558794798090124.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>An Open Source Toolchain For Natural Language Processing From Explosion AI</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The state of the art in natural language processing is a constantly moving target. With the rise of deep learning, previously cutting edge techniques have given way to robust language models. Through it all the team at Explosion AI have built a strong presence with the trifecta of SpaCy, Thinc, and Prodigy to support fast and flexible data labeling to feed deep learning models and performant and scalable text processing. In this episode founder and open source author Matthew Honnibal shares his experience growing a business around cutting edge open source libraries for the machine learning developent process.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on great conferences. And now, the events are coming to you, with no travel necessary! We have partnered with organizations such as ODSC, and Data Council. Upcoming events include the Observe 20/20 virtual conference on April 6th and ODSC East which has also gone virtual starting April 16th. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Matthew Honnibal about the Thinc and Prodigy tools and an update on SpaCy</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving an overview of your mission at Explosion?</li>
<li>We spoke previously about your work on SpaCy. What has changed in the past 3 1/2 years?
<ul>
<li>How have recent innovations in language models such as BERT and GPT-2 influenced the direction or implementation of the project?</li>
</ul>
</li>
<li>When I last looked SpaCy only supported English and German, but you have added several new languages. What are the most challenging aspects of building the additional models?
<ul>
<li>What would be required for supporting symbolic or right-to-left languages?</li>
</ul>
</li>
<li>How has the ecosystem for language processing in Python shifted or evolved since you first introduced SpaCy?</li>
<li>Another project that you have released is Prodigy to support labelling of datasets. Can you talk through the motivation for creating it and describe the workflow for someone using it?
<ul>
<li>What was lacking in the other annotation tools that you have worked with that you are trying to solve for in Prodigy?</li>
</ul>
</li>
<li>What are some of the most challenging or problematic aspects of labelling data sets for use in machine learning projects?
<ul>
<li>What is a typical scale of data that can be reasonably handled by an individual or small team working with Prodigy?
<ul>
<li>At what point do you find that it makes sense to use a labeling service rather than generating the labels yourself?</li>
</ul>
</li>
</ul>
</li>
<li>Your most recent project is Thinc for building and using deep learning models. What was the motivation for creating it and what problem does it solve in the ecosystem?
<ul>
<li>How does its design and usage compare to other deep learning frameworks such as PyTorch and Tensorflow?</li>
<li>How does it compare to projects such as Keras that abstract across those frameworks?</li>
</ul>
</li>
<li>How do the SpaCy, Prodigy, and Thinc libraries work together?</li>
<li>What are some of the biggest challenges that you are facing in building open source tools to meet the needs of data scientists and machine learning engineers?</li>
<li>What are some of the most interesting or impressive projects that you have seen built with the tools your team is creating?</li>
<li>What do you have planned for the future of Explosion, SpaCy, Prodigy, and Thinc?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/honnibal/?originalSubdomain=de&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/honnibal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@honnibal</a> on Twitter</li>
<li><a href="https://github.com/honnibal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">honnibal</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://movies.disney.com/onward?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Onward</a> movie</li>
</ul>
</li>
<li>Matthew
<ul>
<li><a href="https://www.cdc.gov/coronavirus/2019-ncov/daily-life-coping/checklist-household-ready.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coronavirus Preparedness</a></li>
<li><a href="https://ray.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://explosion.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Explosion AI</a></li>
<li><a href="https://spacy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpaCy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-87-spacy-with-matthew-honnibal/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://thinc.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thinc</a></li>
<li><a href="https://prodi.gy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prodigy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Natural_language_processing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Natural Language Processing</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://www.nltk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLTK</a></li>
<li><a href="https://en.wikipedia.org/wiki/Graphics_processing_unit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPU == Graphics Processing Unit</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tensor_processing_unit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TPU == Tensor Processing Unit</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transfer_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transfer Learning</a></li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://luigi.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luigi</a></li>
<li><a href="https://en.wikipedia.org/wiki/Perceptron?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perceptron</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://en.wikipedia.org/wiki/Functional_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Functional Programming</a></li>
<li><a href="https://mxnet.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MxNet</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="https://developer.nvidia.com/cuda-zone?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cuda</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C Language</a></li>
<li><a href="https://en.wikipedia.org/wiki/Continuous_integration?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Integration</a></li>
<li><a href="https://research.iclr.co.uk/blackstone?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blackstone</a></li>
<li><a href="https://allenai.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Allen AI Institute</a></li>
<li><a href="https://allenai.github.io/scispacy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciSpaCy</a></li>
<li><a href="https://spacy.io/universe/project/holmes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Holmes</a></li>
<li><a href="https://github.com/explosion/sense2vec?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sense2Vec</a></li>
<li><a href="https://fastapi.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastAPI</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fexplosion-ai-natural-language-processing-episode-256%2F&amp;action_name=An+Open+Source+Toolchain+For+Natural+Language+Processing+From+Explosion+AI+-+Episode+256&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-03-30t22:43:57+00:00-7327862605b8955</guid>
      <link>https://www.pythonpodcast.com/explosion-ai-natural-language-processing-episode-256</link>
      <pubDate>Mon, 30 Mar 2020 22:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2702.46" duration="82.19">So 1 of the things that's, you know, definitely important is to the way that the projects are documented and communicated. So and, you know, this also stems back to, you know, initial design decisions as well and, you know, basically making sure that things are consistent in the project and consistent in the libraries. And I think that this really makes things, you know, sort of more useful and open to a wider audience. So this was something in particular that, you know, improved a lot with my collaboration with Inis. So she's been really a driving force in getting the the guides and, like, level of explanation that we deliver, you know, to basically a higher level. And I think that that's something that's really been setting apart some of our projects as well. And when we we saw this in particular when we went back and did think that there were so many things where, you know, we felt like we'd done this before of setting up these libraries and setting up a tool in which people would find useful and, you know, ways of doing the documentation, things that people would need. So we've learned a lot from the types of questions that people have and the types of API design decisions that will, you know, lead us into maintenance problems or lead you know, be confusing to people. And we've, been able to head off some of those things at the start with Think, which we've been pleased about. So those are all things which, you know, I definitely think that we've learned as well. And also just the ways of setting up the testing and, making sure that the code is well tested well tested and testable, to avoid some of these bugs in the first place.</podcast:soundbite>
      <podcast:soundbite startTime="724.09" duration="51.59">So we have a command like spaCy pretrain that where you can, you know, run language model pretraining even, you know, basically from scratch. But you can also especially with Think, it's quite easy to sort of plug these layers together and to take advantage of these sorts of technologies. And in spaCy, the reason that we sort of redesigned Think was really to take advantage of this type of model better. So 1 of the challenges that, you know, basically is introduced by the new transformer architectures and the new ways of doing machine learning and when, spaCy was first developed, I thought carefully about what the right level of abstraction was to present to developers who so that they could take advantage of natural language processing technologies without well, you know, basically, you know, which bits of complexity to shield off from them and which bits to present us, like, the decisions that they would be making.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:20</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>An Open Source Toolchain For Natural Language Processing From Explosion AI</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>256</itunes:episode>
      <podcast:episode>256</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530768355830964750836-2be4-4db8-9ab2-8bd03244bd2dv1.mp3" length="43319693" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530768355830964750836-2be4-4db8-9ab2-8bd03244bd2dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_64750836-2be4-4db8-9ab2-8bd03244bd2d638558822053082523.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/64750836-2be4-4db8-9ab2-8bd03244bd2d638558822049298759.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/64750836-2be4-4db8-9ab2-8bd03244bd2d638558822047147465.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>A Flexible Open Source ERP Framework To Run Your Business</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Running a successful business requires some method of organizing the information about all of the processes and activity that take place. Tryton is an open source, modular ERP framework that is built for the flexibility needed to fit your organization, rather than requiring you to model your workflows to match the software. In this episode core developers Nicolas Évrard and Cédric Krier are joined by avid user Jonathan Levy to discuss the history of the project, how it is being used, and the myriad ways that you can adapt it to suit your needs. If you are struggling to keep a consistent view of your business and ensure that all of the necessary workflows are being observed then listen now and give Tryton a try.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nicolas Évrard, Cédric Krier, and Jonathan Levy about Tryton</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Tryton is and how it got started?</li>
<li>What kinds of businesses is Tryton most suited to?
<ul>
<li>What kinds of businesses is Tryton not a good fit for?</li>
</ul>
</li>
<li>Within a business, who are the primary users of Tryton?</li>
<li>Can you talk through a typical workflow for interacting with Tryton?</li>
<li>What are some of the most complex or challenging aspects of modeling a business while maintaining a high degree of customizability?</li>
<li>Can you describe how Tryton is architected and how its design has evolved since it was first started?
<ul>
<li>If you were to start over today, what would you do differently?</li>
</ul>
</li>
<li>There are a number of plugins for Tryton. What kinds of functionality can be customized using the available interfaces?
<ul>
<li>What is the process for building a custom module for Tryton?</li>
</ul>
</li>
<li>How do you manage sustainability of the Tryton project?</li>
<li>Given the criticality of the Tryton platform, how do you approach ongoing stability and security of the project?</li>
<li>What is involved in deploying and maintaining an installation of Tryton?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen Tryton used?</li>
<li>What is in store for the future of Tryton?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Nicolas
<ul>
<li><a href="https://github.com/nicoe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nicoe</a> on GitHub</li>
<li><a href="https://twitter.com/nicoe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@nicoe</a> on Twitter</li>
</ul>
</li>
<li>Cédric
<ul>
<li><a href="https://twitter.com/cedrickrier?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@cedrickrier</a> on Twitter</li>
<li><a href="https://github.com/cedk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cedk</a> on GitHub</li>
</ul>
</li>
<li>Jonathan
<ul>
<li><a href="https://www.linkedin.com/in/jon-levy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li>Audio Books
<ul>
<li><a href="http://www.audibletrack.com/click.track?CID=102175&amp;AFID=427539&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Audible</a> free trial (Affiliate Link)</li>
<li><a href="https://www.overdrive.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Overdrive</a> &#8211; ebooks and audiobooks from your local library</li>
<li><a href="http://www.openculture.com/freeaudiobooks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Public Domain Audiobooks</a></li>
</ul>
</li>
</ul>
</li>
<li>Nicolas
<ul>
<li><a href="https://civilization.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Civilization VI</a></li>
<li><a href="http://www.freeciv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FreeCiv</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_Three-Body_Problem_(novel)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The 3 Body Problem</a></li>
</ul>
</li>
<li>Cédric
<ul>
<li><a href="https://en.wikipedia.org/wiki/Val%C3%A9rian_and_Laureline?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Valérian and Laureline</a></li>
</ul>
</li>
<li>Jonathan
<ul>
<li><a href="https://www.roil.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Roil.com</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.tryton.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tryton</a></li>
<li><a href="https://www.b2ck.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">B2CK</a></li>
<li><a href="https://www.tryton.org/foundation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tryton Foundation</a></li>
<li><a href="https://www.advocatetax.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Advocate Consulting Legal Group</a></li>
<li><a href="https://en.wikipedia.org/wiki/Scheme_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scheme</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp</a></li>
<li><a href="https://en.wikipedia.org/wiki/Belgium?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Belgium</a></li>
<li><a href="https://europython.eu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EuroPython Conference</a></li>
<li><a href="https://plone.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plone</a></li>
<li><a href="https://www.zope.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://en.wikipedia.org/wiki/Visual_Basic_for_Applications?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VBA (Visual Basic for Applications)</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.odoo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Odoo</a></li>
<li><a href="https://en.wikipedia.org/wiki/Enterprise_resource_planning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ERP == Enterprise Resource Planning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Small_and_medium-sized_enterprises?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Small/Medium Enterprise (SME)</a></li>
<li><a href="https://www.gtk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GTK (Gnome ToolKit)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Multitier_architecture?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3-Tier Application</a></li>
<li><a href="https://cookiecutter.readthedocs.io/en/1.7.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cookiecutter</a></li>
<li><a href="https://hg.tryton.org/cookiecutter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tryton Module Cookiecutter</a></li>
<li><a href="https://hg.tryton.org/trytond/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tryton Repository</a></li>
<li><a href="https://www.docker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="https://www.gnuhealth.org/#/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GNU Health</a></li>
<li><a href="https://nereid.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nereid</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftryton-open-source-erp-episode-255%2F&amp;action_name=A+Flexible+Open+Source+ERP+Framework+To+Run+Your+Business+-+Episode+255&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-03-22t19:08:59+00:00-52c016ea327f27e</guid>
      <link>https://www.pythonpodcast.com/tryton-open-source-erp-episode-255</link>
      <pubDate>Mon, 23 Mar 2020 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="265.13" duration="38.00">So, Triton is in fact software framework, so it provides all the the required pieces that are needed to to create business applications. And in top of that, the Triton project provides also a set of modules that are covering a wide variety of use cases. It started, 11 years ago. I don't remember the date exactly. And it's a fork of tiny ERP, in fact, which is, well, better known now as Odoo.</podcast:soundbite>
      <podcast:soundbite startTime="683.21" duration="52.16">Indeed, the the the main target of Triton is, the small and medium, enterprise. So I would say it's it goes from 1 employee to 200 employees. And for now, the functionality that has that are covered by Triton can be helpful to companies that are in the wholesale business or they that manage they have to manage a warehouse or a stock. Also, it works for service companies and for production company. The type of companies that for now we are not providing good enough features for for them is mainly the retails the small retails, companies because, mainly, we don't have a point of sale for now.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:07:33</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>A Flexible Open Source ERP Framework To Run Your Business</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>255</itunes:episode>
      <podcast:episode>255</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303837046924d7b1a00e-2c0d-4952-810c-5308b64c7dd9v1.mp3" length="48301275" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303837046924d7b1a00e-2c0d-4952-810c-5308b64c7dd9v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d7b1a00e-2c0d-4952-810c-5308b64c7dd9638558806642197455.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d7b1a00e-2c0d-4952-810c-5308b64c7dd9638558806638448119.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d7b1a00e-2c0d-4952-810c-5308b64c7dd9638558806636192197.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Getting A Handle On Portable C Extensions With hpy</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>One of the driving factors of Python&#8217;s success is the ability for developers to integrate with performant languages such as C and C++. The challenge is that the interface for those extensions is specific to the main implementation of the language. This contributes to difficulties in building alternative runtimes that can support important packages such as NumPy. To address this situation a team of developers are working to create the hpy project, a new interface for extension developers that is standardized and provides a uniform target for multiple runtimes. In this episode Antonio Cuni discusses the motivations for creating hpy, how it benefits the whole ecosystem, and ways to contribute to the effort. This is an exciting development that has the potential to unlock a new wave of innovation in the ways that you can run your Python code.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>As a developer, maintaining a state of flow is key to your productivity. Don&#8217;t let something as simple as the wrong function ruin your day. Kite is the smartest completions engine available for Python, featuring a machine learning model trained by the brightest stars of GitHub. Featuring ranked suggestions sorted by relevance, offering up to full lines of code, and a programming copilot that offers up the documentation you need right when you need it. Get Kite for free today at <a href="https://www.pythonpodcast.com/kite?utm_source=rss&utm_medium=rss">getkite.com</a> with integrations for top editors, including Atom, VS Code, PyCharm, Spyder, Vim, and Sublime.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Antonio Cuni about hpy, a project aiming to reimagine the C API for Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what the hpy project is and how it got started?
<ul>
<li>What are the goals for the project?</li>
<li>Who else is involved?</li>
</ul>
</li>
<li>How much engagement have you had with CPython core contributors or the steering council?</li>
<li>Who are the consumers of the current C API for the CPython implementation?
<ul>
<li>What are some of the pain points or shortcomings for those consumers?</li>
<li>What impact does that have for users of a given library that leverages C extensions?</li>
</ul>
</li>
<li>Can you talk through the structure of the hpy project?
<ul>
<li>What are some of the design challenges that you are facing for determining the external API?</li>
<li>What is involved in integrating the hpy interface into alternate runtimes such as PyPy or RustPython?</li>
</ul>
</li>
<li>What is the potential or observed performance impact for libraries that currently rely on the existing C API?</li>
<li>How has the vision and scope of this project been updated as you have gotten further along in the implementation?</li>
<li>What are the downstream impacts that you anticipate in projects such as PyPy and Cython?</li>
<li>What have you found to be the most challenging or contentious aspects of implementing hpy so far?</li>
<li>What are some of the most interesting/unexpected/useful lessons that you have learned while working on hpy?</li>
<li>What do you have planned for the near to medium term for hpy?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/antocuni?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">antocuni</a> on GitHub</li>
<li><a href="http://antocuni.eu/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/antocuni?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@antocuni</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://python-poetry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poetry</a></li>
</ul>
</li>
<li>Antonio
<ul>
<li><a href="https://www.penguinrandomhouse.com/books/288954/collapse-by-jared-diamond/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Collapse: How Societies Choose To Fail Or Succeed</a> by Jared Diamond</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/pyhandle/hpy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hpy</a></li>
<li><a href="https://www.pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://www.linkedin.com/in/aleax/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alex Martelli</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-73-alex-martelli/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://docs.python.org/3/extending/extending.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python C Extensions</a></li>
<li><a href="https://europython.eu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EuroPython</a></li>
<li><a href="https://vstinner.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Victor Stinner</a></li>
<li><a href="https://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-45-cython-with-craig-citro-and-robert-bradshaw/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/arigo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Armin Rigo</a></li>
<li><a href="https://numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://github.com/ultrajson/ultrajson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ultrajson</a></li>
<li><a href="https://wiki.python.org/moin/GlobalInterpreterLock?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GIL == Global Interpreter Lock</a></li>
<li><a href="https://github.com/RustPython/RustPython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RustPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/rust-python-interpreter-episode-207/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/graalvm/graalpython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraalPython</a></li>
<li><a href="https://github.com/pyhandle/rust-hpy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hpy-rust</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fhpy-python-extension-episode-254%2F&amp;action_name=Getting+A+Handle+On+Portable+C+Extensions+With+hpy+-+Episode+254&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-03-16t15:18:10+00:00-bccb58b1c25a57c</guid>
      <link>https://www.pythonpodcast.com/hpy-python-extension-episode-254</link>
      <pubDate>Mon, 16 Mar 2020 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="190.84" duration="39.49">Right. You are correct. So by by 1 of the most painful point of pipe I is using the c extensions. Most of the c extensions for the in the Python world are written targeting the c Python c API, and, in the past years, we, as by by developers, have been trying to support all of these extension in PyPI, but it's very painful and slow and cumbersome because the CAPI is, too tied to the CPython internals. And, so after years years of pain, we started to think about a better way of doing the job.</podcast:soundbite>
      <podcast:soundbite startTime="1577.63" duration="46.07">You will be able to take, for example, NumPy and start rewriting just 1 method of it using the HPY interface, and keep using the old API for all the all the all the rest of the extension. And this new method will be fast on by pi, for example, and there will be no difference for CPython. So with this starting point, it means that, you you can always improve and make it make things better, for example, for PyPI without making it worse for CPython. And, and the more you do, the better things become. And then, hopefully, at some point, h 5 will get enough traction that people will want to use it to get to the benefits.</podcast:soundbite>
      <podcast:soundbite startTime="535.63" duration="38.07">So the most obvious use case is to use, for example, NumPy and SciPy together with PyPy and, and have a complete stack of software which is passed. And, more in the long in the longer term, the the best benefit of HPI will be the fact that it will be possible to innovate, to try new things, to to develop a new Python implementation, which which we can't think, think of right now, but it will be much, much easier for them to to try, to write a new implementation without all the base that we had for PyPI.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:35:14</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Getting A Handle On Portable C Extensions With hpy</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>254</itunes:episode>
      <podcast:episode>254</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305358108166b3917c39-abfa-491d-baf8-687f6226e74cv1.mp3" length="24750240" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305358108166b3917c39-abfa-491d-baf8-687f6226e74cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b3917c39-abfa-491d-baf8-687f6226e74c638558813156268368.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b3917c39-abfa-491d-baf8-687f6226e74c638558813154111789.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b3917c39-abfa-491d-baf8-687f6226e74c638558813152101707.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Open Source Machine Learning On Quantum Computers With Xanadu AI</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Quantum computers promise the ability to execute calculations at speeds several orders of magnitude faster than what we are used to. Machine learning and artificial intelligence algorithms require fast computation to churn through complex data sets. At Xanadu AI they are building libraries to bring these two worlds together. In this episode Josh Izaac shares his work on the Strawberry Fields and Penny Lane projects that provide both high and low level interfaces to quantum hardware for machine learning and deep neural networks. If you are itching to get your hands on the coolest combination of technologies, then listen now and then try it out for yourself.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, fast object storage, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>As a developer, maintaining a state of flow is key to your productivity. Don&#8217;t let something as simple as the wrong function ruin your day. Kite is the smartest completions engine available for Python, featuring a machine learning model trained by the brightest stars of GitHub. Featuring ranked suggestions sorted by relevance, offering up to full lines of code, and a programming copilot that offers up the documentation you need right when you need it. Get Kite for free today at <a href="https://www.pythonpodcast.com/kite?utm_source=rss&utm_medium=rss">getkite.com</a> with integrations for top editors, including Atom, VS Code, PyCharm, Spyder, Vim, and Sublime.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Josh Izaac about how the work that he is doing at Xanadu AI to make it easier to build applications for quantum processors</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what you are working on at Xanadu AI?
<ul>
<li>How do the specifics of your quantum hardware influence the way in which developers need to build their algorithms? (e.g. as compared to DWave)</li>
</ul>
</li>
<li>What are some of the underlying principles that developers need to understand in order to take full advantage of the capabilities provided by quantum processors?</li>
<li>Can you outline the different components and libraries that you are building to simplify the work of building machine learning/AI projects for quantum processors?
<ul>
<li>What&#8217;s the story behind all of the Beatles references?</li>
<li>How do the different libraries fit together?</li>
</ul>
</li>
<li>What are some of the workloads and use cases that you and your customers are focused on?</li>
<li>What are some of the most challenging aspects of designing a library that is accessible to developers while being able  to take advantage of the underlying hardware?</li>
<li>How does the workflow for machine learning on quantum computers differ from what is being done in classical environments?
<ul>
<li>Given the magnitude of computational power and data processing that can be achieved in a quantum processor it seems that there is a potential for small bugs to have disproportionately large impacts. How can developers identify and mitigate potential sources of error in their algorithms?</li>
</ul>
</li>
<li>For someone who is building an application or algorithm to be executed on a Xanadu processor, what does their workflow look like?
<ul>
<li>What are some of the common errors or misconceptions that you have seen in customer code?</li>
</ul>
</li>
<li>Can you describe the design and implementation of the Penny Lane and Strawberry Fields libraries and how they have evolved since you first began working on them?</li>
<li>What are some of the most ambitious or exciting use cases for quantum systems that you have seen?</li>
<li>How are you using the computational capabilities of your platform to feed back into the research and design of successive generations of hardware?</li>
<li>What are some useful heuristics for determining whether it is worthwhile to build for a quantum processor rather than leveraging classical hardware?</li>
<li>What are some of the most interesting/unexpected/useful lessons that you have learned while working on quantum algorithms and the libraries to support them?</li>
<li>What is in store for the future of the Xanadu software ecosystem?</li>
<li>What are your predictions for the near to medium term of quantum computing?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/josh146?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">josh146</a> on GitHub</li>
<li><a href="http://iza.ac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/joshizaac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.lionsgate.com/movies/knives-out?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Knives Out</a> movie</li>
</ul>
</li>
<li>Josh
<ul>
<li><a href="https://www.kingarthurflour.com/blog/2019/10/14/rustic-sourdough-bread?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Baking Sourdough Bread</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://xanadu.ai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Xanadu AI</a></li>
<li><a href="https://strawberryfields.readthedocs.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Strawberry Fields</a></li>
<li><a href="https://pennylane.ai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PennyLane</a></li>
<li><a href="https://en.wikipedia.org/wiki/Quantum_physics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Physics</a></li>
<li><a href="https://en.wikipedia.org/wiki/ASIC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASIC == Application Specific Integrated Circuit</a></li>
<li><a href="https://en.wikipedia.org/wiki/FPGA?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FPGA == Field Programmable Gate Array</a></li>
<li><a href="https://en.wikipedia.org/wiki/GPU?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPU == Graphics Processing Unit</a></li>
<li><a href="https://en.wikipedia.org/wiki/Integrated_quantum_photonics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Photonics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Qubit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qubit</a></li>
<li><a href="https://en.wikipedia.org/wiki/Trapped_ion_quantum_computer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trapped Ions</a></li>
<li><a href="https://en.wikipedia.org/wiki/Quantum_optics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Optics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Coherence_(physics)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coherent Light</a></li>
<li><a href="https://en.wikipedia.org/wiki/Uncertainty_principle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heisenberg&#8217;s Uncertainty Principle</a></li>
<li><a href="https://en.wikipedia.org/wiki/Wave%E2%80%93particle_duality?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wave/Particle Duality</a></li>
<li><a href="https://strawberryfields.readthedocs.io/en/stable/introduction/introduction.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Variable Quantum Computation</a></li>
<li><a href="https://networkx.github.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworkX</a></li>
<li><a href="https://tensorflow.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://the-walrus.readthedocs.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Walrus</a></li>
<li><a href="https://rigetti.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rigetti Computing</a></li>
<li><a href="https://pytorch.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.python.org/3/whatsnew/3.8.html#assignment-expressions?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Walrus Operator (Assignment Expressions)</a></li>
<li><a href="https://en.wikipedia.org/wiki/FORTRAN?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fortran</a></li>
<li><a href="https://numpy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://scipy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://ipython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-10-brian-granger-and-fernando-perez-of-the-ipython-project/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/google/jax?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jax</a></li>
<li><a href="https://pennylane.ai/qml?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Machine Learning</a></li>
<li><a href="https://discuss.pennylane.ai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Xanadu User Discussion Forum</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fxanadu-quantum-computer-machine-learning-episode-253%2F&amp;action_name=Open+Source+Machine+Learning+On+Quantum+Computers+With+Xanadu+AI+-+Episode+253&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-03-10t01:25:59+00:00-48f7743c0c651dd</guid>
      <link>https://www.pythonpodcast.com/xanadu-quantum-computer-machine-learning-episode-253</link>
      <pubDate>Tue, 10 Mar 2020 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1430.84" duration="23.23">So in terms of our open source Python libraries that we have here, it sounds we we have a variety and I guess, page. But the 3 main ones that tend to underpin the main software stack are, storage fields, which is our that's our framework for simulating these quantum mechanics. So in addition to submitting to hardware, you can also perform simulations on various, numeric back ends.</podcast:soundbite>
      <podcast:soundbite startTime="133.12" duration="14.45">So, Josh, can you start by introducing yourself? Sure. Okay. So I'm a, quantum physicist by trade. I spent a while at university, so I spent about 8 years at universities doing bachelor's in physics, then a PhD in quantum physics, and got my PhD in quantum computation.</podcast:soundbite>
      <podcast:soundbite startTime="353.81" duration="22.75">So as you as you know, we we do take a bit of a different approach here at Zaldu. So something that's become, quite, ubiquitous in quantum computing have been superconducting qubits. And, that that's partly due to a lot of research done in the early 2000, mid 2000 by universities trying to really amp up these superconducting qubits and make them a scalable platform for quantum computing.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:22</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Open Source Machine Learning On Quantum Computers With Xanadu AI</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>253</itunes:episode>
      <podcast:episode>253</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306048696862dff86fee-d9b5-4cb7-9ab9-75ac504db829v1.mp3" length="35970639" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306048696862dff86fee-d9b5-4cb7-9ab9-75ac504db829v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_dff86fee-d9b5-4cb7-9ab9-75ac504db829638558816195021799.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/dff86fee-d9b5-4cb7-9ab9-75ac504db829638558816190597432.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/dff86fee-d9b5-4cb7-9ab9-75ac504db829638558816188863030.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Advanced Python Task Scheduler</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Most long-running programs have a need for executing periodic tasks. APScheduler is a mature and open source library that provides all of the features that you need in a task scheduler. In this episode the author, Alex Grönholm, explains how it works, why he created it, and how you can use it in your own applications. He also digs into his plans for the next major release and the forces that are shaping the improved feature set. Spare yourself the pain of triggering events at just the right time and let APScheduler do it for you.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Alex Grönholm about APScheduler, a library for scheduling tasks in your Python projects</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what APScheduler is and the main use cases that APScheduler is designed for?
<ul>
<li>What was your movitvation for creating it?</li>
</ul>
</li>
<li>What is the workflow for integrating APScheduler into an application?
<ul>
<li>In the documentation it says not to run more than one instance of the scheduler, what are some strategies for scaling schedulers?</li>
</ul>
</li>
<li>What are some common architectures for applications that take advantage of APScheduler?
<ul>
<li>What are some potential pitfalls that developers should be aware of?</li>
</ul>
</li>
<li>Can you describe how APScheduler is implemented and how its design has evolved since you first began working on it?
<ul>
<li>What have you found to be the most complex or challenging aspects of building or using a scheduling framework?</li>
</ul>
</li>
<li>What are some of the most interesting/innovative/unexpected ways that you have seen APScheduler used?</li>
<li>What are some of the features or capabilities that you have consciously left out?
<ul>
<li>What design strategies or features of APScheduler are often overlooked or underappreciated?</li>
</ul>
</li>
<li>What are some of the most useful or interesting lessons that you have learned while building and maintaining APScheduler?</li>
<li>When is APScheduler the wrong choice for managing task execution?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/agronholm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">agronholm</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://thedataexchange.media/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Data Exchange Podcast</a></li>
</ul>
</li>
<li>Alex
<ul>
<li><a href="https://github.com/jd/tenacity?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tenacity</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/agronholm/apscheduler?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">APScheduler</a></li>
<li><a href="https://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://en.wikipedia.org/wiki/ECMAScript?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ECMAScript</a></li>
<li><a href="http://www.celeryproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="https://en.wikipedia.org/wiki/Enterprise_resource_planning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ERP == Enterprise Resource Planning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cron?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cron Daemon</a></li>
<li><a href="https://rpyc.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RPyC</a></li>
<li><a href="https://zookeeper.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zookeeper</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/apache-zookeeper-with-patrick-hunt-episode-59/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://rethinkdb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RethinkDB</a></li>
<li><a href="https://en.wikipedia.org/wiki/Daylight_saving_time?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Daylight Saving Time</a></li>
<li><a href="https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Falsehoods Programmers Believe About Time</a></li>
<li><a href="http://pytz.sourceforge.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTZ</a></li>
<li><a href="https://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery Beats</a></li>
<li><a href="https://github.com/asphalt-framework/asphalt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Asphalt Framework</a>
<ul>
<li><a href="https://www.pythonpodcast.com/asphalt-framework-with-alex-gronholm-episode-138/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/agronholm/anyio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AnyIO</a></li>
<li><a href="https://twistedmatrix.com/trac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a>
<ul>
<li><a href="https://www.pythonpodcast.com/twisted-with-moshe-zadka-episode-170/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.py2exe.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Py2EXE</a></li>
<li><a href="https://www.pyinstaller.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyInstaller</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fapscheduler-python-task-scheduler-episode-252%2F&amp;action_name=The+Advanced+Python+Task+Scheduler+-+Episode+252&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-03-02t13:33:41+00:00-6a9cae1f50e6ec2</guid>
      <link>https://www.pythonpodcast.com/apscheduler-python-task-scheduler-episode-252</link>
      <pubDate>Mon, 2 Mar 2020 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="184.82" duration="5.36">So I fell in love with Python, and I I still am in love with Python, I would say.</podcast:soundbite>
      <podcast:soundbite startTime="1427.21" duration="66.72">Yeah. Also, I'd like to mention this 1 issue where a particularly angered angry, user came to be complaining that all of their jobs have disappeared. This was because of, partly a misuse by the user, but, also a design problem with AB Scheduler. They had scheduled, number of jobs, and then they were using AB Scheduler from a total different process that didn't have the same code base, and we're trying to gather a list of jobs. Now you see, when AP scheduler is trying to deserialize, the jobs from persistent data store, It tries to look up the job, and, if the job function isn't found, the job is discarded. It was built this way so as to, get rid of the jobs that are no longer relevant. But, in this case, well, it was quite undesirable, and, this user was very cross with me.</podcast:soundbite>
      <podcast:soundbite startTime="503.95" duration="20.85">In fact, the the the the first use case that I had, my own, just involve 1 process. So it wasn't a problem, in that setting. So, regretfully, APS schedule was never really designed for horizontal scalability, but it's something that I'm already working on. We can talk about it, at in the end.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:33:16</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Advanced Python Task Scheduler</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>252</itunes:episode>
      <podcast:episode>252</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531590391574360d7381a-2f9a-465c-a33a-afa373eb020dv1.mp3" length="19661827" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531590391574360d7381a-2f9a-465c-a33a-afa373eb020dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_60d7381a-2f9a-465c-a33a-afa373eb020d638558830476673148.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/60d7381a-2f9a-465c-a33a-afa373eb020d638558830474299063.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/60d7381a-2f9a-465c-a33a-afa373eb020d638558830472340716.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Reducing The Friction Of Embedded Software Development With PlatformIO</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Embedded software development is a challenging endeavor due to a fragmented ecosystem of tools. Ivan Kravets experienced the pain of programming for different hardware platforms when embroiled in a home automation project. As a result he built the PlatformIO ecosystem to reduce the friction encountered by engineers working with multiple microcontroller architectures. In this episode he describes the complexities associated with targeting multiple platforms, the tools that PlatformIO offers to simplify the workflow, and how it fits into the development process. If you are feeling the pain of working with different editing environments and build toolchains for various microcontroller vendors then give this interview a listen and then try it out for yourself.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ivan Kravets about PlatformIO, an open source ecosystem for IoT development including a cross-platform IDE, unified debugger, remote unit testing, and firmware updates.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what PlatformIO is?
<ul>
<li>What was your motivation for creating it?</li>
<li>What are the aspects of embedded development that keep you interested and engaged in this space?</li>
</ul>
</li>
<li>What are some of the types of projects that someone might use PlatformIO to build?</li>
<li>What are some of the common challenges that a developer might encounter when working on embedded systems?
<ul>
<li>What are the additional complexities that get introduced as more hardware targets get added to a project?</li>
</ul>
</li>
<li>What is the workflow for someone using PlatformIO for embedded systems development?</li>
<li>What are the different elements of PlatformIO and how do they simplify the work of building embedded systems projects?</li>
<li>How is PlatformIO implemented and how has the system design evolved since you first began working on it?
<ul>
<li>What was your reason for selecting Python as the implementation language?</li>
<li>If you were to start over today what would you do differently?</li>
</ul>
</li>
<li>How has the embedded hardware and software landscape changed since you first started work on PlatformIO?
<ul>
<li>How has that impacted your product direction?</li>
</ul>
</li>
<li>How do developers handle testing and validation of their applications?</li>
<li>How does PlatformIO help with updating deployed devices with new firmware?</li>
<li>What have been some of the most interesting/unexpected/innovative projects that you have seen built with PlatformIO?</li>
<li>What have been some of the most interesting/unexpected/challenging aspects of building and maintaining PlatformIO?</li>
<li>How are you approaching sustainability of the project and business?</li>
<li>What do you have planned for the future of PlatformIO?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/ivankravets/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://www.ikravets.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/ivankravets?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ivankravets</a> on GitHub</li>
<li><a href="http://twitter.com/ikravets?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ikravets</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://phys.org/news/2020-02-green-technology-electricity-thin-air.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UMass Amherst Making Electricity From Thin Air</a></li>
</ul>
</li>
<li>Ivan
<ul>
<li>Don&#8217;t focus on the money side of your project, just focus on building a great product.</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://platformio.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PlatformIO</a></li>
<li><a href="https://en.wikipedia.org/wiki/Ukraine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ukraine</a></li>
<li><a href="https://en.wikipedia.org/wiki/Home_automation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Automation</a></li>
<li><a href="https://www.home-assistant.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Assistant</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-94-home-assistant-with-paulus-schoutsen/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://twistedmatrix.com/trac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a>
<ul>
<li><a href="https://www.pythonpodcast.com/twisted-with-moshe-zadka-episode-170/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://zigbeealliance.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zigbee Radio</a></li>
<li><a href="https://en.wikipedia.org/wiki/Serial_communication?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Serial I/O</a></li>
<li><a href="https://en.wikipedia.org/wiki/RS-232?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RS-232</a></li>
<li><a href="https://en.wikipedia.org/wiki/ARM_architecture?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ARM CPU Architecture</a></li>
<li><a href="https://riscv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RISC-V</a></li>
<li><a href="https://en.wikipedia.org/wiki/AVR_microcontrollers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AVR Microcontrollers</a></li>
<li><a href="https://www.arduino.cc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arduino</a></li>
<li><a href="http://www.ti.com/design-resources/embedded-development/hardware-kits-boards.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Texas Instruments Launchpad</a></li>
<li><a href="https://www.eclipse.org/ide/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eclipse IDE</a></li>
<li><a href="https://en.wikipedia.org/wiki/Microcontroller?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MCU == MicroController Unit</a></li>
<li><a href="https://code.visualstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VSCode</a>
<ul>
<li><a href="https://docs.platformio.org/en/latest/ide/vscode.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PlatformIO Extension</a></li>
</ul>
</li>
<li><a href="https://scons.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SCons</a></li>
<li><a href="https://www.gnu.org/software/make/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Make</a></li>
<li><a href="https://www.raspberrypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi</a></li>
<li><a href="https://en.wikipedia.org/wiki/ESP8266?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ESP8266</a></li>
<li><a href="https://marlinfw.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marlin 3D Printer Firmware</a></li>
<li><a href="https://esphome.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ESP Home</a></li>
<li><a href="https://www.zephyrproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zephyr Realtime Operating System</a></li>
<li><a href="https://www.westerndigital.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Western Digital</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fplatformio-embedded-software-devleopment-episode-251%2F&amp;action_name=Reducing+The+Friction+Of+Embedded+Software+Development+With+PlatformIO+-+Episode+251&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-02-25t00:20:11+00:00-74568739c95c627</guid>
      <link>https://www.pythonpodcast.com/platformio-embedded-software-devleopment-episode-251</link>
      <pubDate>Tue, 25 Feb 2020 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="546.14" duration="30.98">And so you mentioned that the original inspiration for building PlatformIO was just trying to solve your own problem of getting all these different devices in your home to be able to talk to each other. And so what was your motivation for deciding to continue working on it and developing it as a product and then building a business around it? Yes. So the main motivation was just to save my time because PlatformIO wasn't created like the project like the business project. It was the happy project.</podcast:soundbite>
      <podcast:soundbite startTime="112.66" duration="18.06">So, Ivan, can you start by introducing yourself? Yes. So, hey, everybody. Tobias, thank you so much for hosting me at your podcast. My name is Ivan, and I am from Ukraine. And I'm the founder of the PlatformIO Project, where currently I'm responsible for different aspects of this project.</podcast:soundbite>
      <podcast:soundbite startTime="1720.31" duration="47.66">And so beyond the development of the software for these different platforms, there's also the concern of verifying that what you're building is actually going to work. So things like unit testing, and you mentioned debugging. And I'm so I'm wondering what are some of the challenges in the embedded software space for being able to handle those aspects of the software development life cycle and some of the ways that PlatformIO helps in that effort? Yes. So, you know, if you if you do debugging for example, if you do debugging of Python application, this is this is not a a so complex, technical task because you do this work on the host machine. But if we talk about the hardware, debugging, unit testing, we should do on the hardware.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:46:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Reducing The Friction Of Embedded Software Development With PlatformIO</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>251</itunes:episode>
      <podcast:episode>251</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531499810416013693785-1324-4f34-b672-9df9c5a3c041v1.mp3" length="34608290" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531499810416013693785-1324-4f34-b672-9df9c5a3c041v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_13693785-1324-4f34-b672-9df9c5a3c041638558827253983642.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/13693785-1324-4f34-b672-9df9c5a3c041638558827247676483.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/13693785-1324-4f34-b672-9df9c5a3c041638558827245729065.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>APIs, Sustainable Open Source and The Async Web With Tom Christie</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Tom Christie is probably best known as the creator of Django REST Framework, but his contributions to the state the web in Python extend well beyond that. In this episode he shares his story of getting involved in web development, his work on various projects to power the asynchronous web in Python, and his efforts to make his open source contributions sustainable. This was an excellent conversation about the state of asynchronous frameworks for Python and the challenges of making a career out of open source.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at Linode. With 200 Gbit/s private networking, node balancers, a 40 Gbit/s public network, and a brand new managed Kubernetes platform, all controlled by a convenient API you&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they&#8217;ve got dedicated CPU and GPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tom Christie about the Encode organization and the work he is doing to drive the state of the art in async for Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what the Encode organization is and how it came to be?
<ul>
<li>What are some of the other approaches to funding and sustainability that you have tried in the past?</li>
<li>What are the benefits to the developers provided by an organization which you were unable to achieve through those other means?</li>
<li>What benefits are realized by your sponsors as compared to other funding arrangements?</li>
</ul>
</li>
<li>What projects are part of the Encode organization?</li>
<li>How do you determine fund allocation for projects and participants in the organization?</li>
<li>What is the process for becoming a member of the Encode organization and what benefits and responsibilities does that entail?</li>
<li>A large number of the projects that are part of the organization are focused on various aspects of asynchronous programming in Python. Is that intentional, or just an accident of your own focus and network?</li>
<li>For those who are familiar with Python web programming in the context of WSGI, what are some of the practices that they need to unlearn in an async world, and what are some new capabilities that they should be aware of?</li>
<li>Beyond Encode and your recent work on projects such as Starlette you are also well known as the creator of Django Rest Framework. How has your experience building and growing that project influenced your current focus on a technical, community, and professional level?</li>
<li>Now that Python 2 is officially unsupported and asynchronous capabilities are part of the core language, what future directions do you foresee for the community and ecosystem?
<ul>
<li>What are some areas of potential focus that you think are worth more attention and energy?</li>
</ul>
</li>
<li>What do you have planned for the future of Encode, your own projects, and your overall engagement with the Python ecosystem?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.tomchristie.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/tomchristie?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tomchristie</a> on Github</li>
<li><a href="https://twitter.com/_tomchristie?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@_tomchristie</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt4777008/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Maleficent: Mistress of Evil</a></li>
<li><a href="https://www.imdb.com/title/tt6324278/?ref_=fn_al_tt_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Abominable</a></li>
</ul>
</li>
<li>Tom
<ul>
<li><a href="https://www.imdb.com/title/tt3464902/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Lobster</a></li>
<li><a href="http://iainmcgilchrist.com/the-master-and-his-emissary/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Master And His Emissary</a> by Ian McGilchrist</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.encode.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Encode</a></li>
<li><a href="https://www.django-rest-framework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Rest Framework</a></li>
<li><a href="https://www.starlette.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Starlette</a></li>
<li><a href="https://www.zope.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://bitbucket.org/jespern/django-piston/wiki/Home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Piston</a></li>
<li><a href="https://django-tastypie.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Tastypie</a></li>
<li><a href="https://www.aeracode.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Andrew Godwin</a></li>
<li><a href="https://asgi.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASGI</a></li>
<li><a href="https://channels.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Channels</a>
<ul>
<li><a href="https://www.pythonpodcast.com/django-channels-and-the-asynchronous-web-with-andrew-godwin-episode-180/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://flask.palletsprojects.com/en/1.1.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://trypyramid.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyramid</a></li>
<li><a href="https://sentry.io/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sentry</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-61-sentry-with-david-cramer/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://tidelift.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tidelift</a></li>
<li><a href="https://www.uvicorn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uvicorn</a></li>
<li><a href="https://www.python-httpx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HTTPX</a></li>
<li><a href="https://tidelift.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tidelift</a></li>
<li><a href="https://opencollective.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Collective</a></li>
<li><a href="https://stripe.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stripe</a></li>
<li><a href="https://github.com/sponsors?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github Sponsors</a></li>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Software Foundation</a>
<ul>
<li><a href="https://www.pythonpodcast.com/python-software-foundation-episode-217/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://firebase.google.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Firebase</a></li>
<li><a href="https://www.encode.io/databases/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Databases</a></li>
<li><a href="https://github.com/encode/orm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ORM</a></li>
<li><a href="https://en.wikipedia.org/wiki/HTTP/3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HTTP3</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fapis-sustainable-open-source-and-the-async-web-with-tom-christie%2F&amp;action_name=APIs%2C+Sustainable+Open+Source+and+The+Async+Web+With+Tom+Christie+-+Episode+250&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-02-18t14:12:27+00:00-492b748600b576b</guid>
      <link>https://www.pythonpodcast.com/apis-sustainable-open-source-and-the-async-web-with-tom-christie</link>
      <pubDate>Tue, 18 Feb 2020 14:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2157.49" duration="18.60">And are there any other aspects of your work with the encode organization or your work in the web space and async in general or any of the other aspects of the Python language or community or your career that you're focusing on that we didn't discuss yet that you'd like to cover before we close out the show?</podcast:soundbite>
      <podcast:soundbite startTime="340.80" duration="18.73">And in talking to people in the Python community, there are a few different eras particularly in the web that people have come in on. So some people will have cut their teeth on Zope. Other people will have come in more in the Django era. Where were you in that overall journey of Python and the web when you first started getting involved in it?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:45</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>APIs, Sustainable Open Source and The Async Web With Tom Christie</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>250</itunes:episode>
      <podcast:episode>250</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298464467579406378a2-ca35-4561-9b05-1a7dae54b822v1.mp3" length="32720741" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298464467579406378a2-ca35-4561-9b05-1a7dae54b822v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_406378a2-ca35-4561-9b05-1a7dae54b822638558792413408517.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/406378a2-ca35-4561-9b05-1a7dae54b822638558792410496288.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/406378a2-ca35-4561-9b05-1a7dae54b822638558792408318394.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Learning To Program Python By Building Video Games With Arcade</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Video games have been a vehicle for learning to program since the early days of computing. Continuing in that tradition, Paul Craven created the Arcade library as a modern alternative to PyGame for use in his classroom. In this episode he explains his motivations for starting a new framework for video game development, his view on the benefits of games in computer education, and how his students and the broader community are using it to build interesting and creative projects. If you are looking for a way to get new programmers engaged, or just want to experiment with building your own games, then this is the conversation for you. Give it a listen and then give Arcade a try for yourself.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Paul Craven about Arcade, an easy-to-learn Python library for creating 2D video games</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Arcade is?
<ul>
<li>What inspired you to begin working on it?</li>
</ul>
</li>
<li>Who is your primary audience?</li>
<li>As an educator, what have you found to be most effective about using games as a vehicle for teaching programming?
<ul>
<li>What elements of programming or computer science do you have difficulty in addressing within the context of a video game?</li>
<li>For someone who wants to move on from working on games to something like web development or data analytics, what elements of software design and structure are easily translated to other domains?</li>
</ul>
</li>
<li>Can you describe how Arcade is implemented and how the architecture has evolved since you first began working on it?
<ul>
<li>If you were to start over today, what would you do differently?</li>
</ul>
</li>
<li>What have you found to be the most interesting/unexpected/challenging aspects of building and maintaining Arcade?</li>
<li>What are some of the most interesting/innovative/unexpected ways that you have seen Arcade used?</li>
<li>When is Arcade the wrong platform, or at what point does someone need to move on from Arcade?</li>
<li>What do you have planned for the future of Arcade?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/professorcraven?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@professorcraven</a> on Twitter</li>
<li><a href="https://github.com/pvcraven?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pvcraven</a> on GitHub</li>
<li><a href="https://simpson.edu/about-simpson-college/faculty-and-staff/paul-vincent-craven?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Faculty Page</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.orithegame.com/blind-forest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ori And The Blind Forest</a></li>
</ul>
</li>
<li>Paul
<ul>
<li><a href="https://en.wikipedia.org/wiki/Fahrenheit_451?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fahrenheit 451</a> by Ray Bradbury
<ul>
<li>“Mistakes can be profited by Man, when i was young I showed my ignorance in people&#8217;s faces. They beat me with sticks. By the time I was forty my blunt instrument had been honed to a fine cutting point for me. If you hide your ignorance, no one will hit you and you&#8217;ll never learn.”</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://arcade.academy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arcade</a></li>
<li><a href="https://simpson.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Simpson College</a></li>
<li><a href="https://www.pygame.org/news?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGame</a></li>
<li><a href="https://www.libsdl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SDL</a></li>
<li><a href="https://www.opengl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenGL</a></li>
<li><a href="https://unity.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unity</a></li>
<li><a href="https://www.unrealengine.com/en-US/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unreal Engine</a></li>
<li><a href="https://godotengine.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GoDot</a></li>
<li><a href="https://automatetheboringstuff.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automate The Boring Stuff With Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Minesweeper_(video_game)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Minesweeper</a></li>
<li><a href="http://pyglet.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyglet</a></li>
<li><a href="https://www.gamedev.net/articles/programming/general-and-gameplay-programming/spatial-hashing-r2697/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spatial Hashing</a></li>
<li><a href="https://www.mapeditor.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tiled Map Editor</a></li>
<li><a href="https://docs.python.org/3/library/typing.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Type Hints</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0498/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">F Strings</a></li>
<li><a href="https://docs.python.org/3/library/dataclasses.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Classes</a></li>
<li><a href="http://www.pymunk.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyMunk</a></li>
<li><a href="https://www.ffmpeg.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FFMPEG</a></li>
<li><a href="https://pyweek.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyWeek</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pyweek-with-daniel-pope-episode-182/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://discordapp.com/invite/python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Discord</a></li>
<li><a href="https://arcade.academy/enhancement_list.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arcade Enhancement Requests</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Farcade-python-video-games-episode-249%2F&amp;action_name=Learning+To+Program+Python+By+Building+Video+Games+With+Arcade+-+Episode+249&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-02-09t19:31:52+00:00-0ef66cd999f7d30</guid>
      <link>https://www.pythonpodcast.com/arcade-python-video-games-episode-249</link>
      <pubDate>Tue, 11 Feb 2020 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1045.32" duration="32.78">That's a difficult decision to make because I don't wanna head people off of starting to program when they're banging their heads against the wall with using Git. But on the other hand, if you've got experience with Git, not just like I used it once or twice in class, but I've used it for several months, then it becomes a lot easier. If someone was to learn programming on their own, I wouldn't suggest starting with Git just because it can be too easily to make that too easy to make that a distraction so that they don't end up learning the programming itself.</podcast:soundbite>
      <podcast:soundbite startTime="152.83" duration="26.33">I've always enjoyed it. I started teaching in their evening program and Simpson College's evening program back in, like, 96 pretty soon right after I got out of grad school. And I just really liked being able to directly see my impact on people when I'm working with back end systems to refinance mortgage applications. You don't really know that you're helping anybody. It's just like work.</podcast:soundbite>
      <podcast:soundbite startTime="310.98" duration="37.74">Well, I first started teaching using pygame and Python. I did that for, about 10 years ish or so. And I really like pygame. I like teaching students to begin programming via video games. But basically, after a while, I was getting kind of held back on pygame because there were just a lot of things that you had to teach to get around, such as, you could get an image that had transparency to it and pygame would make you select the color that was transparent, even though you really couldn't see what that transparent color was and why it just didn't happen automatically.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:43</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Learning To Program Python By Building Video Games With Arcade</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>249</itunes:episode>
      <podcast:episode>249</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530553351731137a41435-d862-4ce9-ab3b-6d98150f9d26v1.mp3" length="30512409" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530553351731137a41435-d862-4ce9-ab3b-6d98150f9d26v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_37a41435-d862-4ce9-ab3b-6d98150f9d26638558814047739382.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/37a41435-d862-4ce9-ab3b-6d98150f9d26638558814045696806.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/37a41435-d862-4ce9-ab3b-6d98150f9d26638558814043562434.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build Your Own Personal Data Repository With Nostalgia</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The companies that we entrust our personal data to are using that information to gain extensive insights into our lives and habits while not always making those findings accessible to us. Pascal van Kooten decided that he wanted to have the same capabilities to mine his personal data, so he created the Nostalgia project to integrate his various data sources and query across them. In this episode he shares his motivation for creating the project, how he is using it in his day-to-day, and how he is planning to evolve it in the future. If you&#8217;re interested in learning more about yourself and your habits using the personal data that you share with the various services you use then listen now to learn more.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Pascal van Kooten about his nostalgia project, a nascent framework for taking control of your personal data</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing your mission with the nostalgia project?
<ul>
<li>How did the topic of personal data management come to be a focus for you?</li>
</ul>
</li>
<li>What other options exist for users to be able to collect and manage their own data?
<ul>
<li>What capabilities were lacking in those options that made you feel the need to build Nostalgia?</li>
</ul>
</li>
<li>What is your target audience for this set of projects?</li>
<li>How are you using Nostalgia in your own life?
<ul>
<li>What are some of the insights that you have been able to gain as a result of integrating your data with Nostalgia?</li>
</ul>
</li>
<li>Can you describe the current architecture of the Nostalgia platform and how it has evolved since you began work on it?
<ul>
<li>What are some of the assumptions that you are using to direct the focus of your development and interaction design?</li>
</ul>
</li>
<li>What are the minimum number of data sources needed to make this useful?</li>
<li>What are some of the challenges that you are facing in collating and integrating different data sources?</li>
<li>What are some of the drawbacks of using something like Nostalgia for managing your personal data?</li>
<li>What are some of the most interesting/challenging/unexpected aspects of your work on Nostalgia so far?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://vks.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/pascalvkooten/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/kootenpv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@kootenpv</a> on Twitter</li>
<li><a href="https://github.com/kootenpv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">kootenpv</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Jumanji:_The_Next_Level?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jumanji: The Next Level</a></li>
<li><a href="https://en.wikipedia.org/wiki/Jumanji?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jumanji</a></li>
</ul>
</li>
<li>Pascal
<ul>
<li><a href="https://github.com/bup/bup?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bup</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/mholt/timeliner?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">timeliner</a></li>
<li><a href="https://github.com/markwk/qs_ledger?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">qs_ledger</a></li>
<li><a href="https://nostalgia-dev.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nostalgia</a></li>
<li><a href="https://github.com/kootenpv/shrynk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shrynk</a></li>
<li><a href="https://github.com/kootenpv/whereami?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Whereami</a></li>
<li><a href="https://www.r-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R Language</a></li>
<li><a href="https://duckduckgo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Duck Duck Go</a></li>
<li><a href="https://caddyserver.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Caddy</a></li>
<li><a href="https://perkeep.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perkeep</a></li>
<li><a href="https://darklang.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dark Programming Language</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://neo4j.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neo4J</a></li>
<li><a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.api.extensions.ExtensionArray.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas Extension Arrays</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pandas-extension-arrays-with-tom-augspurger-episode-164/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://parquet.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parquet</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/data-serialization-with-doug-cutting-and-julien-le-dem-episode-8/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.electronjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ElectronJS</a></li>
<li><a href="https://www.pythonpodcast.com/zincbase-knowledge-graph-episode-223/?utm_source=rss&utm_medium=rss">Zincbase</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fnostalgia-personal-data-repository-episode-248%2F&amp;action_name=Build+Your+Own+Personal+Data+Repository+With+Nostalgia+-+Episode+248&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-02-03t19:06:25+00:00-a80ad4f33d21990</guid>
      <link>https://www.pythonpodcast.com/nostalgia-personal-data-repository-episode-248</link>
      <pubDate>Tue, 4 Feb 2020 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="515.33" duration="136.49">And so beyond the initial use cases that you were mentioning of being able to see what were is your travel times at different points and the different projects that you're working on in your editor. What are some of the ways that you're actually using nostalgia now as you've started to add more capabilities and data sources to it? It's a it's a it's a tough thing. I'll I'll get back to that. But so, actually, I have a lot of examples, but, let me give you 3. So I had to, get a visa in The Hague, and, I had that done that the year before. And I was wondering how much it cost the the year, before. Like, I mean, that would be the same price as now. Right? So I I used, like, nostalgia to filter my payments in The Hague using my location data, and I immediately found the found the results. So the other 1 would be, like, comparing my heart rate data while I was in a traffic jam. And I noticed my heart rate was higher. And, I realized that it was mostly listening to music while driving, but that, it it actually made me think. And I realized that listening to a podcast, for example, would provide just the right amount of distraction to calm me down. So, yeah, that's, that's something I did. And, so that's another another example that I have. And another example would be that, someone posted on, LinkedIn an idea for making a start up about, cloud deployments and how to make that easier and more generalized. And I remembered reading at some time in the past, some, article that describes a similar idea, but I had no idea how to find it in my, web history. But then it occurred to me that I re do remember where I was at the time when I read it. I was at the Amsterdam trans train station. So not using nostalgia, I was able to filter my browsing history being on the station using the location data. And then, again, I immediately found it. So, you know, it was rather than searching for a cloud or startup, which did not yield any results, it was actually an article about dark, a new programming language. So for many, it's not that obvious to think in a cross source way, and I even find that it's difficult myself. That's because it's very logical, that's, you know, like, we currently have no way of executing such queries. So there's no way to think in a cross source way. But I'm a 100% sure that this will be a possibility in the future.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:32:58</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build Your Own Personal Data Repository With Nostalgia</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>248</itunes:episode>
      <podcast:episode>248</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320403597314d3a19f4f-c63a-43cc-bf0e-daac21158eb4v1.mp3" length="25342215" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320403597314d3a19f4f-c63a-43cc-bf0e-daac21158eb4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d3a19f4f-c63a-43cc-bf0e-daac21158eb4638558839664836707.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d3a19f4f-c63a-43cc-bf0e-daac21158eb4638558839662827666.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d3a19f4f-c63a-43cc-bf0e-daac21158eb4638558839660864999.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Simplifying Social Login For Your Web Applications</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>A standard feature in most modern web applications is the ability to log in or register using accounts that you already own on other sites such as Google, Facebook, or Twitter. Building your own integrations for each service can be complex and time consuming, distracting you from the features that you and your users actually care about. Fortunately the Python social auth library makes it easy to support third party authentication with a large and growing number of services with minimal effort. In this episode Matías Aguirre discusses his motivation for creating the library, how he has designed it to allow for flexibility and ease of use, and the benefits of delegating identity and authentication to third parties rather than managing passwords yourself.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Matías Aguirre about Python social auth and the complexities of third-party authentication</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what the Python social auth project is and your motivation for starting it?</li>
<li>Why might someone want to integrate with or rely on a third-party identity provider in their projects?
<ul>
<li>What are some of the tradeoffs or drawbacks of implementing</li>
</ul>
</li>
<li>Can you describe the current architecture of the library and how it has evolved since you first began working on it?</li>
<li>There are a number of pre-built integrations with different web frameworks in the social auth github organization, but Django is the only one that has seen any commits recently. What are the contributing factors for that state of affairs?</li>
<li>There are a number of authentication protocols that you support. What are the common capabilities that they each support and what are some of the more challenging differences between them?
<ul>
<li>How have you implemented the interface for plugging different authentication mechanisms to allow for the variation between them while keeping the library code maintainable?</li>
<li>What is involved in adding support for a new authentication provider or protocol?</li>
</ul>
</li>
<li>Many times authorization and authentication are conflated or used interchangeably. How does Python social auth address those concerns and what are the limitations of different mechanisms for defining permissions?</li>
<li>For someone who is using Python social auth, what is the workflow for integrating it with their application as a consumer?</li>
<li>What are some of the most interesting/unexpected/innovative ways that you have seen Python social auth used?</li>
<li>What are some of the most interesting/useful/unexpected lessons that you have learned in the process of building and maintaining Python social auth?</li>
<li>When is Python social auth more effort than it&#8217;s worth?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/omab?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">omab</a> on GitHub</li>
<li><a href="https://matiasaguirre.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/linuxaddict?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@linuxaddict</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/matiasaguirre/?originalSubdomain=uy&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Joker_(2019_film)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joker</a> movie</li>
</ul>
</li>
<li>Matías
<ul>
<li><a href="https://sanic.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sanic</a> asynchronous web framework</li>
<li><a href="https://en.wikipedia.org/wiki/Star_Trek:_Picard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Star Trek Picard</a> TV series</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://python-social-auth.readthedocs.io/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Social Auth</a></li>
<li><a href="https://en.wikipedia.org/wiki/Uruguay?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uruguay</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://rubyonrails.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby on Rails</a></li>
<li><a href="https://monkeylearn.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MonkeyLearn</a></li>
<li><a href="https://en.wikipedia.org/wiki/Social_login?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Social Authentication</a></li>
<li><a href="https://github.com/omab/django-social-auth?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Social Auth</a></li>
<li><a href="https://auth0.com/blog/adding-salt-to-hashing-a-better-way-to-store-passwords/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Salted and hashed passwords</a></li>
<li><a href="https://dzone.com/articles/how-passwordless-authentication-works?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magic Link Authentication</a></li>
<li><a href="https://en.wikipedia.org/wiki/OAuth?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OAuth</a></li>
<li><a href="https://en.wikipedia.org/wiki/OpenID?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenID</a></li>
<li><a href="https://en.wikipedia.org/wiki/Security_Assertion_Markup_Language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SAML</a></li>
<li><a href="https://fastapi.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastAPI</a></li>
<li><a href="https://sanic.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sanic</a></li>
<li><a href="https://asgi.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASGI</a></li>
<li><a href="https://wsgi.readthedocs.io/en/latest/what.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WSGI</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AsyncIO</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpython-social-auth-social-login-episode-247%2F&amp;action_name=Simplifying+Social+Login+For+Your+Web+Applications+-+Episode+247&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-01-27t02:35:16+00:00-ca9086b177f837d</guid>
      <link>https://www.pythonpodcast.com/python-social-auth-social-login-episode-247</link>
      <pubDate>Mon, 27 Jan 2020 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="209.68" duration="33.25">So PyTorch allows this a small library, not quite small by now, but it aims to simplify the developer life when they want to integrate social based authentication authorization on their projects. So everybody's familiar with the login using x socialize, buttons around the the web. Python's allows us to hide the complexity behind that functionality by giving enough room to define a good solution that better fits your project. Like many projects, it got started due to frustration with the solutions that were available at that time.</podcast:soundbite>
      <podcast:soundbite startTime="1120.34" duration="54.16">So from developer perspective, usually, like, all you need to do is go to the authentication provider administration panel or page. There's usually 1 for dedicated for developers where you can create an application. Once you create that application with certain values like our redirect URL, you will get an application ID, application secret, or an application ID for open ID. There's very minimal settings that then you go to your project, add these particular keys in your settings to be available for the back end that we've handed to the authentication. Then you can include a URL or a button on a template. Once the user clicks on this button, the authentication flow kicks in and you end with a user, a created user or an existing user already logging on your site. So it tries to be really simple.</podcast:soundbite>
      <podcast:soundbite startTime="767.00" duration="49.96">So for sure, the difference in the protocol were problematic, a problem to solve by the framework. But in the end, I found that defining a really simple interface or interface of the what application needed from this provider that pays off very well, as the call evolves because this simple interface allows me to hide the complexity of the provider, while still fulfilling their requirements for the library. For instance, there's a metal called get user details. I don't care the rest of the call doesn't care about the particular implementation that this method, has for the different providers. It only cares about the output result is, and it's the having the user details available to build a user in some nice store on the database.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:06</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Simplifying Social Login For Your Web Applications</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>247</itunes:episode>
      <podcast:episode>247</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298237651545b6c244b2-3d05-4b28-bd46-110c5776fb42v1.mp3" length="27420423" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298237651545b6c244b2-3d05-4b28-bd46-110c5776fb42v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b6c244b2-3d05-4b28-bd46-110c5776fb42638558791384897547.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b6c244b2-3d05-4b28-bd46-110c5776fb42638558791377762782.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b6c244b2-3d05-4b28-bd46-110c5776fb42638558791375905080.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building A Business On Building Data Driven Businesses</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>In order for an organization to be data driven they need easy access to their data and a simple way of sharing it. Arik Fraimovich built Redash as a way to address that need by connecting to any data source and building attractive dashboards on top of them. In this episode he shares the origin story of the project, his experiences running a business based on open source, and the challenges of working with data effectively.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Arik Fraimovich about Redash, an open source business intelligence platform that helps you make sense of your data.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>
<p>Introductions</p>
</li>
<li>
<p>How did you get introduced to Python?</p>
</li>
<li>
<p>Can you start by describing what Redash is and its origin story?</p>
<ul>
<li>
<p>What are the primary ways that it is used?</p>
</li>
<li>
<p>The business intelligence market is quite mature and has many commercial and open source projects to choose from. What are the aspects of Redash that have allowed you to be successful?</p>
</li>
<li>
<p>What would you consider to be your closest competitors?</p>
</li>
</ul>
</li>
<li>
<p>What was your background with data before starting on Redash?</p>
<ul>
<li>What are some of the most notable lessons that you have learned about business intelligence since starting the project?</li>
<li>How has the landscape for business intelligence and data analysis changed since you began the project?</li>
</ul>
</li>
<li>
<p>Beyond just accessing data, Redash focuses on enabling visualization of the results. What types of visualizations do you support and how do you support users in choosing the most effective ways to represent the information?</p>
</li>
<li>
<p>What are some of the common challenges that your users and customers encounter when communicating with data?</p>
</li>
<li>
<p>One of the critical aspects of enabling data access in an organization is the ability to collaborate on asking and answering questions. How do you approach that challenge in Redash?</p>
</li>
<li>
<p>How is Redash implemented and how has the overall design and architecture evolved since you first started working on it?</p>
<ul>
<li>How do you manage the complexity of supporting so many different data sources?</li>
<li>If you were to start over today, what would you do differently?</li>
</ul>
</li>
<li>
<p>Beyond the code of Redash, you also have a business around providing it as a hosted service. What are some of the most interesting, challenging, or unexpected lessons that you have learned in the process of building and growing that service?</p>
</li>
<li>
<p>How do you approach the direction and governance of the open source project and balance that against the wants and needs of the community?</p>
</li>
<li>
<p>What are some of the most interesting, innovative, or unexpected ways that you have seen Redash used?</p>
</li>
<li>
<p>When is Redash the wrong platform to use?</p>
</li>
<li>
<p>What do you have planned for the future of the Redash business and project?</p>
</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/arikfr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">arikfr</a> on GitHub</li>
<li><a href="http://arikfr.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/arikfr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@arikfr</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a></li>
</ul>
</li>
<li>Arik
<ul>
<li><a href="http://docs.peewee-orm.com/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Peewee ORM</a></li>
<li><a href="https://aws.amazon.com/ecs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon ECS</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://redash.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redash</a></li>
<li><a href="https://cloud.google.com/appengine/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google App Engine</a></li>
<li><a href="https://github.com/EverythingMe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EverythingMe</a></li>
<li><a href="https://aws.amazon.com/redshift/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedShift</a></li>
<li><a href="https://www.metabase.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metabase</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/metabase-with-sameer-al-sakran-episode-29/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://superset.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Superset</a></li>
<li><a href="https://www.elastic.co/products/elasticsearch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elasticsearch</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/elastic-stack-with-philipp-krenn-episode-23/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://www.tableau.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tableau</a></li>
<li><a href="https://looker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Looker</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/looker-with-daniel-mintz-episode-55/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://powerbi.microsoft.com/en-us/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PowerBI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Data_warehouse?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Warehouse</a></li>
<li><a href="https://en.wikipedia.org/wiki/Data_lake?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Lake</a></li>
<li><a href="https://aws.amazon.com/athena/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Athena</a></li>
<li><a href="https://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/putting-apache-spark-into-action-with-jean-georges-perrin-episode-60/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://redash.io/help/user-guide/visualizations/funnel-howto?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redash Funnel Visualization</a></li>
<li><a href="https://www.stephen-few.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stephen Few</a></li>
<li><a href="https://palletsprojects.com/p/flask/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="http://www.celeryproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="https://python-rq.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RQ</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tornado?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a></li>
<li><a href="https://docs.djangoproject.com/en/dev/topics/db/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django ORM</a></li>
<li><a href="https://angularjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AngularJS</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReactJS</a></li>
<li><a href="https://nodejs.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NodeJS</a></li>
<li><a href="https://redash.io/help/user-guide/querying/query-results-data-source?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redash Query Results Data Source</a></li>
<li><a href="https://www.ibm.com/analytics/db2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IBM DB2</a></li>
<li><a href="https://retool.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Retool</a></li>
<li><a href="https://www.forestadmin.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forest Admin</a></li>
<li><a href="https://grafana.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grafana</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fredash-data-driven-dashboards-episode-246%2F&amp;action_name=Building+A+Business+On+Building+Data+Driven+Businesses+-+Episode+246&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-01-20t15:27:35+00:00-c404e96240616a2</guid>
      <link>https://www.pythonpodcast.com/redash-data-driven-dashboards-episode-246</link>
      <pubDate>Mon, 20 Jan 2020 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="144.63" duration="30.74">So Redash is basically like, you can call it a BI tool but in simple terms, it's a web interface that you can use to connect to your databases or actually data sources because we support more than just databases like Google Spreadsheets, Jira, Salesforce or any JSON API. Then once you're connected, you can query those sources and visualize the results in different forms like charts, maps, whatever, or just a plain table is fine as well. Group that in a dashboard and share within your team or company organization.</podcast:soundbite>
      <podcast:soundbite startTime="1041.02" duration="30.48">Yeah. That that's a great 1. I mean, our, like, collaboration around data is something that's really been on my mind when I started with Redash. It's actually reflected in our logo. It's like a speech bubble and the sort of chart which basically is supposed to communicate collaboration and data. And obviously, we still have a way to go here but something that really helps is the fact that you have the query itself next to the data that you are looking at. So that allows others who look at what you're doing, like to to really understand how you got the results that you got.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building A Business On Building Data Driven Businesses</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>246</itunes:episode>
      <podcast:episode>246</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253223866606208c61fe06-0890-4c5d-9571-fce7a2cfc813v1.mp3" length="25894039" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253223866606208c61fe06-0890-4c5d-9571-fce7a2cfc813v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8c61fe06-0890-4c5d-9571-fce7a2cfc813638558848215833548.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8c61fe06-0890-4c5d-9571-fce7a2cfc813638558848212816904.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8c61fe06-0890-4c5d-9571-fce7a2cfc813638558848210892766.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Using Deliberate Practice To Level Up Your Python</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>An effective strategy for teaching and learning is to rely on well structured exercises and collaboration for practicing the material. In this episode long time Python trainer Reuven Lerner reflects on the lessons that he has learned in the 5 years since his first appearance on the show, how his teaching has evolved, and the ways that he has incorporated more hands-on experiences into his lessons. This was a great conversation about the benefits of being deliberate in your approach to ongoing education in the field of technology, as well as having some helpful references for ways to keep your own skills sharp.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m pleased to welcome back Reuven Lerner to talk about the benefits of deliberate practice for learning and improving programming skills</li>
</ul>
<h3>Interview</h3>
<ul>
<li>
<p>Introductions</p>
</li>
<li>
<p>How did you get introduced to Python?</p>
</li>
<li>
<p>In your first appearance on the show back in episode 2 we talked about your experience as a Python trainer. How has your teaching style evolved in the past 5 years?</p>
<ul>
<li>How has the focus and scope of your training changed in that time period?</li>
</ul>
</li>
<li>
<p>What have you found to be some of the most helpful and effective tactics in your training?</p>
</li>
<li>
<p>From the learner perspective, what are some strategies that you recommend for retaining information, particularly in the context of gaining technical knowledge?</p>
</li>
<li>
<p>In-person training vs. real-time online training vs. recorded videos, advantages and disadvantages of each.</p>
</li>
<li>
<p>Blended learning, in which we combine aspects of the above</p>
<ul>
<li>Beyond in-person training, what are your preferred methods for learning and maintaining new skills?</li>
</ul>
</li>
<li>
<p>What is deliberate practice and how does it differ from the habits that many of us might default to?</p>
<ul>
<li>What are some of the resources that you provide for students of your trainings for practicing?</li>
<li>What are some of the outside resources which you have found most useful or effective?</li>
</ul>
</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://lerner.co.il?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://lerner.co.il/blog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/reuvenmlerner?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@reuvenmlerner</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="">The Manager&#8217;s Path</a> by Camille Fournier</li>
</ul>
</li>
<li>Reuven
<ul>
<li><a href="">Lab Rats: How Silicon Valley Made Work Miserable For The Rest Of Us</a> by Dan Lyons</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Practice_(learning_method)#Deliberate_practice?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deliberate Practice</a></li>
<li><a href="https://www.pythonpodcast.com/episode-2-reuven-lerner/?utm_source=rss&utm_medium=rss">Reuven On Episode 2</a></li>
<li><a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CGI == Common Gateway Interface</a></li>
<li><a href="https://en.wikipedia.org/wiki/Phrase_book?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Language Phrasebook</a></li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebook</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0572/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Walrus Operator</a>
<ul>
<li><a href="https://www.youtube.com/watch?v=6uAvHOKofws&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon 2019 Presentation</a></li>
</ul>
</li>
<li><a href="https://pythonbytes.fm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Bytes</a></li>
<li><a href="https://realpython.com/list-comprehension-python/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">List Comprehension</a></li>
<li><a href="https://store.lerner.co.il/wpe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Weekly Python Exercise</a></li>
<li><a href="https://www.pythonmorsels.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Morsels</a></li>
<li><a href="https://pybit.es/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyBites</a></li>
<li><a href="https://practiceyourpython.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Practice Your Python</a></li>
<li><a href="https://www.manning.com/books/python-workout?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Workout</a> book by Reuven Lerner</li>
<li><a href="https://docs.pytest.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTest</a></li>
<li><a href="https://www.linkedin.com/in/okken/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brian Okken</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Freuven-lerner-deliberate-practice-episode-245%2F&amp;action_name=Using+Deliberate+Practice+To+Level+Up+Your+Python+-+Episode+245&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-01-13t21:23:25+00:00-dd35d00d73e1afc</guid>
      <link>https://www.pythonpodcast.com/reuven-lerner-deliberate-practice-episode-245</link>
      <pubDate>Mon, 13 Jan 2020 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="351.39" duration="21.77">So I, often make the analogy between Stack Overflow and a phrasebook that you would use when you go visit a foreign country and you don't know the local language. And so the phrase book is good for sort of, you know, where's the train station? Where's the bathroom? I'd like to buy that loaf of bread. But the danger, of course, with a phrase book is a, you'll say it, and it won't come out the way that you want.</podcast:soundbite>
      <podcast:soundbite startTime="782.38" duration="14.66">And the number of people who call me over saying my program's not working, can you help me out during exercise, who have forgotten to put a colon at the end of an if line is huge. But if they work in pairs, that doesn't happen, because the other 1 will will probably pick up on it just because you have an extra pair of eyes.</podcast:soundbite>
      <podcast:soundbite startTime="1716.96" duration="18.23">And I often quote that to my courses, and I say, give me excellent questions, and I will then have homework, and I'll go look it up. And so a huge proportion of what I know about Python now comes through people asking questions, me saying, I don't know. Looking it up, learning, sharing it with them, and then I can incorporate, of course, into the next time I give the class.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Using Deliberate Practice To Level Up Your Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>245</itunes:episode>
      <podcast:episode>245</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252978349033444375983f-0098-46d4-a094-0dc27be572ccv1.mp3" length="40454968" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252978349033444375983f-0098-46d4-a094-0dc27be572ccv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4375983f-0098-46d4-a094-0dc27be572cc638558790156617214.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4375983f-0098-46d4-a094-0dc27be572cc638558790154310641.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4375983f-0098-46d4-a094-0dc27be572cc638558790152235744.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Checking Up On Python's Role in DevOps</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Python has been part of the standard toolkit for systems administrators since it was created. In recent years there has been a shift in how servers are deployed and managed, and how code gets released due to the rise of cloud computing and the accompanying DevOps movement. The increased need for automation and speed of iteration has been a perfect use case for Python, cementing its position as a powerful tool for operations. In this episode Moshe Zadka reflects on his experiences using Python in a DevOps context and the book that he wrote on the subject. He also discusses the difference in what aspects of the language are useful as an introduction for system operators and where they can continue their learning.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Moshe Zadke about his recent book DevOps In Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How did you gain experience in managing systems with Python?</li>
<li>What is DevOps?</li>
<li>What makes Python a good fit for managing systems?</li>
<li>What is unique to the devops/sysadmin domain in terms of what software is used and what aspects of the language are useful?</li>
<li>What are the main ways that Python is used for managing servers and infrastructure?</li>
<li>What are some of the most notable changes in the ways that Python is used for server administration over the past several years?</li>
<li>How has Python3 impacted the lives of operators?</li>
<li>What was your motivation for writing a book about Python focused specifically on DevOps and server automation?</li>
<li>What are some of the tools that have been replaced in your own workflow over the years?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://cobordism.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/moshezadka/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/moshezadka?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@moshezadka</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.saltstack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-1-thomas-hatch/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
<li>Moshe
<ul>
<li><a href="https://automat.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automat</a>
<ul>
<li><a href="https://www.pythonpodcast.com/automat-state-machines-with-glyph-lefkowitz-episode-116/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.apress.com/us/book/9781484244326?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DevOps In Python</a></li>
<li><a href="https://www.surveymonkey.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SurveyMonkey</a></li>
<li><a href="https://www.pythonpodcast.com/twisted-with-moshe-zadka-episode-170/?utm_source=rss&utm_medium=rss">Twisted Episode</a></li>
<li><a href="https://en.wikipedia.org/wiki/DevOps?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DevOps</a></li>
<li><a href="https://www.crunchbase.com/organization/b-hive-networks#section-overview?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">B=hive</a></li>
<li><a href="https://en.wikipedia.org/wiki/CI/CD?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CI/CD</a></li>
<li><a href="https://en.wikipedia.org/wiki/Amoeba_(operating_system)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amoeba OS</a></li>
<li><a href="https://docs.python.org/3/library/os.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python OS module</a></li>
<li><a href="https://requests.readthedocs.io/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Requests</a></li>
<li><a href="https://martinfowler.com/bliki/CanaryRelease.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Canary Deployments</a></li>
<li><a href="https://en.wikipedia.org/wiki/Postmortem_documentation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Post Mortem</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bash_(Unix_shell)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bash Shell</a></li>
<li><a href="https://en.wikipedia.org/wiki/Z_shell?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Z Shell</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linux</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unix</a></li>
<li><a href="https://aws.amazon.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS</a></li>
<li><a href="https://boto3.amazonaws.com/v1/documentation/api/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boto3</a></li>
<li><a href="https://github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://gitlab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitLab</a></li>
<li><a href="https://www.debian.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Debian</a></li>
<li><a href="https://ubuntu.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ubuntu</a></li>
<li><a href="https://centos.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CentOS</a></li>
<li><a href="https://pip.pypa.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pip</a></li>
<li><a href="https://python-poetry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poetry</a></li>
<li><a href="https://pipenv.kennethreitz.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pipenv</a></li>
<li><a href="https://github.com/jazzband/pip-tools?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pip-tools</a></li>
<li><a href="https://dh-virtualenv.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dh-virtualenv</a></li>
<li><a href="https://www.docker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="https://www.youtube.com/watch?v=wuCpCkrfeMs&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hyneck Schlaweck Presentation On Building Docker Images</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://www.saltstack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a></li>
<li><a href="https://www.chef.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chef</a></li>
<li><a href="https://puppet.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Puppet</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdevops-in-python-episode-244%2F&amp;action_name=Checking+Up+On+Python%27s+Role+in+DevOps+-+Episode+244&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2020-01-06t03:06:43+00:00-0c5681c577ffdc9</guid>
      <link>https://www.pythonpodcast.com/devops-in-python-episode-244</link>
      <pubDate>Mon, 6 Jan 2020 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="282.22" duration="39.27">So DevOps is a philosophy first and for all for most, that about unifying the developer and ops in 1 team, not necessarily in 1 world, but in 1 team. And the DevOps engineer is the 1 in charge of, we do things the operational complexity. And this is a little bit subtle because the ops engineer is the 1 responsible for shouldering the operational complexity. In the DevOps team, you don't have an ops engineer. You have a DevOps engineer who is responsible for reducing that. They do that partially by shouldering it, by partially by talking to the developers, figuring out how to make the software easier to operate, and partially by automating stuff.</podcast:soundbite>
      <podcast:soundbite startTime="889.06" duration="45.60">So I guess more and more of the common wisdom is never use the operating system Python. It's it's it's for a lot of reasons. Right? On on Debian systems, for example, the operating system Python will be sometimes really surprising. For example, you can have Python, but not a lot of standard library modules that are in Debian package separately. So for the Debian use case, it makes sense. In tweeting, I think the operating system Python, especially on Linux system, is something that is for the operating system. Right? The user been Python that is packaged on say Debian or Ubuntu or CentOS is a very good Python for the libraries that you get via Debian or Ubuntu CentOS. But for writing your own scripts, you usually wanna bring your own Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:33:36</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Checking Up On Python's Role in DevOps</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>244</itunes:episode>
      <podcast:episode>244</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303214992695f5198837-9556-462a-a32a-49a6bc33eef1v1.mp3" length="25457822" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303214992695f5198837-9556-462a-a32a-49a6bc33eef1v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f5198837-9556-462a-a32a-49a6bc33eef1638558803365067467.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f5198837-9556-462a-a32a-49a6bc33eef1638558803362989383.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f5198837-9556-462a-a32a-49a6bc33eef1638558803359570937.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Python's Built In IDE Isn't Just Sitting IDLE</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>One of the first challenges that new programmers are faced with is figuring out what editing environment to use. For the past 20 years, Python has had an easy answer to that question in the form of IDLE. In this episode Tal Einat helps us explore its history, the ways it is used, how it was built, and what is in store for its future. Even if you have never used the IDLE editor yourself, it is still an important piece of Python&#8217;s strength and history, and this conversation helps to highlight why that is.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Corinium Global Intelligence, ODSC, and Data Council. Upcoming events include the Software Architecture Conference in NYC, Strata Data in San Jose, and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tal Einat about the IDLE editor for Python, it&#8217;s history, and what is in store for its future</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For anyone who hasn&#8217;t used it, can you start by explaining what IDLE is?</li>
<li>IDLE has been part of the standard library for Python for quite some time now. What was the motivation for adding it to the core of Python?
<ul>
<li>How has the evolution of our computing environment changed the motivation for maintaining IDLE and the use cases that it is most beneficial for?</li>
</ul>
</li>
<li>What are the benefits of including a basic editor in the default distribution of Python?
<ul>
<li>What are some of the ways in which it is often used?</li>
<li>What are the limiting factors that lead users to other IDEs or text editors?</li>
</ul>
</li>
<li>What role do you think IDLE has played in the growth of Python?</li>
<li>What was your motivation for getting involved as a Python contributor and working on the implementation of IDLE?</li>
<li>How is IDLE implemented and what are some of the ways that it has evolved since its initial introduction?
<ul>
<li>How well has the code for IDLE aged as new features and capabilities are added to the language?</li>
</ul>
</li>
<li>What are some of the integration points available for extending IDLE?</li>
<li>What are some of the most interesting or innovative ways that you have seen IDLE used and extended?</li>
<li>What is planned for the future of the IDLE module?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/taleinat/?originalSubdomain=il&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/taleinat?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@TalEinat</a> on Twitter</li>
<li><a href="https://github.com/taleinat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">taleinat</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Mr._Robot?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mr. Robot</a></li>
</ul>
</li>
<li>Tal
<ul>
<li><a href="https://en.wikipedia.org/wiki/Captain_Fantastic_(film)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Captain Fantastic</a></li>
<li><a href="http://paulgraham.com/lesson.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Lesson To Unlearn</a> article by Paul Graham</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://docs.python.org/3/library/idle.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IDLE</a></li>
<li><a href="https://www.fullproof.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FullProof</a></li>
<li><a href="https://en.wikipedia.org/wiki/Israel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Israel</a>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Conscription_in_Israel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mandatory Military Service</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Eric_Idle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eric Idle</a></li>
<li><a href="https://en.wikipedia.org/wiki/Monty_Python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monty Python</a></li>
<li><a href="https://visualstudio.microsoft.com/vs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Studio</a></li>
<li><a href="http://idlefork.sourceforge.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IDLE-fork</a></li>
<li><a href="https://en.wikipedia.org/wiki/Vi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vi</a></li>
<li><a href="https://www.gnu.org/software/emacs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Emacs</a></li>
<li><a href="https://www.sublimetext.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sublime Text</a></li>
<li><a href="https://code.visualstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Studio Code</a></li>
<li><a href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">REPL == Read Eval Print Loop</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tcl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tcl/Tk</a></li>
<li><a href="https://wiki.python.org/moin/TkInter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tkinter</a></li>
<li><a href="https://en.wikipedia.org/wiki/Remote_procedure_call?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RPC == Remote Procedure Call</a></li>
<li><a href="http://idlex.sourceforge.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IDLEx</a></li>
<li><a href="https://vpython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-49-vpython-with-ruth-chabay-and-bruce-sherwood/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.python.org/3/library/turtle.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Turtle</a></li>
<li><a href="https://subversion.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SVN (Subversion)</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fidle-python-ide%2F&amp;action_name=Python%27s+Built+In+IDE+Isn%27t+Just+Sitting+IDLE+-+Episode+243&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-12-23t18:59:08+00:00-dd44ba106d31153</guid>
      <link>https://www.pythonpodcast.com/idle-python-ide</link>
      <pubDate>Mon, 23 Dec 2019 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="557.68" duration="46.20">So I think well, 1 case when people move on from idle is when they were looking for more powerful editing abilities. For example, anyone who's a power user of an editor such as VI or emacs or any major IDE such as Visual Studio or, the newer ones like, Sublime Text, Versus Code. They know those have lots of powerful editing features that allow you to just work faster, make changes to code much faster. The idle, is purposefully missing many of those features to keep the interface very simple and to keep what you need to learn to use it effectively, to a small set of things to learn. But that also it does definitely limit its usability for anyone who wants more advanced editing features.</podcast:soundbite>
      <podcast:soundbite startTime="1308.54" duration="38.41">So the code base itself, is being, is in the process of being brought more up to date. It's still backwards compatible with Python 2, but with that being sunsetted in a couple of weeks, we'll stop doing that. And actually many of the recent, improvements and changes are no longer in the Python 2 branch and they were written, so they're not, no longer compatible with Python 2. And going forward, we'll be removing a lot of those backwards compatibility parts of the code base to make it more easier to maintain and easier to read. Overall, there's been a lot of work to update the code base so it's in pretty good shape.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:36:33</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Python's Built In IDE Isn't Just Sitting IDLE</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>243</itunes:episode>
      <podcast:episode>243</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253143815639091914a4a7-e218-455c-bb8c-95d70cd10d94v1.mp3" length="28501722" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253143815639091914a4a7-e218-455c-bb8c-95d70cd10d94v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1914a4a7-e218-455c-bb8c-95d70cd10d94638558824775388630.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1914a4a7-e218-455c-bb8c-95d70cd10d94638558824772963030.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1914a4a7-e218-455c-bb8c-95d70cd10d94638558824771190887.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Riding The Rising Tides Of Python</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The past two decades have seen massive growth in the language, community, and ecosystem of Python. The career of Pete Fein has occurred during that same period and his use of the language has paralleled some of the major shifts in focus that have occurred. In this episode he shares his experiences moving from a trader writing scripts, through the rise of the web, to the current renaissance in data. He also discusses how his engagement with the community has evolved, why he hasn&#8217;t needed to use any other languages in his career, and what he is keeping an eye on for the future.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, the Data Orchestration Summit, and Data Council in NYC. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Pete Fein about his voyage on the rising tide of Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>I understand that you have used Python exclusively in your professional life. What other languages have you been exposed to and taken inspiration from?</li>
<li>What are some of the projects that you have been involved with which you are most proud of?</li>
<li>How has the community and your involvement with it changed over the years?
<ul>
<li>In your experience, how has the growth in the size and breadth of the community impacted its accessibility to newcomers?</li>
</ul>
</li>
<li>You have been using Python and participating in the community for quite some time now, and there have been significant changes in both within that period. What are some of the most significant technological shifts that you have noticed and been a part of?
<ul>
<li>How have those shifts influenced the direction of your career?</li>
</ul>
</li>
<li>As you have moved through the different phases of your career with different areas of focus, what are some of the aspects of the work which have remained constant?
<ul>
<li>What have been the biggest differences across the different problem domains?</li>
</ul>
</li>
<li>What are some of the aspects of the language or its ecosystem which you feel are lacking or don&#8217;t get enough attention?</li>
<li>What are some of the industry trends which you are keeping a close eye on and how do you anticipate them influencing the direction of the community and your career in the upcoming years?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://snake.dev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Consulting Website</a></li>
<li><a href="https://wearpants.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Personal Website</a></li>
<li><a href="https://twitter.com/wearpants?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@wearpants</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/peterfein?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/wearpants?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wearpants</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://matomo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matomo Analytics</a></li>
</ul>
</li>
<li>Pete
<ul>
<li><a href="https://fastapi.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastAPI</a></li>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyDantic</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Chicago?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chicago</a></li>
<li><a href="https://en.wikipedia.org/wiki/Scheme_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scheme</a></li>
<li><a href="https://mitpress.mit.edu/sites/default/files/sicp/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Structure and Interpretation of Computer Programs</a></li>
<li><a href="http://www.dabeaz.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">David Beazley</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-72-dave-beazley/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://twiggy.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twiggy</a> logging library</li>
<li><a href="https://www.linkedin.com/in/jessenoller/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jesse Noller</a></li>
<li><a href="https://en.wikipedia.org/wiki/Log4j?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Log4J</a></li>
<li><a href="https://www.debian.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Debian</a></li>
<li><a href="https://www.redhat.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedHat</a></li>
<li><a href="https://structlog.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StructLog</a></li>
<li><a href="https://eliot.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elliot</a>
<ul>
<li><a href="https://www.podcastinit.com/eliot-logging-with-itamar-turner-trauring-episode-133/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://logbook.readthedocs.io/en/stable/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logbook</a></li>
<li><a href="http://lucumr.pocoo.org/about/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Armin Ronacher</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-63-armin-ronacher/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.meetup.com/Python-Pittsburgh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pittsburgh Python Meetup</a></li>
<li><a href="https://boltons.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boltons</a> library</li>
<li><a href="https://elixir-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elixir</a></li>
<li><a href="https://www.chipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ChiPy</a> Chicago Python user group</li>
<li><a href="https://subversion.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Subversion</a></li>
<li><a href="https://rubyonrails.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby On Rails</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.oreilly.com/ideas/data-engineering-a-quick-and-simple-definition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering</a></li>
<li><a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a></li>
<li><a href="https://en.wikipedia.org/wiki/Internet_of_things?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Internet of Things</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pittsburgh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pittsburgh</a></li>
<li><a href="https://openaps.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artificial Pancreas Project</a></li>
<li><a href="https://www.ericholscher.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eric Holscher</a></li>
<li><a href="https://readthedocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Read The Docs</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-36-eric-holscher-on-documentation-and-read-the-docs/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://learn.adafruit.com/adafruit-circuit-playground-express/overview?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Circuit Playground Express</a></li>
<li><a href="https://circuitpython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CircuitPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/circuitpython-hardware-hacking-episode-212/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust Language</a></li>
<li><a href="https://www.pyohio.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOhio</a></li>
<li><a href="https://pygotham.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGotham</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpete-fein-episode-242%2F&amp;action_name=Riding+The+Rising+Tides+Of+Python+-+Episode+242&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-12-16t14:44:27+00:00-ac6e0e4a0a60ecb</guid>
      <link>https://www.pythonpodcast.com/pete-fein-episode-242</link>
      <pubDate>Mon, 16 Dec 2019 14:00:00 +0000</pubDate>
      <podcast:soundbite startTime="99.21" duration="17.79">Your host as usual is Tobias Macy. And today I'm interviewing Pete Fine about his voyage on the rising tide of Python. So, Pete, can you start by introducing yourself? Sure. Thank you for having me. My name is Pete Fine. I'm a software engineer and consultant. Work exclusively in Python, for almost close to 20 years.</podcast:soundbite>
      <podcast:soundbite startTime="2201.60" duration="36.10">And since you are living in Pittsburgh and engaged with the community there, and that's where PyCon is going to be for the upcoming 2 events. What are some of the things that people who are attending the conference should know about the area? It's great. We just had a meetup this past week with, the event coordinator, the, like, Python planner from the Python Software Foundation and Emily Morehouse, who's conference chair, coming up, for the next 2 years where they were gonna be in town to go visit the convention center, and they're like, hey. We wanna meet with the community. When is your meetup? And I was like, you just tell me when you're coming, and that's what we'll have a meetup.</podcast:soundbite>
      <podcast:soundbite startTime="503.58" duration="39.91">Yeah. And there have been a number of different points where people have tried to reinvent logging for Python, and there's it's interesting to see the different ways that it gets approached. So there's the work you've done. There's Structlog as you mentioned. A while ago, I had Itamar Twiner Trauering on to talk about Elliot, which is a different approach. There's the logbook project from Armand Ronnicker. So there are a lot of different ways that people have tried to tackle the same problem. But 1 of the limiting things is that for the most part, you do, at some point, need to be able to be at least 1 way compatible with the built in logging library because because you need to be able to consume the you know, consume and propagate the log messages from your 3rd party dependencies as well.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:16</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Riding The Rising Tides Of Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>242</itunes:episode>
      <podcast:episode>242</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302492194553930fb369-a7ae-4a72-976f-3c74dc337f56v1.mp3" length="29638197" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302492194553930fb369-a7ae-4a72-976f-3c74dc337f56v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_930fb369-a7ae-4a72-976f-3c74dc337f56638558800291684876.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/930fb369-a7ae-4a72-976f-3c74dc337f56638558800289220793.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/930fb369-a7ae-4a72-976f-3c74dc337f56638558800286648910.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Debugging Python Projects With PySnooper</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Debugging is a painful but necessary practice in software development. The tools that are available in Python range from the built-in debugger, to tools integrated with your coding environment, to the trusty print function. In this episode Ram Rachum describes his work on PySnooper and how it can be used to speed up your problem solving in complex or legacy applications.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, or running your build servers, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media and the Python Software Foundation. Upcoming events include the Software Architecture Conference in NYC and PyCon US in Pittsburgh. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ram Rachum about PySnooper, an alternative approach to debugging your python projects</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How do developers normally debug their code, and what need does PySnooper address that isn&#8217;t addressed by the established methods?</li>
<li>What is the workflow for using PySnooper for investigating or debugging a project? (This will probably be answered in the answer to the question above)</li>
<li>What are some of the pieces of information that it surfaces and how do they aid the developer in directing their investigation?</li>
<li>What were some of the projects that you were testing it with and how did they influence the direction that you took PySnooper?</li>
<li>Can you describe how PySnooper is implemented and some of the ways that it has evolved since you first began working on it?</li>
<li>What are some of the initial goals that you had for the project which you have since abandoned as either not useful or too challenging to implement?</li>
<li>What are some of the edge cases or technical challenges that you have encountered while working on PySnooper, either in Python itself or in the tool?</li>
<li>There is another project called Snoop which builds on top of your work on PySnooper to add some extra functionality and developer ergonomics. What, if anything, was your reaction to it and how has it influenced your work on PySnooper?</li>
<li>One of the notable aspects of your work on PySnooper is the amount of attention that it garnered shortly after you published it. How has that visibility affected the long-term popularity and use of PySnooper?</li>
<li>What have been some of the most interesting, unexpected, or difficult aspects of creating, maintaining, and promoting PySnooper?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/cool-RR?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cool-RR</a> on GitHub</li>
<li><a href="https://ram.rachum.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Personal Website</a></li>
<li><a href="https://chipmunkdev.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Consulting Website</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://us.pycon.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon US</a>
<ul>
<li><a href="https://us.pycon.org/2020/speaking/talks/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Call for proposals</a></li>
<li><a href="https://us.pycon.org/2020/registration/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Registration</a></li>
</ul>
</li>
</ul>
</li>
<li>Ram</li>
<li><a href="https://www.youtube.com/watch?v=l7TONauJGfc&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nonviolent communication</a></li>
</ul>
<h3>Links</h3>
<ul>
<li>
<p><a href="https://github.com/cool-RR/PySnooper/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PySnooper</a></p>
</li>
<li>
<p><a href="http://pythonworkshops.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ram&#8217;s Python workshops</a></p>
</li>
<li>
<p><a href="https://www.meetup.com/PyWeb-IL/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The PyWeb-IL meetup</a></p>
</li>
<li>
<p><a href="https://www.bluevine.com/careers/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BlueVine&#8217;s career page</a> Submit your CV to Ram&#8217;s email <a href="mailto:ram@rachum.com">mailto:ram@rachum.com</a></p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Tel_Aviv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tel Aviv Israel</a></p>
</li>
<li>
<p><a href="http://www.paulgraham.com/articles.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Paul Graham</a></p>
</li>
<li>
<p><a href="https://www.ycombinator.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Y Combinator</a> startup accelerator</p>
</li>
<li>
<p><a href="https://wingware.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wing IDE</a></p>
</li>
<li>
<p><a href="https://www.jetbrains.com/pycharm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCharm</a></p>
</li>
<li>
<p><a href="https://docs.python.org/dev/library/sys.html#sys.settrace?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sys.settrace</a></p>
</li>
<li>
<p><a href="https://docs.python.org/dev/library/sys.html#sys.settrace?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python f_trace</a></p>
</li>
<li>
<p><a href="https://coverage.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">coverage.py</a></p>
<ul>
<li><a href="https://www.podcastinit.com/coverage-py-with-ned-batchelder-episode-121/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast.<strong>init</strong> Interview</a></li>
</ul>
</li>
<li>
<p><a href="https://www.python.org/dev/peps/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP == Python Enhancement Proposal</a></p>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-37-the-pep-talk/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li>
<p><a href="https://github.com/alexmojaki/snoop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">snoop</a> project</p>
</li>
<li>
<p><a href="https://github.com/alexmojaki?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alex Hall</a></p>
</li>
<li>
<p><a href="https://docs.python.org/3/library/pdb.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pdb</a></p>
</li>
<li>
<p><a href="https://github.com/inducer/pudb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pudb</a></p>
</li>
<li>
<p><a href="https://github.com/pdbpp/pdbpp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pdb++</a></p>
</li>
<li>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</li>
</ul>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpysnooper-python-debugging-episode-241%2F&amp;action_name=Debugging+Python+Projects+With+PySnooper+-+Episode+241&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-12-09t01:34:04+00:00-09fa9ccb16cee29</guid>
      <link>https://www.pythonpodcast.com/pysnooper-python-debugging-episode-241</link>
      <pubDate>Mon, 9 Dec 2019 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="621.63" duration="45.97">So I was thinking maybe I mean, after many years of seeing people use print statements, I was thinking maybe I could do a compromise. Maybe I could provide a solution that is as resilient as print statements and as easy to use, but a little bit more powerful like a debugger. So that's what Python is. So I'm gonna describe how someone would use it and what it provides. Let's say you wanted to use Python to debug your code. So, obviously, you do a pip install PySnooper and import PySnooper. And then you go to the function in which you you wanna understand what's going on, and you decorate it with a pipe number. Snow decorator. And and what that does is it basically does sort of automatic log to your function as if you put a print line on each and every line of your function.</podcast:soundbite>
      <podcast:soundbite startTime="2078.56" duration="53.43">So I'm guessing that many of our listeners might be interested in writing their own open source projects and maybe maybe get them to be very popular. So I'm gonna share what I did and what I think about what contributed to popularity. So the the first thing that's very important, you gotta have a read me. It really explains what your project is about and what kind of needs it's fulfilling. Now, it's going to have a good with me, a good tagline for for your report. And to understand, this is now a marketing effort. You now have to convince the user in, like, I don't know, 20 seconds or 30 seconds that you've got something interesting. Show him something cool. When someone can I mentioned this in the previous census? People are less interested in your project than you are. And this means that if you're if they're going to your project top page, they have, like, 20 seconds or 30 seconds of attention. They are bored. They wanna do something else, but they're thinking maybe maybe you could entertain them. So it's really it's really important to get your message across.</podcast:soundbite>
      <podcast:soundbite startTime="140.57" duration="36.74">So, Ram, can you start by introducing yourself? Sure. Hi, Tobias. I'm happy to be on the show. My name is Ram, and, I've been a long time Python developer. Yeah. I've been involved in open source for a long time. I would say I I've been programming Python for 10 years. Most people know me in the Python community as an organizer of PiWebIL, which is the Israeli Python community. We meet once in a couple of months as a meet up in the evening where volunteers from our community give talks about the various topics, sometimes Python related and sometimes more general software development related talks.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Debugging Python Projects With PySnooper</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>241</itunes:episode>
      <podcast:episode>241</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306979143876db38c563-7e5c-4b65-8235-842ff94ac1a8v1.mp3" length="26939386" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306979143876db38c563-7e5c-4b65-8235-842ff94ac1a8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_db38c563-7e5c-4b65-8235-842ff94ac1a8638558819519344108.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/db38c563-7e5c-4b65-8235-842ff94ac1a8638558819515608876.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/db38c563-7e5c-4b65-8235-842ff94ac1a8638558819513199510.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Making Complex Software Fun And Flexible With Plugin Oriented Programming</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Starting a new project is always exciting because the scope is easy to understand and adding new features is fun and easy. As it grows, the rate of change slows down and the amount of communication necessary to introduce new engineers to the code increases along with the complexity. Thomas Hatch, CTO and creator of SaltStack, didn&#8217;t want to accept that as an inevitable fact of software, so he created a new paradigm and a proof-of-concept framework to experiment with it. In this episode he shares his thoughts and findings on the topic of plugin oriented programming as a way to build and scale complex projects while keeping them fun and flexible.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, the Data Orchestration Summit, and Data Council in NYC. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Thomas Hatch about his work on the POP library and how he is using plugin oriented programming in his work at SaltStack</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving your definition of Plugin Oriented Programming and your thoughts on what benefits it provides?</li>
<li>You created the POP library as a framework for enabling developers to incorporate this pattern into their own projects. What capabilities does that framework provide and what was your motivation for creating it?
<ul>
<li>How has your work on Salt influenced your thinking on how to implement plugins for software projects?</li>
<li>How does POP fit into the future of the SaltStack project?</li>
</ul>
</li>
<li>What are some of the advanced patterns or paradigms that the POP model allows for?</li>
<li>Can you describe how the POP library itself is implemented and some of the ways that its design has evolved since you first began experimenting with it?
<ul>
<li>What are some of the languages or libraries that you have looked at for inspiration in your design and philosophy around this development pattern?</li>
</ul>
</li>
<li>For someone who is building a project on top of POP what does their workflow look like and what are some of the up-front design considerations they should be thinking of?</li>
<li>How do you define and validate the contract exposed by or expected from a plugin subsystem?</li>
<li>One of the interesting capabilities that you highlight in the documentation is the concept of merging applications. What are your thoughts on the challenges that an engineer might face when merging library or microservice applications built with POP into a single deployable artifact?
<ul>
<li>What would be involved in going the other direction to split a single application into independently runnable microservices?</li>
</ul>
</li>
<li>When extracting common functionality from a group of existing applications, what are the relative merits of creating a plugin sybsystem vs writing a library?</li>
<li>How does the system design of a POP application impact the available range of communication patterns for software and the teams building it?</li>
<li>What are some antipatterns that you anticipate for teams building their projects on top of POP?</li>
<li>In the documentation you mention that POP is just an example implementation of the broader pattern and that you hope to see other languages and developer communities adopt it. What are some of the barriers to adoption that you foresee?</li>
<li>What are some of the limitations of POP or cases where you would recommend against following this paradigm?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen POP used?</li>
<li>What have been some of the most interesting, unexpected, or challenging aspects of building POP?</li>
<li>What do you have planned for the future of the POP library, or any applications where you plan to employ this pattern?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/thatch45?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">thatch45</a> on GitHub</li>
<li><a href="https://twitter.com/thatch45?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@thatch45</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_Man_in_the_High_Castle_(TV_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Man In The High Castle</a> TV series</li>
</ul>
</li>
<li>Thomas
<ul>
<li><a href="https://en.wikipedia.org/wiki/Jack_Ryan_(TV_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jack Ryan</a> TV Series</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-1-thomas-hatch/?utm_source=rss&utm_medium=rss">Episode 1</a></li>
<li><a href="https://pop.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">POP</a></li>
<li><a href="https://www.saltstack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://en.wikipedia.org/wiki/Microservices?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microservices</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linus_Torvalds?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linus Torvalds</a></li>
<li><a href="https://saltconf.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltConf</a></li>
<li><a href="https://docs.saltstack.com/en/latest/topics/thorium/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack Thorium</a></li>
<li><a href="https://docs.saltstack.com/en/latest/topics/beacons/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Salt Beacons</a></li>
<li><a href="https://docs.saltstack.com/en/latest/topics/reactor/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Salt Reactors</a></li>
<li><a href="https://docs.saltstack.com/en/latest/topics/grains/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Salt Grains</a></li>
<li><a href="https://github.com/saltstack/idem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Idem</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AsyncIO</a></li>
<li><a href="https://nim-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nim</a></li>
<li><a href="https://ocaml.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OCaml</a></li>
<li><a href="https://julialang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Julia</a></li>
<li><a href="https://llvm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LLVM</a></li>
<li><a href="https://en.wikipedia.org/wiki/Object-oriented_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Object Oriented Programming</a></li>
<li><a href="https://golang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Go Language</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://en.wikipedia.org/wiki/Role-based_access_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RBAC == Role Based Access Control</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_Mythical_Man-Month?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Mythical Man Month</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linux_kernel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linux Kernel</a></li>
<li><a href="https://github.com/saltstack/heist?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heist</a></li>
<li><a href="https://github.com/saltstack/umbra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Umbra</a></li>
<li><a href="https://en.wikipedia.org/wiki/Flow-based_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flow Programming</a></li>
<li><a href="https://magic.wizards.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magic The Gathering</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fplugin-oriented-programming-episode-240%2F&amp;action_name=Making+Complex+Software+Fun+And+Flexible+With+Plugin+Oriented+Programming+-+Episode+240&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-12-03t03:22:15+00:00-2dfc066de54f8eb</guid>
      <link>https://www.pythonpodcast.com/plugin-oriented-programming-episode-240</link>
      <pubDate>Tue, 3 Dec 2019 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="156.85" duration="55.39">And so as you mentioned, you've been working on Salt for a number of years now, and 1 of the outgrowths of that is your work on this PoP library. So before we get too far into that, I'm wondering if you can just start by giving your definition of how you view plug in oriented programming and some of your thoughts on the benefits that it provides. You bet. It's it's been really interesting. I feel like I almost stumbled upon the concept of turning my plug in system into a programming paradigm, until about a year ago if in my development when I realized that that's kinda what I've done. The the core idea behind plugin oriented programming is that whenever we make large scale applications, we almost always need to make them pluggable to a certain degree, make them extremely modular. And so I thought, wouldn't it be better if we just started building things in a pluggable way?</podcast:soundbite>
      <podcast:soundbite startTime="2787.31" duration="65.23">Yes. It does. And moving on from some of the technical implications of pop into some of the more social and communications oriented ones that we alluded to earlier, I'm curious what you anticipate as far as teams who are using this paradigm for developing their software, how that impacts the possible team structures and communication patterns that are possible, where a lot of times we have teams that are either centrally located or distributed, and so that influences whether we build monoliths or microservices. It seems that this might unlock some slightly more nuanced or evolutionary ways to design and implement team structures and how that reflects in the software that we're building? That's an excellent question because when when we look at building teams to develop large pieces of software, there's this this book that's, kinda old. I wanna say I think it was released in 1974 called the mythical man month, And I love this book. I was surprised how few people have read it nowadays. I mean, when I started out in college, it was kinda mandatory reading. Right?</podcast:soundbite>
      <podcast:soundbite startTime="272.02" duration="64.27">And I understand that a lot of your thinking about how this should work and some of the design features of what pop provides are influenced by the work that you've done on Salt itself, which is definitely very extensible and plug in oriented platform. So I'm wondering if you can talk a bit about some of the ways that Salt has influenced your thinking on how to implement plug ins for software projects and some of the ways that those thoughts and your ideas of best practices have manifested in the PoP library and some of the capabilities that it provides. Yeah. And so when we come back and we look at, Salt, to be honest, in the beginning, I wrote a plugin system for Salt. And I and I didn't think that we would use it inside of SALT anywhere near as much as we did. And at this point, I think that there are 36 plug in subsystems inside of Salt, which abstracts from a PoP perspective something like 12 independent applications. And when I started working on POP, I really was looking at the the plugin system inside of SALT and saying, hey, this is really useful.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:02:38</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Making Complex Software Fun And Flexible With Plugin Oriented Programming</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>240</itunes:episode>
      <podcast:episode>240</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298771805761f9b7e401-e91c-464e-b0e9-1e939918a472v1.mp3" length="52808689" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298771805761f9b7e401-e91c-464e-b0e9-1e939918a472v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f9b7e401-e91c-464e-b0e9-1e939918a472638558793615668170.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f9b7e401-e91c-464e-b0e9-1e939918a472638558793609822950.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f9b7e401-e91c-464e-b0e9-1e939918a472638558793607458762.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Faster And Safer Software Development With Feature Flags</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Any software project that is worked on or used by multiple people will inevitably reach a point where certain capabilities need to be turned on or off. In this episode Pete Hodgson shares his experience and insight into when, how, and why to use feature flags in your projects as a way to enable that practice. In addition to the simple on and off controls for certain logic paths, feature toggles also allow for more advanced patterns such as canary releases and A/B testing. This episode has something useful for anyone who works on software in any language.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Pete Hodgson about the concept of feature flags and how they can benefit your development workflow</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what a feature flag is?
<ul>
<li>What was your first experience with feature flags and how did it affect your approach to software development?</li>
</ul>
</li>
<li>What are some of the ways that feature flags are used?
<ul>
<li>What are some antipatterns that you have seen for teams using feature flags?</li>
</ul>
</li>
<li>What are some of the alternative development practices that teams will employ to achieve the same or similar outcomes to what is possible with feature flags?</li>
<li>Can you describe some of the different approaches to implementing feature flags in an application?
<ul>
<li>What are some of the common pitfalls or edge cases that teams run into when building an in-house solution?</li>
<li>What are some useful considerations when making a build vs. buy decision for a feature toggling service?</li>
</ul>
</li>
<li>What are some of the complexities that get introduced by feature flags for mantaining application code over the long run?</li>
<li>What have you found to be useful or effective strategies for cataloging and documenting feature toggles in an application, particularly if they are long lived or for open source applications where there is no institutional context?</li>
<li>Can you describe some of the lifecycle considerations for feature flags, and how the design, implementation, or use of them changes for short-lived vs long-lived use cases?</li>
<li>What are some cases where the overhead of implementing and maintaining a feature flag infrastructure outweighs the potential benefit?</li>
<li>What advice or references do you recommend for anyone who is interested in using feature flags for their own work?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://blog.thepete.net/about/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/ph1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ph1</a> on Twitter</li>
<li><a href="https://github.com/moredip?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">moredip</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://learn.adafruit.com/adafruit-circuit-playground-express/overview?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Circuit Playground Express</a>
<ul>
<li><a href="https://www.pythonpodcast.com/circuitpython-hardware-hacking-episode-212/?utm_source=rss&utm_medium=rss">CircuitPython Episode</a></li>
</ul>
</li>
</ul>
</li>
<li>Pete
<ul>
<li><a href="https://itrevolution.com/book/accelerate/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Accelerate</a> by Nicole Forsgren, Jez Humble, and Gene Kim</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://en.wikipedia.org/wiki/Feature_toggle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feature Flag</a></li>
<li><a href="https://martinfowler.com/articles/feature-toggles.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pete&#8217;s Blog Post On Feature Flags</a></li>
<li><a href="https://www.thoughtworks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thoughtworks</a></li>
<li><a href="https://en.wikipedia.org/wiki/Continuous_delivery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Delivery</a></li>
<li><a href="https://continuousdelivery.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Delivery Book</a></li>
<li><a href="https://trunkbaseddevelopment.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trunk Based Development</a></li>
<li><a href="https://martinfowler.com/bliki/BranchByAbstraction.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Branch By Abstraction</a></li>
<li><a href="https://en.wikipedia.org/wiki/Technical_debt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Technical Debt</a></li>
<li><a href="https://en.wikipedia.org/wiki/Strategy_pattern?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Strategy Pattern</a></li>
<li><a href="https://en.wikipedia.org/wiki/Polymorphism_(computer_science)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polymorphism</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeature-flags-episode-239%2F&amp;action_name=Faster+And+Safer+Software+Development+With+Feature+Flags+-+Episode+239&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-11-26t12:28:20+00:00-f9be2ee22fd8694</guid>
      <link>https://www.pythonpodcast.com/feature-flags-episode-239</link>
      <pubDate>Tue, 26 Nov 2019 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="198.60" duration="26.43">So I think the way I think about it kind of fundamentally, a feature flag is a is a way of choosing between 2 code paths, normally at run time. So you can think of it, as a way to kind of dynamically choose or adjust the the business logic in in a system in in in your kind of app without recompiling and and and redeploying that app.</podcast:soundbite>
      <podcast:soundbite startTime="3058.95" duration="30.32">So the 2 I we've not really touched on it, but I think the 2 piece the 2 pieces of advice I I have, which sound a bit contradictory, but I don't think they are. The first piece of advice I have is just start really simply. Don't don't start with a open source framework. Don't start with a SaaS product. If you're literally just wanna get started, just start with a simple if else statement in your code or something like that and, and get comfortable with the concepts of of of feature flagging.</podcast:soundbite>
      <podcast:soundbite startTime="1272.53" duration="33.40">So I think that's that's 1 thing that I think is is really beneficial is to centralize and abstract the reasons behind the decision being made and and kind of not let that leak into your code. I think that's that's really valuable. And that's that's, again, that's something that if you kind of start with just a simple checker configuration value and and and call call function a or function b, it it it feels like overkill to do that. But at some point, you've got to realize that there's a lot of benefit in in kind of abstracting over the reason for the decision versus the the place where you're making a decision.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:01:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Faster And Safer Software Development With Feature Flags</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>239</itunes:episode>
      <podcast:episode>239</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530687749975069cd509f-6202-4135-b77d-83ac5cd558a8v1.mp3" length="48960030" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530687749975069cd509f-6202-4135-b77d-83ac5cd558a8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_69cd509f-6202-4135-b77d-83ac5cd558a8638558819350097633.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/69cd509f-6202-4135-b77d-83ac5cd558a8638558819347193495.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/69cd509f-6202-4135-b77d-83ac5cd558a8638558819345062580.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>From Simple Script To Beautiful Web Application With Streamlit</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Building well designed and easy to use web applications requires a significant amount of knowledge and experience across a range of domains. This can act as an impediment to engineers who primarily work in so-called back-end technologies such as machine learning and systems administration. In this episode Adrien Treuille describes how the Streamlit framework empowers anyone who is comfortable writing Python scripts to create beautiful applications to share their work and make it accessible to their colleagues and customers. If you have ever struggled with hacking together a simple web application to make a useful script self-service then give this episode a listen and then go experiment with how Streamlit can level up your work.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Having all of your logs and event data in one place makes your life easier when something breaks, unless that something is your Elastic Search cluster because it&#8217;s storing too much data. CHAOSSEARCH frees you from having to worry about data retention, unexpected failures, and expanding operating costs. They give you a fully managed service to search and analyze all of your logs in S3, entirely under your control, all for half the cost of running your own Elastic Search cluster or using a hosted platform. Try it out for yourself at <a href="https://www.pythonpodcast.com/chaossearch?utm_source=rss&utm_medium=rss">pythonpodcast.com/chaossearch</a> and don&#8217;t forget to thank them for supporting the show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, the Data Orchestration Summit, and Data Council in NYC. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Adrien Treuille about Streamlit, an open source app framework built for machine learning and data science teams</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Streamlit is and its origin story?</li>
<li>What are some of the types of applications that are commonly built by data teams and who are the typical consumers of those projects?</li>
<li>What are some of the challenges or complications that are unique to this problem space?</li>
<li>What are some of the complications or challenges that you have faced to integrate Streamlit with so many different machine learning frameworks?</li>
<li>Can you describe the technical implementation of Streamlit and how it has evolved since you began working on it?
<ul>
<li>How did you approach the design of the API and development workflow to tailor it for the needs and capabilities of machine learning engineers?</li>
<li>If you were to start the project from scratch today what would you do differently?</li>
</ul>
</li>
<li>What is a typical workflow for someone working on a machine learning application and how does Streamlit fit in?
<ul>
<li>What are some of the types of tools or processes that it replaces?</li>
</ul>
</li>
<li>What are some of the most interesting or unexpected ways that you have seen Streamlit used?</li>
<li>What have you found to be some of the most challenging or unexpected aspects of building and evolving Streamlit?</li>
<li>How do you see Python evolving in light of Streamlit and other work in the machine learning space?</li>
<li>What do you have in store for the future of Streamlit or any adjacent products and services?</li>
<li>How are you approaching the governance and sustainability of the Streamlit open source project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="http://www.cs.cmu.edu/~./treuille/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/adrien-treuille-52215718/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/myelbows?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@myelbows</a> on Twitter</li>
<li><a href="https://github.com/treuille?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">treuille</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.basicbooks.com/titles/judea-pearl/the-book-of-why/9780465097609/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Book Of Why</a> by Judea Pearl</li>
</ul>
</li>
<li>Adrien
<ul>
<li><a href="https://www.penguinrandomhouse.com/books/223986/no-self-no-problem-by-anam-thubten/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">No Self, No Problem</a> by Anam Thubten</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://streamlit.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Streamlit</a>
<ul>
<li><a href="https://discuss.streamlit.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://github.com/streamlit/streamlit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://twitter.com/streamlit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>
</li>
<li><a href="https://www.cmu.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Carnegie Mellon University</a></li>
<li><a href="https://x.company/?utm_source=rss&utm_medium=rss" target="_blank">Google X</a></li>
<li><a href="https://zoox.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zoox</a></li>
<li><a href="https://www.ibm.com/us-en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IBM</a></li>
<li><a href="https://www.cornell.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cornell University</a></li>
<li><a href="https://numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://www.scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://www.oreilly.com/radar/what-are-machine-learning-engineers/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Engineer</a></li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://deck.gl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeckGL</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://plot.ly/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plotly</a></li>
<li><a href="https://seaborn.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seaborn</a></li>
<li><a href="https://altair-viz.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Altair</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://developers.google.com/protocol-buffers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Protocol Buffers</a></li>
<li><a href="https://streamlit.io/forteams/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Streamlit for teams</a></li>
<li><a href="https://heroku.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heroku</a></li>
<li><a href="https://aws.amazon.com/ec2/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EC2</a></li>
<li><a href="http://reactjs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React JS</a></li>
<li><a href="http://awesome-streamlit.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Awesome Streamlit</a></li>
<li><a href="https://palletsprojects.com/p/flask/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://plot.ly/dash/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plotly Dash</a></li>
<li><a href="https://voila.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Voila</a></li>
<li><a href="https://nips.cc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NeurIPS</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fstreamlit-web-application-episode-238%2F&amp;action_name=From+Simple+Script+To+Beautiful+Web+Application+With+Streamlit+-+Episode+238&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-11-18t21:33:12+00:00-4abc8106437a358</guid>
      <link>https://www.pythonpodcast.com/streamlit-web-application-episode-238</link>
      <pubDate>Mon, 18 Nov 2019 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="879.20" duration="48.55">So digging deeper into Streamlit itself, can you describe a bit about how it's implemented and some of the ways that it's evolved since you first began implementing and iterating on it? So, in terms of how Streamlit's implemented, the the basic idea is that instead of saying Python your Python file, you say streamlet run your Python file. And what that does is we take it, we take your Python file, we import all of the imported libraries, and and then we run it in what we call a ScriptRunner. And what this ScriptRunner does is connect first of all, it allows your script to connect live to a web browser via a WebSocket connection.</podcast:soundbite>
      <podcast:soundbite startTime="267.64" duration="30.59">So, what Streamlit is is an app framework, really for the whole Python language. But we started, with ML engineers and data scientists, and that's because that's really what our background was. And we had a lot of experience in this numerical computing. And, we 1 of the things that I noticed, basically, at Carnegie Mellon, at Zukes, and at Google is that, actually, if you're in a Python dev team, you spend a lot of time building web tools.</podcast:soundbite>
      <podcast:soundbite startTime="140.54" duration="26.57">And so, Adrian, can you start by introducing yourself? Hi. Yeah. So I'm Adrian. I started Streamlit about a year ago with, some friends of mine, and we launched it 5 weeks ago. It's been really exciting. And before that, I was a professor at Carnegie Mellon University. I ran a pretty big AI project at Google X, and I was vice president of simulation at Zoox, which is a unicorn, a self driving car startup.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>From Simple Script To Beautiful Web Application With Streamlit</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>238</itunes:episode>
      <podcast:episode>238</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298370126897c938f9e2-8e55-41dc-9b64-13ac33b7c33dv1.mp3" length="38192088" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298370126897c938f9e2-8e55-41dc-9b64-13ac33b7c33dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c938f9e2-8e55-41dc-9b64-13ac33b7c33d638558792133845225.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c938f9e2-8e55-41dc-9b64-13ac33b7c33d638558792130913079.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c938f9e2-8e55-41dc-9b64-13ac33b7c33d638558792128539995.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Automate Your Server Security With GrapheneX</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The internet is rife with bots and bad actors trying to compromise your servers. To counteract these threats it is necessary to diligently harden your systems to improve server security. Unfortunately, the hardening process can be complex or confusing. In this week&#8217;s episode 18 year old Orhun Parmaksiz shares the story of how he and his friends created the GrapheneX framework to simplify the process of securing and maintaining your servers using the power and flexibility of Python. If you run your own software then this is definitely worth a listen.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Having all of your logs and event data in one place makes your life easier when something breaks, unless that something is your Elastic Search cluster because it&#8217;s storing too much data. CHAOSSEARCH frees you from having to worry about data retention, unexpected failures, and expanding operating costs. They give you a fully managed service to search and analyze all of your logs in S3, entirely under your control, all for half the cost of running your own Elastic Search cluster or using a hosted platform. Try it out for yourself at <a href="https://www.pythonpodcast.com/chaossearch?utm_source=rss&utm_medium=rss">pythonpodcast.com/chaossearch</a> and don&#8217;t forget to thank them for supporting the show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, the Data Orchestration Summit, and Data Council in NYC. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Orhun Parmaksiz about GrapheneX, a framework for simplifying the process of hardening your servers</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what we mean when we talk about hardening of servers?</li>
<li>What are the common ways of hardening a system, which techniques can we use for this purpose?</li>
<li>What are some of the high level categories of threats that operators should be considering?</li>
<li>What is GrapheneX and what was your motivation for creating it?
<ul>
<li>How does GrapheneX aid users in the process of increasing the security of their infrastructure?</li>
<li>Is any extra operating system knowledge required for using GrapheneX?</li>
</ul>
</li>
<li>Can you talk through the workflow for someone using GrapheneX to harden their systems?
<ul>
<li>What options does it support for managing deployment across a fleet of servers?</li>
</ul>
</li>
<li>Some security controls can actually prevent proper operation of the applications and services that are deployed on a server. How do you approach preventing those scenarios or educating the users in determining which controls are appropriate?</li>
<li>Why did you choose Python for a project like GrapheneX?</li>
<li>How is GrapheneX implemented?
<ul>
<li>How has the design evolved since you first began working on it?</li>
<li>If you were to start the project over today, what would you do differently?</li>
</ul>
</li>
<li>Do you accept contributions to the framework? If so, what kind of contributions are needed for improving GrapheneX?</li>
<li>For someone who is interested in adding a new module to the framework, what is involved?</li>
<li>What have you found to be the most interesting or challenging aspects of your work on GrapheneX?</li>
<li>What, if any, aspects of server security have you consciously avoided implementing in GrapheneX?</li>
<li>What are your future plans about the GrapheneX?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://orhun.github.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Orhun</a>
<ul>
<li><a href="https://github.com/orhun?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://twitter.com/orhunp_?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://www.linkedin.com/in/orhunp/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Chess?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chess</a></li>
</ul>
</li>
<li>Orhun
<ul>
<li><a href="https://www.youtube.com/watch?v=qI6qyW3QCLc&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Creeping in My Soul</a> by Cryoshell</li>
<li><a href="https://www.youtube.com/watch?v=cs6NQre8s28&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gravity Hurts</a> by Cryoshell</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/grapheneX?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GrapheneX</a>
<ul>
<li><a href="https://github.com/grapheneX/grapheneX?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://graphenex.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://pypi.org/project/graphenex/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPI</a></li>
<li><a href="https://twitter.com/grapheneX_?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://trello.com/graphenex?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trello</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/Wiki/Graphene?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphene</a></li>
<li><a href="https://github.com/grapheneX/grapheneX/issues/102?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">New Modules for GNU/Linux &amp; Windows (Issue)</a></li>
<li><a href="https://palletsprojects.com/p/flask/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a>
<ul>
<li><a href="https://flask-socketio.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask-SocketIO</a></li>
</ul>
</li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React</a></li>
<li><a href="https://github.com/trimstray/linux-hardening-checklist?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">trimstray/linux-hardening-checklist</a></li>
<li><a href="https://www.upguard.com/blog/the-windows-server-hardening-checklist?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Windows Server Hardening Checklist</a></li>
<li><a href="https://en.wikipedia.org/wiki/Firewall_(computing)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Firewall</a>
<ul>
<li><a href="https://en.wikipedia.org/Wiki/Windows_Firewall?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Windows Firewall</a></li>
<li><a href="https://linux.die.net/man/8/iptables?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linux iptables</a></li>
</ul>
</li>
<li><a href="https://calcomsoftware.com/pci-dss-2-2-compliance/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PCI-DSS 2.2 requirement- server hardening standards</a></li>
<li><a href="https://www.cisecurity.org/cis-benchmarks/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CIS Benchmarks</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgraphenex-server-security-episode-237%2F&amp;action_name=Automate+Your+Server+Security+With+GrapheneX+-+Episode+237&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-11-11t22:47:44+00:00-53de695c05f52e8</guid>
      <link>https://www.pythonpodcast.com/graphenex-server-security-episode-237</link>
      <pubDate>Mon, 11 Nov 2019 22:00:00 +0000</pubDate>
      <podcast:soundbite startTime="638.80" duration="22.98">And you mentioned that it helps to automate executing this list of commands for being able to improve the overall security of a system. I'm wondering if you can talk through an example workflow of somebody using Graphinex to harden their system and some of the options that are exposed and just some of the overall decisions that they need to make as they're interacting with the software?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:35:42</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Automate Your Server Security With GrapheneX</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>237</itunes:episode>
      <podcast:episode>237</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531434727522284c1d97e-0ccc-42bb-83df-958838395acav1.mp3" length="25362314" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531434727522284c1d97e-0ccc-42bb-83df-958838395acav1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_84c1d97e-0ccc-42bb-83df-958838395aca638558824574889269.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/84c1d97e-0ccc-42bb-83df-958838395aca638558824571776535.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/84c1d97e-0ccc-42bb-83df-958838395aca638558824569856698.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Accelerating The Adoption Of Python At Wayfair</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Large companies often have a variety of programming languages and technologies being used across departments to keep the business running. Python has been gaining ground in these environments because of its flexibility, ease of use, and developer productivity. In order to accelerate the rate of adoption at Wayfair this week&#8217;s guest Jonathan Biddle started a team to work with other engineering groups on their projects and show them how best to take advantage of the benefits of Python. In this episode he explains their operating model, shares their success stories, and provides advice on the pitfalls to avoid if you want to follow in his footsteps. This is definitely worth a listen if you are using Python in your work or would like to aid in its adoption.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Having all of your logs and event data in one place makes your life easier when something breaks, unless that something is your Elastic Search cluster because it&#8217;s storing too much data. CHAOSSEARCH frees you from having to worry about data retention, unexpected failures, and expanding operating costs. They give you a fully managed service to search and analyze all of your logs in S3, entirely under your control, all for half the cost of running your own Elastic Search cluster or using a hosted platform. Try it out for yourself at <a href="https://www.pythonpodcast.com/chaossearch?utm_source=rss&utm_medium=rss">pythonpodcast.com/chaossearch</a> and don&#8217;t forget to thank them for supporting the show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, the Data Orchestration Summit, and Data Council in NYC. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jonathan Biddle about his work to encourage and empower Wayfair engineers in their use of Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the mission statement for you and your team at Wayfair?
<ul>
<li>What is the origin story for how your group got started?
<ul>
<li>How and where was Python being used within Wayfair at the time?</li>
</ul>
</li>
</ul>
</li>
<li>What are the primary languages that are used throughout Wayfair?
<ul>
<li>What is involved in the selection process for a language and technology stack for new projects within Wayfair?</li>
</ul>
</li>
<li>Can you describe how and why you work with different groups throughout Wayfair?</li>
<li>What are some of the common misconceptions or barriers that you encounter when working with other engineering and product teams about how and where Python will be useful?</li>
<li>How large is your team currently and what is the length of a typical engagement?
<ul>
<li>How has the scale and scope of your work changed since your group was first formed?</li>
</ul>
</li>
<li>How many different product teams have you worked with at this point and what are some of the notable outcomes?</li>
<li>What are some of the most challenging aspects, both technical and organizational, of educating other engineers on when and how to use Python?</li>
<li>Can you share some examples of engagements that you would classify as a failure?
<ul>
<li>What lessons have you learned from those situations?</li>
</ul>
</li>
<li>What advice do you have for other groups or organizations who may be considering or actively launching similar initiatives?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.jonbiddle.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/jonbiddle/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/jonbiddle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jonbiddle</a> on Twitter</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://learnbayesstats.anvil.app/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Learning Bayesian Statistics</a> Podcast</li>
</ul>
</li>
<li>Jonathan
<ul>
<li><a href="https://pydantic-docs.helpmanual.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyDantic</a></li>
<li><a href="https://fastapi.tiangolo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastAPI</a></li>
<li><a href="https://www.mkdocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MKDocs</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.wayfair.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wayfair</a></li>
<li><a href="https://www.zope.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.php.net/manual/en/intro-whatis.php?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://en.wikipedia.org/wiki/JavaScript?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Javascript</a></li>
<li><a href="https://dotnet.microsoft.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">.NET</a></li>
<li><a href="https://kafka.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kafka</a></li>
<li><a href="https://twitter.com/jackdied?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jack Diederich</a> &#8211; <a href="https://www.youtube.com/watch?v=o9pEzgHorH0&amp;feature=youtu.be&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stop Writing Classes</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpython-adoption-wayfair-episode-236%2F&amp;action_name=Accelerating+The+Adoption+Of+Python+At+Wayfair+-+Episode+236&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-11-03t12:26:35+00:00-67f8a15f7c6eb4f</guid>
      <link>https://www.pythonpodcast.com/python-adoption-wayfair-episode-236</link>
      <pubDate>Sun, 3 Nov 2019 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2078.50" duration="168.70">Yeah. Totally. This is a great question, because in retrospect, there was a lot of pitfalls that we tried to avoid that I think could, like, sabotage a team's effort as I try and navigate this. First of all, I think I I get the impression that there's a lot of companies that have probably had some Python leak into their ecosystem just because of the the the data science, traction that Python has. And, like, at some point, you have to, like, figure out how to productionize that. Python becomes, like, maybe a a pretty easy path to go down. So, like, I'm I'm willing to bet there's a lot of organizations that, like, already have a little bit of Python and similar to Wayfair a few years ago, they figured out, okay. What do we do with this? How do we how do we do this properly? I would say this would be by guidance. Every ecosystem is gonna be different. And what you wanna do is, in my opinion, don't sit on the sidelines and try and think of what the perfect solution would be. Go and just work with the teams firsthand and see where they're struggling. Take that to heart and try and make that easy. Figure out how you, like, build some advocates both on the engineering but also on the product side when they see, like, Python being used, you know, to maximize its strengths, which I would argue if someone were to ask me personally, like, why use Python? I I think Python has this great story of being, like sure. It might not be the most performant language and languages view a straight up benchmark, but Python is so fast to get up and running and iterate on. If you're if, like, speed to market is at all a concern, I think Python becomes an extremely strong option. In fact, if someone asked me very personally, I generally say that, like, someone someone has to convince me why not to use Python because it's just so such a good general purpose language, and there are plenty of use cases where it's probably not a good fit. But I wanna see that case made before I personally would jump for it. Granted, I'm biased. I've been, you know, playing with Python since 2, 006 or so, but it's a, it's such a strong language. I I think there's a lot of organizations that will find that very, very appealing. And my final advice would be make sure you, view the team as never a dependency or gatekeeping team. You're there to pave roads and help other people figure out how to become more effective. In fact, if you become a dependency at any point, there's a serious risk that you will become swarmed with that that type of activity, and you actually become incapable of moving forward in the platform. Let's say if, if you had everyone come through you before they, like, went out to production or something like that. Like, that backlog could build up really fast potentially, and now you're spending all your time doing those activities instead of actually automating and and innovating on things.</podcast:soundbite>
      <podcast:soundbite startTime="224.02" duration="44.23">I'm wondering if you can start by describing a bit about the overall mission statement for you and your team at Wayfair and some of the origin story about how your group got started. Sure. Yeah. Definitely. So, over 2 over 2, 000 of it Wayfair and growing. If they're focused on actually delivering, like, business value and focus on their their the the task at hand and not fighting with, like, standing up logging or figuring out how to get a project running in production or anything along those lines. We wanna get them, as quickly as possible onto, like, the meat of their problems and and pave those roads. So that's, like, really what we're trying to do is reduce friction and, get people adopting best practices to be really effective.</podcast:soundbite>
      <podcast:soundbite startTime="134.49" duration="28.43">And today, I'm interviewing Jonathan Biddle about his work to encourage and empower Wayfair engineers and their use of Python. So, Jonathan, can you start by introducing yourself? Sure. My name is Jonathan Biddle. I lead the team at Wayfair called developer acceleration. You can think of our team as essentially trying to help other teams become more effective. So I I consider us a bit of a a meta team in that regard, and a large part of that would be how we kind of drove a lot of Python adoption over the past, I'd say about 2 and a half years at this point.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:03</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Accelerating The Adoption Of Python At Wayfair</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>236</itunes:episode>
      <podcast:episode>236</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298270243364e04da3dd-6a50-452e-956c-118006222e4fv1.mp3" length="32233452" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298270243364e04da3dd-6a50-452e-956c-118006222e4fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e04da3dd-6a50-452e-956c-118006222e4f638558791605372416.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e04da3dd-6a50-452e-956c-118006222e4f638558791602935683.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e04da3dd-6a50-452e-956c-118006222e4f638558791600853584.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building Quantum Computing Algorithms In Python</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Quantum computers are the biggest jump forward in processing power that the industry has seen in decades. As part of this revolution it is necessary to change our approach to algorithm design. D-Wave is one of the companies who are pushing the boundaries in quantum processing and they have created a Python SDK for experimenting with quantum algorithms. In this episode Alexander Condello explains what is involved in designing and implementing these algorithms, how the Ocean SDK helps you in that endeavor, and what types of problems are well suited to this approach.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, the Data Orchestration Summit, and Data Council in NYC. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Alex Condello about the Ocean SDK from D-Wave for building quantum algorithms in Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving a high-level overview of quantum computing?</li>
<li>What is the Ocean SDK and how does it fit into the business model for D-Wave?</li>
<li>What are some of the problem types that a quantum processor is uniquely well suited for?
<ul>
<li>How does the overall system design for a quantum computer compare to that of the Von Neumann architecture that is common for the machines that we are all familiar with?</li>
</ul>
</li>
<li>What are some of the differences in algorithm design when programming for a quantum processor?
<ul>
<li>Is there any specialized background knowledge that is necessary for making effective use of the QPU&#8217;s capabilities?</li>
<li>What are some of the common difficulties that you have seen users struggle with?</li>
<li>How does the Ocean SDK assist the developer in implementing and understanding the patterns necessary for Quantum algorithms?</li>
</ul>
</li>
<li>What was the motivation for choosing Python as the target language for an SDK to attract developers to experiment with quantum algorithms?</li>
<li>Can you describe how the SDK is implemented and some of the integrations that are necessary for being able to operate on a quantum processor?
<ul>
<li>What have you found to be some of the most interesting, challenging, or unexpected aspects of your work on the Ocean software stack?</li>
<li>How do you handle the abstraction of the execution context to allow for replicating the program behavior on CPU/GPU vs QPU</li>
</ul>
</li>
<li>Is there any potential for quantum computing to impact research in previously intractable computer science research, such as the P vs NP problem?</li>
<li>What are your current scaling limits in terms of providing compute to customers for their problems?</li>
<li>What are some of the most interesting, innovative, or unexpected ways that you have seen developers use the Ocean SDK and quantum processors?</li>
<li>What are you most excited for as you look to the future capabilities of quantum systems?
<ul>
<li>What are some of the upcoming challenges that you anticipate for the quantum computing industry?</li>
</ul>
</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/arcondello?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">arcondello</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.pythonpodcast.com/qutip-with-paul-nation-episode-128/?utm_source=rss&utm_medium=rss">QuTip Podcast Interview</a></li>
</ul>
</li>
<li>Alex
<ul>
<li><a href="https://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-45-cython-with-craig-citro-and-robert-bradshaw/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://ocean.dwavesys.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ocean SDK</a></li>
<li><a href="https://www.dwavesys.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D-Wave</a></li>
<li><a href="https://en.wikipedia.org/wiki/Quantum_computing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Computing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Quantum_annealing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Annealing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Quantum_superposition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Superposition</a></li>
<li><a href="https://en.wikipedia.org/wiki/Qubit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qubit</a></li>
<li><a href="https://www.dwavesys.com/take-leap?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D-Wave Leap</a></li>
<li><a href="https://en.wikipedia.org/wiki/Von_Neumann_architecture?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Von Neumann Architecture</a></li>
<li><a href="https://en.wikipedia.org/wiki/CUDA?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cuda</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linear_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linear Programming</a></li>
<li><a href="https://www.dwavesys.com/resources/publications?type=internal&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D-Wave ML Papers</a></li>
<li><a href="https://docs.ocean.dwavesys.com/projects/dwave-networkx/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D-Wave NetworkX</a></li>
<li><a href="https://en.wikipedia.org/wiki/Maximum_cut?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Maximum Cut Problem</a></li>
<li><a href="https://en.wikipedia.org/wiki/Ising_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ising Problem</a></li>
<li><a href="https://www.lanl.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Los Alamos National Laboratory</a></li>
<li><a href="https://en.wikipedia.org/wiki/Vertex_cover?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vertex Cover Problem</a></li>
<li><a href="https://docs.ocean.dwavesys.com/projects/hybrid/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D-Wave Hybrid</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Focean-sdk-quantum-computing-episode-235%2F&amp;action_name=Building+Quantum+Computing+Algorithms+In+Python+-+Episode+235&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-10-28t21:01:05+00:00-8abb21f229f27e3</guid>
      <link>https://www.pythonpodcast.com/ocean-sdk-quantum-computing-episode-235</link>
      <pubDate>Tue, 29 Oct 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="144.82" duration="41.94">And so before we get too far into the topic at hand, I'm wondering if you can just start by giving a bit of a high level overview about what we mean when we're talking about quantum computing. Sure. Yeah. So, you know, I think the best way to define quantum computing, at least in this context, is simply using quantum effects to do calculation. So, you know, as as transistors are getting smaller and smaller and as we're getting down to smaller and smaller scales with our CPUs and GPUs, a significant amount of effort is spent on, you know, accounting for quantum effects and getting around quantum effects to do sort of what we call classical computation. So quantum computing is sort of taking the opposite approach, which is we have these these quantum mechanical effects and we wanna try to exploit them for for computation.</podcast:soundbite>
      <podcast:soundbite startTime="1871.03" duration="54.66">And as you look to the future of quantum computing and the key capabilities that they provide, I'm wondering what you personally are most excited about. I think I'm most excited about hybrid applications. So, you know, D Wave, we recently put out added a new package to our SDK called D Wave Hybrid. This is the idea of combining classical and quantum resources together in order to solve your problem. So, you know, before I describe this idea of different problems fit better on different types of resources, so you might wanna use classical resources for this problem and quantum resources for this other problem. But there's this whole area that, you know, we're really just scratched the surface of, which is using both. So this is things like preprocessing with classical, postprocessing with classical, or with quantum. This is running something simultaneously on classical and quantum. This is using quantum to to guide a classical, computation. There's just a huge number of combinations and a vast area that hasn't been fully explored.</podcast:soundbite>
      <podcast:soundbite startTime="256.47" duration="79.88">And so in order to make this whole new world of computing accessible to developers, D Wave has built the Ocean SDK, and I'm wondering if you could just discuss a bit about what that is, some of the capabilities that it offers, and how it fits into the overall business model for D Wave. Sure. Yeah. So, you know, when I first started at D Wave, actually, I was in our professional services organization, which is, you know, we we would partner with different customers to help them solve their problems. And at the time, we had a, a set of software that that was used to access the system, but it was relatively limited. And, you know, there's just so many problems in quantum computing and so much low hanging fruit and so many ideas that people wanna implement. I mean, it's really a a big wide open area. And, we thought to ourselves that it would be really nice if we could get other people, other smart people in the ecosystem helping us to solve these problems. Tell giving us feedback, helping us make better tools, adding their ideas, you know, contributing their solutions, you know, beating us at our game, benchmarking, all these different things. And, obviously, the best way to access that is with an open source package where, you know, people really can sort of explore these ideas, make contributions, tell us what what we're doing wrong, tell us what we're doing really well. And so the Ocean SDK was was originally just built as a access point to the system.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:36:15</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building Quantum Computing Algorithms In Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>235</itunes:episode>
      <podcast:episode>235</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302673876252b0005549-bea6-4882-87c5-3e0870e08f0dv1.mp3" length="28480617" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302673876252b0005549-bea6-4882-87c5-3e0870e08f0dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b0005549-bea6-4882-87c5-3e0870e08f0d638558801050394887.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b0005549-bea6-4882-87c5-3e0870e08f0d638558801047901727.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b0005549-bea6-4882-87c5-3e0870e08f0d638558801045993842.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Illustrating The Landscape And Applications Of Deep Learning</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Deep learning is a phrase that is used more often as it continues to transform the standard approach to artificial intelligence and machine learning projects. Despite its ubiquity, it is often difficult to get a firm understanding of how it works and how it can be applied to a particular problem. In this episode Jon Krohn, author of Deep Learning Illustrated, shares the general concepts and useful applications of this technique, as well as sharing some of his practical experience in using it for his work. This is definitely a helpful episode for getting a better comprehension of the field of deep learning and when to reach for it in your own projects.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, the Data Orchestration Summit, and Data Council in NYC. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jon Krohn about his recent book, deep learning illustrated</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving a brief description of what we&#8217;re talking about when we say deep learning and how you got involved with the field?
<ul>
<li>How does your background in neuroscience factor into your work on designing and building deep learning models?</li>
</ul>
</li>
<li>What are some of the ways that you leverage deep learning techniques in your work?</li>
<li>What was your motivation for writing a book on the subject?
<ul>
<li>How did the idea of including illustrations come about and what benefit do they provide as compared to other books on this topic?</li>
</ul>
</li>
<li>While planning the contents of the book what was your thought process for determining the appropriate level of depth to cover?
<ul>
<li>How would you characterize the target audience and what level of familiarity and proficiency in employing deep learning do you wish them to have at the end of the book?</li>
</ul>
</li>
<li>How did you determine what to include and what to leave out of the book?
<ul>
<li>The sequencing of the book follows a useful progression from general background to specific uses and problem domains. What were some of the biggest challenges in determining which domains to highlight and how deep in each subtopic to go?</li>
</ul>
</li>
<li>Because of the continually evolving nature of the field of deep learning and the associated tools, how have you guarded against obsolescence in the content and structure of the book?
<ul>
<li>Which libraries did you focus on for your examples and what was your selection process?
<ul>
<li>Now that it is published, is there anything that you would have done differently?</li>
</ul>
</li>
</ul>
</li>
<li>One of the critiques of deep learning is that the models are generally single purpose. How much flexibility and code reuse is possible when trying to repurpose one model pipeline for a slightly different dataset or use case?
<ul>
<li>I understand that deployment and maintenance of models in production environments is also difficult. What has been your experience in that regard, and what recommendations do you have for practitioners to reduce their complexity?</li>
</ul>
</li>
<li>What is involved in actually creating and using a deep learning model?
<ul>
<li>Can you go over the different types of neurons and the decision making that is required when selecting the network topology?</li>
</ul>
</li>
<li>In terms of the actual development process, what are some useful practices for organizing the code and data that goes into a model, given the need for iterative experimentation to achieve desired levels of accuracy?</li>
<li>What is your personal workflow when building and testing a new model for a new use case?</li>
<li>What are some of the limitations of deep learning and cases where you would recommend against using it?</li>
<li>What are you most excited for in the field of deep learning and its applications?
<ul>
<li>What are you most concerned by?</li>
</ul>
</li>
<li>Do you have any parting words or closing advice for listeners and potential readers?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.jonkrohn.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/jonkrohnlearns?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jonkrohnlearns</a> on Twitter</li>
<li><a href="https://github.com/jonkrohn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jonkrohn</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.tylervigen.com/spurious-correlations?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spurious Correlations</a></li>
</ul>
</li>
<li>Jon
<ul>
<li><a href="https://dataelixir.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Elixir</a> Newsletter</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.untapt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Untapt</a></li>
<li><a href="https://www.deeplearningillustrated.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning Illustrated</a></li>
<li><a href="https://www.pearson.com/us/about.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pearson</a></li>
<li><a href="https://www.columbia.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Columbia University</a></li>
<li><a href="https://nycdatascience.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">New York City Data Science Academy</a></li>
<li><a href="https://www.nih.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NIH (National Institutes of Health)</a></li>
<li><a href="http://www.ox.ac.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oxford Uniersity</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://www.r-project.org/about.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R Language</a></li>
<li><a href="https://en.wikipedia.org/wiki/Neuroscience?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neuroscience</a></li>
<li><a href="https://en.wikipedia.org/wiki/Artificial_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artificial Neural Network</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Natural_language_processing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Natural Language Processing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computer_vision?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computer Vision</a></li>
<li><a href="https://en.wikipedia.org/wiki/Generative_adversarial_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Generative Adversarial Networks</a></li>
<li><a href="http://www.deeplearningbook.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a> by Ian Goodfellow, et al.</li>
<li><a href="https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hands On Machine Learning</a> by Aurélien Géron</li>
<li><a href="http://www.anrdoezrs.net/click-7850795-13722491?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">O&#8217;Reilly Online Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transfer_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transfer Learning</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="http://garymarcus.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gary Marcus</a></li>
<li><a href="https://en.wikipedia.org/wiki/Judea_Pearl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Judea Pearl</a></li>
<li><a href="https://en.wikipedia.org/wiki/Artificial_general_intelligence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artificial General Intelligence</a></li>
<li><a href="https://en.wikipedia.org/wiki/Explainable_artificial_intelligence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Explainable AI</a></li>
<li><a href="https://www.ynharari.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yuval Noah Harrari</a>
<ul>
<li><a href="https://www.ynharari.com/book/sapiens/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sapiens</a></li>
<li><a href="https://www.ynharari.com/book/homo-deus/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Deus</a></li>
</ul>
</li>
<li><a href="https://waitbutwhy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wait But Why?</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdeep-learning-illustrated-episode-234%2F&amp;action_name=Illustrating+The+Landscape+And+Applications+Of+Deep+Learning+-+Episode+234&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-10-21t02:22:58+00:00-b0b8ab1000c8973</guid>
      <link>https://www.pythonpodcast.com/deep-learning-illustrated-episode-234</link>
      <pubDate>Tue, 22 Oct 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2064.59" duration="5.22">I'm really glad that you enjoyed that part of it. For me, that was a really important, chapter to write.</podcast:soundbite>
      <podcast:soundbite startTime="630.26" duration="10.71">And the really, really cool thing about deep learning models is that it is able to figure out what these important high level abstract representations are fully automatically from the training data alone.</podcast:soundbite>
      <podcast:soundbite startTime="198.12" duration="5.96">So lots of different things going on, but generally, the thread that ties them all together is deep learning.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:56:21</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Illustrating The Landscape And Applications Of Deep Learning</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>234</itunes:episode>
      <podcast:episode>234</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306445013531f373538c-613a-45b7-ba9d-7d03ac5a7554v1.mp3" length="38989914" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306445013531f373538c-613a-45b7-ba9d-7d03ac5a7554v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f373538c-613a-45b7-ba9d-7d03ac5a7554638558817738817327.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f373538c-613a-45b7-ba9d-7d03ac5a7554638558817735534022.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f373538c-613a-45b7-ba9d-7d03ac5a7554638558817733710615.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Andrew's Adventures In Coderland</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Software development is a unique profession in many ways, and it has given rise to its own subculture due to the unique sets of challenges that face developers. Andrew Smith is an author who is working on a book to share his experiences learning to program, and understand the impact that software is having on our world. In this episode he shares his thoughts on programmer culture, his experiences with Python and other language communities, and how learning to code has changed his views on the world. It was interesting getting an anthropological perspective from a relative newcomer to the world of software.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, Data Council in Barcelona, and the Data Orchestration Summit. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Andrew Smith about his anthropological study of software engineering culture in his upcoming book Adventures In Coderland.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the scope and intent of your work on Adventures In Coderland?</li>
<li>What was your motivation for embarking on this particular project?</li>
<li>Prior to the start of your research for this book, what was your level of familiarity with software development as a discipline and a cultural phenomenon?</li>
<li>How are you approaching the research for this book and to what level of detail are you trying to address the problem space?</li>
<li>What are some of the most striking contrasts that you have identified between software engineers and coding culture as it compares to that of a layperson?</li>
<li>We met at the most recent PyCon US, which I understand you attended as a means of conducting research for your book. What are some of the notable aspects of the Python community that you discovered while you were attending?</li>
<li>What are some of the other programming communities that you have engaged with?
<ul>
<li>What are some of the differentiating factors that you have noticed between the communities that you have interacted with?</li>
</ul>
</li>
<li>What are some of the most surprising discoveries that you have made in the process of writing this book?</li>
<li>What is your metric for determining when you have gathered enough raw material to complete the book?</li>
<li>Now that you have delved into the peculiarities of &quot;coderland&quot;, how has it changed your own outlook on both the software industry, and society at large?</li>
<li>What advice do you have for the engineers who are listening as it pertains to your experiences in writing your book?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://andrewsmithauthor.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/wiresmith?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@wiresmith</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.npr.org/podcasts/510333/throughline?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Throughline Podcast</a></li>
</ul>
</li>
<li>Andrew
<ul>
<li><a href="https://www.20k.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">20 Thousand Hertz Podcast</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Linksj</h3>
<ul>
<li><a href="https://andrewsmithauthor.com/books/adventures-in-coderland/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adventures In Coderland</a></li>
<li><a href="https://us.pycon.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://us.pycon.org?utm_source=rss&utm_medium=rss</a></li>
<li><a href="http://ntoll.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nicholas Tollervey</a></li>
<li><a href="https://www.1843magazine.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">1843 Magazine</a></li>
<li><a href="https://www.economist.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Economist</a></li>
<li><a href="https://www.freecodecamp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Free Code Camp</a></li>
<li><a href="https://en.wikipedia.org/wiki/Code_golf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code Golf</a></li>
<li><a href="https://amzn.to/3296Hoo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moon Dust</a> book about the astronauts who first landed on the moon</li>
<li><a href="https://theface.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Face</a> magazine</li>
<li><a href="https://www.theguardian.com/observer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Observer</a></li>
<li><a href="https://www.theguardian.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Guardian</a></li>
<li><a href="https://charlieduke.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Charlie Duke</a></li>
<li><a href="https://amzn.to/2IIYhw7?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Totally Wired</a></li>
<li><a href="https://www.codeforamerica.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code For America</a></li>
<li><a href="https://supercollider.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Supercollider</a> programming environment</li>
<li><a href="https://sonic-pi.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SonicPi</a></li>
<li><a href="https://en.wikipedia.org/wiki/George_Boole?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">George Boole</a></li>
<li><a href="https://en.wikipedia.org/wiki/Functional_magnetic_resonance_imaging?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FMRI (Functional Magnetic Resonance Imaging)</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby Language</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fadventures-in-coderland-episode-233%2F&amp;action_name=Andrew%27s+Adventures+In+Coderland+-+Episode+233&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-10-14t23:09:20+00:00-b2f3b95ba6a91a6</guid>
      <link>https://www.pythonpodcast.com/adventures-in-coderland-episode-233</link>
      <pubDate>Mon, 14 Oct 2019 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="138.98" duration="19.91">Because once you start peeling away the layers of it, it becomes it just opens out into this fascinating universe. It's like a cosmos, isn't it? And, the way that programmers even talk archaeologically almost about it sometimes, you know, about the just things like the the level the layers of the stack.</podcast:soundbite>
      <podcast:soundbite startTime="375.97" duration="19.80">The habituation of working with the unknown is 1 of the things too that contributes to the widespread occurrence of imposter syndrome in the industry of always assuming that because you don't really know what you're doing and you see other people doing amazing things that they are all just innately more competent than you are, and you have no right to be there.</podcast:soundbite>
      <podcast:soundbite startTime="1688.49" duration="28.67">Speaking as somebody who got my degree in computer engineering as opposed to computer science, I definitely appreciate the full stack understanding of what's happening all the way from the individual circuits in silicon up through the actual presentation layer because it gives you a much better appreciation for the complexities and what's actually possible and when you're going to run into the limitations of physics as opposed to just the limitations of your own imagination.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:00:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Andrew's Adventures In Coderland</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>233</itunes:episode>
      <podcast:episode>233</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303285248405fbe153d7-46ca-42d2-b837-4a8b7f757bdfv1.mp3" length="43686983" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303285248405fbe153d7-46ca-42d2-b837-4a8b7f757bdfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fbe153d7-46ca-42d2-b837-4a8b7f757bdf638558803849821004.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fbe153d7-46ca-42d2-b837-4a8b7f757bdf638558803846171862.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fbe153d7-46ca-42d2-b837-4a8b7f757bdf638558803844160694.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Network Automation At Enterprise Scale With Python</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Designing and maintaining enterprise networks and the associated hardware is a complex and time consuming task. Network automation tools allow network engineers to codify their workflows and make them repeatable. In this episode Antoine Fourmy describes his work on eNMS and how it can be used to automate enterprise grade networks. He explains how his background in telecom networking led him to build an open source platform for network engineers, how it is architected, and how you can use it for creating your own workflows. This is definitely worth listening to as a way to gain some appreciation for all of the work that goes on behind the scenes to make the internet possible.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, Alluxio, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, the Data Orchestration Summit, and Data Council in NYC. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Antoine Fourmy about eNMS, an enterprise-grade vendor-agnostic network automation platform.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what eNMS is</li>
<li>What was your motivation for creating it?</li>
<li>Who are the target users of eNMS and how much background knowledge of network management is required to be effective with it?</li>
<li>What are some of the alternative tools that exist in this space and why might a network operator choose to use eNMS in their place?</li>
<li>What are some of the most challenging aspects of network creation and maintenance and how does eNMS assist with them?</li>
<li>What are some of the mundane and/or error-prone tasks that can be replaced or automated with eNMS?</li>
<li>What are some of the additional features that come into play for more complex networking tasks?</li>
<li>Can you describe the system architecture of eNMS and how it has evolved since you first began working on it?</li>
<li>eNMS is an impressive project that looks to have a substantial amount of polish. How large is the overall community of users and contributors?
<ul>
<li>For someone who wants to get involved in contributing to eNMS what are some of the types of skills and background that would be helpful?</li>
</ul>
</li>
<li>What are some of the most innovative/unexpected ways that you have seen eNMS used?</li>
<li>When is eNMS the wrong choice?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="http://afourmy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/afourmy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/afourmy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">afourmy</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.tedeschitrucksband.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tedeschi Trucks Band</a></li>
</ul>
</li>
<li>Antoine
<ul>
<li><a href="https://checkio.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CheckIO</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-18-liza-avramenko-on-checkio-and-empire-of-code/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://enms.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">eNMS</a></li>
<li><a href="https://www.orange.com/en/home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Orange</a></li>
<li><a href="https://github.com/ktbyers/netmiko?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netmiko</a></li>
<li><a href="https://napalm.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NAPALM</a>
<ul>
<li><a href="https://www.pythonpodcast.com/napalm-with-david-barosso-and-mircea-ulinic-episode-117/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="http://www.paramiko.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Paramiko</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://requests.readthedocs.io/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Requests</a></li>
<li><a href="https://www.opennms.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenNMS</a></li>
<li><a href="https://www.librenms.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LibreNMS</a></li>
<li><a href="https://www.ansible.com/products/tower?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible Tower</a></li>
<li><a href="https://www.rundeck.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rundeck</a></li>
<li><a href="https://www.saltstack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-1-thomas-hatch/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://stackstorm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StackStorm</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-53-stackstorm-with-tomaz-muraus-and-patrick-hoolboom/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://docs.saltstack.com/en/latest/topics/proxyminion/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack Proxy Minions</a></li>
<li><a href="https://www.vaultproject.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hashicorp Vault</a></li>
<li><a href="https://www.virtualbox.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VirtualBox</a></li>
<li><a href="https://palletsprojects.com/p/flask/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="https://apscheduler.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">APScheduler</a></li>
<li><a href="https://www.docker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a>
<ul>
<li><a href="https://www.pythonpodcast.com/docker-python-production-episode-222/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li>
<li><a href="http://www.celeryproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fenms-network-automation-episode-232%2F&amp;action_name=Network+Automation+At+Enterprise+Scale+With+Python+-+Episode+232&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-10-08t00:38:20+00:00-353a46cec7649ea</guid>
      <link>https://www.pythonpodcast.com/enms-network-automation-episode-232</link>
      <pubDate>Tue, 8 Oct 2019 00:45:00 +0000</pubDate>
      <podcast:soundbite startTime="1756.64" duration="45.71">And how much background knowledge of network infrastructure and network automation is you want to to work on. You would need some knowledge about, network automation, especially if you want to contribute something, that has to do with Netmigo, Nepal, or Ansible. So you would need to have access to to, network device so that you can test what you're doing. You need some network, well, network networking knowledge as well if you want to contribute because, you need to to test, the code on actual devices.</podcast:soundbite>
      <podcast:soundbite startTime="328.23" duration="46.99">So I'm wondering what your motivation was for creating it and particularly since you decided to leave your previous employer to focus on it full time? Well, there's there's been like a long standing disconnect between, between the network engineering world and the software engineering world. So network engineers are usually not, software savvy and, well, software engineers are not very network savvy as well. So I guess the main idea behind the NMS is to is to try bridging that gap by, allowing network engineers to automate, a network without having to be an expert at, programming. So, making automation graphical and bridging the gap between software engineering and network engineering. That was the main motivation.</podcast:soundbite>
      <podcast:soundbite startTime="735.72" duration="53.87">And networking in large part has become mostly invisible to end users and even software engineers because of things like the accessibility of cloud environments and things such as, software defined networking. So I'm curious what your perspective is on the current state of the industry, and how broad the requirement is for people to be able to have a good understanding of networking and network management. I don't think software defined networking is such a big thing. Like, I mean, it's a it's a term that you would have to define because it's it's used like, it's mostly a marketing term, I'd say. It's not clear what software defined marketing refers to. In a way, you could say that ENS, what ENS does and what, the Python libraries, such as Netmigo and APAM do is, is a kind of software defined marketing, networking.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:37</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Network Automation At Enterprise Scale With Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>232</itunes:episode>
      <podcast:episode>232</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252977932772004c9f0a67-f46b-4924-86ed-0d72c10c9f15v1.mp3" length="24894562" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252977932772004c9f0a67-f46b-4924-86ed-0d72c10c9f15v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4c9f0a67-f46b-4924-86ed-0d72c10c9f15638558789900009762.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4c9f0a67-f46b-4924-86ed-0d72c10c9f15638558789897899467.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4c9f0a67-f46b-4924-86ed-0d72c10c9f15638558789896079409.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building A Modern Discussion Forum In Python To Support Healthy Communities</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Building and sustaining a healthy community requires a substantial amount of effort, especially online. The design and user experience of the digital space can impact the overall interactions of the participants and guide them toward respectful conversation. In this episode Rafał Pitoń shares his experience building the Misago platform for creating community forums. He explains his motivation for creating the project, the lessons he has learned in the process, and how it is being used by himself and others. This was a great conversation about how technology is just a means, and not the end in itself.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, and Data Council. Upcoming events include the combined events of the Data Architecture Summit and Graphorum, Data Council in Barcelona, and the Data Orchestration Summit. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Rafał Pitoń about Misago, a fully featured modern forum application that is fast, scalable, and responsive</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Misago is and your motivation for creating it?
<ul>
<li>How does it compare to other modern forum options such as Discourse and Flarum?</li>
</ul>
</li>
<li>How did you generate and prioritize the set of features that you have implemented and what are the main capabilities that are still on your roadmap?</li>
<li>Is Misago intended to be run in isolation, or does it allow for integrating into a larger Django project?
<ul>
<li>Is there any support for multi-tenancy?</li>
</ul>
</li>
<li>How is Misago itself implemented and how has the architecture evolved since you first began working on it?
<ul>
<li>If you were to start it today, what are some of the choices that you would make differently?</li>
</ul>
</li>
<li>What are the extension points that developers can hook into for adding custom functionality?</li>
<li>In addition to the technical challenges, managing a forum involves a fair amount of social challenges. How does Misago help with management of a healthy community?
<ul>
<li>How do different design elements factor into promoting healthy conversation and sustainable engagement?</li>
<li>What are some of the aspects of community management and the accompanying platform features that enable them which aren&#8217;t initially obvious?</li>
</ul>
</li>
<li>For someone who wants to use Misago, what is involved in deploying and configuring it?
<ul>
<li>What are some of the routine maintenance tasks that they should be aware of?</li>
</ul>
</li>
<li>What are some of the most interesting or unexpected ways that you have seen Misago used?</li>
<li>What have you found to be the most interesting, unexpected, and challenging aspects of building and maintaining a forum platform?</li>
<li>What do you have planned for the future of Misago?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/rafalp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rafalp</a> on GitHub</li>
<li><a href="https://twitter.com/RafalPiton?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@RafalPiton</a> on Twitter</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="">Fear Innoculum</a> by Tool</li>
</ul>
</li>
<li>Rafał
<ul>
<li><a href="https://github.com/encode/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">github.com/encode</a></li>
<li><a href="">Ariadne</a> GraphQL Library</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://misago-project.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Misago</a></li>
<li><a href="https://en.wikipedia.org/wiki/Poland?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poland</a></li>
<li><a href="https://mirumee.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mirumee</a>
<ul>
<li><a href="https://www.pythonpodcast.com/saleor-ecommerce-episode-205/?utm_source=rss&utm_medium=rss">Saleor Episode</a></li>
</ul>
</li>
<li><a href="https://www.php.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://www.discourse.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Discourse</a></li>
<li><a href="https://flarum.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flarum</a></li>
<li><a href="https://www.mysql.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li>
<li><a href="https://www.postgresql.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://jquery.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jQuery</a></li>
<li><a href="https://www.django-rest-framework.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DJango Rest Framework</a></li>
<li><a href="https://emberjs.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EmberJS</a></li>
<li><a href="https://mithril.js.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MithrilJS</a></li>
<li><a href="https://angular.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AngularJS</a></li>
<li><a href="https://reactjs.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReactJS</a></li>
<li><a href="https://www.phpbb.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHPBB</a></li>
<li><a href="http://www.celeryproject.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="https://en.wikipedia.org/wiki/General_Data_Protection_Regulation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GDPR == General Data Privacy Regulation</a></li>
<li><a href="https://www.docker.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="https://github.com/rafalp/misago_docker?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">misago_docker</a></li>
<li><a href="https://en.wikipedia.org/wiki/Virtual_private_server?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VPS == Virtual Private Server</a></li>
<li><a href="http://nginx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nginx</a></li>
<li><a href="https://www.starlette.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Starlette</a> Async API framework</li>
<li><a href="https://ariadnegraphql.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ariadne</a> GraphQL Library</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmisago-discussion-forum-episode-231%2F&amp;action_name=Building+A+Modern+Discussion+Forum+In+Python+To+Support+Healthy+Communities+-+Episode+231&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-09-29t11:18:21+00:00-fad0a9dac7ec8ca</guid>
      <link>https://www.pythonpodcast.com/misago-discussion-forum-episode-231</link>
      <pubDate>Tue, 1 Oct 2019 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2186.06" duration="51.98">So when I originally was Munich a few weeks ago, my assumption was that because it's on Django, every Python dev will know how to deploy Django. And I was very wrong about that 1. Because to deploy Django app, you will need to set up a lot of around things around it, and people just didn't know about it. Or they were trying to do various things like they deployed it, but they they then they backed up the all the files they had on the servers with, say, virtual lines included. They will upload those files in different location, the new server, and it don't crash and didn't work anymore. And that was very hard for the Python developers, I've learned, And it was absolute no starter for people outside Python. So I was looking for some solution for quite some time, and, eventually, I decided to settle on Docker as the only way to deploy the Mysago.</podcast:soundbite>
      <podcast:soundbite startTime="178.29" duration="37.40">So the origin story goes like this. Around decade or so ago, I was building a content management system in PHP, and 1 of the few features I had in it was Internet forum inside the admin panel. So the site manager slash owners could go to it and discuss different things about the site. And I was doing this together with few friends, and we have quickly noticed that doing this forum part is far more interesting and engaging to us than anything else. So we dropped the CMS part and decided to just iterate on the forum component.</podcast:soundbite>
      <podcast:soundbite startTime="111.92" duration="15.03">So my name is Rafal. I am Python developer from Poland. I also work at Mirumi. And for last, perhaps, decade or more, I was on and off maintaining form software, which Lattice is Lattice iteration is misago.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:22</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building A Modern Discussion Forum In Python To Support Healthy Communities</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>231</itunes:episode>
      <podcast:episode>231</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307876410527501dcc10-c483-4ff5-b964-8e05a091d71av1.mp3" length="38530816" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307876410527501dcc10-c483-4ff5-b964-8e05a091d71av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_501dcc10-c483-4ff5-b964-8e05a091d71a638558822921446159.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/501dcc10-c483-4ff5-b964-8e05a091d71a638558822918925276.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/501dcc10-c483-4ff5-b964-8e05a091d71a638558822916702254.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Exploratory Data Analysis Made Easy At The Command Line</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>There are countless tools and libraries in Python for data scientists to perform powerful analyses, but they often have a setup cost that acts as a barrier to ad-hoc exploration of data. Visidata is a command line application that eliminates the friction involved with starting the discovery process. In this episode Saul Pwanson explains his motivation for creating it, why a terminal environment is a useful place for this work, and how you can use Visidata for your own work. If you have ever avoided looking at a data set because you couldn&#8217;t be bothered with the boilerplate for a Jupyter notebook, then Visidata is the perfect addition to your toolbox.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, and Data Council. Upcoming events include the Strata Data conference, the combined events of the Data Architecture Summit and Graphorum, and Data Council in Barcelona. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Saul Pwanson about Visidata, a terminal oriented interactive multitool for tabular data</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Visidata is and how the project got started?
<ul>
<li>What are the main use cases for Visidata?</li>
<li>What are some tools that it has replaced in your workflow?</li>
</ul>
</li>
<li>Can you talk through a typical workflow for data exploration and analysis with Visidata?</li>
<li>One of the capabilities that you mention on the website is quickly opening large files. What are some strategies that you have used to enable performant access for files that might crash a typical editor (e.g. Vim, Emacs)?</li>
<li>Can you describe how Visidata is implemented and how it has evolved since you started working on it (including the upcoming 2.0 release)?
<ul>
<li>What libraries or language features have proven most useful?</li>
</ul>
</li>
<li>Why did you choose to implement Visidata as a terminal only tool and what constraints does that bring with it?
<ul>
<li>What are some of the most challenging aspects of building a terminal UI for data exploration and analysis?</li>
<li>Because of its manifestation as a terminal/CLI application it relies heavily on keyboard bindings. How do you approach key assignments to ensure a consistent and intuitive user experience?</li>
</ul>
</li>
<li>What are some of the types of analysis that Visidata can be used for out of the box?</li>
<li>What are some of the most interesting/unexpected/innovative ways that you have seen Visidata used?</li>
<li>How much community adoption have you seen and how do you approach project governance as a solo developer?</li>
<li>What do you have planned for the future of Visidata?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="http://www.saul.pw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/saulpw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">saulpw</a> on GitHub</li>
<li><a href="https://twitter.com/saulfp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@saulfp</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/saulpw/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://tinyletter.com/data-is-plural/archive?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Is Plural</a> newsletter</li>
</ul>
</li>
<li>Saul
<ul>
<li><a href="https://tmate.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TMate</a></li>
<li><a href="https://mosh.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mosh</a> &#8211; The Mobile Shell</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="http://visidata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visidata</a></li>
<li><a href="https://www.f5.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">F5 Networks</a></li>
<li><a href="https://www.hdfgroup.org/solutions/hdf5/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HDF5</a></li>
<li><a href="https://www.pytables.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTables</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-97-pytables-with-francesc-alted/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://github.com/saulpw/vgit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">vgit</a></li>
<li><a href="https://github.com/saulpw/vsh/blob/master/vping?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">vping</a></li>
<li><a href="https://www.jsvine.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jeremy Singer-Vine</a></li>
<li><a href="https://data.boston.gov?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">data.boston.gov</a></li>
<li><a href="https://www.recurse.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Recurse Center</a></li>
<li><a href="https://en.wikipedia.org/wiki/Curses_(programming_library)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Curses</a></li>
<li><a href="https://dateutil.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dateutil</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0318/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">decorators</a></li>
<li><a href="https://electronjs.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Electron</a></li>
<li><a href="http://openrefine.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenRefine</a></li>
<li><a href="https://github.com/tmux/tmux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tmux</a></li>
<li><a href="https://en.wikipedia.org/wiki/VisiCalc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visicalc</a></li>
<li><a href="https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Windows Subsystem For Linux</a></li>
<li><a href="https://www.youtube.com/watch?v=N1CBDTgGtOU&amp;t=134&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Saul&#8217;s Lightning Talk</a></li>
<li><a href="https://github.com/saulpw/visidata-book?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Book of Visidata</a></li>
<li><a href="https://en.wikipedia.org/wiki/Where_in_the_World_Is_Carmen_Sandiego%3F_(1985_video_game)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Where In The World Is Carmen San Diego</a></li>
<li><a href="https://ohmyz.sh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oh My Zsh</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fvisidata-exploratory-data-analysis-episode-230%2F&amp;action_name=Exploratory+Data+Analysis+Made+Easy+At+The+Command+Line+-+Episode+230&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-09-23t12:42:43+00:00-01978bb18676266</guid>
      <link>https://www.pythonpodcast.com/visidata-exploratory-data-analysis-episode-230</link>
      <pubDate>Mon, 23 Sep 2019 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="224.49" duration="22.28">So I hadn't used Pytables, but I've used a lot of other Python tools for using HDF5 files. And just like with any complicated format, you can do anything you want to with Python. Python's really great for that, but it's still kind of a hassle. You still have to write code to do it and often what I would want to do is just open up an hdf5 file and take a quick check and see if that data differences isn't all zeros or has the tables that I want in there.</podcast:soundbite>
      <podcast:soundbite startTime="2776.06" duration="32.23">So right now we're working on the 2.0 release which will be still a couple months out and the goal is to stabilize it and, the current version, 1.5.2, it's actually incredibly stable and really tight. Like, we haven't found well, there's at least 1 bug I've seen but that's fine. It's an edge case. But it's actually pretty stable. But the API is kind of all over the place. You know, it doesn't really it's not as coherent as the user interface and so 1 of the things we want to do is make the API stable and produce some more coherent documentation about the internals. We're calling it the book of VisiData.</podcast:soundbite>
      <podcast:soundbite startTime="105.66" duration="20.99">So, Sol, can you start by introducing yourself? Yeah. I'm, my name is Sol, and I've been working in the software industry for a while, and I'm in Seattle. And do you remember how you first got introduced to Python? Yeah. It was, for work back in 2004. So Python 2 days. I was at a startup and they were using it for their apps, and I picked it up because that's what you do. Right?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:51</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Exploratory Data Analysis Made Easy At The Command Line</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>230</itunes:episode>
      <podcast:episode>230</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253027064727073fb9b4b0-ff97-41bd-8eb7-3e4502f8f13ev1.mp3" length="36565935" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253027064727073fb9b4b0-ff97-41bd-8eb7-3e4502f8f13ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_3fb9b4b0-ff97-41bd-8eb7-3e4502f8f13e638558801336771784.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3fb9b4b0-ff97-41bd-8eb7-3e4502f8f13e638558801334451822.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3fb9b4b0-ff97-41bd-8eb7-3e4502f8f13e638558801332613481.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Cultivating The Python Community In Argentina</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The Python community in Argentina is large and active, thanks largely to the motivated individuals who manage and organize it. In this episode Facundo Batista explains how he helped to found the Python user group for Argentina and the work that he does to make it accessible and welcoming. He discusses the challenges of encompassing such a large and distributed group, the types of events, resources, and projects that they build, and his own efforts to make information free and available. He is an impressive individual with a substantial list of accomplishments, as well as exhibiting the best of what the global Python community has to offer.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, and Data Council. Upcoming events include the O&#8217;Reilly AI conference, the Strata Data conference, the combined events of the Data Architecture Summit and Graphorum, and Data Council in Barcelona. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Facundo Batista about his experiences founding and fostering the Argentinian Python community, working as a core developer, and his career in Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What was your motivation for organizing a Python user group in Argentina?</li>
<li>How does the geography and culture of Argentina influence the focus of the community?</li>
<li>Argentina is a fairly large country. What is the reasoning for having the user group encompass the whole nation and how is it organized to provide access to everyone?</li>
<li>What are some notable projects that have been built by or for members of PyAr?
<ul>
<li>What are some of the challenges that you faced while building CDPedia and what aspects of it are you most proud of?</li>
</ul>
</li>
<li>How did you get started as a core developer?
<ul>
<li>What areas of the language and runtime have you been most involved with?</li>
</ul>
</li>
<li>As a core developer, what are some of the most interesting/unexpected/challenging lessons that you have learned?</li>
<li>What other languages do you currently use and what is it about Python that has motivated you to spend so much of your attention on it?</li>
<li>What are some of the shortcomings in Python that you would like to see addressed in the future?</li>
<li>Outside of CPython, what are some of the projects that you are most proud of?</li>
<li>How has your involvement with core development and PyAr influenced your life and career?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/facundobatista?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@facundobatista</a> on Twitter</li>
<li><a href="http://blog.taniquetil.com.ar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/2MX0Bng?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dictionary of Difficult Words</a></li>
</ul>
</li>
<li>Facundo
<ul>
<li><a href="http://fades.rtfd.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fades</a></li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="http://www.python.org.ar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyAr</a></li>
<li><a href="https://en.wikipedia.org/wiki/Argentina?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Argentina</a></li>
<li><a href="http://www.python.org.ar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyAr Mailing List</a></li>
<li><a href="https://t.me/pythonargentina?utm_source=rss&utm_medium=rss" target="_blank">PyAr Telegram</a></li>
<li><a href="https://eventos.python.org.ar/events/pyconar2019/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Argentina</a></li>
<li><a href="https://en.wikipedia.org/wiki/Buenos_Aires?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Buenos Aires</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%C3%B3rdoba,_Argentina?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cordoba</a></li>
<li><a href="https://en.wikipedia.org/wiki/Rosario,_Santa_Fe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rosario</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mendoza,_Argentina?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mendoza</a></li>
<li><a href="http://cdpedia.python.org.ar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CDPedia</a></li>
<li><a href="https://www.python.org.ar/wiki/PyCamp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCamp</a></li>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PSF == Python Software Foundation</a></li>
<li><a href="https://www.wikipedia.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wikipedia</a></li>
<li><a href="https://archive.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Internet Archive</a></li>
<li><a href="https://docs.python.org/3/library/decimal.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Decimal Module</a>
<ul>
<li><a href="https://www.python.org/dev/peps/pep-0327/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 327</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Tim_Peters_(software_engineer)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tim Peters</a></li>
<li><a href="https://canonical.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Canonical</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tennis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tennis</a></li>
<li><a href="http://fades.rtfd.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fades</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ffacundo-batista-python-community-argentina-episode-229%2F&amp;action_name=Cultivating+The+Python+Community+In+Argentina+-+Episode+229&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-09-17t22:05:16+00:00-f879990cbe52be7</guid>
      <link>https://www.pythonpodcast.com/facundo-batista-python-community-argentina-episode-229</link>
      <pubDate>Wed, 18 Sep 2019 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1053.58" duration="83.13">The CDpedia is a project where we package the whole Wikipedia in a CD. I mean, original was a CD, then we we start the DVD version. So you have the the or and then we we we also started to generate a pen drive version, but the idea is always the same. You go with a CD or a DVD or a pen drive, with a computer with no Internet at all, and you have the whole Wikipedia content. Of course, we are addressing the Spanish part of the Wikipedia even as we have the idea to make it multilanguage at some point, but the idea is for you to go to with a CD or DVD, for example, to a school in in a that is distant from any city, and you have computers, but you don't have Internet, which is quite common in Argentina because we have so many rural areas. So the idea is that you have a computer, you don't have Internet, but having the CDpedia, you can get all the information from Wikipedia, which is very, very good project. It's there since, like, 13 years or something.</podcast:soundbite>
      <podcast:soundbite startTime="141.69" duration="56.20">I started to work in a telecommunications company where we had to process a lot of information server side. At that point, the language that I was most comfortable with was c, which I worked at a lot of in the in the university. But as you may know, processing text server side with the c is not fun at all, so I started to find out what what I could do. I found Perl, and I did some developments with Perl, but I was, like, every all day protesting because of ugly syntax and everything. So, work work companion told me, do you heard about Python? No. No. I didn't. You should read this tutorial. So he gave me this tutorial for the the official tutorial for Python for Python.</podcast:soundbite>
      <podcast:soundbite startTime="847.31" duration="63.15">Well, Pycamp for me is 1 of the events that I most like for every year in in in Argentina. It's a small event. I mean, it's this is not for while assistance, we get together every year, like, 40 or 50 people in a place that provides the basics for us to survive, like electricity, Internet, bathrooms, food, and that kind of stuff. And we spent 4 days coding and hacking and playing board games and doing fun activities, like learning how to fight with swords and that kind of stuff. It's a very nice event where you just go to do Python Python Python for 4 days. It's very nice. It's very nice. We have a lot of good pictures about that. I I enjoy it a lot. We have to reproduce this in other countries for people to get fun.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:46</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Cultivating The Python Community In Argentina</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>229</itunes:episode>
      <podcast:episode>229</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531492454670109a33401-f5f1-4c6d-9386-9d8b847656fcv1.mp3" length="27683574" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531492454670109a33401-f5f1-4c6d-9386-9d8b847656fcv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_09a33401-f5f1-4c6d-9386-9d8b847656fc638558826991942375.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/09a33401-f5f1-4c6d-9386-9d8b847656fc638558826988315426.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/09a33401-f5f1-4c6d-9386-9d8b847656fc638558826986314366.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Python Powered Journalistic Freedom With SecureDrop</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The internet has made it easier than ever to share information, but at the same time it has increased our ability to track that information. In order to ensure that news agencies are able to accept truly anonymous material submissions from whistelblowers, the Freedom of the Press foundation has supported the ongoing development and maintenance of the SecureDrop platform. In this episode core developers of the project explain what it is, how it protects the privacy and identity of journalistic sources, and some of the challenges associated with ensuring its security. This was an interesting look at the amount of effort that is required to avoid tracking in the modern era.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, and Data Council. Upcoming events include the O&#8217;Reilly AI conference, the Strata Data conference, the combined events of the Data Architecture Summit and Graphorum, and Data Council in Barcelona. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jen Helsby and Kushal Das about SecureDrop, a secure platform for submitting and receiving documents anonymously</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what SecureDrop is and how it got started?
<ul>
<li>How did you get involved in the project?</li>
</ul>
</li>
<li>Can you give some background on where and why it is useful?</li>
<li>For someone using a running instance, what does their workflow look like?
<ul>
<li>What are some of the ways that you minimize user experience hurdles to prevent them from circumventing the security through laziness or apathy?</li>
</ul>
</li>
<li>I was a bit surprised to see the references to the messaging system that is included. Why is that an important feature?</li>
<li>What form do the submissions generally take and what are the limits on formats that you can accept?</li>
<li>How is the system itself architected and how has the design evolved since the first implementation?</li>
<li>In terms of the security protocols and technologies that are implemented, what factors are you considering as you develop the project?
<ul>
<li>What are the weak points or edge cases that could lead to compromise and how do you guard against them?</li>
</ul>
</li>
<li>In terms of the deployment and maintenance of a SecureDrop instance, how much technological sophistication is necessary for the organization running it, and how much effort do you put into simplifying it?</li>
<li>What are some of the notable uses of a SecureDrop deployment and what motivates you to continue working on it?</li>
<li>What are the most interesting/innovative/unexpected uses of SecureDrop that you have seen?</li>
<li>How do you approach the sustainability of the platform?</li>
<li>What have you found most challenging/interested/unexpected in your work on SecureDrop?</li>
<li>What is in store for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Jen
<ul>
<li><a href="https://twitter.com/redshiftzero?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@redshiftzero</a> on Twitter</li>
<li><a href="https://github.com/redshiftzero?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">redshiftzero</a> on GitHub</li>
<li><a href="http://redshiftzero.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>
</li>
<li>Kushal
<ul>
<li><a href="https://kushaldas.in?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/kushaldas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@kushaldas</a> on Twitter</li>
<li><a href="https://github.com/kushaldas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">kushaldas</a> on GitHub</li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Laser_tag?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Laser Tag</a></li>
</ul>
</li>
<li>Kushal
<ul>
<li><a href="https://amzn.to/2LDqp4q?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Permanent Record</a> by Edward Snowden</li>
</ul>
</li>
<li>Jen
<ul>
<li><a href="https://amzn.to/2LDqp4q?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Permanent Record</a> by Edward Snowden</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://securedrop.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SecureDrop</a></li>
<li><a href="https://en.wikipedia.org/wiki/Aaron_Swartz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Aaron Swartz</a></li>
<li><a href="https://freedom.press?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Freedom Of The Press Foundation</a></li>
<li><a href="https://securedrop.org/directory/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SecureDrop Directory</a></li>
<li><a href="https://www.torproject.org/download/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TOR Browser</a></li>
<li><a href="https://www.torproject.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TOR == The Onion Router</a></li>
<li><a href="https://tails.boum.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tails OS</a></li>
<li><a href="https://ubuntu.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ubuntu</a></li>
<li><a href="https://en.wikipedia.org/wiki/Intrusion_detection_system?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IDS == Intrusion Detection System</a></li>
<li><a href="https://www.ansible.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://en.wikipedia.org/wiki/DEF_CON?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DEF CON</a></li>
<li><a href="https://www.mozilla.org/en-US/moss/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozilla Open Source Support (MOSS)</a></li>
<li><a href="https://testinfra.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Testinfra</a></li>
<li><a href="https://flask.palletsprojects.com/en/1.1.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://molecule.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Molecule</a> unit test library for Ansible</li>
<li><a href="https://bandit.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bandit</a></li>
<li><a href="https://pyup.io/safety/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Safety</a></li>
<li><a href="https://www.qubes-os.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qubes OS</a></li>
<li><a href="https://www.qt.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qt</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsecuredrop-whistleblower-platform-episode-228%2F&amp;action_name=Python+Powered+Journalistic+Freedom+With+SecureDrop+-+Episode+228&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-09-09t14:02:24+00:00-37dc925da0999f6</guid>
      <link>https://www.pythonpodcast.com/securedrop-whistleblower-platform-episode-228</link>
      <pubDate>Tue, 10 Sep 2019 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1066.35" duration="37.11">Sure. Yeah. So the way that it's architected right now is, every news organization installs 2 servers. So they're both run Ubuntu server, and 1 server is an application server. So that hosts 2 web applications. 1 that's used by the sources to submit the documents as previously described, and 1 that's used by journalists to access documents. So that's the first server, which we call the application server. And then the second server is a monitoring server that runs a host based IDS that just monitors the application server and then sends alerts for potentially suspicious activity to administrators.</podcast:soundbite>
      <podcast:soundbite startTime="351.13" duration="20.24">Yeah. Absolutely. Even, like, meeting physically in the modern age, sometimes people are like, okay. Well, I won't call them on the phone, but then I'll meet them physically. And that's still, you know, in a city, certainly produces a significant amount of data because the CCTV camera's everywhere, facial recognition, and that's something that, depending on the the adversary you're concerned about could be used to identify you.</podcast:soundbite>
      <podcast:soundbite startTime="189.68" duration="17.65">And so it's not really a new idea because news organizations have had, like, anonymous tip lines for some time. But doing it in today's kind of surveillance landscape is the challenge. And I got involved, like, 3 years ago. I had installed SecureDrop and thought it was a a great project, and so I started working on it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:23</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Python Powered Journalistic Freedom With SecureDrop</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>228</itunes:episode>
      <podcast:episode>228</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530655612450894119254-58f3-4e15-836c-7dbe814de2a6v1.mp3" length="29074038" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530655612450894119254-58f3-4e15-836c-7dbe814de2a6v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_94119254-58f3-4e15-836c-7dbe814de2a6638558818071015709.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/94119254-58f3-4e15-836c-7dbe814de2a6638558818056613398.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/94119254-58f3-4e15-836c-7dbe814de2a6638558818053796120.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Combining Python And SQL To Build A PyData Warehouse</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The ecosystem of tools and libraries in Python for data manipulation and analytics is truly impressive, and continues to grow. There are, however, gaps in their utility that can be filled by the capabilities of a data warehouse. In this episode Robert Hodges discusses how the PyData suite of tools can be paired with a data warehouse for an analytics pipeline that is more robust than either can provide on their own. This is a great introduction to what differentiates a data warehouse from a relational database and ways that you can think differently about running your analytical workloads for larger volumes of data.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Taking a look at recent trends in the data science and analytics landscape, it’s becoming increasingly advantageous to have a deep understanding of both SQL and Python. A hybrid model of analytics can achieve a more harmonious relationship between the two languages. Read more about the Python and SQL Intersection in Analytics at <a href="https://www.pythonpodcast.com/mode?utm_source=rss&utm_medium=rss">mode.com/init</a>. Specifically, we&#8217;re going to be focusing on their similarities, rather than their differences.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, and Data Council. Upcoming events include the O&#8217;Reilly AI conference, the Strata Data conference, the combined events of the Data Architecture Summit and Graphorum, and Data Council in Barcelona. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Robert Hodges about how the PyData ecosystem can play nicely with data warehouses</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>To start with, can you give a quick overview of what a data warehouse is and how it differs from a &quot;regular&quot; database for anyone who isn&#8217;t familiar with them?
<ul>
<li>What are the cases where a data warehouse would be preferable and when are they the wrong choice?</li>
</ul>
</li>
<li>What capabilities does a data warehouse add to the PyData ecosystem?</li>
<li>For someone who doesn&#8217;t yet have a warehouse, what are some of the differentiating factors among the systems that are available?</li>
<li>Once you have a data warehouse deployed, how does it get populated and how does Python fit into that workflow?</li>
<li>For an analyst or data scientist, how might they interact with the data warehouse and what tools would they use to do so?</li>
<li>What are some potential bottlenecks when dealing with the volumes of data that can be contained in a warehouse within Python?
<ul>
<li>What are some ways that you have found to scale beyond those bottlenecks?</li>
</ul>
</li>
<li>How does the data warehouse fit into the workflow for a machine learning or artificial intelligence project?</li>
<li>What are some of the limitations of data warehouses in the context of the Python ecosystem?</li>
<li>What are some of the trends that you see going forward for the integration of the PyData stack with data warehouses?
<ul>
<li>What are some challenges that you anticipate the industry running into in the process?</li>
</ul>
</li>
<li>What are some useful references that you would recommend for anyone who wants to dig deeper into this topic?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/berkeleybob2105/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/hodgesrm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hodgesrm</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="http://shop.oreilly.com/product/0636920161417.do?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Foundations Of Architecting Data Solutions: Managing Successful Data Projects</a> by Ted Malaska &amp; Jonathan Seidman</li>
</ul>
</li>
<li>Robert
<ul>
<li>Reading old academic papers such as <a href="http://db.csail.mit.edu/projects/cstore/vldb.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CStore</a></li>
<li><a href="https://www.packtpub.com/big-data-and-business-intelligence/python-machine-learning-second-edition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Machine Learning</a> by Sebastian Raschka</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.altinity.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Altinity</a></li>
<li><a href="https://clickhouse.yandex?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clickhouse</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/clickhouse-data-warehouse-episode-88/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://mysql.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Data_warehouse?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Warehouse</a></li>
<li><a href="https://en.wikipedia.org/wiki/Column-oriented_DBMS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Column Oriented Database</a></li>
<li><a href="https://en.wikipedia.org/wiki/SIMD?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SIMD == Single Instruction Multiple Data</a></li>
<li><a href="https://www.postgresql.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.microsoft.com/en-us/sql-server/default.aspx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft SQL Server</a></li>
<li><a href="https://pandas.pydata.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="https://numpy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://www.tensorflow.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://jupyter.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://towardsdatascience.com/sampling-techniques-a4e34111d808?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Sampling</a></li>
<li><a href="https://dask.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a></li>
</ul>
</li>
<li><a href="https://ray.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray</a></li>
<li><a href="https://en.wikipedia.org/wiki/MapReduce?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Map/Reduce</a></li>
<li><a href="https://www.vertica.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vertica</a></li>
<li><a href="https://en.wikipedia.org/wiki/Shard_(database_architecture)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sharding</a></li>
<li><a href="http://hadoop.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hadoop</a></li>
<li><a href="https://www.snowflake.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SnowflakeDB</a></li>
<li><a href="https://delta.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Delta Lake</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/delta-lake-data-lake-episode-85/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://cloud.google.com/bigquery/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BigQuery</a></li>
<li><a href="https://aws.amazon.com/redshift/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedShift</a></li>
<li><a href="https://docs.snowflake.net/manuals/user-guide/data-sharing-intro.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowflake Data Sharing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Oracle_Database?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OracleDB</a></li>
<li><a href="https://kubernetes.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://www.getdbt.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DBT</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dbt-data-analytics-episode-81/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Comma-separated_values?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CSV</a></li>
<li><a href="http://parquet.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parquet</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/data-serialization-with-doug-cutting-and-julien-le-dem-episode-8/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="http://kafka.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kafka</a></li>
<li><a href="https://www.ucdavis.edu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UC Davis</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_scraping?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web Scraping</a></li>
<li><a href="https://clickhouse-driver.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clickhouse Python Driver</a></li>
<li><a href="https://www.sqlalchemy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a>
<ul>
<li><a href="https://www.altinity.com/blog/2019/2/25/clickhouse-and-python-jupyter-notebooks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Altinity Blog Post</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Materialized_view?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Materialized View</a></li>
<li><a href="https://pytorch.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="http://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/putting-apache-spark-into-action-with-jean-georges-perrin-episode-60/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BigQuery ML</a></li>
<li><a href="http://arrow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Arrow</a></li>
<li><a href="https://wesmckinney.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wes McKinney</a>
<ul>
<li><a href="https://www.pythonpodcast.com/wes-mckinney-python-for-data-analysis-episode-203/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/User-defined_function?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">User Defined Function</a></li>
<li><a href="https://en.wikipedia.org/wiki/Kdb%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KDB</a></li>
<li><a href="http://db.csail.mit.edu/projects/cstore/vldb.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CStore Paper</a> by Dr. Michael Stonebraker, et al</li>
<li><a href="https://www.kinetica.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kinetica</a></li>
<li><a…]]></description>
      <guid isPermaLink="false">podlove-2019-09-02t15:53:48+00:00-0f7c62662230499</guid>
      <link>https://www.pythonpodcast.com/pydata-warehouse-episode-227</link>
      <pubDate>Mon, 2 Sep 2019 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="122.47" duration="30.65">And today, I'm interviewing Robert Hodges about how the PI Data Ecosystem can play nicely with data warehouses. So, Robert, can you start by introducing yourself? Hi. My name is Robert Hodges, and I'm CEO of Alteniti. We offer commercial support and software for ClickHouse, which is a popular open source data warehouse. Beyond that, I have a pretty long background in databases. I started working on databases in 1983 with a system called m204, and ClickHouse is now database number 20, I think, because I'm kinda losing count.</podcast:soundbite>
      <podcast:soundbite startTime="255.67" duration="61.08">And so for this conversation, can you start with giving a bit of a quick overview about what a data warehouse is and some of the ways that it differs from a, quote, unquote, regular database that somebody might think of for anybody who isn't familiar with this space? Sure. So I think that it helps to start this out by defining what we mean by a regular database because I just said, as I as I've referred to and as I think many people know, there are many types of databases. So when people think about a database, they commonly think about something like MySQL, which stores data in tables, and the tables consist of so that means that there's a a set of columns that each table contains, and then the data are actually stored as rows. And this is the same data structure that you see when you work in Excel. So what we generally speaking, we call that kind of database a row oriented store, which means that when you actually look at how the data are stored, on disk or on SSD as the case may be, as well as the way that they're accessed, we go get them by rows.</podcast:soundbite>
      <podcast:soundbite startTime="1723.60" duration="74.60">And another case where the data scientist or the analyst might be leaning on Python is for being able to interact with tools such as TensorFlow or PyTorch for building machine learning models, which generally require a fairly substantial amount of training data. And I'm wondering how the data warehouse fits into that flow versus some of the other ways that they might be consuming the training information for building the models either in these deep learning neural networks or in some of the more traditional machine learning algorithms that they might be leaning on scikit learn for. I think that's the place where actually we see the biggest gap in the technology right now. And what is happening right now is if you look at state of the art and particularly among the the people that I speak with who in some cases deal with very large datasets, what they're typically doing is pulling this data out into Spark and and doing their machine learning there, or they're pulling it out and and and doing intensive flow. So you basically are taking the raw data or maybe, you know, down sampled aggregates that are in the data warehouse and you're just copying them out. You're, you know, you're you're running your machine learning on it, for example, training models, in which case you would just drop the data after you're done, or you're executing models, in which case you would, you know, score the data and maybe put it back in the database. So there's still a pretty big gap there.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:44</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Combining Python And SQL To Build A PyData Warehouse</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>227</itunes:episode>
      <podcast:episode>227</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305159682757a8474573-e2c0-4f93-a7b2-668d29894313v1.mp3" length="34455299" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305159682757a8474573-e2c0-4f93-a7b2-668d29894313v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a8474573-e2c0-4f93-a7b2-668d29894313638558812247779984.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a8474573-e2c0-4f93-a7b2-668d29894313638558812244625616.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a8474573-e2c0-4f93-a7b2-668d29894313638558812239210718.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>AI Driven Automated Code Review With DeepCode</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Software engineers are frequently faced with problems that have been fixed by other developers in different projects. The challenge is how and when to surface that information in a way that increases their efficiency and avoids wasted effort. DeepCode is an automated code review platform that was built to solve this problem by training a model on a massive array of open sourced code and the history of their bug and security fixes. In this episode their CEO Boris Paskalev explains how the company got started, how they build and maintain the models that provide suggestions for improving your code changes, and how it integrates into your workflow.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, and Data Council. Upcoming events include the O&#8217;Reilly AI conference, the Strata Data conference, the combined events of the Data Architecture Summit and Graphorum, and Data Council in Barcelona. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Boris Paskalev about DeepCode, an automated code review platform for detecting security vulnerabilities in your projects</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>Can you start by explaining what DeepCode is and the story of how it got started?</li>
<li>How is the DeepCode platform implemented?</li>
<li>What are the current languages that you support and what was your guiding principle in selecting them?
<ul>
<li>What languages are you targeting next?</li>
<li>What is involved in maintaining support for languages as they release new versions with new features?
<ul>
<li>How do you ensure that the recommendations that you are making are not using languages features that are not available in the runtimes that a given project is using?</li>
</ul>
</li>
</ul>
</li>
<li>For someone who is using DeepCode, how does it fit into their workflow?</li>
<li>Can you explain the process that you use for training your models?
<ul>
<li>How do you curate and prepare the project sources that you use to power your models?
<ul>
<li>How much domain expertise is necessary to identify the faults that you are trying to detect?</li>
<li>What types of labelling do you perform to ensure that the resulting models are focusing on the proper aspects of the source repositories?</li>
</ul>
</li>
</ul>
</li>
<li>How do you guard against false positives and false negatives in your analysis and recommendations?</li>
<li>Does the code that you are analyzing and the resulting fixes act as a feedback mechanism for a reinforcement learning system to update your models?
<ul>
<li>How do you guard against leaking intellectual property of your scanned code when surfacing recommendations?</li>
</ul>
</li>
<li>What have been some of the most interesting/unexpected/challenging aspects of building the DeepCode product?</li>
<li>What do you have planned for the future of the platform and business?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/bpaskalev/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Redwall#Television_series?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redwall Series</a> by Brian Jacques</li>
</ul>
</li>
<li>Boris
<ul>
<li><a href="https://en.wikipedia.org/wiki/Artificial_intelligence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artifical Intelligence</a></li>
<li>Get outside</li>
</ul>
</li>
</ul>
<h3>Closing Announcements</h3>
<ul>
<li>Thank you for listening! Don&#8217;t forget to check out our other show, the <a href="">Data Engineering Podcast</a> for the latest on modern data management.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the mailing list, and read the show notes.</li>
<li>If you&#8217;ve learned something or tried out a project from the show then tell us about it! Email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>) with your story.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.deepcode.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeepCode</a></li>
<li><a href="https://en.wikipedia.org/wiki/Z%C3%BCrich?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zurich, Switzerland</a></li>
<li><a href="https://github.blog/2017-01-19-github-data-ready-for-you-to-explore-with-bigquery/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BigCode</a></li>
<li><a href="https://ethz.ch/en.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ETH Zurich</a></li>
<li><a href="https://en.wikipedia.org/wiki/Datalog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Datalog</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0498/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">F Strings</a></li>
<li><a href="https://docs.python.org/3/library/dataclasses.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Classes</a></li>
<li><a href="https://www.deepcode.ai/tech?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeepCode Research</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdeepcode-automated-code-review-episode-226%2F&amp;action_name=AI+Driven+Automated+Code+Review+With+DeepCode+-+Episode+226&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-08-26t14:26:31+00:00-5444a212fed060b</guid>
      <link>https://www.pythonpodcast.com/deepcode-automated-code-review-episode-226</link>
      <pubDate>Mon, 26 Aug 2019 15:00:00 +0000</pubDate>
      <podcast:soundbite startTime="234.64" duration="28.95">So pretty much what it does is there's 2 steps both in the learning and analyzing code. The first step is, we we we take your code. We analyze it quickly. We convert it. We use standard parsing of each language, And then we actually, do a data log extraction of semantic facts about the codes. We built a customized internal representation about the various interaction, every single object, how the object propagates and interacts with functions, getting into other objects, then how they change, etcetera.</podcast:soundbite>
      <podcast:soundbite startTime="687.31" duration="36.67">Can you describe a bit more about the overall workflow for somebody who's using Deepgram and how it fits into their development process? Yeah. So the most standard 1 that we we envision and we see it's most popular out there, it's a it's a developer tool that lives on the git. So pretty much you log in with your Git account, Git for Bitbucket, whatever that is. You see a list of repositories that you wanna analyze, and you subscribe them. Right? 1 once the repository is subscribed, you're getting 2 things. First of all, every time you do a pull request, we actually analyze it and we tell you, during this diff, are you introducing any new issues? Right? So that's number 1. That's continually monitoring the new code being generated.</podcast:soundbite>
      <podcast:soundbite startTime="122.17" duration="25.27">So, ultimately, what Deep Code does is learns from the global development community every single issue that was ever fixed and how it was fixed, and combine this knowledge of all development, almost like crowdsourcing the development knowledge, to prevent every single user from repeating those, mistakes that are already known. In addition, we actually have predictive algorithms to understand issues that may not have been fixed but could actually appear in software development.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:33:15</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>AI Driven Automated Code Review With DeepCode</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>226</itunes:episode>
      <podcast:episode>226</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300180980647697f77a7-fbbc-4858-8b6a-34dca73e9627v1.mp3" length="28012070" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300180980647697f77a7-fbbc-4858-8b6a-34dca73e9627v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_697f77a7-fbbc-4858-8b6a-34dca73e9627638558798422288884.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/697f77a7-fbbc-4858-8b6a-34dca73e9627638558798419374338.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/697f77a7-fbbc-4858-8b6a-34dca73e9627638558798417329482.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Security, UX, and Sustainability For The Python Package Index</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>PyPI is a core component of the Python ecosystem that most developer&#8217;s have interacted with as either a producer or a consumer. But have you ever thought deeply about how it is implemented, who designs those interactions, and how it is secured? In this episode Nicole Harris and William Woodruff discuss their recent work to add new security capabilities and improve the overall accessibility and user experience. It is a worthwhile exercise to consider how much effort goes into making sure that we don&#8217;t have to think much about this piece of infrastructure that we all rely on.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence, and Data Counsil. Upcoming events include the O&#8217;Reilly AI conference, the Strata Data conference, the combined events of the Data Architecture Summit and Graphorum, and Data Council in Barcelona. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more about these and other events, and take advantage of our partner discounts to save money when you register today.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nicole Harris and William Woodruff about the work they are doing on the PyPI service to improve the security and utility of the package repository that we all rely on</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by sharing how you each got involved in working on PyPI?
<ul>
<li>What was the state of the system at the time that you first began working on it?</li>
</ul>
</li>
<li>Once you committed to working on PyPI how did you each approach the process of identifying and prioritizing the work that needed to be done?
<ul>
<li>What were the most significant issues that you were faced with at the outset?</li>
</ul>
</li>
<li>How often have the issues that you each focused on overlapped at the cross section of UX and security?
<ul>
<li>How do you balance the tradeoffs that exist at that boundary?</li>
</ul>
</li>
<li>What is the surface area of the domains that you are each working in? (e.g. web UI, system API, data integrity, platform support, etc.)
<ul>
<li>What are some of the pain points or areas of confusion from a user perspective that you have dealt with in the process of improving the platform?</li>
</ul>
</li>
<li>What have been the most notable features or improvements that you have each introduced to PyPI?
<ul>
<li>What were the biggest challenges with implementing or integrating those changes?</li>
</ul>
</li>
<li>How do you approach introducing changes to PyPI given the volume of traffic that it needs to support and the level of importance that it serves in the community?</li>
<li>What are some examples of attack vectors that exist as a result of the nature of the PyPI platform and what are you most concerned by?</li>
<li>How does poor accessibility or user experience impact the utility of PyPI and the community members who interact with it?</li>
<li>What have you found to be the most interesting/challenging/unexpected aspects of working on Warehouse?
<ul>
<li>What are some of the most useful lessons that you have learned in the process?</li>
</ul>
</li>
<li>What do you have planned for future improvements to the platform?
<ul>
<li>How can the listeners get involved and help out?</li>
</ul>
</li>
<li>How was this work funded?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Nicole
<ul>
<li><a href="https://twitter.com/nlhkabu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@nlhkabu</a> on Twitter</li>
<li><a href="https://whoisnicoleharris.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li>If you&#8217;re using CI to upload to PyPI and would like to speak with Nicole please book a time <a href="https://calendly.com/nlhkabu/pypi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">here</a></li>
<li>If you&#8217;re using assistive technology and would like to speak with Nicole please book a time <a href="https://calendly.com/nlhkabu/pypi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">here</a></li>
</ul>
</li>
<li>William
<ul>
<li><a href="twitter.com/8x5clPW2">@8x5clPW2</a></li>
<li><a href="yossarian.net">Website</a></li>
<li><a href="mailto:william@trailofbits.com">Email</a></li>
<li>Please get in touch if you&#8217;d like to work with Trail of Bits on your next security project!</li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_Expanse_(TV_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Expanse</a> TV Series</li>
</ul>
</li>
<li>Nicole
<ul>
<li><a href="https://www.netflix.com/title/80117542?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Great Hack</a> documentary</li>
</ul>
</li>
<li>William
<ul>
<li><a href="https://www.goodreads.com/book/show/90822.Abraham_Lincoln?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Abraham Lincoln Autobiography</a> by Carl Sandburg</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="pypi.org">PyPI</a></li>
<li><a href="https://github.com/pypa/warehouse?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Warehouse</a>
<ul>
<li><a href="https://github.com/pypa/warehouse/issues?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Issue Tracker</a></li>
<li><a href="https://github.com/pypa/warehouse/labels/good%20first%20issue?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Good First Issues</a></li>
</ul>
</li>
<li><a href="https://people-doc.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PeopleDoc</a></li>
<li><a href="https://www.trailofbits.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trail of Bits</a></li>
<li><a href="https://osquery.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OSQuery</a></li>
<li><a href="https://www.djangoproject.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Software Foundation</a>
<ul>
<li><a href="https://wiki.python.org/psf/PackagingWG/Charter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Packaging Working Group</a></li>
<li><a href="https://www.pythonpodcast.com/python-software-foundation-episode-217/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://caremad.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Donald Stufft</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-54-pip-and-the-python-package-authority-with-donald-stufft/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/User_experience_design?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UX (User Experience) Design</a></li>
<li><a href="https://www.opentech.fund?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OTF == Open Technology Fund</a></li>
<li><a href="https://getbootstrap.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bootstrap</a></li>
<li><a href="https://tools.ietf.org/html/rfc6238?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TOTP</a></li>
<li><a href="https://webauthn.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WebauthN</a></li>
<li><a href="https://www.yubico.com/products/yubikey-hardware/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yubikey</a></li>
<li><a href="https://changeset.nyc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Changeset Consulting</a></li>
<li><a href="https://www.harihareswara.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sumana Harihareswara</a></li>
<li><a href="https://www.w3.org/TR/WCAG20/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WCAG (Web Content Accessibility Guidelines) 2.0</a></li>
<li><a href="https://ai.google/research/pubs/pub41892?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Macaroon Security Tokens</a></li>
<li><a href="https://docs.docker.com/compose/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker Compose</a></li>
<li><a href="https://www.mozilla.org/en-US/moss/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MOSS = Mozilla Open Source Support</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpypi-improvements-episode-225%2F&amp;action_name=Security%2C+UX%2C+and+Sustainability+For+The+Python+Package+Index+-+Episode+225&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-08-19t19:50:57+00:00-fe47b0be0a965a9</guid>
      <link>https://www.pythonpodcast.com/pypi-improvements-episode-225</link>
      <pubDate>Mon, 19 Aug 2019 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="86.79" duration="6.80">And today I'm interviewing Nicole Harris and William Woodruff about the work they're doing on the PyPI service to improve the security and utility of the package repository that we all rely on.</podcast:soundbite>
      <podcast:soundbite startTime="852.45" duration="14.38">Yeah. I think a huge challenge when designing, secure systems is is security fatigue. So 1 of the last things you wanna do is, like you said, ratchet down the system so much that users become frustrated and take shortcuts to achieve achieve their ends.</podcast:soundbite>
      <podcast:soundbite startTime="382.22" duration="26.19">The when I joined it the project in, I think it was 2015, 2016, basically, pypi.org was still powered by an old code base that had been written, like I think it had been written before kind of web frameworks even existed. I think I think Donald described it as before we even knew how to, like, use Python to to build great web experiences.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:38</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Security, UX, and Sustainability For The Python Package Index</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>225</itunes:episode>
      <podcast:episode>225</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530758396333628b28371-fb18-45f6-8c6c-8ae3938f1619v1.mp3" length="39997632" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530758396333628b28371-fb18-45f6-8c6c-8ae3938f1619v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_28b28371-fb18-45f6-8c6c-8ae3938f1619638558821725694075.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/28b28371-fb18-45f6-8c6c-8ae3938f1619638558821720828592.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/28b28371-fb18-45f6-8c6c-8ae3938f1619638558821718871146.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Learning To Program In Python With CodeGrades</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>With the increasing role of software in our world there has been an accompanying focus on teaching people to program. There are numerous approaches that have been attempted to achieve this goal with varying levels of success. Nicholas Tollervey has begun a new effort that blends the approach adopted by musicians and martial artists that uses a series of grades to provide recognition for the achievements of students. In this episode he explains how he has structured the study groups, syllabus, and evaluations to help learners build projects based on their interests and guide their own education while incorporating useful skills that are necessary for a career in software. If you are interested in learning to program, teach others, or act as a mentor then give this a listen and then get in touch with Nicholas to help make this endeavor a success.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, Corinium Global Intelligence. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today Nicholas Tollervey is back to talk about his work on CodeGrades, a new effort that he is building to blend his backgrounds in music, education, and software to help teach kids of all ages how to program.</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what CodeGrades is and what motivated you to start this project?
<ul>
<li>How does it differ from other approaches to teaching software development that you have encountered?</li>
<li>Is there a particular age or level of background knowledge that you are targeting with the curriculum that you are developing?</li>
</ul>
</li>
<li>What are the criteria that you are measuring against and how does that criteria change as you progress in grade levels?</li>
<li>For someone who completes the full set of levels, what level of capability would you expect them to have as a developer?</li>
<li>Given your affiliation with the Python community it is understandable that you would target that language initially. What would be involved in adapting the curriculum, mentorship, and assessments to other languages?
<ul>
<li>In what other ways can this idea and platform be adapted to accomodate other engineering skills? (e.g. system administration, statistics, graphic design, etc.)</li>
</ul>
</li>
<li>What interesting/exciting/unexpected outcomes and lessons have you found while iterating on this idea?</li>
<li>For engineers who would like to be involved in the CodeGrades platform, how can they contribute?</li>
<li>What challenges do you anticipate as you continue to develop the curriculum and mentor networks?</li>
<li>How do you envision the future of CodeGrades taking ship in the medium to long term?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/ntoll?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ntoll</a> on GitHub</li>
<li><a href="http://ntoll.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/ntoll?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ntoll</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://parsy.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parsy</a></li>
<li><a href="https://amzn.to/2YY8VEz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nevermoor: The Trials of Morrigan Crow</a></li>
</ul>
</li>
<li>Nicholas
<ul>
<li><a href="https://kivy.org/#home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy</a></li>
<li><a href="https://amzn.to/2H2vbaq?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wittgenstein: The Duty Of Genious</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Hitchhiker&#8217;s Guide To The Galaxy</a> by Douglas Adams</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://codegrades.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeGrades</a></li>
<li><a href="http://ntoll.org/article/codegrades?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog Post</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C#</a></li>
<li><a href="https://en.wikipedia.org/wiki/.NET_Framework?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">.NET</a></li>
<li><a href="https://en.wikipedia.org/wiki/London?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">London</a></li>
<li><a href="https://ironpython.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IronPython</a></li>
<li><a href="https://en.wikipedia.org/wiki/Music_examination?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Musical Grades</a></li>
<li><a href="https://en.wikipedia.org/wiki/Autodidacticism?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Autodidact</a></li>
<li><a href="https://lambdaschool.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lambda School</a></li>
<li><a href="https://knowyourmeme.com/memes/how-to-draw-an-owl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How To Draw An Owl</a></li>
<li><a href="https://docs.python.org/3/reference/datamodel.html#basic-customization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dunder (double underscore) methods</a></li>
<li><a href="https://en.wikipedia.org/wiki/Duck_typing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Duck Typing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Impostor_syndrome?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Impostor Syndrome</a></li>
<li><a href="https://djangogirls.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Girls</a></li>
<li><a href="https://codewith.mu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mu Editor</a></li>
<li><a href="https://en.wikipedia.org/wiki/Baroque_music?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Baroque Music</a></li>
<li><a href="https://en.wikipedia.org/wiki/Chamber_music?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chamber Music</a></li>
<li><a href="https://pydata.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyData</a></li>
<li><a href="https://www.adafruit.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adafruit</a></li>
<li><a href="https://circuitpython.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CircuitPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/circuitpython-hardware-hacking-episode-212/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://www.adafruit.com/product/4116?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPortal</a></li>
<li><a href="https://en.wikipedia.org/wiki/HyperCard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypercard</a></li>
<li><a href="https://pypercard.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pypercard</a></li>
<li><a href="https://kivy.org/#home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-3-kivy-core-developers/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Alan_Turing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alan Turing</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcodegrades-learn-to-program-episode-224%2F&amp;action_name=Learning+To+Program+In+Python+With+CodeGrades+-+Episode+224&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-08-12t13:17:34+00:00-1e87abbfd5f68f8</guid>
      <link>https://www.pythonpodcast.com/codegrades-learn-to-program-episode-224</link>
      <pubDate>Mon, 12 Aug 2019 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="200.30" duration="30.78">So, CodeGrades is an experiment to help folks learn about programming, and initially, Python. It's a sort of an exercise in digital empowerment in in that sense. And it's an experiment because its modus operandi, is is based upon aspects of music education, transplanted into the world of coding. Now it remains to be seen if if it will work, but but I'm help I'm hopeful for a number of reasons.</podcast:soundbite>
      <podcast:soundbite startTime="600.89" duration="33.52">So how is code grades different? Well, it's an awful lot cheaper than paying $10, 000 to a boot camp. It's self paced, so you don't have to, fit all this in in 3 months and not work for 3 months and things like that. And you can skip grades as well. You might find yourself doing grade 1, find, find that that you you you have an ability at this, and then next do grade 4, then grade 6, and then grade 8. The important thing is is that you're deciding when you're when you're taking the grades.</podcast:soundbite>
      <podcast:soundbite startTime="2843.48" duration="31.30">So this is an extraordinarily important aspect of the project. So upfront, I need to say that, to become a code mentor, you need to be a well, how do you explain a good, developer? How do we know that you're a good developer? Well, it's because we can see evidence that you are displaying the sorts of behavior, the sorts of code, the sorts of, community interaction that, that 1 would expect from somebody working in a mentorship, position, within the community.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:04:02</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Learning To Program In Python With CodeGrades</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>224</itunes:episode>
      <podcast:episode>224</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252981591361690df634e5-296b-4dca-a971-10558a0795f8v1.mp3" length="50611372" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252981591361690df634e5-296b-4dca-a971-10558a0795f8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_0df634e5-296b-4dca-a971-10558a0795f8638558791150446935.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0df634e5-296b-4dca-a971-10558a0795f8638558791145731746.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0df634e5-296b-4dca-a971-10558a0795f8638558791143552732.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Build Your Own Knowledge Graph With Zincbase</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Computers are excellent at following detailed instructions, but they have no capacity for understanding the information that they work with. Knowledge graphs are a way to approximate that capability by building connections between elements of data that allow us to discover new connections among disparate information sources that were previously uknown. In our day-to-day work we encounter many instances of knowledge graphs, but building them has long been a difficult endeavor. In order to make this technology more accessible Tom Grek built Zincbase. In this episode he explains his motivations for starting the project, how he uses it in his daily work, and how you can use it to create your own knowledge engine and begin discovering new insights of your own.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. With such an intuitive tool it&#8217;s easy to make sure that everyone in the business is on the same page. Podcast.<strong>init</strong> listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tom Grek about knowledge graphs, when they&#8217;re useful, and his project Zincbase that makes them easier to build</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what a knowledge graph is and some of the ways that they are used?
<ul>
<li>How did you first get involved in the space of knowledge graphs?</li>
</ul>
</li>
<li>You have built the Zincbase project for building and querying knowledge graphs. What was your motivation for creating this project and what are some of the other tools that are available to perform similar tasks?</li>
<li>Can you describe how Zincbase is implemented and some of the ways that it has evolved since you first began working on it?
<ul>
<li>What are some of the assumptions that you had at the outset of the project which have been challenged or updated in the process of working on and with it?</li>
</ul>
</li>
<li>What are some of the common challenges when building or using knowledge graphs?</li>
<li>How has the domain of knowledge graphs changed in recent years as new approaches to entity resolution and data processing have been introduced?</li>
<li>Can you talk through a use case and workflow for using Zincbase to design and populate a knowledge graph?</li>
<li>What are some of the ways that you are using Zincbase in your own projects?</li>
<li>What have you found to be the most challenging/interesting/unexpected lessons that you have learned in the process of building and maintaining Zincbase?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/tomgrek?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tomgrek</a> on GitHub</li>
<li><a href="https://tomgrek.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/tomgrek?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tomgrek</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/tomgrek/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.livewellbakeoften.com/blueberry-banana-baked-oatmeal/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Banana Blueberry Oat Bars</a></li>
</ul>
</li>
<li>Tom
<ul>
<li><a href="https://www.cayennediane.com/sweet-spicy-pickled-habaneros/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pickled Habañero</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/tomgrek/zincbase?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zincbase</a></li>
<li><a href="https://en.wikipedia.org/wiki/Commodore_64?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Commodore 64</a></li>
<li><a href="https://en.wikipedia.org/wiki/Electrical_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Electronic Engineering</a></li>
<li><a href="https://en.wikipedia.org/wiki/Artificial_intelligence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artificial Intelligence</a></li>
<li><a href="https://primer.ai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Primer.ai</a></li>
<li><a href="https://en.wikipedia.org/wiki/Artificial_general_intelligence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artificial General Intelligence</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://ipython.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython</a></li>
<li><a href="https://numpy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://products.office.com/en-us/excel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Excel</a></li>
<li><a href="https://jupyter.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://pandas.pydata.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="https://en.wikipedia.org/wiki/Knowledge_Graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Knowledge Graph</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/enigma-with-chris-groskopf-episode-50/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode About Enigma Knowledge Graph</a></li>
</ul>
</li>
<li><a href="https://www.imdb.com/title/tt0133093/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Matrix</a></li>
<li><a href="https://en.wikipedia.org/wiki/Keanu_Reeves?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keanu Reeves</a></li>
<li><a href="https://en.wikipedia.org/wiki/Ontology_(information_science)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ontology</a></li>
<li><a href="https://en.wikipedia.org/wiki/Semantic_Web?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Semantic Web</a></li>
<li><a href="https://en.wikipedia.org/wiki/Word2vec?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Word2Vec</a></li>
<li><a href="https://en.wikipedia.org/wiki/SPARQL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SparQL</a></li>
<li><a href="https://neo4j.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neo4J</a></li>
<li><a href="https://en.wikipedia.org/wiki/Graph_database?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graph Database</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dgraph-with-manish-jain-episode-44/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode About DGraph</a></li>
</ul>
</li>
<li><a href="https://aws.amazon.com/neptune/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS Neptune</a></li>
<li><a href="https://www.postgresql.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://dask.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/BBC_Micro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BBC Micro</a></li>
<li><a href="https://en.wikipedia.org/wiki/BASIC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BASIC</a></li>
<li><a href="https://en.wikipedia.org/wiki/Prolog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prolog</a></li>
<li><a href="https://en.wikipedia.org/wiki/Natural_language_processing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLP</a></li>
<li><a href="https://allennlp.org/elmo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ELMO</a></li>
<li><a href="https://arxiv.org/abs/1810.04805?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BERT</a></li>
<li><a href="https://openai.com/blog/better-language-models/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPT-2</a></li>
<li><a href="https://en.wikipedia.org/wiki/Winograd_Schema_Challenge?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Winograd Schema Challenge</a></li>
<li><a href="https://torchbiggraph.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch BigGraph</a></li>
<li><a href="https://docs.ampligraph.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ampligraph</a></li>
<li><a href="https://spacy.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpaCy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-87-spacy-with-matthew-honnibal/?utm_source=rss&utm_medium=rss">Podcast.__init__ Episode</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/AI_winter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AI Winter</a></li>
<li><a href="https://pytorch.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="http://networkx.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworkX</a></li>
<li><a href="https://www.scipy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://circleci.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CircleCI</a></li>
<li><a href="https://readthedocs.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Read The Docs</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-36-eric-holscher-on-documentation-and-read-the-docs/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.gutenberg.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Gutenberg</a></li>
<li><a href="https://allennlp.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Allen NLP</a></li>
<li><a href="https://docs.python.org/3/library/doctest.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Doctest</a></li>
<li><a href="https://en.wikipedia.org/wiki/Reinforcement_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reinforcement Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Metacognition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metacognition</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img…]]></description>
      <guid isPermaLink="false">podlove-2019-08-05t21:11:30+00:00-c9e9c199a79b66d</guid>
      <link>https://www.pythonpodcast.com/zincbase-knowledge-graph-episode-223</link>
      <pubDate>Mon, 5 Aug 2019 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="124.62" duration="34.51">Sure. I'll give you my nerd resume. So, I started coding way back when I was 5 years old on a Commodore 64. I studied, electronic engineering at college. I got a master's in AI back when it was fringe and didn't really work. I've had a a failed start up. I've worked all over the world. I've worked in big enterprise. I've freelanced. I've worked for the UK government's Secret Labs, and I'm now working as an engineer at Prima dotai, an NLP startup in San Francisco.</podcast:soundbite>
      <podcast:soundbite startTime="256.40" duration="50.94">Right. Sure. So in a knowledge graph, or more generically, I guess, a knowledge base, you have nodes, which are entities. So people, places, things, companies, and edges between them, which capture different relation types. So, for example, Keanu Reeves is a node. The matrix is a node, and an edge between them could be acted in. So and this fact, Keanu Reeves acted in the matrix. It has 3 components, a subject, a predicate or relation, and an object. And together, we call that a triple. So the core goal here is to be able to ask the knowledge base for some made up triple.</podcast:soundbite>
      <podcast:soundbite startTime="1090.28" duration="30.54">I didn't build this simply out of a desire to, push AGI forward, I gotta say. I built Zincbase in part because, I wanted to work on it as my day job. Right? Instead of my day job being, you know, creating bigger and better training datasets instead of training, you know, these ever more complicated neural models with more parameters. I wanted to spend my time building towards real intelligence.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:45</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Build Your Own Knowledge Graph With Zincbase</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>223</itunes:episode>
      <podcast:episode>223</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303412987042b9b50ce4-8a5b-4697-a9be-4d33eb673c2fv1.mp3" length="32948150" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303412987042b9b50ce4-8a5b-4697-a9be-4d33eb673c2fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b9b50ce4-8a5b-4697-a9be-4d33eb673c2f638558804393697182.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b9b50ce4-8a5b-4697-a9be-4d33eb673c2f638558804389969405.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b9b50ce4-8a5b-4697-a9be-4d33eb673c2f638558804385913168.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Docker Best Practices For Python In Production</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Docker is a useful technology for packaging and deploying software to production environments, but it also introduces a different set of complexities that need to be understood. In this episode Itamar Turner-Trauring shares best practices for running Python workloads in production using Docker. He also explains some of the security implications to be aware of and digs into ways that you can optimize your build process to cut down on wasted developer time. If you are using Docker, thinking about using it, or just heard of it recently then it is worth your time to listen and learn about some of the cases you might not have considered.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>To connect with the startups that are shaping the future and take advantage of the opportunities that they provide, check out Angel List where you can invest in innovative business, find a job, or post a position of your own. Sign up today at <a href="https://www.pythonpodcast.com/angel?utm_source=rss&utm_medium=rss">pythonpodcast.com/angel</a> and help support this show.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Itamar Turner-Trauring about what you need to know about running Python workloads in Docker</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For anyone who is unfamiliar with it, can you describe what Docker is and the benefits that it can provide?</li>
<li>What was your motivation for dedicating so much time and energy to the specific area of using Docker for Python production usage?</li>
<li>What are some of the common issues that developers and operations engineers run into when dealing with Docker and its build system?</li>
<li>What are some of the issues that are specific to Python that you have run into when using Docker?</li>
<li>How does the ecosystem for Python in containers compare to other languages that you are familiar with?</li>
<li>What are some of the security issues that engineers are likely to run into when using some of the advice and pre-existing containers that are publicly available?</li>
<li>One of the issues that you call out is the speed of container builds. What are some of the contributing factors that lead to such slow packaging times?
<ul>
<li>Can you talk through some of the aspects of multi-layer packages and useful ways to take proper advantage of them?</li>
</ul>
</li>
<li>There have been some recent projects that attempt to work around the shortcomings of the Dockerfile itself. What are your thoughts on that overall effort and any specific tools that you have experimented with?</li>
<li>When is Docker the wrong choice for a production environment?
<ul>
<li>What are some useful alternatives to Docker, for Python specifically and for software distribution in general that you have had good luck with?</li>
</ul>
</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="http://itamarst.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/itamarst?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@itamarst</a> on Twitter</li>
<li><a href="https://github.com/itamarst?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">itamarst</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt0448115/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shazam Movie</a></li>
</ul>
</li>
<li>Itamar
<ul>
<li><a href="https://en.wikipedia.org/wiki/Veronica_Mars?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Veronica Mars</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://pythonspeed.com/docker/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Itamar&#8217;s Best Practices Guide</a></li>
<li><a href="https://www.docker.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="https://zope.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://about.gitlab.com/product/continuous-integration/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitLab CI</a></li>
<li><a href="https://www.youtube.com/watch?v=RB6MvSEaMKI&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heresy In The Church Of Docker</a></li>
<li><a href="https://poetry.eustace.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poetry</a></li>
<li><a href="https://docs.pipenv.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pipenv</a></li>
<li><a href="https://docs.docker.com/engine/reference/builder/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dockerfile</a></li>
<li><a href="http://gerg.ca/talks/40years/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">40 Years of DSL Disasters (Slides)</a></li>
<li><a href="https://ubuntu.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ubuntu</a></li>
<li><a href="https://www.debian.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Debian</a></li>
<li><a href="https://medium.com/@jessgreb01/digging-into-docker-layers-c22f948ed612?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker Layers</a></li>
<li><a href="https://bitnami.com/containers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bitnami</a></li>
<li><a href="">Alpine Linux</a>https://alpinelinux.org?utm_source=rss&utm_medium=rss</li>
<li><a href="https://podman.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PodMan</a></li>
<li><a href="https://nixos.wiki/wiki/Docker#Container_images_with_nix?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nix</a></li>
<li><a href="https://devcenter.heroku.com/articles/buildpacks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heroku Buildpacks</a></li>
<li><a href="https://pythonspeed.com/products/pythoncontainer/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Itamar&#8217;s Docker Template</a></li>
<li><a href="https://www.packer.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hashicorp Packer</a></li>
<li><a href="https://coreos.com/rkt/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rkt</a></li>
<li><a href="https://en.wikipedia.org/wiki/Solaris_Containers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Solaris Zones</a></li>
<li><a href="https://www.freebsd.org/doc/handbook/jails.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BSD Jails</a></li>
<li><a href="https://www.pyinstaller.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyInstaller</a></li>
<li><a href="https://snapcraft.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snap</a></li>
<li><a href="https://flatpak.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FlatPak</a></li>
<li><a href="https://docs.conda.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conda</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdocker-python-production-episode-222%2F&amp;action_name=Docker+Best+Practices+For+Python+In+Production+-+Episode+222&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-07-29t02:02:05+00:00-93517d67fb395cc</guid>
      <link>https://www.pythonpodcast.com/docker-python-production-episode-222</link>
      <pubDate>Mon, 29 Jul 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="207.16" duration="37.85">Yeah. So Docker is sort of a generic name, and the earliest implementation of, sort of a set of technologies for running, applications in an isolated and reproducible manner. And basically, it lets you take a full file system for for your application. So all the files it needs to run, basically a whole Linux distribution, plus all your code and package it into an image. And then you can run that image, and when you run it, it will typically run-in isolation from in terms of the networking stack, in terms of the other processes you can see.</podcast:soundbite>
      <podcast:soundbite startTime="121.91" duration="28.04">And today, I'm interviewing Itamar Turner Trauering about what you need to know about running Python workloads in Docker. So, Itamar, could you start by introducing yourself? Hi. My name is Itamar Turner Trauring. I help, teams using Python to ship features faster, and using Python for about 20 years. And most recently, I've been spending a lot of time focusing on figuring out how to really run, Python applications on top of Docker in the best way possible.</podcast:soundbite>
      <podcast:soundbite startTime="800.55" duration="26.33">Well, I guess there's, the invisible but potentially extremely problematic pain points of security. And then there's the more, obvious ones people encounter. So security is a sort of a whole issue on its own, so maybe you can talk a bit a bit about it afterwards. But putting security aside, some of the other pain points then feed into security problems. So I'll start with the the ones that sort of hit people first.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Docker Best Practices For Python In Production</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>222</itunes:episode>
      <podcast:episode>222</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529682518858088467a97-7444-440a-9b90-04b30fb00b60v1.mp3" length="31263168" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529682518858088467a97-7444-440a-9b90-04b30fb00b60v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_88467a97-7444-440a-9b90-04b30fb00b60638558786335773932.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/88467a97-7444-440a-9b90-04b30fb00b60638558786332809414.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/88467a97-7444-440a-9b90-04b30fb00b60638558786330955508.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Protecting The Future Of Python By Hunting Black Swans</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The Python language has seen exponential growth in popularity and usage over the past decade. This has been driven by industry trends such as the rise of data science and the continued growth of complex web applications. It is easy to think that there is no threat to the continued health of Python, its ecosystem, and its community, but there are always outside factors that may pose a threat in the long term. In this episode Russell Keith-Magee reprises his keynote from PyCon US in 2019 and shares his thoughts on potential black swan events and what we can do as engineers and as a community to guard against them.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to grow your professional network and find opportunities with the startups that are changing the world then Angel List is the place to go. Go to <a href="">pythonpodcast.com/angel</a> to sign up today.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Upcoming events include the O&#8217;Reilly AI Conference, the Strata Data Conference, and the combined events of the Data Architecture Summit and Graphorum. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Russell Keith-Magee about potential black swans for the Python language, ecosystem, and community and what we can do about them</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what a Black Swan is in the context of our conversation?</li>
<li>You were the opening keynote for PyCon this year, where you talked about some of the potential challenges facing Python. What motivated you to choose this topic for your presentation?</li>
<li>What effect did your talk have on the overall tone and focus of the conversations that you experienced during the rest of the conference?
<ul>
<li>What were some of the most notable or memorable reactions or pieces of feedback that you heard?</li>
</ul>
</li>
<li>What are the biggest potential risks for the Python ecosystem that you have identified or discussed with others?</li>
<li>What is your overall sentiment about the potential for the future of Python?</li>
<li>As developers and technologists, does it really matter if Python continues to be a viable language?</li>
<li>What is your personal wish list of new capabilities or new directions for the future of the Python language and ecosystem?</li>
<li>For listeners to this podcast and members of the Python community, what are some of the ways that we can contribute to the long-term success of the language?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://beeware.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BeeWare</a></li>
<li><a href="https://github.com/freakboy3742?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">freakboy3742</a> on GitHub</li>
<li><a href="https://twitter.com/freakboy3742?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@freakboy3742</a> on Twitter</li>
<li><a href="https://cecinestpasun.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="http://jethrotull.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jethro Tull</a></li>
</ul>
</li>
<li>Russell
<ul>
<li><a href="https://github.com/freakboy3742/pytest-tldr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pytest-tldr</a></li>
<li><a href="https://github.com/pdbpp/pdbpp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pdbpp</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://youtu.be/ftP5BQh1-YM?t=1250&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon 2019 Keynote Presentation</a></li>
<li><a href="https://en.wikipedia.org/wiki/Perth?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perth</a></li>
<li><a href="https://en.wikipedia.org/wiki/Western_Australia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Western Australia</a></li>
<li><a href="https://www.djangoproject.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://beeware.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BeeWare</a></li>
<li><a href="https://www.redhat.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedHat</a></li>
<li><a href="https://www.gnu.org/software/emacs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Emacs</a></li>
<li><a href="https://www.vim.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vim</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp</a></li>
<li><a href="https://glyph.twistedmatrix.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Glyph</a></li>
<li><a href="https://twistedmatrix.com/trac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cal_Henderson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cal Henderson</a></li>
<li><a href="https://www.flickr.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flickr</a></li>
<li><a href="https://slack.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slack</a></li>
<li>Black Swan
<ul>
<li><a href="https://en.wikipedia.org/wiki/Black_swan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Animal</a></li>
<li><a href="https://www.goodreads.com/book/show/242472.The_Black_Swan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Book</a></li>
<li><a href="https://en.wikipedia.org/wiki/Black_swan_theory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metaphor</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Nassim_Nicholas_Taleb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nassim Nicholas Taleb</a></li>
<li><a href="https://us.pycon.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon US</a></li>
<li><a href="https://twitter.com/ewa_jodlowska?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ewa Jodlowska</a></li>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Software Foundation</a>
<ul>
<li><a href="https://www.pythonpodcast.com/python-software-foundation-episode-217/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://developer.apple.com/swift/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swift</a></li>
<li><a href="https://en.wikipedia.org/wiki/JavaScript?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JavaScript</a></li>
<li><a href="https://djangogirls.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Girls</a></li>
<li><a href="https://beeware.org/project/projects/tools/briefcase/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Briefcase</a> packaging tool</li>
<li><a href="http://pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://webassembly.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web Assembly (WASM)</a></li>
<li><a href="https://en.wikipedia.org/wiki/COBOL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">COBOL</a></li>
<li><a href="https://tidelift.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tidelift</a></li>
<li><a href="https://beeware.org/project/projects/tools/cricket/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cricket</a> unit test runner</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpython-potential-black-swans-episode-221%2F&amp;action_name=Protecting+The+Future+Of+Python+By+Hunting+Black+Swans+-+Episode+221&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-07-22t21:40:38+00:00-a0aa37a3e9d64b6</guid>
      <link>https://www.pythonpodcast.com/python-potential-black-swans-episode-221</link>
      <pubDate>Mon, 22 Jul 2019 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="702.89" duration="20.23">Python is today a popular language. It is a wide spread language. It's used in education. It's used, for web programming. It's used for all sorts of things, used, you know, used for data science. But why is it going to stay that way? It's not inevitable that Python will always be a popular language. So what's gonna change that? What could change that?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:35</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Protecting The Future Of Python By Hunting Black Swans</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>221</itunes:episode>
      <podcast:episode>221</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531640086416025e013e3-da4d-4df2-ba2b-b6ebb61d68b1v1.mp3" length="35668825" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531640086416025e013e3-da4d-4df2-ba2b-b6ebb61d68b1v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_25e013e3-da4d-4df2-ba2b-b6ebb61d68b1638558832238978388.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/25e013e3-da4d-4df2-ba2b-b6ebb61d68b1638558832235116296.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/25e013e3-da4d-4df2-ba2b-b6ebb61d68b1638558832233317392.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>A Modern Open Source Project Management Platform</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Project management is a discipline that has been through many incarnations, spawning an entire industry of businesses and tools. The challenge is to build a platform that is sufficiently powerful and adaptable to fit the workflow of your teams, while remaining opinionated enough to be useful. It also helps to have an open and extensible platform that can be customized as needed. In this episode Pablo Ruiz Múzquiz explains the motivation for creating the open source tool Taiga, how it compares to the other options in the market, and how you can use it for your own projects. He also discusses the challenges inherent to project management tools, his philosophies on what makes a project successful, and how to manage your team workflows to be most effective. It was helpful learning from Pablo&#8217;s long experience in the software industry and managing teams of various sizes.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Pablo Ruiz Múzquiz about Taiga, a project management platform for agile developers &amp; designers and project managers who want a beautiful tool that makes work truly enjoyable</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Taiga is and the reason for building it?
<ul>
<li>Project management platforms have been available for a long time. Can you describe how Taiga fits into that market and what makes it stand out?</li>
</ul>
</li>
<li>Can you describe how you view project management and some of the unique challenges that it poses when building a tool for it?
<ul>
<li>How do the requirements differ between project management for software teams vs other disciplines?</li>
</ul>
</li>
<li>How is Taiga implemented and how has the system design evolved since it was first started?</li>
<li>For someone who is using Taiga can you talk through the features of the platform and how it fits into a typical workflow?</li>
<li>How do you maintain a balance between usability and structure in managing project workflows against flexibility and customization?</li>
<li>Within an engineering team how do you view the responsibility for driving and maintaining the lifecycle of a project?</li>
<li>What are the most common points of friction within a project management workflow and how are you working to address them in Taiga?
<ul>
<li>Onboarding and discovery for a new contributor in a given project is often painful. What are some steps that a project manager or product team can take to make that process more palatable?</li>
</ul>
</li>
<li>How has the landscape of project management practices and tools changed since you first began working on Taiga and how has that influenced your roadmap?</li>
<li>What have been the most challenging or difficult aspects of building and growing the Taiga project and community?
<ul>
<li>What lessons have you learned in the process that have been particularly valuable or unexpected?</li>
</ul>
</li>
<li>What are some of the most interesting/unexpected/innovative ways that you have seen Taiga used?</li>
<li>When is Taiga the wrong choice for a given project or team?</li>
<li>What do you have planned for the future of Taiga?</li>
</ul>
<p>Added by Pablo</p>
<ol>
<li>Why did you choose AGPLv3 for a license?</li>
<li>How can Taiga integrate itself with other platforms that are typically used by teams?</li>
</ol>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/@diacritica?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@diacritica</a> on Twitter</li>
<li><a href="https://es.linkedin.com/in/pruizmuzquiz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="http://elenya.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/2MyQZQ0?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marchway Hydration Pack</a></li>
</ul>
</li>
<li>Pablo
<ul>
<li><a href="https://en.wikipedia.org/wiki/Archery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Archery</a></li>
<li><a href="https://en.wikipedia.org/wiki/Modern_competitive_archery#3D_archery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3D Archery</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://taiga.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Taiga</a></li>
<li><a href="https://en.wikipedia.org/wiki/Madrid?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Madrid, Spain</a></li>
<li><a href="https://www.archery360.com/2017/09/07/whats-traditional-archery/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Traditional Archery</a></li>
<li><a href="https://www.kaleidos.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kaleidos</a></li>
<li><a href="https://www.perl.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://en.wikipedia.org/wiki/Monty_Python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monty Python</a></li>
<li><a href="https://www.blender.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blender</a></li>
<li><a href="https://en.wikipedia.org/wiki/Agile_software_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agile</a></li>
<li><a href="https://en.wikipedia.org/wiki/Project_management?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Management</a></li>
<li><a href="http://www.redmine.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redmine</a></li>
<li><a href="https://trac.edgewall.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trac</a></li>
<li><a href="https://agilemanifesto.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agile Manifesto</a></li>
<li><a href="https://en.wikipedia.org/wiki/Representational_state_transfer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">REST</a></li>
<li><a href="https://www.djangoproject.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://angularjs.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AngularJS</a></li>
<li><a href="https://www.django-rest-framework.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django REST Framework</a></li>
<li><a href="https://en.wikipedia.org/wiki/Scrum_(software_development)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scrum</a></li>
<li><a href="https://en.wikipedia.org/wiki/Kanban?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kanban</a></li>
<li><a href="http://www.taigaapp.com/#Home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Taiga Mobile App</a></li>
<li><a href="https://en.wikipedia.org/wiki/Webhook?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Webhooks</a></li>
<li><a href="https://en.wikipedia.org/wiki/Affero_General_Public_License?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AGPLv3</a></li>
<li><a href="https://fosdem.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FOSDEM</a></li>
<li><a href="https://tree.taiga.io/support/misc/what-is-the-iocaine/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Iocaine</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_Princess_Bride_(film)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Princess Bride</a></li>
<li><a href="https://tribe.taiga.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Taiga Tribe</a></li>
<li><a href="https://getfedora.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fedora</a></li>
<li><a href="https://www.atlassian.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Atlassian</a></li>
<li><a href="https://www.atlassian.com/software/jira?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jira</a></li>
<li><a href="https://trello.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trello</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftaiga-project-management-episode-220%2F&amp;action_name=A+Modern+Open+Source+Project+Management+Platform+-+Episode+220&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-07-15t01:32:09+00:00-fed3d5ced302984</guid>
      <link>https://www.pythonpodcast.com/taiga-project-management-episode-220</link>
      <pubDate>Mon, 15 Jul 2019 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1515.98" duration="24.91">And so that's a good opportunity to talk about your ideas of how you approach the overall usability and user experience of people using Taiga and how you balance that against the push for adding in every feature that somebody might want to the point where Taiga becomes so flexible that it's ultimately unusable. And in order to actually get something functional, you're essentially just rebuilding all of the project logic from scratch.</podcast:soundbite>
      <podcast:soundbite startTime="616.56" duration="29.00">And as you pointed out, the market for project management is quite fragmented where they're dividing lines along the sort of style of project management. So whether it's agile or water flow or or waterfall or whether it's focused on a particular type of team. So it could be for sales teams or it could be for software teams or as you said, it might be for cross functional teams or there might be requirements in terms of the, sort of reporting capabilities.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:09:05</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>A Modern Open Source Project Management Platform</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>220</itunes:episode>
      <podcast:episode>220</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525318138141850e8b6ef06-56d7-4909-8140-d051a95c96bdv1.mp3" length="58171379" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525318138141850e8b6ef06-56d7-4909-8140-d051a95c96bdv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e8b6ef06-56d7-4909-8140-d051a95c96bd638558838345896233.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e8b6ef06-56d7-4909-8140-d051a95c96bd638558838342939919.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e8b6ef06-56d7-4909-8140-d051a95c96bd638558838340993091.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Domain Driven Design For Python</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>When your software projects start to scale it becomes a greater challenge to understand and maintain all of the pieces. In this episode Henry Percival shares his experiences working with domain driven design in large Python projects. He explains how it is helpful, and how you can start using it for your own applications. This was an informative conversation about software architecture patterns for large organizations and how they can be used by Python developers.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. With such an intuitive tool it&#8217;s easy to make sure that everyone in the business is on the same page. Podcast.<strong>init</strong> listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Harry Percival about domain driven design and enterprise application architecture in Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what &quot;application architecture&quot; is and how it compares to the types of application designs that Python developers and teams typically rely on?  how does it contrast with &quot;enterprise architecture&quot;?
<ul>
<li>What are the influences that tend to lead engineers into sub-optimal architectures and how can they guard against them?</li>
</ul>
</li>
<li>One of the core concepts in this problem space is that of &quot;domain driven design&quot;. Can you unpack that term and explain the benefits that it provides to software architecture?</li>
<li>What are some of the other concepts that are common among application architecture patterns?</li>
<li>What are some of the common points of confusion among engineers who are first working with DDD?</li>
<li>Is there any particular size or scope of project and organization that merits the approach of domain driven design or is it applicable even at small scales of complexity and team size?</li>
<li>Now that we&#8217;ve convinced everyone that they should be using DDD can you talk through the steps involved in identifying and encapsulating the various implementation details that they will need to work through?
<ul>
<li>How does that process change when dealing with an existing application as opposed to a &quot;greenfield&quot; project?</li>
</ul>
</li>
<li>How do Python language constructs and libraries impact the approach to implementation of application architecture patterns as compared to more traditional &quot;enterprise&quot; languages such as Java and C#?</li>
<li>What are some of the architectural anti-patterns to watch out for when implementing DDD?</li>
<li>On any given team, who is responsible for identifying and ensuring adherence to proper architectural principles?</li>
<li>Are there any publicly visible projects that implement DDD which listeners can look at and learn from?</li>
<li>To help Python developers in their efforts to learn and implement DDD and other aspects of enterprise architecture you have been working on a book. Can you talk about your motivation for that undertaking, what listeners can expect to learn when the read it, and any challenges that you have encountered in the process?</li>
<li>What are some trends in terms of system design and architecture, or technology influences, that you are keeping an eye on?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/hjwp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@hjwp</a> on Twitter</li>
<li><a href="https://github.com/hjwp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hjwp</a> on GitHub</li>
<li><a href="http://www.obeythetestinggoat.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.linkedin.com/in/harry-percival-588a35/?originalSubdomain=uk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.readriordan.com/book/dragon-pearl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dragon Pearl</a> by Yoon Ha Lee</li>
</ul>
</li>
<li>Harry
<ul>
<li><a href="https://www.hbo.com/treme?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tremé</a></li>
<li><a href="https://amzn.to/2LGIsbR?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Why We Sleep: Unlocking The Power Of Sleep and Dreams</a> by Matthew Walker PhD</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.made.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MADE</a></li>
<li><a href="http://www.obeythetestinggoat.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Obey The Testing Goat</a></li>
<li><a href="https://www.pythonanywhere.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Anywhere</a></li>
<li><a href="https://www.agilealliance.org/glossary/xp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XP (eXtreme Programming)</a></li>
<li><a href="https://www.djangoproject.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://amzn.to/2S0voPK?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dive Into Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Domain-driven_design?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Domain Driven Design</a></li>
<li><a href="https://en.wikipedia.org/wiki/Software_design_pattern?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Design Patterns</a></li>
<li><a href="https://amzn.to/2XHCldN?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gang Of Four Book</a></li>
<li><a href="https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MVC (Model View Controller)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Microservices?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microservices</a></li>
<li><a href="https://skillsmatter.com/conferences/12428-con-london-2020-the-conference-on-microservices-ddd-and-software-architecture?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">µCon</a></li>
<li><a href="https://en.wikipedia.org/wiki/Robert_C._Martin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">&quot;Uncle&quot; Bob Martin</a></li>
<li><a href="https://amzn.to/2JrnLOl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clean Architecture</a> book</li>
<li><a href="https://github.com/python-leap/book?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python LEAP Book</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dependency_injection?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dependency Injection</a></li>
<li><a href="https://en.wikipedia.org/wiki/Inversion_of_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inversion Of Control</a></li>
<li><a href="https://martinfowler.com/articles/practical-test-pyramid.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Test Pyramid</a></li>
<li><a href="https://twitter.com/garybernhardt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gary Bernhardt</a>
<ul>
<li><a href="https://www.pythonpodcast.com/destroy-all-software-with-gary-bernhardt-episode-159/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
<li><a href="https://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shell?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Functional Core, Imperative Shell</a></li>
</ul>
</li>
<li><a href="https://www.obeythetestinggoat.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Harry&#8217;s Blog</a></li>
<li><a href="https://amzn.to/30kosQh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The &quot;Blue&quot; Book</a> by Eric Evans</li>
<li><a href="https://www.gartner.com/en/research/methodologies/gartner-hype-cycle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gartner Hype Cycle</a></li>
<li><a href="https://leanpub.com/clean-architectures-in-python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Clean Architecture In Python</a> by Leonardo Giordani</li>
<li><a href="https://dry-python.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DRY Python</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdomain-driven-design-episode-219%2F&amp;action_name=Domain+Driven+Design+For+Python+-+Episode+219&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-07-08t02:15:15+00:00-e2fdae55054f0d7</guid>
      <link>https://www.pythonpodcast.com/domain-driven-design-episode-219</link>
      <pubDate>Mon, 8 Jul 2019 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2011.99" duration="50.48">And so at this point, I'm sure that there are at least some people who have decided that it's worth exploring domain driven design and trying to incorporate it into their projects. And so I'm wondering what your advice is as far as next steps for actually getting involved in DDD, and particularly when they're trying to implement it on top of an already existing code base where they might need to refactor or rearchitect? Yeah. Yeah. I don't have any lovely, answers to the, like, how do I refactor to get there from here? So let me just try and treat treat the question separately. The first 1 is about like, oh, listen. I think well done, Harry. You've convinced me that this DDD thing is at least worth looking into. Where can I find out more? So, yeah, by all means, there's my book. At some point, we should be publishing an early release on Safari.</podcast:soundbite>
      <podcast:soundbite startTime="365.32" duration="49.44">And so in your work of building applications and supporting other members of your team and working in these extreme programming environments, you appear to have gotten bitten by the bug of being interested in application architecture and the concepts of domain driven design. And I know that, architecture is a very broad term. It encapsulates a lot of different ideas and potential approaches and design patterns. And the concept of enterprise application architecture is something that grew largely from the Java community. And so I'm wondering if you can just start by describing what you mean when you're talking about application architecture and how it compares to some of the typical types of design patterns that Python developers rely on.</podcast:soundbite>
      <podcast:soundbite startTime="819.61" duration="56.36">And so 1 of the core concepts in the problem space of application architecture that has been adopted by more mature organizations and language communities is the idea of domain driven design, which has proven fairly successful in terms of being able to support large applications and large organizations as well as some of these evolutionary and iterative cycles of development practice. And so I'm wondering if you can just unpack the term there and some of the benefits that it provides to software architecture in general and some of the core concepts that are necessary to get introduced to that approach to application design? Sure thing. So, domain driven design is a a kind of, a philosophy for for how to build applications, but also how to approach your conversations with your stakeholders, with your business, so the the, you know, kind of requirements gathering side as well as just the coding side.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:55:42</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Domain Driven Design For Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>219</itunes:episode>
      <podcast:episode>219</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253038731188463cd95177-c3b7-4871-a99f-531447bf13f3v1.mp3" length="44045331" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253038731188463cd95177-c3b7-4871-a99f-531447bf13f3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_3cd95177-c3b7-4871-a99f-531447bf13f3638558806842759863.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3cd95177-c3b7-4871-a99f-531447bf13f3638558806838903342.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3cd95177-c3b7-4871-a99f-531447bf13f3638558806836848424.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Open Source Automated Machine Learning With MindsDB</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Machine learning is growing in popularity and capability, but for a majority of people it is still a black box that we don&#8217;t fully understand. The team at MindsDB is working to change this state of affairs by creating an open source tool that is easy to use without a background in data science. By simplifying the training and use of neural networks, and making their logic explainable, they hope to bring AI capabilities to more people and organizations. In this interview George Hosu and Jorge Torres explain how MindsDB is built, how to use it for your own purposes, and how they view the current landscape of AI technologies. This is a great episode for anyone who is interested in experimenting with machine learning and artificial intelligence. Give it a listen and then try MindsDB for yourself.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. With such an intuitive tool it&#8217;s easy to make sure that everyone in the business is on the same page. Podcast.<strong>init</strong> listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing George Hosu and Jorge Torres about MindsDB, a framework for streamlining the use of neural networks</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what MindsDB is and the problem that it is trying to solve?
<ul>
<li>What was the motivation for creating the project?</li>
</ul>
</li>
<li>Who is the target audience for MindsDB?</li>
<li>Before we go deep into MindsDB can you explain what a neural network is for anyone who isn&#8217;t familiar with the term?</li>
<li>For someone who is using MindsDB can you talk through their workflow?
<ul>
<li>What are the types of data that are supported for building predictions using MindsDB?</li>
<li>How much cleaning and preparation of the data is necessary before using it to generate a model?</li>
<li>What are the lower and upper bounds for volume and variety of data that can be used to build an effective model in MindsDB?</li>
</ul>
</li>
<li>One of the interesting and useful features of MindsDB is the built in support for explaining the decisions reached by a model. How do you approach that challenge and what are the most difficult aspects?</li>
<li>Once a model is generated, what is the output format and can it be used separately from MindsDB for embedding the prediction capabilities into other scripts or services?</li>
<li>How is MindsDB implemented and how has the design changed since you first began working on it?
<ul>
<li>What are some of the assumptions that you made going into this project which have had to be modified or updated as it gained users and features?</li>
</ul>
</li>
<li>What are the limitations of MindsDB and what are the cases where it is necessary to pass a task on to a data scientist?</li>
<li>In your experience, what are the common barriers for individuals and organizations adopting machine learning as a tool for addressing their needs?</li>
<li>What have been the most challenging, complex, or unexpected aspects of designing and building MindsDB?</li>
<li>What do you have planned for the future of MindsDB?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>George
<ul>
<li><a href="https://blog.cerebralab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://github.com/George3d6?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">George3d6</a> on GitHub</li>
<li><a href="https://twitter.com/Cerebralab2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Cerebralab2</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/georgehosu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
<li>Jorge
<ul>
<li><a href="https://www.linkedin.com/in/torresjorge/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
<li>MindsDB
<ul>
<li><a href="https://www.mindsdb.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/mindsdb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mindsdb</a> on Twitter</li>
<li><a href="https://github.com/mindsdb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mindsdb</a> on GitHub</li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/2J5p5HP?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bose QuietComfort 25</a> noise cancelling headphones</li>
</ul>
</li>
<li>George
<ul>
<li><a href="https://ocw.mit.edu/courses/brain-and-cognitive-sciences/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open CourseWare &#8211; Brain And Cognitive Sciences</a></li>
<li><a href="https://blog.cerebralab.com/#!/a/Imaginary%20Problems%20Are%20the%20Root%20of%20Bad%20Software?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cerebralab Blog</a></li>
</ul>
</li>
<li>Jorge
<ul>
<li><a href="https://github.com/mindsdb/lightwood?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lightwood</a></li>
<li><a href="https://www.mkdocs.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MKDocs</a> with Google Material Templates</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.mindsdb.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MindsDB</a>
<ul>
<li><a href="https://github.com/mindsdb/mindsdb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>
</li>
<li><a href="https://www.3blue1brown.com/neural-networks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3Blue1Brown &#8211; Neural Networks</a></li>
<li><a href="https://greenteapress.com/wp/think-bayes/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Think Bayes</a></li>
<li><a href="https://en.wikipedia.org/wiki/Backpropagation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Backpropagation</a></li>
<li><a href="https://rufflewind.com/2016-12-30/reverse-mode-automatic-differentiation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reverse Automatic Differentiation</a></li>
<li><a href="https://uber.github.io/ludwig/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ludwig</a> deep learning toolbox</li>
<li><a href="https://github.com/mindsdb/lightwood?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lightwood</a></li>
<li><a href="https://www.tensorflow.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://pytorch.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://www.aerospike.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Aerospike</a></li>
<li><a href="https://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmindsdb-automated-machine-learning-episode-218%2F&amp;action_name=Open+Source+Automated+Machine+Learning+With+MindsDB+-+Episode+218&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-07-01t20:56:07+00:00-b72046b8acfe1c7</guid>
      <link>https://www.pythonpodcast.com/mindsdb-automated-machine-learning-episode-218</link>
      <pubDate>Mon, 1 Jul 2019 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1282.35" duration="22.32">So having that built into MindsDB is useful for that context, but also for to somebody who's trying to maybe get into machine learning and using MindsDB as an entry point, being able to use that as a way to backtrack to fill in their understanding of how these systems work or, you know, just in general, having that explainability is valuable in a lot of different context.</podcast:soundbite>
      <podcast:soundbite startTime="307.00" duration="30.91">So what we're doing with MindsDB is we aren't aiming for those 1% of sort of hard machine learning and statistics problem that might require a team of data scientists, but rather we are aiming at what you'd call the bottom 99% of ML problems. Problems that have already been solved in, like, 1 iteration or another thousands of times and that you could easily automate with 1 function call. But until now, there's really no open source solution to do that.</podcast:soundbite>
      <podcast:soundbite startTime="2996.82" duration="27.26">So we are aiming to always produce these tools such that, instead of replacing a human somewhere, it's augmenting the capacity of that human. In this case, it's augmenting the capacity of the domain experts, and also making it reliable. And we will continue to to make sure that in the long term, we will tackle the problem that we identify as dangerous at that time, when it comes to machine learning.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:10</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Open Source Automated Machine Learning With MindsDB</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>218</itunes:episode>
      <podcast:episode>218</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253045140655086795af29-d4f2-4e68-864f-5fb81b12b610v1.mp3" length="43302785" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253045140655086795af29-d4f2-4e68-864f-5fb81b12b610v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_6795af29-d4f2-4e68-864f-5fb81b12b610638558809336332820.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6795af29-d4f2-4e68-864f-5fb81b12b610638558809331715488.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6795af29-d4f2-4e68-864f-5fb81b12b610638558809329613832.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Behind The Scenes At The Python Software Foundation</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>One of the secrets of the success of Python the language is the tireless efforts of the people who work with and for the Python Software Foundation. They have made it their mission to ensure the continued growth and success of the language and its community. In this episode Ewa Jodlowska, the executive director of the PSF, discusses the history of the foundation, the services and support that they provide to the community and language, and how you can help them succeed in their mission.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. With such an intuitive tool it&#8217;s easy to make sure that everyone in the business is on the same page. Podcast.<strong>init</strong> listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Bots and automation are taking over whole categories of online interaction. Discover.bot is an online community designed to serve as a platform-agnostic digital space for bot developers and enthusiasts of all skill levels to learn from one another, share their stories, and move the conversation forward together. They regularly publish guides and resources to help you learn about topics such as bot development, using them for business, and the latest in chatbot news. For newcomers to the space they have the <a href="https://bit.ly/2U7Kxhf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beginners Guide To Bots</a> that will teach you the basics of how bots work, what they can do, and where they are developed and published. To help you choose the right framework and avoid the confusion about which NLU features and platform APIs you will need they have <a href="https://bit.ly/2YXb8S2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">compiled a list</a> of the major options and how they compare. Go to <a href="https://www.pythonpodcast.com/discoverbot?utm_source=rss&utm_medium=rss">pythonpodcast.com/discoverbot</a> today to get started and thank them for their support of the show.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ewa Jodlowska about the Python Software Foundation and the role that it serves in the language and community</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what the PSF is for anyone who isn&#8217;t familiar with it?
<ul>
<li>How did you get involved with the PSF and what is your current role?</li>
</ul>
</li>
<li>What was the motivation for creating the PSF?</li>
<li>What are the primary responsibilities of the PSF?
<ul>
<li>How has the scope and scale of the responsibilities for the PSF shifted in the years since its foundation?</li>
</ul>
</li>
<li>What is the relationship between the PSF and the language core developers?</li>
<li>What are some reasons that someone would want to become a member of the PSF and what is involved in gaining membership?</li>
<li>What are the challenges confronted by you and the PSF, currently and in the recent past?</li>
<li>What are you most worried about and most proud of in the PSF, the core language, or the community?</li>
<li>What challenges or changes do you foresee for the PSF in the near to medium future?</li>
<li>What are some of the most interesting/unexpected/challenging lessons that you have learned while working with the PSF?</li>
<li>How are the PSF and the PSU (Python Secret Underground) related?</li>
<li>Outside of the PSF, how can the community contribute to the health and longevity of the language, its ecosystem, and its community?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Ewa
<ul>
<li><a href="https://twitter.com/ewa_jodlowska?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ewa_jodlowska</a> on Twitter</li>
<li><a href="mailto:ewa@python.org">Email</a></li>
</ul>
</li>
<li>The Python Software Foundation
<ul>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/thepsf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@thepsf</a> on Twitter</li>
<li><a href="http://pyfound.blogspot.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.youtube.com/watch?v=ftP5BQh1-YM&amp;t=14s&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Russell Keith-Magee PyCon 2019 Keynote</a></li>
</ul>
</li>
<li>Ewa
<ul>
<li><a href="https://www.pythonpodcast.com/psf2019?utm_source=rss&utm_medium=rss">Donate To The PSF</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The PSF</a></li>
<li><a href="https://www.ibm.com/products/informix?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Informix</a></li>
<li><a href="https://php.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="http://pycon.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon</a></li>
<li><a href="https://www.pyladies.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyLadies</a></li>
<li><a href="https://pypi.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Denmark?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Denmark</a></li>
<li><a href="https://www.python.org/psf/mission/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PSF Mission Statement</a></li>
<li><a href="https://www.chipy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ChiPy</a></li>
<li><a href="https://www.youtube.com/watch?v=tzFWz5fiVKU&amp;t=2967s&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brett Cannon PyCon 2018 Keynote</a></li>
<li><a href="https://www.mozilla.org/en-US/moss/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozilla Open Source Support Fund</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpython-software-foundation-episode-217%2F&amp;action_name=Behind+The+Scenes+At+The+Python+Software+Foundation+-+Episode+217&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-06-24t02:21:32+00:00-2f2db633b45a344</guid>
      <link>https://www.pythonpodcast.com/python-software-foundation-episode-217</link>
      <pubDate>Mon, 24 Jun 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1167.67" duration="32.35">So currently, we experience a lot of growing pains, and I think that is true for the recent past as well. You know, in short, we we want to increase the programs we provide, but in order to do that, we need more funding. We want to ensure that the PSF is sustainable for the long run at the same time, which means that we need to have a financial reserve, and and also have more than 1 staff person being able to write a check, for example, which was something that we struggled with for a long time.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:37:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Behind The Scenes At The Python Software Foundation</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>217</itunes:episode>
      <podcast:episode>217</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531521204005153738df4-8e56-4f9f-b47e-a238b7ca0efev1.mp3" length="27649603" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531521204005153738df4-8e56-4f9f-b47e-a238b7ca0efev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_53738df4-8e56-4f9f-b47e-a238b7ca0efe638558828034312068.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/53738df4-8e56-4f9f-b47e-a238b7ca0efe638558828029384763.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/53738df4-8e56-4f9f-b47e-a238b7ca0efe638558828026687231.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Algorithmic Trading In Python Using Open Tools And Open Data</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Algorithmic trading is a field that has grown in recent years due to the availability of cheap computing and platforms that grant access to historical financial data. QuantConnect is a business that has focused on community engagement and open data access to grant opportunities for learning and growth to their users. In this episode CEO Jared Broad and senior engineer Alex Catarino explain how they have built an open source engine for testing and running algorithmic trading strategies in multiple languages, the challenges of collecting and serving currrent and historical financial data, and how they provide training and opportunity to their community members. If you are curious about the financial industry and want to try it out for yourself then be sure to listen to this episode and experiment with the QuantConnect platform for free.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. With such an intuitive tool it&#8217;s easy to make sure that everyone in the business is on the same page. Podcast.<strong>init</strong> listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>The Python Software Foundation is the lifeblood of the community, supporting all of us who want to run workshops and conferences, run development sprints or meetups, and ensuring that PyCon is a success every year. They have extended the deadline for their 2019 fundraiser until June 30th and they need help to make sure they reach their goal. Go to <a href="https://www.pythonpodcast.com/psf?utm_source=rss&utm_medium=rss">pythonpodcast.com/psf</a> today to make a donation. If you&#8217;re listening to this after June 30th of 2019 then consider making a donation anyway!</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jared Broad and Alex Catarino about QuantConnect, a platform for building and testing algorithmic trading strategies on open data and cloud resources</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what QuantConnect is and how the business got started?</li>
<li>What is your mission for the company?</li>
<li>I know that there are a few other entrants in this market. Can you briefly outline how you compare to the other platforms and maybe characterize the state of the industry?</li>
<li>What are the main ways that you and your customers use Python?</li>
<li>For someone who is new to the space can you talk through what is involved in writing and testing a trading algorithm?</li>
<li>Can you talk through how QuantConnect itself is architected and some of the products and components that comprise your overall platform?</li>
<li>I noticed that your trading engine is open source. What was your motivation for making that freely available and how has it influenced your design and development of the project?</li>
<li>I know that the core product is built in C# and offers a bridge to Python. Can you talk through how that is implemented?
<ul>
<li>How do you address latency and performance when bridging those two runtimes given the time sensitivity of the problem domain?</li>
</ul>
</li>
<li>What are the benefits of using Python for algorithmic trading and what are its shortcomings?
<ul>
<li>How useful and practical are machine learning techniques in this domain?</li>
</ul>
</li>
<li>Can you also talk through what Alpha Streams is, including what makes it unique and how it benefits the users of your platform?</li>
<li>I appreciate the work that you are doing to foster a community around your platform. What are your strategies for building and supporting that interaction and how does it play into your product design?</li>
<li>What are the categories of users who tend to join and engage with your community?</li>
<li>What are some of the most interesting, innovative, or unexpected tactics that you have seen your users employ?</li>
<li>For someone who is interested in getting started on QuantConnect what is the onboarding process like?
<ul>
<li>What are some resources that you would recommend for someone who is interested in digging deeper into this domain?</li>
</ul>
</li>
<li>What are the trends in quantitative finance and algorithmic trading that you find most exciting and most concerning?</li>
<li>What do you have planned for the future of QuantConnect?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Jared
<ul>
<li><a href="https://www.linkedin.com/in/jaredbroad/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/jaredbroad?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jaredbroad</a> on Twitter</li>
</ul>
</li>
<li>Alex
<ul>
<li><a href="https://github.com/AlexCatarino?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AlexCatarino</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/alexandrecatarino/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/AlexCatx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@AlexCatx</a> on Twitter</li>
</ul>
</li>
<li>QuantConnect
<ul>
<li><a href="https://twitter.com/QuantConnect?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@QuantConnect</a> on Twitter</li>
<li><a href="https://www.quantconnect.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li>Good Omens <a href="https://en.wikipedia.org/wiki/Good_Omens?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">book</a> and <a href="https://www.imdb.com/title/tt1869454/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">miniseries</a></li>
</ul>
</li>
<li>Jared
<ul>
<li><a href="https://www.imdb.com/title/tt7366338/?ref_=nv_sr_1?ref_=nv_sr_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chernobyl</a> HBO Series</li>
</ul>
</li>
<li>Alex
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_100_(TV_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The 100</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.quantconnect.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QuantConnect</a></li>
<li><a href="https://www.quantconnect.com/lean/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LEAN</a> algorithm engine</li>
<li><a href="https://www.quantconnect.com/alpha?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alpha Streams</a></li>
<li><a href="https://cloud.google.com/spanner/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Spanner</a></li>
<li><a href="https://www.jetbrains.com/pycharm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCharm</a></li>
<li><a href="https://code.visualstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Studio Code</a></li>
<li><a href="https://ironpython.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IronPython</a></li>
<li><a href="https://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://www.sympy.org/en/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SymPy</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="https://github.com/pythonnet/pythonnet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PythonNet</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="https://www.udemy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Udemy</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fquantconnect-algorithmic-trading-episode-216%2F&amp;action_name=Algorithmic+Trading+In+Python+Using+Open+Tools+And+Open+Data+-+Episode+216&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-06-15t13:17:35+00:00-6fedba6d17ecf83</guid>
      <link>https://www.pythonpodcast.com/quantconnect-algorithmic-trading-episode-216</link>
      <pubDate>Mon, 17 Jun 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1620.04" duration="44.97">Alpha Streams is, at its core, this market where users can deploy their algorithms into, an environment where institutions can review them and potentially license them. But really to to fully understand it, you have to go back to how the industry works today. So you have thousands of hedge funds doing things in a very old fashioned way. They're not quite the same. They're not quite keeping up with the open source community. They, they hire recruiters. They they bring in these quants who are new to the firm. They pay expensive recruiter fees. They train them up and they get them work on new datasets. And maybe in 6 months or so, the quant is going to come up with a cool idea that they're going to put into production.</podcast:soundbite>
      <podcast:soundbite startTime="308.46" duration="33.19">QuantConnect really at its core is a a global community of engineers, quants, scientists, mathematicians, just people who have a passion for the market and, have ideas that they want to test. And so, we our mission really was to break open this really complicated and hard to access, technology and financial data so that individual people could get access to it and test their ideas and then deploy powerful investment strategies to the markets.</podcast:soundbite>
      <podcast:soundbite startTime="549.99" duration="45.91">We are, we are constantly humbled by by the 1, 000, 000 different ways that the community uses, the platform. And mostly, our job is to make it as versatile and flexible as possible. So we we do that for them, and then, they they can use it to test basically anything. So the the platform data ranges from tick all the way up to daily resolution. And so users are developing, sort of fast I wouldn't say high frequency, but they're developing fast strategies, intraday strategies that are trading on momentum or or some sort of intraday signals, all the way up to portfolios and long term rebalancing kinds of strategies.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:44</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Algorithmic Trading In Python Using Open Tools And Open Data</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>216</itunes:episode>
      <podcast:episode>216</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531517520340774d02e7b-1900-4c7a-9d20-a1db709ac2c6v1.mp3" length="32146728" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531517520340774d02e7b-1900-4c7a-9d20-a1db709ac2c6v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_74d02e7b-1900-4c7a-9d20-a1db709ac2c6638558827886149017.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/74d02e7b-1900-4c7a-9d20-a1db709ac2c6638558827881755744.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/74d02e7b-1900-4c7a-9d20-a1db709ac2c6638558827878003968.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Web Application Development Entirely In Python With Anvil</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The knowledge and effort required for building a fully functional web application has grown at an accelerated rate over the past several years. This introduces a barrier to entry that excludes large numbers of people who could otherwise be producing valuable and interesting services. To make the onramp easier Meredydd Luff and Ian Davies created Anvil, a platform for full stack web development in pure Python. In this episode Meredydd explains how the Anvil platform is built and how you can use it to build and deploy your own projects. He also shares some examples of people who were able to create profitable businesses themselves because of the reduced complexity. It was interesting to get Meredydd&#8217;s perspective on the state of the industry for web development and hear his vision of how Anvil is working to make it available for everyone.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. With such an intuitive tool it&#8217;s easy to make sure that everyone in the business is on the same page. Podcast.<strong>init</strong> listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Bots and automation are taking over whole categories of online interaction. Discover.bot is an online community designed to serve as a platform-agnostic digital space for bot developers and enthusiasts of all skill levels to learn from one another, share their stories, and move the conversation forward together. They regularly publish guides and resources to help you learn about topics such as bot development, using them for business, and the latest in chatbot news. For newcomers to the space they have the <a href="https://bit.ly/2U7Kxhf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beginners Guide To Bots</a> that will teach you the basics of how bots work, what they can do, and where they are developed and published. To help you choose the right framework and avoid the confusion about which NLU features and platform APIs you will need they have <a href="https://bit.ly/2YXb8S2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">compiled a list</a> of the major options and how they compare. Go to <a href="https://www.pythonpodcast.com/discoverbot?utm_source=rss&utm_medium=rss">pythonpodcast.com/discoverbot</a> today to get started and thank them for their support of the show.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>The Python Software Foundation is the lifeblood of the community, supporting all of us who want to run workshops and conferences, run development sprints or meetups, and ensuring that PyCon is a success every year. They have extended the deadline for their 2019 fundraiser until June 30th and they need help to make sure they reach their goal. Go to <a href="https://www.pythonpodcast.com/psf?utm_source=rss&utm_medium=rss">pythonpodcast.com/psf</a> today to make a donation. If you&#8217;re listening to this after June 30th of 2019 then consider making a donation anyway!</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Meredydd Luff about Anvil, platform for building full stack web applications entirely in Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Anvil is and the story of how and why you created it?</li>
<li>Web applications come in a vast array of styles. What are the primary formats of web applications that Anvil supports building and what are its limitations?</li>
<li>Are there certain categories of users that tend to gravitate toward Anvil?
<ul>
<li>How do you approach user experience design and overall usability given the varied backgrounds of your customers?</li>
</ul>
</li>
<li>For someone who wants to use Anvil can you talk through a typical workflow and highlight the different components of the platform?</li>
<li>Can you describe how Anvil itself is implemented and how it has evolved since you first began working on it?
<ul>
<li>For the javascript transpilation, are you using an existing project such as Transcrypt or PyJS, or did you develop your own?</li>
</ul>
</li>
<li>Given that the Python dependencies on your servers are managed by how, how do you approach version upgrades to avoid breaking your customer&#8217;s applications?</li>
<li>What are the main assumptions that you had going into the project and how have those assumptions been challenged or updated in the process of growing the business?</li>
<li>What have been some of the biggest challenges that you have faced in the process of building and growing Anvil?
<ul>
<li>What are some of the edge cases that you have run into while developing Anvil? (e.g. browser APIs, javascript &lt;-&gt; Python impedance mismatch, etc.)</li>
</ul>
</li>
<li>Can you talk through how you manage deployments of your customer&#8217;s applications?</li>
<li>What are some of the features of Anvil that are often overlooked, under-utilized, or misunderstood which you think users would benefit from knowing about?</li>
<li>What are some of the most interesting/innovative/unexpected ways that you have seen Anvil used?</li>
<li>What are the limitations of Anvil and when is it the wrong choice?</li>
<li>What do you have planned for the future of Anvil?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/meredydd?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@meredydd</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/meredydd/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="http://blog.senatehouse.org/p/about-meredydd.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/meredydd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">meredydd</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/pipxproject/pipx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pipx</a></li>
</ul>
</li>
<li>Meredydd
<ul>
<li><a href="http://skulpt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Skulpt</a></li>
<li><a href="https://pythontips.com/2019/05/22/1660/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python in the Browser implementations generally</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://anvil.works/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anvil</a></li>
<li><a href="https://en.wikipedia.org/wiki/Delphi_(IDE)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Delphi</a></li>
<li><a href="https://en.wikipedia.org/wiki/Visual_Basic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Basic</a></li>
<li><a href="https://en.wikipedia.org/wiki/Human%E2%80%93computer_interaction?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Human-Computer Interaction</a></li>
<li><a href="https://aws.amazon.com/rds/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon RDS (Relational Database Service)</a></li>
<li><a href="https://bokeh.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bokeh</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-22-bryan-van-de-ven-on-bokeh/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://plot.ly/python/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plotly</a></li>
<li><a href="https://www.raspberrypi.org/jam/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Jam</a> by the <a href="https://www.raspberrypi.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi Foundation</a></li>
<li><a href="https://www.jetbrains.com/pycharm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCharm</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebSocket?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Websockets</a></li>
<li><a href="http://skulpt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Skulpt</a></li>
<li><a href="https://pythontips.com/2019/05/22/1660/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Comparing implementations of Python in the Browser</a> on Python Tips</li>
<li><a href="https://brython.info?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brython</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_Matrix?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Matrix</a></li>
<li><a href="https://github.com/iodide-project/pyodide?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyodide</a></li>
<li><a href="https://www.youtube.com/watch?v=U1TKC5Gp-Zw&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How Skulpt works</a> (PyCon 2017 Lightning Talk)</li>
<li><a href="https://anvil.works/blog/python-autocompleter-pycon17?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How Anvil&#8217;s autocompleter works</a> (PyCon UK 2017 Lightning Talk)</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fanvil-web-application-development-episode-215%2F&amp;action_name=Web+Application+Development+Entirely+In+Python+With+Anvil+-+Episode+215&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-06-08t22:47:56+00:00-2985ac7bb4ec2c4</guid>
      <link>https://www.pythonpodcast.com/anvil-web-application-development-episode-215</link>
      <pubDate>Mon, 10 Jun 2019 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="3112.95" duration="11.10">So an Anvil is a tool you find in a workshop. It's something big. It's something solid, and you use it to build other things on top of it. Plus the domain name was free.</podcast:soundbite>
      <podcast:soundbite startTime="216.22" duration="13.94">So my name is Meredydd. I'm from Cambridge in the UK. And for the last few years, I suppose, my primary identity has been I run Anvil, a search tool for building full stack web apps with nothing but Python.</podcast:soundbite>
      <podcast:soundbite startTime="623.85" duration="37.67">We are incredibly lucky to be entirely bootstrapped, actually. So, we didn't have to go getting, you know, getting seed money or permission from anybody to do it. It was just, as you say, nights and weekends. I was consulting at the time, and so I just took myself down to 4, then 3, then 3, then 1 days a week. Ian was working as a postdoc at the university, which is a very flexible thing, and he just went down to 4 days a week on that. The company is actually called the Tuesday project because it was always Tuesdays that we met up to work on it. And even when it wasn't a Tuesday, we just we relabeled whichever day it was to be Tuesday for the purposes of scheduling.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Web Application Development Entirely In Python With Anvil</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>215</itunes:episode>
      <podcast:episode>215</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304700163106a9370772-a95f-4904-bfaa-60fc9f757d42v1.mp3" length="48416678" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304700163106a9370772-a95f-4904-bfaa-60fc9f757d42v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a9370772-a95f-4904-bfaa-60fc9f757d42638558810142218363.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a9370772-a95f-4904-bfaa-60fc9f757d42638558810139398078.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a9370772-a95f-4904-bfaa-60fc9f757d42638558810137074932.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building A Business On Serverless Technology</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Serverless computing is a recent category of cloud service that provides new options for how we build and deploy applications. In this episode Raghu Murthy, founder of DataCoral, explains how he has built his entire business on these platforms. He explains how he approaches system architecture in a serverless world, the challenges that it introduces for local development and continuous integration, and how the landscape has grown and matured in recent years. If you are wondering how to incorporate serverless platforms in your projects then this is definitely worth your time to listen to.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. With such an intuitive tool it&#8217;s easy to make sure that everyone in the business is on the same page. Podcast.<strong>init</strong> listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Bots and automation are taking over whole categories of online interaction. Discover.bot is an online community designed to serve as a platform-agnostic digital space for bot developers and enthusiasts of all skill levels to learn from one another, share their stories, and move the conversation forward together. They regularly publish guides and resources to help you learn about topics such as bot development, using them for business, and the latest in chatbot news. For newcomers to the space they have the <a href="https://bit.ly/2U7Kxhf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beginners Guide To Bots</a> that will teach you the basics of how bots work, what they can do, and where they are developed and published. To help you choose the right framework and avoid the confusion about which NLU features and platform APIs you will need they have <a href="https://bit.ly/2YXb8S2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">compiled a list</a> of the major options and how they compare. Go to <a href="https://www.pythonpodcast.com/discoverbot?utm_source=rss&utm_medium=rss">pythonpodcast.com/discoverbot</a> today to get started and thank them for their support of the show.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Coming up this fall is the combined events of Graphorum and the Data Architecture Summit. The agendas have been announced and super early bird registration for up to $300 off is available until July 26th, with early bird pricing for up to $200 off through August 30th. Use the code BNLLC to get an additional 10% off any pass when you register. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>The Python Software Foundation is the lifeblood of the community, supporting all of us who want to run workshops and conferences, run development sprints or meetups, and ensuring that PyCon is a success every year. They have extended the deadline for their 2019 fundraiser until June 30th and they need help to make sure they reach their goal. Go to <a href="https://www.pythonpodcast.com/psf2019?utm_source=rss&utm_medium=rss">pythonpodcast.com/psf2019</a> today to make a donation. If you&#8217;re listening to this after June 30th of 2019 then consider making a donation anyway!</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Raghu Murthy from DataCoral about his experience building and deploying a personalized SaaS platform on top of serverless technologies</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by giving a brief overview of DataCoral?</li>
<li>Before we get too deep can you share your definition of what types of technologies fall under the umbrella of &quot;serverless&quot;?</li>
<li>How are you using serverless technologies at DataCoral?
<ul>
<li>How has your usage evolved as your business and the underlying technologies have evolved?</li>
</ul>
</li>
<li>How do serverless technologies impact your approach to application architecture?</li>
<li>What are some of the main benefits for someone to target services such as Lambda?
<ul>
<li>What is your litmus test for determining whether a given project would be a good fit for a Function as a Service platform?</li>
</ul>
</li>
<li>What are the most challenging aspects of running code on Lambda?
<ul>
<li>What are some of the major design differences between running on Lambda vs the more familiar server-oriented paradigms?</li>
<li>What are some of the other services that are most commonly used alongside Function as as Service (e.g. Lambda) to build full featured applications?</li>
</ul>
</li>
<li>With serverless function platforms there is the cold start problem, can you explain what that means and some application design patterns that can help mitigate it?</li>
<li>When building on cloud-based technologies, especially proprietary ones, local development can be a challenge. How are you handling that issue at DataCoral?</li>
<li>In addition to development this new deployment paradigm upends some of the traditional approaches to CI/CD. How are you approaching testing and deployment of your services?
<ul>
<li>How do you identify and maintain dependency graphs between your various microservices?</li>
</ul>
</li>
<li>In addition to deployment, it is also necessary to track performance characteristics and error events across service boundaries. How are you managing observability and alerting in your product?</li>
<li>What are you most excited for in the serverless space that listeners should know about?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/raghotham?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://medium.com/@raghotham?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Medium</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.marvel.com/movies/avengers-endgame?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Avengers Endgame</a></li>
</ul>
</li>
<li>Raghu
<ul>
<li><a href="https://www.nba.com/warriors/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Golden State Warriors</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://datacoral.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DataCoral</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/datacoral-serverless-data-pipelines-episode-76/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="http://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-44-airflow-with-maxime-beauchemin/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Serverless_computing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Serverless Computing</a></li>
<li><a href="https://aws.amazon.com/dynamodb/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DynamoDB</a></li>
<li><a href="https://aws.amazon.com/rds/aurora/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Aurora</a></li>
<li><a href="https://aws.amazon.com/sns/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SNS</a></li>
<li><a href="https://aws.amazon.com/sqs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQS</a></li>
<li><a href="https://aws.amazon.com/lambda/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lambda</a></li>
<li><a href="https://aws.amazon.com/s3/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">S3</a></li>
<li><a href="https://aws.amazon.com/api-gateway/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">API Gateway</a></li>
<li><a href="https://aws.amazon.com/emr/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EMR</a></li>
<li><a href="https://hive.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Hive</a></li>
<li><a href="https://aws.amazon.com/glue/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS Glue</a></li>
<li><a href="https://aws.amazon.com/redshift/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedShift</a></li>
<li><a href="https://www.snowflake.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SnowflakeDB</a></li>
<li><a href="http://hadoop.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hadoop</a></li>
<li><a href="https://en.wikipedia.org/wiki/Function_as_a_service?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Function As A Service</a></li>
<li><a href="https://en.wikipedia.org/wiki/Distributed_computing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Distributed Systems</a></li>
<li><a href="https://en.wikipedia.org/wiki/Conway%27s_law?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conway&#8217;s Law</a></li>
<li><a href="https://en.wikipedia.org/wiki/Site_Reliability_Engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SRE == Site Reliability Engineer</a></li>
<li><a href="https://rollbar.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rollbar</a></li>
<li><a href="https://aws.amazon.com/batch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS Batch</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdatacoral-serverless-technology-episode-214%2F&amp;action_name=Building+A+Business+On+Serverless+Technology+-+Episode+214&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-06-04t04:19:56+00:00-9c092e500b3525b</guid>
      <link>https://www.pythonpodcast.com/datacoral-serverless-technology-episode-214</link>
      <pubDate>Tue, 4 Jun 2019 04:00:00 +0000</pubDate>
      <podcast:soundbite startTime="516.63" duration="30.69">Yeah. Definitely. So clearly, I mean, serverless does not mean that there are no servers. It just means that, if you are using any serverless technology, you're not really thinking about anything that is related to servers. Things like provisioning them to handle capacity, worrying about am I paying for idle resources, worrying about whether, whatever our provision is actually gonna work as it as my application set, scales, how do I deal with fault tolerance.</podcast:soundbite>
      <podcast:soundbite startTime="1259.01" duration="34.38">And so you mentioned that a significant portion of your application relies on the AWS Lambda service, which has been, referred to as a function as a service platform, and there have been other incarnations of that paradigm and other cloud providers and in open source technologies. But I'm wondering what you have found to be some of the main benefits for targeting services such as Lambda and other function as a service platforms, and what your litmus test is for determining whether a given project is a decent fit for something like that?</podcast:soundbite>
      <podcast:soundbite startTime="253.98" duration="19.61">is Tobias Macy. And today, I'm interviewing Raghu Murthy from Data Coral about his experience building and deploying a personalized SaaS platform on top of serverless technologies. So, Raghu, could you start by introducing yourself? Hi, Tobias. Thanks for having me today. My name is Raghu Moorthy. I'm the founder and CEO of Data Coral, and I'm glad to be here.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:13</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building A Business On Serverless Technology</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>214</itunes:episode>
      <podcast:episode>214</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317330508942992ce6ba-81fc-44a1-bc78-c4e82b16e2a5v1.mp3" length="35460881" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317330508942992ce6ba-81fc-44a1-bc78-c4e82b16e2a5v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_992ce6ba-81fc-44a1-bc78-c4e82b16e2a5638558835439914198.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/992ce6ba-81fc-44a1-bc78-c4e82b16e2a5638558835436833438.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/992ce6ba-81fc-44a1-bc78-c4e82b16e2a5638558835434639022.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>A Data Catalog For Your PyData Projects</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>One of the biggest pain points when working with data is getting is dealing with the boilerplate code to load it into a usable format. Intake encapsulates all of that and puts it behind a single API. In this episode Martin Durant explains how to use the Intake data catalogs for encapsulating source information, how it simplifies data science workflows, and how to incorporate it into your projects. It is a lightweight way to enable collaboration between data engineers and data scientists in the PyData ecosystem.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Martin Durant about Intake, a lightweight package for finding, investigating, loading and disseminating data</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Intake is and the story behind its creation?
<ul>
<li>Can you outline some of the other projects and products that intersect with the functionality of Intake and describe where it fits in terms of use case and capabilities? (e.g. Quilt Data, Arrow, Data Retriever)</li>
</ul>
</li>
<li>Can you describe the workflows for using Intake, both from the data scientist and the data engineer perspective?</li>
<li>One of the persistent challenges in working with data is that of cataloging and discovery of what already exists. In what ways does Intake address that problem?
<ul>
<li>Does it have any facilities for capturing and exposing data lineage?</li>
</ul>
</li>
<li>For someone who needs to customize their usage of Intake, what are the extension points and what is involved in building a plugin?</li>
<li>Can you describe how Intake is implemented and how it has evolved since it first started?
<ul>
<li>What are some of the most challenging, complex, or novel aspects of the Intake implementation?</li>
</ul>
</li>
<li>Intake focuses primarily on integrating with the PyData ecosystem (e.g. NumPy, Pandas, SciPy, etc.). What are some other communities that are, or could be, benefiting from the work being done on Intake?
<ul>
<li>What are some of the assumptions that are baked into Intake that would need to be modified to make it more broadly applicable?</li>
</ul>
</li>
<li>What are some of the assumptions that were made going into this project that have needed to be reconsidered after digging deeper into the problem space?</li>
<li>What are some of the most interesting/unexpected/innovative ways that you have seen Intake leveraged?</li>
<li>What are your plans for the future of Intake?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/martindurant?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">martindurant</a> on GitHub</li>
<li><a href="http://martindurant.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/martin_durant_?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@martin_durant_</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://neilpatel.com/ubersuggest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ubersuggest</a> SEO tool</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://intake.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Intake</a></li>
<li><a href="https://www.anaconda.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anaconda</a></li>
<li><a href="https://dask.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://github.com/dask/fastparquet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fast Parquet</a></li>
<li><a href="https://www.harrisgeospatial.com/Software-Technology/IDL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IDL</a></li>
<li><a href="http://www.stsci.edu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Space Telescope Institute</a></li>
<li><a href="https://blaze.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blaze</a></li>
<li><a href="https://quiltdata.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quilt Data</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/quilt-data-with-kevin-moore-episode-37/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Interview</a></li>
</ul>
</li>
<li><a href="http://arrow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arrow</a></li>
<li><a href="https://www.data-retriever.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Retriever</a>
<ul>
<li><a href="https://www.pythonpodcast.com/data-retriever-with-henry-senyondo-episode-122/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="http://parquet.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parquet</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/data-serialization-with-doug-cutting-and-julien-le-dem-episode-8/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DataFrame</a></li>
<li><a href="http://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Spark</a></li>
<li><a href="https://www.dremio.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dremio</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dremio-with-tomer-shiran-episode-58/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://dat.foundation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dat Project</a> &#8211; distributed peer-to-peer data sharing
<ul>
<li><a href="https://www.dataengineeringpodcast.com/dat-with-danielle-robinson-and-joe-hand-episode-16/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="http://geopandas.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GeoPandas</a></li>
<li><a href="http://xarray.pydata.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XArray</a></li>
<li><a href="https://lucene.apache.org/solr/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Solr</a></li>
<li><a href="https://streamz.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Streamz</a></li>
<li><a href="https://pyviz.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyViz</a></li>
<li><a href="https://s3fs.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">S3FS</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fintake-data-catalog-episode-213%2F&amp;action_name=A+Data+Catalog+For+Your+PyData+Projects+-+Episode+213&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-05-27t11:31:16+00:00-94daba6601e8e49</guid>
      <link>https://www.pythonpodcast.com/intake-data-catalog-episode-213</link>
      <pubDate>Mon, 27 May 2019 11:00:00 +0000</pubDate>
      <podcast:soundbite startTime="197.36" duration="63.53">Intake is being around as an as an idea, a a sort of concept that something like this should exist for a while. And in fact, there are lots of packages out there that do some part of the work that intake hopes to cover. But the specifics of the idea of intake was, I believe, a year and a half ago, something like that, maybe a bit more. And it was an idea that that was sort of very loosely born out of the this loose blaze concept that had been around at Continuum and then Anaconda for a long time, the sort of overall library that's going to bring together all of your data needs. The idea for intake, though, was to be much more specific than any of that, to be at the cataloging and loading side, not to deal with, many more complex things that you might want to do with data, just give you a simple interface that is a layer of many other Python libraries, do the minimum necessary to let you get your data and then do all of your analysis and everything else in the way that suits you.</podcast:soundbite>
      <podcast:soundbite startTime="672.43" duration="71.33">From the engineer's point of view or the data owners, they create the catalogs or cataloging systems. Often, there will be the the same people that curate the data, so they decide this particular dataset is the authoritative version of whatever it is that it's supposed to be. And at that time that they are doing that curation is when you want to capture as much metadata about it as you can. And that process is very important, and intake provides a very simple way in in in the the base case, at least, a very simple way of writing down all of that metadata. You can just include it into a YAML file as a dictionary like thing and put everything into that metadata block that you, as the catalog author, find interesting. But you also provide the set of arguments to the particular loader. We call these, data drivers. The particular set of arguments which will load that data in the way that it ought to be loaded. So you might have a choice of different packages to load it with. You might have a choice of, various specific options that make sense for that data type.</podcast:soundbite>
      <podcast:soundbite startTime="135.58" duration="45.87">And do you remember how you first got introduced to Python? I do. So, it's been a while. In my former life, I used to be an astronomer. And when I started my postgrad studies, the people around me were using a thing called IDL to do the majority of their data analysis and plotting, that kind of thing. But my supervisor was using FORTRAN for much of that. So he told me, go off and use whatever you like. And after struggling with IDL for 6 months or a year or something like that, I heard of this thing called Python, which, the Space Telescope Institute was getting interested in at the time. So I thought I'd give it a go. I sat down. I went all the way way through the introductory tutorial on the Python site and, I never looked back.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>A Data Catalog For Your PyData Projects</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>213</itunes:episode>
      <podcast:episode>213</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305599494846fac61227-fc28-41d0-b4c9-6e2377337388v1.mp3" length="36263686" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305599494846fac61227-fc28-41d0-b4c9-6e2377337388v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fac61227-fc28-41d0-b4c9-6e2377337388638558814353690346.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fac61227-fc28-41d0-b4c9-6e2377337388638558814350995073.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fac61227-fc28-41d0-b4c9-6e2377337388638558814349206548.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Hardware Hacking Made Easy With CircuitPython</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Learning to program can be a frustrating process, because even the simplest code relies on a complex stack of other moving pieces to function. When working with a microcontroller you are in full control of everything so there are fewer concepts that need to be understood in order to build a functioning project. CircuitPython is a platform for beginner developers that provides easy to use abstractions for working with hardware devices. In this episode Scott Shawcroft explains how the project got started, how it relates to MicroPython, some of the cool ways that it is being used, and how you can get started with it today. If you are interested in playing with low cost devices without having to learn and use C then give this a listen and start tinkering!</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Scott Shawcroft about CircuitPython, the easiest way to program microcontrollers</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what CircuitPython is and how the project got started?
<ul>
<li>I understand that you work at Adafruit and I know that a number of their products support CircuitPython. What other runtimes do you support?</li>
</ul>
</li>
<li>Microcontrollers have typically been the domain of C because of the resource and performance constraints. What are the benefits of using Python to program hardware devices?</li>
<li>With the wide availability of powerful computing platforms, what are the benefits of experimenting with microcontrollers and their peripherals?</li>
<li>I understand that CircuitPython is a friendly fork of <a href="https://micropython.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a>. What have you changed in your version?
<ul>
<li>How do you structure your development to avoid conflicts with the upstream project?</li>
<li>What are some changes that you have contributed back to MicroPython?</li>
</ul>
</li>
<li>What are some of the features of CircuitPython that make it easier for users to interact with sensors, motors, etc.?</li>
<li>CircuitPython provides an easy on-ramp for experimenting with hardware projects. Is there a point where a user will outgrow it and need to move to a different language or framework?</li>
<li>What are some of the most interesting/innovative/unexpected projects that you have seen people build using CircuitPython?
<ul>
<li>Are there any cases of someone building and shipping a production grade project in CircuitPython?</li>
</ul>
</li>
<li>What have been some of the most interesting/challenging/unexpected aspects of building and maintaining CircuitPython?</li>
<li>What is in store for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/tannewt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tannewt</a> on Twitter</li>
<li><a href="http://tannewt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/tannewt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tannewt</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://kids.scholastic.com/kids/books/wings-of-fire/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wings Of Fire</a> book series</li>
</ul>
</li>
<li>Scott
<ul>
<li><a href="https://brandonsanderson.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brandon Sanderson</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_Wheel_of_Time?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Wheel Of Time Series</a></li>
<li><a href="https://brandonsanderson.com/books/mistborn/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mist Born</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.adafruit.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adafruit</a></li>
<li><a href="https://circuitpython.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CircuitPython</a></li>
<li><a href="https://micropython.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-15-damien-george-talks-to-us-about-micropython/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Microcontroller?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microcontroller</a></li>
<li><a href="https://www.arduino.cc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arduino</a></li>
<li><a href="https://www.microsoft.com/en-us/makecode?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft MakeCode</a></li>
<li><a href="https://nodebots.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NodeBots</a></li>
<li><a href="https://www.espruino.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Espruino</a></li>
<li><a href="https://en.wikipedia.org/wiki/I%C2%B2C?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">I2C</a></li>
<li><a href="https://hackspace.raspberrypi.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hackspace Magazine</a></li>
<li><a href="https://github.com/adafruit/Adafruit_Blinka?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adafruit Blinka</a></li>
<li><a href="https://learn.adafruit.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">learn.adafruit.com</a></li>
<li><a href="https://www.hanselman.com/blog/DisplayingYourRealtimeBloodGlucoseFromNightScoutOnAnAdaFruitPyPortal.aspx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scott Hanselman Blog Post</a></li>
<li><a href="https://en.wikipedia.org/wiki/Reflow_oven?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reflow Oven</a></li>
<li><a href="https://www.adafruit.com/category/972?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adafruit Crickit</a> &#8211; Creative Robotics Platform</li>
<li><a href="https://www.adafruit.com/adabox/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adabox</a></li>
<li><a href="https://en.wikipedia.org/wiki/Moore%27s_law?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moore&#8217;s Law</a></li>
<li><a href="https://www.sparkfun.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SparkFun</a></li>
<li><a href="https://www.digikey.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DigiKey</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcircuitpython-hardware-hacking-episode-212%2F&amp;action_name=Hardware+Hacking+Made+Easy+With+CircuitPython+-+Episode+212&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-05-20t01:53:34+00:00-ef97aee880a6ba7</guid>
      <link>https://www.pythonpodcast.com/circuitpython-hardware-hacking-episode-212</link>
      <pubDate>Mon, 20 May 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1949.16" duration="31.64">Yeah. So I Adafruit had a huge leg up on this already where Adafruit already had this the learn system, which is their system for guides and tutorials and stuff. They already had existing live streams that they do. They do 2 live streams, at least 2 2 live streams every week. 1 is called show and tell, and that's a half an hour on Wednesdays where anybody can join into a Google Hangout to show the project they've made. That's how I got the job. So I recommend people doing it. It's a great great exposure. There's a really friendly audience.</podcast:soundbite>
      <podcast:soundbite startTime="205.39" duration="38.53">And so, on that path, you have started the circuit Python project. So I'm wondering if you could just start by explaining a bit about what it is and how it got started. Yeah. So first and foremost, circuit Python is a reimplementation of Python that's designed to run on microcontrollers, and microcontrollers are, like, super basic, low power, low cost computers. Like, when I say low cost, I mean, like, a dollar. Like, they're little itty bitty chips, and they've got, like, 32 k RAM or 256 k RAM. So, like, much less RAM and much slower than you would typically expect a a computer to be.</podcast:soundbite>
      <podcast:soundbite startTime="534.40" duration="42.06">But I'm wondering if you can talk a bit more about the trade offs of using Python versus c as far as the, onboarding capabilities and the reach and appeal of the devices, but also in terms of the limitations that you're, sort of accepting just by virtue of using this higher level language. Yeah. Well, it's it's interesting because circuit Python is c under the hood. Right? So just like c Python is, it is actually c under under the hood as well. So our goal and, like, most of the development that I actually do is in c with the goal of doing the things that are time sensitive in a faster compiled language.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:06</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Hardware Hacking Made Easy With CircuitPython</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>212</itunes:episode>
      <podcast:episode>212</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530528598457779961fcb-f56c-4cd3-a950-6814d5b2969av1.mp3" length="40012384" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530528598457779961fcb-f56c-4cd3-a950-6814d5b2969av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_79961fcb-f56c-4cd3-a950-6814d5b2969a638558812841132777.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79961fcb-f56c-4cd3-a950-6814d5b2969a638558812837679584.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/79961fcb-f56c-4cd3-a950-6814d5b2969a638558812835872033.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building A Privacy Preserving Voice Assistant</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Being able to control a computer with your voice has rapidly moved from science fiction to science fact. Unfortunately, the majority of platforms that have been made available to consumers are controlled by large organizations with little incentive to respect users&#8217; privacy. The team at Snips are building a platform that runs entirely off-line and on-device so that your information is always in your control. In this episode Adrien Ball explains how the Snips architecture works, the challenges of building a speech recognition and natural language understanding toolchain that works on limited resources, and how they are tackling issues around usability for casual consumers. If you have been interested in taking advantage of personal voice assistants, but wary of using commercially available options, this is definitely worth a listen.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Adrien Ball about SNIPS, a set of technologies to make voice controlled systems that respect user&#8217;s privacy</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what the Snips is and how it got started?</li>
<li>For someone who wants to use Snips can you talk through the onboarding proces?
<ul>
<li>One of the interesting features of your platform is the option for automated training data generation. Can you explain how that works?</li>
</ul>
</li>
<li>Can you describe the overall architecture of the Snips platform and how it has evolved since you first began working on it?</li>
<li>Two of the main components that can be used independently are the ASR (Automated Speech Recognition) and NLU (Natural Language Understanding) engines. Each of those have a number of competitors in the market, both open source and commercial. How would you describe your overall position in the market for each of those projects?</li>
<li>I know that one of the biggest challenges in conversational interfaces is maintaining context for multi-step interactions. How is that handled in Snips?</li>
<li>For the NLU engine, you recently ported it from Python to Rust. What was your motivation for doing so and how would you characterize your experience between the two languages?
<ul>
<li>Are you continuing to maintain both implementations and if so how are you maintaining feature parity?</li>
</ul>
</li>
<li>How do you approach the overall usability and user experience, particularly for non-technical end users?
<ul>
<li>How is discoverability handled (e.g. finding out what capabilities/skills are available)</li>
</ul>
</li>
<li>One of the compelling aspects of Snips is the ability to deploy to a wide variety of devices, including offline support. Can you talk through that deployment process, both from a user perspective and how it is implemented under the covers?
<ul>
<li>What is involved in updating deployed models and keeping track of which versions are deployed to which devices?</li>
</ul>
</li>
<li>What is involved in adding new capabilities or integrations to the Snips platform?</li>
<li>What are the limitations of running everything offline and on-device?
<ul>
<li>When is Snips the wrong choice?</li>
</ul>
</li>
<li>In the process of building and maintaining the various components of Snips, what have been some of the most useful/interesting/unexpected lessons that you have learned?
<ul>
<li>What have been the most challenging aspects?</li>
</ul>
</li>
<li>What are some of the most interesting/innovative/unexpected ways that you have seen the Snips technologies used?</li>
<li>What is in store for the future of Snips?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://www.linkedin.com/in/adrienball/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/adrienball?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">adrienball</a> on GitHub</li>
<li><a href="https://medium.com/@adrien_ball?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@adrien_ball</a> on Medium</li>
<li><a href="https://twitter.com/adrien_ball?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@adrien_ball</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Chrome_OS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chrome OS</a></li>
</ul>
</li>
<li>Adrien
<ul>
<li><a href="https://events.google.com/io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google I/O</a></li>
<li><a href="https://www.f8.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Facebook F8</a></li>
<li><a href="https://en.wikipedia.org/wiki/Internet_privacy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">User Privacy</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://snips.ai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snips</a></li>
<li><a href="https://play2048.co?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">2048 Game</a></li>
<li><a href="https://en.wikipedia.org/wiki/Smart_city?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Smart Cities</a></li>
<li><a href="https://www.raspberrypi.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi</a></li>
<li><a href="https://www.wikidata.org/wiki/Wikidata:Main_Page?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WikiData</a></li>
<li><a href="http://mqtt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MQTT</a></li>
<li><a href="https://assistant.google.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Assistant</a></li>
<li><a href="https://developer.amazon.com/alexa?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon Alexa</a></li>
<li><a href="https://www.microsoft.com/en-us/cortana?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft Cortana</a></li>
<li><a href="https://voice.mozilla.org/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozilla Common Voice</a></li>
<li><a href="https://www.rust-lang.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust Language</a></li>
<li><a href="https://snips.gitbook.io/tutorials/t/technical-guides/listening-to-intents-over-mqtt-using-python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snips Hermes</a> messaging library</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsnips-voice-assistant-episode-211%2F&amp;action_name=Building+A+Privacy+Preserving+Voice+Assistant+-+Episode+211&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-05-12t22:05:26+00:00-333a4819bcbc3c5</guid>
      <link>https://www.pythonpodcast.com/snips-voice-assistant-episode-211</link>
      <pubDate>Mon, 13 May 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="173.49" duration="19.88">So my academic background is about applied mathematics and computer science, a mixture of which back then was not yet called data science. So I love playing with data, trying to extract information from it. And for this very reason, I've been a Python fan for a while now. And more recently, I jumped into Rust, and I've been enjoying it a lot.</podcast:soundbite>
      <podcast:soundbite startTime="2814.01" duration="47.29">So recently, we we launched a competition on Hackster, where we we we asked our community to come come up with, with projects using, using Snipps technology. And so this competition is now over. And 1 of the the some of the winning projects have been really really fun and unexpected, I would say. So 1 of them was a project that was, called, Sleep Smile Flower, and it consisted in building a voice assistant that would help taking care of plants by performing some tasks such as watering the plants, emptying its tank, and checking, for instance, the moisture level.</podcast:soundbite>
      <podcast:soundbite startTime="849.95" duration="40.02">So the Snipps platform relies on multiple components, as you mentioned, which communicates with each other through a messaging protocol, which is called MQTT. So, essentially, each component can react to messages and then send send back also, messages based on the processing that it can make. So 1 of the components is the dialogue manager, and this component is responsible for orchestrating the processing flow. So, typically, this is the component which will toggle on and off the other components at the right time.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:56:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building A Privacy Preserving Voice Assistant</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>211</itunes:episode>
      <podcast:episode>211</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314516335779e6de76ef-a795-4eba-b316-981727cad354v1.mp3" length="32896651" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314516335779e6de76ef-a795-4eba-b316-981727cad354v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e6de76ef-a795-4eba-b316-981727cad354638558825319171580.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e6de76ef-a795-4eba-b316-981727cad354638558825314765370.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e6de76ef-a795-4eba-b316-981727cad354638558825312816344.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Hacking The Government With The USDS</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The U.S. government has a vast quantity of software projects across the various agencies, and many of them would benefit from a modern approach to development and deployment. The U.S. Digital Services Agency has been tasked with making that happen. In this episode the current director of engineering for the USDS, David Holmes, explains how the agency operates, how they are using Python in their efforts to provide the greatest good to the largest number of people, and why you might want to get involved. Even if you don&#8217;t live in the U.S.A. this conversation is worth listening to so you can see an interesting model of how to improve government services for everyone.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Bots and automation are taking over whole categories of online interaction. Discover.bot is an online community designed to serve as a platform-agnostic digital space for bot developers and enthusiasts of all skill levels to learn from one another, share their stories, and move the conversation forward together. They regularly publish guides and resources to help you learn about topics such as bot development, using them for business, and the latest in chatbot news. For newcomers to the space they have the <a href="https://bit.ly/2U7Kxhf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beginners Guide To Bots</a> that will teach you the basics of how bots work, what they can do, and where they are developed and published. To help you choose the right framework and avoid the confusion about which NLU features and platform APIs you will need they have <a href="https://bit.ly/2YXb8S2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">compiled a list</a> of the major options and how they compare. Go to <a href="https://www.pythonpodcast.com/discoverbot?utm_source=rss&utm_medium=rss">pythonpodcast.com/discoverbot</a> today to get started and thank them for their support of the show.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing David Holmes about his work at the US Digital Services organization</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what the USDS is and how you got involved with it?</li>
<li>The terminology that is used around &quot;Tours of Service&quot; is interesting. Can you explain what that entails?
<ul>
<li>relocation</li>
<li>what if you have a house and career?</li>
</ul>
</li>
<li>Can you explain the model of how the USDS works?
<ul>
<li>What is involved in staffing a new project?</li>
<li>What is your typical toolkit, and how does that vary with the specific departments that you are working with?</li>
</ul>
</li>
<li>What are some of the most interesting projects that you and the team at USDS have worked on?</li>
<li>What are some of the most challenging projects that you have been involved with?</li>
<li>What are some projects that you hope to be asked to work on?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/davideholmes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">davideholmes</a> on GitHub</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.marvel.com/movies/captain-marvel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Captain Marvel</a> movie</li>
</ul>
</li>
<li>David
<ul>
<li><a href="https://www.marvel.com/movies/avengers-endgame?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Avengers: Endgame</a></li>
<li><a href="https://www.hbo.com/game-of-thrones?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Game Of Thrones</a> television series</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://usds.gov?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">US Digital Services</a></li>
<li><a href="https://usds.gov/apply?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">US Digital Services Job Application</a></li>
<li><a href="https://usds.gov/projects?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">US Digital Services Projects</a></li>
<li><a href="https://18f.gsa.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">18F</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fusds-government-software-episode-210%2F&amp;action_name=Hacking+The+Government+With+The+USDS+-+Episode+210&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-05-07t01:25:22+00:00-e56b741bb127626</guid>
      <link>https://www.pythonpodcast.com/usds-government-software-episode-210</link>
      <pubDate>Tue, 7 May 2019 01:30:00 +0000</pubDate>
      <podcast:soundbite startTime="165.30" duration="7.30">And before that, I lived in New York City, and I worked at a bunch of different start up from AdTech to my most recent 1 before USCS was sports management.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:04</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Hacking The Government With The USDS</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>210</itunes:episode>
      <podcast:episode>210</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296713775447000084fc-dfba-4255-9ddc-0301b2c014e9v1.mp3" length="25081657" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296713775447000084fc-dfba-4255-9ddc-0301b2c014e9v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_000084fc-dfba-4255-9ddc-0301b2c014e9638558785995614331.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/000084fc-dfba-4255-9ddc-0301b2c014e9638558785993191701.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/000084fc-dfba-4255-9ddc-0301b2c014e9638558785991329535.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Probabilistic Modeling In Python (And What That Even Means)</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Most programming is deterministic, relying on concrete logic to determine the way that it operates. However, there are problems that require a way to work with uncertainty. PyMC3 is a library designed for building models to predict the likelihood of certain outcomes. In this episode Thomas Wiecki explains the use cases where Bayesian statistics are necessary, how PyMC3 is designed and implemented, and some great examples of how it is being used in real projects.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Thomas Wiecki about PyMC3, a project for probabilistic programming in Python</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what probabilistic programming is?</li>
<li>What is the PyMC3 project and how did you get involved with it?</li>
<li>The opening line for the project README is packed with a slew of terms that are rather opaque to the lay-person. Can you unpack that a bit and discuss some of the ways that PyMC3 is used in real-world projects?</li>
<li>How much knowledge of statistical modeling and Bayesian statistics is necessary to make effective use of PyMC3?</li>
<li>Can you talk through an example use case for PyMC3 to illustrate how you would use it in a project?
<ul>
<li>How does it compare to the way that you would approach the same problem in a deterministic or frequentist modeling framework?</li>
</ul>
</li>
<li>Can you describe how PyMC3 is implemented?</li>
<li>There are a number of other projects that build on top of PyMC3, what are some that you find particularly interesting or noteworthy?</li>
<li>What do you find to be the most useful features of PyMC3 and what are some areas that you would like to see it improved?</li>
<li>What have been the most interesting/unexpected/challenging lessons that you have learned in the process of building and maintaining PyMC3?</li>
<li>What is in store for the future of PyMC3?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>PyMC
<ul>
<li><a href="https://github.com/pymc-devs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://discourse.pymc.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Discourse Forum</a></li>
</ul>
</li>
<li>Thomas
<ul>
<li><a href="https://github.com/twiecki?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">twiecki</a> on GitHub</li>
<li><a href="https://twitter.com/twiecki?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@twiecki</a> on Twitter</li>
<li><a href="https://twiecki.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt3183660/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fantastic Beasts And Where To Find Them</a></li>
<li><a href="https://www.imdb.com/title/tt4123430/?ref_=tt_rec_tti&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fantastic Beasts: The Crimes Of Grindelwald</a></li>
</ul>
</li>
<li>Thomas
<ul>
<li><a href="https://en.wikipedia.org/wiki/Hyperion_(Simmons_novel)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hyperion</a> by Dan Simmons</li>
<li><a href="https://www.goodreads.com/book/show/25942786-the-mind-illuminated?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Mind Illuminated</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://docs.pymc.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyMC3</a></li>
<li><a href="https://www.quantopian.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantopian</a></li>
<li><a href="https://uni-tuebingen.de/en.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Tubingen</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MatLab</a></li>
<li><a href="https://www.statisticshowto.datasciencecentral.com/probabilistic/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Probabilistic Modeling</a></li>
<li><a href="https://en.wikipedia.org/wiki/Probability_distribution?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Probability Distribution</a></li>
<li><a href="https://en.wikipedia.org/wiki/A/B_testing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A/B Testing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bayesian_statistics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bayesian Statistics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Beta_distribution?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beta Distribution</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bernoulli_distribution?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bernoulli Distribution</a></li>
<li><a href="https://en.wikipedia.org/wiki/P-value?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">P-Value</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hamiltonian_Monte_Carlo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hamiltonian Monte Carlo</a> sampling algorithm</li>
<li><a href="https://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metropolis Hastings Inference Algorithm</a></li>
<li><a href="https://en.wikipedia.org/wiki/Theano_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Theano</a></li>
<li><a href="http://camdavidsonpilon.github.io/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bayesian Methods For Hackers</a> by Cameron Davidson-Pilon</li>
<li><a href="https://www.packtpub.com/big-data-and-business-intelligence/bayesian-analysis-python-second-edition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bayesian Analysis With Python</a> by Osvaldo Martin</li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://mxnet.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MXNet</a> deep learning framework
<ul>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
</ul>
</li>
<li><a href="https://www.tensorflow.org/probability?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow Probability</a></li>
<li><a href="https://github.com/bambinos/bambi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BAMBI</a> package to build generalized linear models</li>
<li><a href="https://github.com/luke14free/pm-prophet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PMProphet</a> PyMC3 implementation of Facebook&#8217;s Prophet for timeseries prediction</li>
<li><a href="https://exoplanet.dfm.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Exoplanet</a></li>
<li><a href="https://github.com/hvasbath/beat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BEAT (Bayesian Earthquake Analysis Tool)</a></li>
<li><a href="https://github.com/pymc-devs/pymc3/wiki/GSoC-2019-projects?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyMC3 in Google Summer of Code</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpymc3-probabilistic-modeling-episode-209%2F&amp;action_name=Probabilistic+Modeling+In+Python+%28And+What+That+Even+Means%29+-+Episode+209&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-04-29t01:08:14+00:00-df3e6d4925e343b</guid>
      <link>https://www.pythonpodcast.com/pymc3-probabilistic-modeling-episode-209</link>
      <pubDate>Mon, 29 Apr 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="103.97" duration="22.26">So, Thomas, could you start by introducing yourself? Sure. Yeah. So I'm Thomas Wiki. I currently work at Quantopian, which is a Boston based startup in the financial space. And, I'm the VP of data science there. Before I did my undergrad in computer science at the University of Tubing and then did my PhD at Brown University.</podcast:soundbite>
      <podcast:soundbite startTime="986.01" duration="56.79">So we talked about ways of maybe including that in PIME C2, but it just wasn't suited for that because for these new types of samples, you really need the gradients of your model. And the package just wasn't designed to handle that. So John, and I think he was the first to really make the connection, found, that package Theano, which, is the first of its kind to really be a deep learning library where you do all the matrix multiplications to build your neural network model. And then also compute the gradients, which you need because, to do your back propagation and gradient descent to fit them, the neural network model. And he realized that this particular package was not just, that it was possible to use that package, not just for neural networks, but it was a general computational package where you can implement all kinds of math and then get your derivatives for that.</podcast:soundbite>
      <podcast:soundbite startTime="233.87" duration="40.54">So as the name suggests, it is about, probabilistic models. And these probabilistic models you specify in computer code. And that already like makes me really like it because it allows someone with a computer science background to really dive into statistics. So I guess I should just talk a little bit more about, like, what probabilistic models are. So, basically a probabilistic model is something that is made up out of probability distributions. So probabilistic program allows you to do that quite easily where you just have a whole bunch of probable distributions that represent how your problem is structured, and then you plug those together.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Probabilistic Modeling In Python (And What That Even Means)</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>209</itunes:episode>
      <podcast:episode>209</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314961644372ec670def-94d3-4d46-b84a-9d9ca49d0681v1.mp3" length="34356890" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525314961644372ec670def-94d3-4d46-b84a-9d9ca49d0681v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ec670def-94d3-4d46-b84a-9d9ca49d0681638558827101275884.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ec670def-94d3-4d46-b84a-9d9ca49d0681638558827097779791.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ec670def-94d3-4d46-b84a-9d9ca49d0681638558827091968965.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Exploring Indico: A Full Featured Event Management Platform</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Managing an event is rife with inherent complexity that scales as you move from scheduling a meeting to organizing a conference. Indico is a platform built at CERN to handle their efforts to organize events such as the Computing in High Energy Physics (CHEP) conference, and now it has grown to manage booking of meeting rooms. In this episode Adrian Mönnich, core developer on the Indico project, explains how it is architected to facilitate this use case, how it has evolved since its first incarnation two decades ago, and what he has learned while working on it. The Indico platform is definitely a feature rich and mature platform that is worth considering if you are responsible for organizing a conference or need a room booking system for your office.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Bots and automation are taking over whole categories of online interaction. Discover.bot is an online community designed to serve as a platform-agnostic digital space for bot developers and enthusiasts of all skill levels to learn from one another, share their stories, and move the conversation forward together. They regularly publish guides and resources to help you learn about topics such as bot development, using them for business, and the latest in chatbot news. For newcomers to the space they have the <a href="https://bit.ly/2U7Kxhf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beginners Guide To Bots</a> that will teach you the basics of how bots work, what they can do, and where they are developed and published. To help you choose the right framework and avoid the confusion about which NLU features and platform APIs you will need they have <a href="https://bit.ly/2YXb8S2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">compiled a list</a> of the major options and how they compare. Go to <a href="https://www.pythonpodcast.com/discoverbot?utm_source=rss&utm_medium=rss">pythonpodcast.com/discoverbot</a> today to get started and thank them for their support of the show.</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Adrian Mönnich about Indico, the effortless open-source tool for event organisation, archival and collaboration</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Indico is and how the project got started?
<ul>
<li>What are some other projects which target a similar use case and what were they lacking that led to Indico being necessary?</li>
</ul>
</li>
<li>Can you talk through an example workflow for setting up and managing an event in Indico?
<ul>
<li>How does the lifecycle change when working with larger events, such as PyCon?</li>
</ul>
</li>
<li>Can you describe how Indico is architected and how its design has evolved since it was first built?
<ul>
<li>What are some of the most complex or challenging portions of Indico to implement and maintain?</li>
</ul>
</li>
<li>There are a lot of areas for exercising constraint resolution algorithms. Can you talk through some of the business logic of how that operates?</li>
<li>Most of Indico is highly configurable and flexible. How do you approach managing sane defaults to prevent users getting overwhelmed when onboarding?
<ul>
<li>What is your approach to testing given how complex the project is?</li>
</ul>
</li>
<li>What are some of the most interesting or unexpected ways that you have seen Indico used?</li>
<li>What are some of the most interesting/unexpected lessons that you have learned in the process of building Indico?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Indico
<ul>
<li><a href="https://getindico.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/indico/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://webchat.freenode.net/?channels=indico&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IRC</a></li>
</ul>
</li>
<li>Adrian
<ul>
<li><a href="https://github.com/ThiefMaster?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ThiefMaster</a> on GitHub</li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Mortal_Engines_(film)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mortal Engines</a> movie</li>
</ul>
</li>
<li>Adrian
<ul>
<li><a href="https://en.wikipedia.org/wiki/Virtual_reality?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Virtual Reality</a></li>
<li><a href="https://store.steampowered.com/app/446750/Portal_Stories_VR/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Portal VR</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://getindico.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Indico</a></li>
<li><a href="https://www.tornadoweb.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-40-ben-darnell-on-tornado/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://home.cern/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CERN</a></li>
<li><a href="https://en.wikipedia.org/wiki/Particle_physics#High_energy_physics_compared_to_low_energy_physics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">High Energy Physics</a></li>
<li><a href="https://en.wikipedia.org/wiki/CHEP_Conference?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CHEP (Computing in High Energy Physics)</a> conference</li>
<li><a href="http://www.zodb.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ZODB</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="http://flask.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://en.wikipedia.org/wiki/Web_Server_Gateway_Interface?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WSGI == Web Server Gateway Interface</a></li>
<li><a href="https://www.makotemplates.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mako</a> Templates</li>
<li><a href="http://jinja.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jinja</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReactJS</a></li>
<li><a href="https://stripe.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stripe</a></li>
<li><a href="https://www.paypal.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Paypal</a></li>
<li><a href="https://www.youtube.com/watch?v=yo8rgg9dOcc&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Indico Introduction Video</a></li>
<li><a href="https://revealjs.com/#/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reveal.js</a></li>
<li><a href="http://modpython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mod_Python</a></li>
<li><a href="http://www.zope.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://doodle.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Doodle</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LDAP == Lightweight Directory Access Protocol</a></li>
<li><a href="https://en.wikipedia.org/wiki/Daylight_saving_time?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Daylight Saving Time</a></li>
<li><a href="https://learn.getindico.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Indico User Guide</a></li>
<li><a href="https://docs.pytest.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Py.Test</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-16-holger-krekel-on-py-test/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://www.seleniumhq.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium</a></li>
<li><a href="https://github.com/indico/flask-pluginengine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask Plugin Engine</a></li>
<li><a href="https://github.com/indico/indico-plugins-cern?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CERN Indico Plugins</a></li>
<li><a href="https://www.linuxplumbersconf.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linux Plumber&#8217;s Conference</a></li>
<li><a href="https://www.opensuse.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open SUSE</a></li>
<li><a href="https://realpython.com/python-f-strings/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">F-Strings</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Findico-event-management-episode-208%2F&amp;action_name=Exploring+Indico%3A+A+Full+Featured+Event+Management+Platform+-+Episode+208&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-04-22t18:07:08+00:00-c43a426adc4f4b1</guid>
      <link>https://www.pythonpodcast.com/indico-event-management-episode-208</link>
      <pubDate>Mon, 22 Apr 2019 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="634.65" duration="33.04">So it actually depends on whether you already have an in the current instance where you have access or not. Because, the most common use case of access to have it as a repository of events. So it's not as much focused on organizing a single event like some of the other commercial tools available nowadays, where you really run 1 single conference with it. But, basically, repository where you can have 100, 1, 000, or even 100, 000 of events depending on how big you are. So assuming you already have Indigo installed, it's literally just a few clicks.</podcast:soundbite>
      <podcast:soundbite startTime="470.24" duration="32.25">So, indeed, 2.0 was was a major rewrite. Like I said, 98 or 99% of the code rewritten as both back end and front end. Just a few things remaining, which we hope to tackle soon. So for example, in 2.0, we completely switched databases because before it was using set ODB, Python based object database. And then we switched to using SQLAlchemy, 2013, we switched to from an homemade WFGI framework to Flask.</podcast:soundbite>
      <podcast:soundbite startTime="2088.33" duration="37.76">So if, you start with somebody who doesn't have an Inuco instance yet, we actually have a step by step setup guide for. We wouldn't to, send us both 1 for Ensigns and Apache. So you theoretically, somebody with almost no Linux knowledge could follow this 1 to have a secure setup of his own Indigo instance. Of course, would have to take care about updates and the usual things. So, personally, I don't think somebody who, doesn't know how to manage Linux should be running the server himself with Indigo.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:47</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Exploring Indico: A Full Featured Event Management Platform</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>208</itunes:episode>
      <podcast:episode>208</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253209642867519dd41c39-ad15-4d9b-a9ee-e7d69381a9f5v1.mp3" length="30230388" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253209642867519dd41c39-ad15-4d9b-a9ee-e7d69381a9f5v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_9dd41c39-ad15-4d9b-a9ee-e7d69381a9f5638558842197152598.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/9dd41c39-ad15-4d9b-a9ee-e7d69381a9f5638558842193742459.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/9dd41c39-ad15-4d9b-a9ee-e7d69381a9f5638558842191688396.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Exploring Python's Internals By Rewriting Them In Rust</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The CPython interpreter has been the primary implementation of the Python runtime for over 20 years. In that time other options have been made available for different use cases. The most recent entry to that list is RustPython, written in the memory safe language Rust. One of the added benefits is the option to compile to WebAssembly, offering a browser-native Python runtime. In this episode core maintainers Windel Bouwman and Adam Kelly explain how the project got started, their experience working on it, and the plans for the future. Definitely worth a listen if you are curious about the inner workings of Python and how you can get involved in a relatively new project that is contributing to new options for running your code.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host is Tobias Macey and today I&#8217;m interviewing Adam Kelly and Windel Bouwman about RusPython, a project to implement a new Python interpreter in Rust</li>
</ul>
<h2>Interview</h2>
<ul>
<li>Introduction</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Rust is for anyone who isn&#8217;t familiar with it?</li>
<li>How did RustPython got started and what are your goals for the project?</li>
<li>Can you discuss what is involved in implementing a fully compliant Python interpreter?</li>
<li>What are some of the challenges that you face in replicating the capabilities of the CPython interpreter?
<ul>
<li>Are you attempting to maintain bug parity?</li>
<li>How much of the stdlib needs to be reimplemented?</li>
<li>Can you compare and contrast the benefits of Rust vs C?</li>
<li>Will the end result be compatible with libraries that rely on C extensions such as NumPy?</li>
</ul>
</li>
<li>What is the current state of the project?
<ul>
<li>What are some of the notable missing features?</li>
</ul>
</li>
<li>Can you talk through your vision of how the WebAssembly support will manifest and the types of applications that it will enable?
<ul>
<li>How much effort have you put into size optimization for the webassembly target to reduce client-side load time?</li>
<li>Are there any existing options for minification of Python code so that it can be delivered to users with less bandwidth?</li>
</ul>
</li>
<li>What have been some of the most interesting/challenging/unexpected aspects of implementing a Python runtime?</li>
<li>What do you have planned for the future of the project?</li>
<li>What are the risks that you anticipate which could derail the project before it becomes production ready?</li>
</ul>
<h2>Contact Info</h2>
<ul>
<li>Windel
<ul>
<li><a href="https://github.com/windelbouwman?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">windelbouwman</a> on GitHub</li>
<li><a href="http://www.windel.nl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/windelbouwman?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@windelbouwman</a> on Twitter</li>
<li><a href="https://todon.nl/@windel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@windel@todon.nl</a> on Mastodon</li>
</ul>
</li>
<li>Adam
<ul>
<li><a href="https://github.com/cthulahoops?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cthulahoops</a> on GitHub</li>
<li><a href="https://twitter.com/cthulahoops?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@cthulahoops</a> on Twitter</li>
</ul>
</li>
</ul>
<h2>Picks</h2>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Oysterhead?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oysterhead</a></li>
</ul>
</li>
<li>Adam
<ul>
<li><a href="https://github.com/junegunn/fzf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FZF</a> fuzzy finder</li>
</ul>
</li>
<li>Windel
<ul>
<li><a href="https://tqdm.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TQDM</a> Python progress bar</li>
</ul>
</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href="https://github.com/RustPython/RustPython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RustPython</a></li>
<li><a href="https://www.youtube.com/watch?v=YMmio0JHy_Y&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Windel Presentation EuroPython</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="https://doc.rust-lang.org/nomicon/meet-safe-and-unsafe.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust Memory Safety</a></li>
<li><a href="https://micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-15-damien-george-talks-to-us-about-micropython/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://github.com/beeware/ouroboros?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ouroboros</a> &#8211; Pure Python standard library</li>
<li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WebAssembly</a></li>
<li><a href="https://github.com/lalrpop/lalrpop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">lalrpop</a> &#8211; Rust parser generator</li>
<li><a href="https://doc.rust-lang.org/beta/book/ch07-01-packages-and-crates.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust Crates</a></li>
<li><a href="https://github.com/pickitup247/pyckitup?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PickItUp</a> in-browser Python game engine</li>
<li><a href="https://www.ryanisaacg.com/quicksilver/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QuickSilver Game Engine</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0441/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 441</a></li>
<li><a href="https://en.wikipedia.org/wiki/Just-in-time_compilation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JIT (Just-In-Time) Compilation</a></li>
</ul>
<p>The intro and outro music is from <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Love_death_and_a_drunken_monkey/04_-_The_Hug?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Hug</a> by <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Frust-python-interpreter-episode-207%2F&amp;action_name=Exploring+Python%27s+Internals+By+Rewriting+Them+In+Rust+-+Episode+207&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-04-15t17:25:56+00:00-d27f8898460d48a</guid>
      <link>https://www.pythonpodcast.com/rust-python-interpreter-episode-207</link>
      <pubDate>Mon, 15 Apr 2019 17:00:00 +0000</pubDate>
      <podcast:soundbite startTime="94.69" duration="8.98">Your host as usual is Tobias Macy, and today I'm interviewing Adam Kelly and Wendel Baumann about Rust Python, a project to implement a new Python interpreter in Rust.</podcast:soundbite>
      <podcast:soundbite startTime="1507.10" duration="23.40">So WebAssembly is an, is an ID to, to write code in any language you like and then compile it to WebAssembly and then be able to run it in the browser. Whereas previously, people were really, when you develop an application for the browser, you have to do it in JavaScript. And, of course, JavaScript is good but not everybody likes, the language itself.</podcast:soundbite>
      <podcast:soundbite startTime="299.88" duration="25.66">Rust is a low level programming language in terms of it's trying to compete and compete performance wise with c plus plus while providing really great memory safety type features. So you don't have a garbage collector, but at the same time, you don't need to worry about manual memory management, Rust at compile time can track who owns each piece of memory and ensure that you're not doing anything bad like using memory after it's freed.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:40:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Exploring Python's Internals By Rewriting Them In Rust</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>207</itunes:episode>
      <podcast:episode>207</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296992537757273bd2ef-e55c-4020-a6a7-05a2f819461cv1.mp3" length="29574264" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296992537757273bd2ef-e55c-4020-a6a7-05a2f819461cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_273bd2ef-e55c-4020-a6a7-05a2f819461c638558786951839819.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/273bd2ef-e55c-4020-a6a7-05a2f819461c638558786949492808.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/273bd2ef-e55c-4020-a6a7-05a2f819461c638558786947348382.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Version Control For Your Machine Learning Projects</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Version control has become table stakes for any software team, but for machine learning projects there has been no good answer for tracking all of the data that goes into building and training models, and the output of the models themselves. To address that need Dmitry Petrov built the Data Version Control project known as DVC. In this episode he explains how it simplifies communication between data scientists, reduces duplicated effort, and simplifies concerns around reproducing and rebuilding models at different stages of the projects lifecycle. If you work as part of a team that is building machine learning models or other data intensive analysis then make sure to give this a listen and then start using DVC today.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Bots and automation are taking over whole categories of online interaction. Discover.bot is an online community designed to ​serve as a platform-agnostic digital space for bot developers and enthusiasts of all skill levels to learn from one another, share their stories, and move the conversation forward together. They regularly publish guides and resources to help you learn about topics such as bot development, using them for business, and the latest in chatbot news. For newcomers to the space they have the <a href="https://bit.ly/2U7Kxhf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beginners Guide To Bots</a> that will teach you the basics of how bots work, what they can do, and where they are developed and published. To help you choose the right framework and avoid the confusion about which NLU features and platform APIs you will need they have <a href="https://bit.ly/2YXb8S2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">compiled a list</a> of the major options and how they compare. Go to <a href="https://www.pythonpodcast.com/discoverbot?utm_source=rss&utm_medium=rss">pythonpodcast.com/discoverbot</a> today to get started and thank them for their support of the show.</li>
<li>You listen to this show to learn and stay up to date with what&#8217;s happening in databases, streaming platforms, big data, and everything else you need to know about modern data management. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Dmitry Petrov about DVC, an open source version control system for machine learning projects</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what DVC is and how it got started?</li>
<li>How do the needs of machine learning projects differ from other software applications in terms of version control?</li>
<li>Can you walk through the workflow of a project that uses DVC?
<ul>
<li>What are some of the main ways that it differs from your experience building machine learning projects without DVC?</li>
</ul>
</li>
<li>In addition to the data that is used for training, the code that generates the model, and the end result there are other aspects such as the feature definitions and hyperparameters that are used. Can you discuss how those factor into the final model and any facilities in DVC to track the values used?</li>
<li>In addition to version control for software applications, there are a number of other pieces of tooling that are useful for building and maintaining healthy projects such as linting and unit tests. What are some of the adjacent concerns that should be considered when building machine learning projects?</li>
<li>What types of metrics do you track in DVC and how are they collected?
<ul>
<li>Are there specific problem domains or model types that require tracking different metric formats?</li>
</ul>
</li>
<li>In the documentation it mentions that the data files live outside of git and can be managed in external storage systems. I&#8217;m wondering if there are any plans to integrate with systems such as <a href="https://quiltdata.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quilt</a> or <a href="https://pachyderm.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pachyderm</a> that provide versioning of data natively and what would be involved in adding that support?</li>
<li>What was your motivation for implementing this system in Python?
<ul>
<li>If you were to start over today what would you do differently?</li>
</ul>
</li>
<li>Being a venture backed startup that is producing open source products, what is the value equation that makes it worthwile for your investors?</li>
<li>What have been some of the most interesting, challenging, or unexpected aspects of building DVC?</li>
<li>What do you have planned for the future of DVC?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/dmpetrov?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dmpetrov</a> on GitHub</li>
<li><a href="https://fullstackml.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/fullstackml?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@fullstackml</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/dmitryleopetrov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://otter.ai/referrals/7K8LOP7S?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Otter.ai</a></li>
</ul>
</li>
<li>Dmitry
<ul>
<li>Go outside and get some fresh air <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png?utm_source=rss&utm_medium=rss" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://dvc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DVC</a></li>
<li><a href="https://iterative.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Iterative.ai</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linear_regression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linear Regression</a></li>
<li><a href="https://en.wikipedia.org/wiki/Logistic_regression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logistic Regression</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://git-scm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git</a></li>
<li><a href="https://en.wikipedia.org/wiki/Version_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Version Control System</a></li>
<li><a href="https://eng.uber.com/michelangelo/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uber Michaelangelo</a></li>
<li><a href="https://www.dominodatalab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Domino Data Lab</a></li>
<li><a href="https://git-lfs.github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git LFS</a></li>
<li><a href="http://fastml.com/what-you-wanted-to-know-about-auc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AUC == Area Under Curve</a> metric for evaluating machine learning model performance</li>
<li><a href="https://www.pythonpodcast.com/wes-mckinney-python-for-data-analysis-episode-203/?utm_source=rss&utm_medium=rss">Wes McKinney Interview</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://github.com/tensorflow/tensorboard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TensorBoard</a></li>
<li><a href="https://mlflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MLFlow</a></li>
<li><a href="https://quiltdata.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quilt Data</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/quilt-data-with-kevin-moore-episode-37/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pachyderm.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pachyderm</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/epsiode-1-pachyderm-with-daniel-whitenack/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Airflow</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-44-airflow-with-maxime-beauchemin/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdata-version-control-episode-206%2F&amp;action_name=Version+Control+For+Your+Machine+Learning+Projects+-+Episode+206&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-04-07t19:54:19+00:00-07e2952f3518a03</guid>
      <link>https://www.pythonpodcast.com/data-version-control-episode-206</link>
      <pubDate>Mon, 8 Apr 2019 10:00:00 +0000</pubDate>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Version Control For Your Machine Learning Projects</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>206</itunes:episode>
      <podcast:episode>206</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305190032972a718ebf5-a2a0-45da-a4b6-66901bf5df93v1.mp3" length="29342261" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305190032972a718ebf5-a2a0-45da-a4b6-66901bf5df93v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a718ebf5-a2a0-45da-a4b6-66901bf5df93638558812339079795.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a718ebf5-a2a0-45da-a4b6-66901bf5df93638558812336134062.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a718ebf5-a2a0-45da-a4b6-66901bf5df93638558812333921954.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building Scalable Ecommerce Sites On Saleor</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Ecommerce is an industry that has largely faded into the background due to its ubiquity in recent years. Despite that, there are new trends emerging and room for innovation, which is what the team at Mirumee focuses on. To support their efforts, they build and maintain the open source Saleor framework for Django as a way to make the core concerns of online sales easy and painless. In this episode Mirek Mencel and Patryk Zawadzki discuss the projects that they work on, the current state of the ecommerce industry, how Saleor fits with their technical and business strategy, and their predictions for the near future of digital sales.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Check out the <a href="https://changelog.com/practicalai?utm_source=macey&amp;utm_medium=podcast&amp;utm_campaign=python&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Practical AI podcast</a> from our friends at Changelog Media to learn and stay up to date with what’s happening in AI</li>
<li>You listen to this show to learn and stay up to date with what&#8217;s happening in databases, streaming platforms, big data, and everything else you need to know about modern data management. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Mirek Mencel and Patryk Zawadzki about their work at Mirumee, building ecommerce applications in Python, based on their open source framework Saleor</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the types of projects that you work on at Mirumee and how the company got started?</li>
<li>There are a number of libraries and frameworks that you build and maintain. What is your motivation for providing these components freely and how does that play into your overall business strategy?</li>
<li>The most substantial project that you maintain is Saleor. Can you describe what it is and the story behind its creation?
<ul>
<li>How does it compare to other ecommerce implementations in the Python space?</li>
<li>If someone is agnostic to language and web framework, what would make them choose Saleor over other options that would be available to them?</li>
</ul>
</li>
<li>What are some of the most challenging aspects of building a successful ecommerce platform?
<ul>
<li>How do the technical needs of an ecommerce site differ as it grows from small to medium and large scale?</li>
</ul>
</li>
<li>Which components of an online store are often overlooked?</li>
<li>One of the common features of ecommerce sites that can drive substantial revenue is a well-built recommender system. What are some best practice strategies that you have discovered during your client work?</li>
<li>What are some projects that you have seen built with Saleor that were particular interesting, innovative, or unexpected?</li>
<li>What are your predictions for the future of the ecommerce industry?</li>
<li>What do you have planned for the future of the Saleor framework and the Mirumee business?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Mirumee
<ul>
<li><a href="https://mirumee.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/mirumee?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
<li><a href="https://twitter.com/mirumeelabs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mirumeelabs</a> on Twitter</li>
</ul>
</li>
<li>Mirek
<ul>
<li><a href="https://twitter.com/mirekmencel?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mirekmencel</a> on Twitter</li>
<li><a href="https://github.com/mirekm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mirekm</a> on GitHub</li>
</ul>
</li>
<li>Patryk
<ul>
<li><a href="https://github.com/patrys?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">patrys</a> on GitHub</li>
<li><a href="https://twitter.com/patrys?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@patrys</a> on Twitter</li>
<li><a href="http://room-303.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://movies.disney.com/ralph-breaks-the-internet-wreck-it-ralph-2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wreck It Ralph: Ralph Breaks The Internet</a></li>
</ul>
</li>
<li>Mirek
<ul>
<li><a href="https://global.oup.com/academic/product/a-guide-to-the-good-life-9780195374612?facet_narrowbytype_facet=General%20Interest&amp;lang=en&amp;cc=us&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A Guide To The Good Life: The Ancient Art Of Stoic Joy</a> by William B. Irvine</li>
</ul>
</li>
<li>Patryk
<ul>
<li><a href="https://pragprog.com/book/mnee2/release-it-second-edition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Release It: Design And Deploy Production Ready Software</a> by Michael Nygard</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://mirumee.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mirumee</a></li>
<li><a href="https://getsaleor.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Saleor</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://trypyramid.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyramid</a> web framework</li>
<li><a href="https://pylonsproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pylons</a></li>
<li><a href="https://magento.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magento</a> eCommerce platform</li>
<li><a href="https://en.wikipedia.org/wiki/E-commerce?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ecommerce</a></li>
<li><a href="http://satchmoproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Satchmo</a></li>
<li><a href="http://satchless.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Satchless</a></li>
<li><a href="https://github.com/mirumee/prices?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prices</a> library for handling price data</li>
<li><a href="https://en.wikipedia.org/wiki/National_Assembly_(France)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">French National Assembly</a></li>
<li><a href="http://oscarcommerce.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Oscar</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-104-oscar-ecommerce-with-david-winterbottom-and-michael-van-tellingen/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://codeinthehole.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">David Winterbottom</a></li>
<li><a href="https://www.ebay.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ebay</a></li>
<li><a href="https://amzn.to/2CG6dLG?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon</a></li>
<li><a href="https://www.etsy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Etsy</a></li>
<li><a href="https://www.shopify.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shopify</a></li>
<li><a href="https://ariadne.readthedocs.io/en/0.2.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ariadne</a> GraphQL framework for Python</li>
<li><a href="https://graphene-python.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphene</a> GraphQL framework for Python
<ul>
<li><a href="https://www.pythonpodcast.com/graphene-with-syrus-akbary-episode-192/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://www.apollographql.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apollo</a> JavaScript GraphQL framework</li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PWA == Progressive Web Apps</a></li>
<li><a href="https://en.wikipedia.org/wiki/Stock_keeping_unit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SKU == Stock Keeping Unit</a></li>
<li><a href="https://en.wikipedia.org/wiki/Collective_intelligence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Collective Intelligence</a></li>
<li><a href="https://www.elastic.co/products/elasticsearch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elasticsearch</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/elastic-stack-with-philipp-krenn-episode-23/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/A/B_testing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A/B Testing</a></li>
<li><a href="https://www.roomlab.design/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Room Lab</a> store built on Saleor</li>
<li><a href="https://en.wikipedia.org/wiki/Augmented_reality?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Augmented Reality</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebGL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WebGL</a></li>
<li><a href="">Saleor Cloud</a></li>
<li><a href="https://channels.readthedocs.io/en/latest/asgi.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASGI</a>
<ul>
<li><a href="https://www.pythonpodcast.com/django-channels-and-the-asynchronous-web-with-andrew-godwin-episode-180/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsaleor-ecommerce-episode-205%2F&amp;action_name=Building+Scalable+Ecommerce+Sites+On+Saleor+-+Episode+205&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-04-01t02:05:21+00:00-a54d266a9050228</guid>
      <link>https://www.pythonpodcast.com/saleor-ecommerce-episode-205</link>
      <pubDate>Mon, 1 Apr 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1623.15" duration="45.34">And for somebody who is agnostic to the language or implementation environment for an ecommerce solution, what are some of the aspects of Xalor that would make them choose that over some of their other available options? I I think Xalor is still, sort of, first choice for Python developers. But recently with the second version, we we actually turned it into headless ecommerce. So it's all GraphQL driven and very modern. So I would say if you were looking for for a solution that doesn't come with a big overhead and, and and the techno technological debt as well, then a SAILOR is a great fit, especially if you are looking for the really modern ways of of writing front ends these days.</podcast:soundbite>
      <podcast:soundbite startTime="2766.16" duration="36.37">And as people who work in the ecommerce industry and with these various different brands, what are some of the trends that you see and some predictions that you can make as to the future of the ecommerce industry in the direction that it's moving? That's a tough 1. I I think everything yeah. It's a very tough 1, but it's clear that everything is, today being called an experience. Like, you you need to build new experiences for the for the for the customers. I think, like, most of the brands that, they realize and they are fully aware these days of the importance of the good design.</podcast:soundbite>
      <podcast:soundbite startTime="853.59" duration="20.51">Yeah. This is a really good question. And especially because, like, going open was, was not that obvious 10 years ago. Like, we recently, you know, we recently see a lot of, a lot of interest in open source, and companies start realizing the value. I don't think they all do realize the true value, but let me let me explain a little bit more.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:03</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building Scalable Ecommerce Sites On Saleor</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>205</itunes:episode>
      <podcast:episode>205</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253221445545403a813f9c-2e32-42f8-be6c-f8336a08ed54v1.mp3" length="43207840" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253221445545403a813f9c-2e32-42f8-be6c-f8336a08ed54v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_3a813f9c-2e32-42f8-be6c-f8336a08ed54638558847740570934.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3a813f9c-2e32-42f8-be6c-f8336a08ed54638558847735994712.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3a813f9c-2e32-42f8-be6c-f8336a08ed54638558847734217350.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>A Quick Python Check-in With Naomi Ceder</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Naomi Ceder was fortunate enough to learn Python from Guido himself. Since then she has contributed books, code, and mentorship to the community. Currently she serves as the chair of the board to the Python Software Foundation, leads an engineering team, and has recently completed a new draft of the Quick Python Book. In this episode she shares her story, including a discussion of her experience as a technical author and a detailed account of the role that the PSF plays in supporting and growing the community.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Check out the <a href="https://changelog.com/practicalai?utm_source=macey&amp;utm_medium=podcast&amp;utm_campaign=python&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Practical AI podcast</a> from our friends at Changelog Media to learn and stay up to date with what’s happening in AI</li>
<li>You listen to this show to learn and stay up to date with what&#8217;s happening in databases, streaming platforms, big data, and everything else you need to know about modern data management. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with organizations such as O&#8217;Reilly Media, Dataversity, and the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Naomi Ceder about her career and contributions in the Python community</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How are you using Python in your current day-to-day?</li>
<li>You have been working with Python for a long time at this point, and you have become very involved in supporting and growing the community. What is your motivation for dedicating so much of your time and energy into work that isn&#8217;t directly related to paying the bills?</li>
<li>You have been the chair of the PSF for a few years now. What are your responsibilities in that position?</li>
<li>What do you find to be the most under-rated, misunderstood, or overlooked activities of the PSF?
<ul>
<li>How much of the success of the Python language and its community can be attributed to the presence and support of the PSF?</li>
</ul>
</li>
<li>In addition to the work you do with the PSF, other community activities, and your day job, you have also written the 2nd and 3rd editions of the Quick Python Book. Can you give a synopsis of what the book covers and the audience that it is intended for?</li>
<li>In the process of writing the book and updating it between revisions, what are some of the features of the language or standard library that you discovered or learned more about which you have been able to use in your work?</li>
<li>What are some of the other language communities that you have been involved with and what lessons have you learned from them that you would like to see reflected in Python?</li>
<li>What are some of the other projects that you have been involved with that you are most proud of, whether technical or otherwise?</li>
<li>What are you most excited about in the near to medium future?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/naomiceder?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@NaomiCeder</a> on Twitter</li>
<li><a href="https://www.naomiceder.tech?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web</a></li>
</ul>
<h3>Quick Python Book</h3>
<ul>
<li><a href="https://www.manning.com/books/the-quick-python-book-third-edition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Get 40% off</a> everything at Manning with code <em>podinit19</em> at checkout</li>
<li><a href="https://kingsumo.com/g/aghssw/free-copy-of-the-quick-python-book-from-manning-publishers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Enter to win a free copy</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://inkscape.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inkscape</a> vector graphics editor</li>
</ul>
</li>
<li>Naomi
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_House_of_Flowers_(TV_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">La Casa de las Flores (House of Flowers)</a> (Netflix)</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.manning.com/books/the-quick-python-book-third-edition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Quick Python Book</a></li>
<li><a href="https://www.dickblick.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dick Blick Art Materials</a></li>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The PSF</a></li>
<li><a href="https://twitter.com/thepsf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ThePSF</a> on Twitter</li>
<li><a href="https://www.manning.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Manning Publishers</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0008/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP8</a></li>
<li><a href="https://en.wikipedia.org/wiki/Extract,_transform,_load?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ETL</a></li>
<li><a href="https://docs.python.org/3/library/collections.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Collections Module</a></li>
<li><a href="https://docs.python.org/3/library/turtle.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Turtle Library</a></li>
<li><a href="https://us.pycon.org/2019/hatchery/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Hatchery</a></li>
<li><a href="https://us.pycon.org/2019/hatchery/charlas/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Charlas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/pymex-with-maricela-sanchez-episode-185/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://wiki.python.org/moin/GlobalInterpreterLock?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The GIL</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fnaomi-ceder-quick-python-episode-20%2F&amp;action_name=A+Quick+Python+Check-in+With+Naomi+Ceder+-+Episode+204&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-03-25t15:12:50+00:00-6597ec4c7c38bd5</guid>
      <link>https://www.pythonpodcast.com/naomi-ceder-quick-python-episode-20</link>
      <pubDate>Mon, 25 Mar 2019 16:00:00 +0000</pubDate>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:32</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>A Quick Python Check-in With Naomi Ceder</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>204</itunes:episode>
      <podcast:episode>204</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305017608768ecae5792-5482-4ec5-992d-658f56c60e6dv1.mp3" length="23349937" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305017608768ecae5792-5482-4ec5-992d-658f56c60e6dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ecae5792-5482-4ec5-992d-658f56c60e6d638558811564451683.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ecae5792-5482-4ec5-992d-658f56c60e6d638558811561634204.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ecae5792-5482-4ec5-992d-658f56c60e6d638558811559604398.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Wes McKinney's Career In Python For Data Analysis</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Python has become one of the dominant languages for data science and data analysis. Wes McKinney has been working for a decade to make tools that are easy and powerful, starting with the creation of Pandas, and eventually leading to his current work on Apache Arrow. In this episode he discusses his motivation for this work, what he sees as the current challenges to be overcome, and his hopes for the future of the industry.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Check out the <a href="https://changelog.com/practicalai?utm_source=macey&amp;utm_medium=podcast&amp;utm_campaign=python&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Practical AI podcast</a> from our friends at Changelog Media to learn and stay up to date with what’s happening in AI</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with O&#8217;Reilly Media for the Strata conference in San Francisco on March 25th and the Artificial Intelligence conference in NYC on April 15th. Here in Boston, starting on May 17th, you still have time to grab a ticket to the Enterprise Data World, and from April 30th to May 3rd is the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Wes McKinney about his contributions to the Python community and his current projects to make data analytics easier for everyone</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>You have spent a large portion of your career on building tools for data science and analytics in the Python ecosystem. What is your motivation for focusing on this problem domain?</li>
<li>Having been an open source author and contributor for many years now, what are your current thoughts on paths to sustainability?</li>
<li>What are some of the common challenges pertaining to data analysis that you have experienced in the various work environments and software projects that you have been involved in?
<ul>
<li>What area(s) of data science and analytics do you find are not receiving the attention that they deserve?</li>
</ul>
</li>
<li>Recently there has been a lot of focus and excitement around the capabilities of neural networks and deep learning. In your experience, what are some of the shortcomings or blind spots to that class of approach that would be better served by other classes of solution?</li>
<li>Your most recent work is focused on the Arrow project for improving interoperability across languages. What are some of the cases where a Python developer would want to incorporate capabilities from other runtimes?
<ul>
<li>Do you think that we should be working to replicate some of those capabilities into the Python language and ecosystem, or is that wasted effort that would be better spent elsewhere?</li>
</ul>
</li>
<li>Now that Pandas has been in active use for over a decade and you have had the opportunity to get some space from it, what are your thoughts on its success?
<ul>
<li>With the perspective that you have gained in that time, what would you do differently if you were starting over today?</li>
</ul>
</li>
<li>You are best known for being the creator of Pandas, but can you list some of the other achievements that you are most proud of?</li>
<li>What projects are you most excited to be working on in the near to medium future?</li>
<li>What are your grand ambitions for the future of the data science community, both in and outside of the Python ecosystem?</li>
<li>Do you have any parting advice for active or aspiring data scientists, or resources that you would like to recommend?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/wesm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wesm</a> on GitHub</li>
<li><a href="http://wesmckinney.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/wesmckinn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@wesmckinn</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.roalddahl.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Roald Dahl</a></li>
</ul>
</li>
<li>Wes
<ul>
<li><a href="https://www.tracykidder.com/the-soul-of-a-new-machine.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Soul Of A New Machine</a> by Tracy Kidder</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://ursalabs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ursa Labs</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Interview</a> with Jeff Reback</li>
<li><a href="https://www.pythonpodcast.com/pandas-extension-arrays-with-tom-augspurger-episode-164/?utm_source=rss&utm_medium=rss">Pandas Extension Arrays Interview</a> with Tom Augsburger</li>
</ul>
</li>
<li><a href="https://www.aqr.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AQR Capital Management</a></li>
<li><a href="https://en.wikipedia.org/wiki/Distributed_computing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Distributed Computing</a></li>
<li><a href="https://en.wikipedia.org/wiki/SQL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQL</a></li>
<li><a href="https://products.office.com/en-us/excel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Excel</a></li>
<li><a href="https://duke.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Duke University</a></li>
<li><a href="https://www.appnexus.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AppNexus</a></li>
<li><a href="https://www.linkedin.com/in/changshe/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chang She</a></li>
<li><a href="https://www.ibis-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ibis</a></li>
<li><a href="https://opensource.guide/leadership-and-governance/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Source Governance</a></li>
<li><a href="https://apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Software Foundation</a></li>
<li><a href="http://www.paulgraham.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Paul Graham</a></li>
<li><a href="http://www.paulgraham.com/schlep.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Schlep Blindness</a></li>
<li>Big Data File Formats
<ul>
<li><a href="https://avro.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Avro</a></li>
<li><a href="http://parquet.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parquet</a></li>
<li><a href="https://orc.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ORC</a></li>
<li><a href="https://www.dataengineeringpodcast.com/data-serialization-with-doug-cutting-and-julien-le-dem-episode-8/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://arrow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Arrow</a></li>
<li><a href="http://hadoop.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hadoop</a></li>
<li><a href="http://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/putting-apache-spark-into-action-with-jean-georges-perrin-episode-60/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>
</li>
<li><a href="http://impala.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Impala</a></li>
<li><a href="https://www.r-project.org/about.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R Language</a></li>
<li><a href="https://www.ruby-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
<li><a href="https://pandas-dev.github.io/pandas2/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas 2.0 Design Docs</a></li>
<li><a href="http://wesmckinney.com/blog/apache-arrow-pandas-internals/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Arrow and the 10 Things I Hate About Pandas</a></li>
<li><a href="http://geopandas.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GeoPandas</a></li>
<li><a href="https://www.statsmodels.org/stable/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Statsmodels</a></li>
<li><a href="http://shop.oreilly.com/product/0636920023784.do?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python For Data Analysis</a> by Wes McKinney</li>
<li><a href="https://www.twosigma.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">2 Sigma</a></li>
<li><a href="https://www.rstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R Studio</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fwes-mckinney-python-for-data-analysis-episode-203%2F&amp;action_name=Wes+McKinney%27s+Career+In+Python+For+Data+Analysis+-+Episode+203&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-03-18t10:22:14+00:00-d4832c8c1550ebf</guid>
      <link>https://www.pythonpodcast.com/wes-mckinney-python-for-data-analysis-episode-203</link>
      <pubDate>Mon, 18 Mar 2019 10:00:00 +0000</pubDate>
      <podcast:soundbite startTime="397.89" duration="40.09">And so I got really interested in building tools for myself to be more productive, to make the whole process of translating, like, I have an idea about what I wanna do with the data to actually I have working code to do that. And as I've kind of expanded, you know, I I've been more focused on the needs of other people and looking at how people are working with data and how to make them make them more productive. And so I find it to be a kind of virtuous cycle where you build you build tools, you get feedback from people, you see if it makes their work or their lives better, and then you incorporate that, you know, that feedback into your process.</podcast:soundbite>
      <podcast:soundbite startTime="2671.03" duration="41.02">So, so I I, I helped start the Arrow project while while I was at at Cloudera in in 20 2015. In 2016, I I moved across the country, and and spent a couple of years working with 2 Sigma on systems for for data science, and they're really gracious, supporters of the of the Apache Arrow work. And we, we did, you know, integration between we developed integration between, Spark and Arrow to make Python on Spark faster, and we collaborated with with IBM on that work. That was really an exciting collaboration to see, come together and be successful.</podcast:soundbite>
      <podcast:soundbite startTime="180.34" duration="31.16">So, Wes, could you start by introducing yourself? Sure. I'm, Wes McKinney. Most people know me as the creator of the Python Pandas project. So I've been doing, development work for data analysis tools for a little over a little over 10 years, and, very interested in open source software and, and models for doing funding models for doing more, more open source software and making, data processing systems more powerful and more accessible to normal people.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:45</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Wes McKinney's Career In Python For Data Analysis</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>203</itunes:episode>
      <podcast:episode>203</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532157293906514d84349-9037-4206-9612-ef3d9853e15dv1.mp3" length="35441739" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532157293906514d84349-9037-4206-9612-ef3d9853e15dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_14d84349-9037-4206-9612-ef3d9853e15d638558844695768053.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/14d84349-9037-4206-9612-ef3d9853e15d638558844692695674.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/14d84349-9037-4206-9612-ef3d9853e15d638558844690575246.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Past, Present, and Future of Deep Learning In PyTorch</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The current buzz in data science and big data is around the promise of deep learning, especially when working with unstructured data. One of the most popular frameworks for building deep learning applications is PyTorch, in large part because of their focus on ease of use. In this episode Adam Paszke explains how he started the project, how it compares to other frameworks in the space such as Tensorflow and CNTK, and how it has evolved to support deploying models into production and on mobile devices.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. And for your tasks that need fast computation, such as training machine learning models, they just launched dedicated CPU instances. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Check out the <a href="https://changelog.com/practicalai?utm_source=macey&amp;utm_medium=podcast&amp;utm_campaign=python&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Practical AI podcast</a> from our friends at Changelog Media to learn and stay up to date with what&#8217;s happening in AI</li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with O&#8217;Reilly Media for the Strata conference in San Francisco on March 25th and the Artificial Intelligence conference in NYC on April 15th. Here in Boston, starting on May 17th, you still have time to grab a ticket to the Enterprise Data World, and from April 30th to May 3rd is the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Adam Paszke about PyTorch, an open source deep learning platform that provides a seamless path from research prototyping to production deployment</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what deep learning is and how it relates to machine learning and artificial intelligence?</li>
<li>Can you explain what PyTorch is and your motivation for creating it?
<ul>
<li>Why was it important for PyTorch to be open source?</li>
</ul>
</li>
<li>There is currently a large and growing ecosystem of deep learning tools built for Python. Can you describe the current landscape and how PyTorch fits in relation to projects such as Tensorflow and CNTK?
<ul>
<li>What are some of the ways that PyTorch is different from Tensorflow and CNTK, and what are the areas where these frameworks are converging?</li>
</ul>
</li>
<li>How much knowledge of machine learning, artificial intelligence, or neural network topologies are necessary to make use of PyTorch?
<ul>
<li>What are some of the foundational topics that are most useful to know when getting started with PyTorch?</li>
</ul>
</li>
<li>Can you describe how PyTorch is architected/implemented and how it has evolved since you first began working on it?
<ul>
<li>You recently reached the 1.0 milestone. Can you talk about the journey to that point and the goals that you set for the release?</li>
</ul>
</li>
<li>What are some of the other components of the Python ecosystem that are most commonly incorporated into projects based on PyTorch?</li>
<li>What are some of the most novel, interesting, or unexpected uses of PyTorch that you have seen?</li>
<li>What are some cases where PyTorch is the wrong choice for a problem?</li>
<li>What is the process for incorporating these new techniques and discoveries into the PyTorch framework?
<ul>
<li>What are the areas of active research that you are most excited about?</li>
</ul>
</li>
<li>What are some of the most interesting/useful/unexpected/challenging lessons that you have learned in the process of building and maintaining PyTorch?</li>
<li>What do you have planned for the future of PyTorch?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/apaszke?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">apaszke</a> on GitHub</li>
<li><a href="https://twitter.com/apaszke?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@apaszke</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/apaszke/?locale=en_US&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.penguinrandomhouse.com/books/114265/un-lun-dun-by-written-and-illustrated-by-china-mieville/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Un Lun Dun</a> by <a href="https://en.wikipedia.org/wiki/China_Mi%C3%A9ville?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">China Miéville</a></li>
</ul>
</li>
<li>Adam
<ul>
<li><a href="http://www.hup.harvard.edu/catalog.php?isbn=9780674072527&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">In Praise Of Copying</a> by Marcus Boon</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="http://en.uw.edu.pl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Warsaw</a></li>
<li><a href="https://en.wikipedia.org/wiki/Poland?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Poland</a></li>
<li><a href="https://www.oi.edu.pl/old/php/show.php?ac=e&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polish Olympiad In Informatics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Automatic_differentiation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automatic Differentiation</a></li>
<li><a href="http://torch.ch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Torch 7</a></li>
<li><a href="https://www.lua.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lua</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://github.com/Microsoft/CNTK?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CNTK</a></li>
<li><a href="https://medium.com/tensorflow/whats-coming-in-tensorflow-2-0-d3663832e9b8?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow 2</a></li>
<li><a href="https://caffe2.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Caffe2</a></li>
<li><a href="https://www.epfl.ch/en/home/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EPFL (Ecole polytechnique fédérale de Lausanne)</a></li>
<li><a href="https://www.fast.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fast.ai</a></li>
<li><a href="https://pytorch.org/docs/stable/jit.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TorchScript</a></li>
<li><a href="https://onnx.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ONNX</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transfer_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transfer Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="https://en.wikipedia.org/wiki/Reinforcement_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reinforcement Learning</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://www.scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MatPlotLib</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpytorch-deep-learning-epsiode-202%2F&amp;action_name=The+Past%2C+Present%2C+and+Future+of+Deep+Learning+In+PyTorch+-+Episode+202&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-03-10t21:41:36+00:00-4cae84363cc98f0</guid>
      <link>https://www.pythonpodcast.com/pytorch-deep-learning-epsiode-202</link>
      <pubDate>Sun, 10 Mar 2019 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="191.37" duration="13.83">So, Adam, could you start by introducing yourself? Hi, everyone. I'm Adam Paschke, and, I'm 1 of the lead developers of PyTorch. And as a, like, day to day occupation, I'm a student at the University of Warsaw in computer science and maths.</podcast:soundbite>
      <podcast:soundbite startTime="546.28" duration="32.67">Yeah. We never we never even considered making it closed source. Torch 7 was completely open source. And, you know, even when we started working on this, there were already so many, open source alternative libraries that you could use to train and, like, do research or deploy those models production, which were open source that, you know, basically, there is kind of no space for closed source solutions, I think, in in in this area at least. There the there's like, the open source solutions are too have too high quality for for that to happen, I believe.</podcast:soundbite>
      <podcast:soundbite startTime="280.46" duration="33.39">Basically, deep learning is, a specific, let's say, a subset of machine learning. Like, there are a lot of different machine learning methods, and deep learning is, like, let's call it a set of algorithms or, like, a set of models, which, like, got really common in the in the in the recent years because, like, it allowed people to, like, train models, which empirically work better with, like, real world data and, like, can, you know, classify images or generate audio and, like, all this stuff, which was really hard using the previous state of the art methods.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:12</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Past, Present, and Future of Deep Learning In PyTorch</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>202</itunes:episode>
      <podcast:episode>202</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530486912020509fa2ee3-9897-417a-8963-6436898b7791v1.mp3" length="36777080" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530486912020509fa2ee3-9897-417a-8963-6436898b7791v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_09fa2ee3-9897-417a-8963-6436898b7791638558810853791694.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/09fa2ee3-9897-417a-8963-6436898b7791638558810850816192.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/09fa2ee3-9897-417a-8963-6436898b7791638558810848788289.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>How To Include Redis In Your Application Architecture</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>The Redis database recently celebrated its 10th birthday. In that time it has earned a well-earned reputation for speed, reliability, and ease of use. Python developers are fortunate to have a well-built client in the form of redis-py to leverage it in their projects. In this episode Andy McCurdy and Dr. Christoph Zimmerman explain the ways that Redis can be used in your application architecture, how the Python client is built and maintained, and how to use it in your projects.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss out on this year&#8217;s conference season. We have partnered with O&#8217;Reilly Media for the Strata conference in San Francisco on March 25th and the Artificial Intelligence conference in NYC on April 15th. Here in Boston, starting on May 17th, you still have time to grab a ticket to the Enterprise Data World, and from April 30th to May 3rd is the Open Data Science Conference. Go to <a href="https://www.pythonpodcast.com/conferences?utm_source=rss&utm_medium=rss">pythonpodcast.com/conferences</a> to learn more and take advantage of our partner discounts when you register.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Andy McCurdy and Christoph Zimmerman about the Redis database, and some of the various ways that it is used by Python developers</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Redis is and how you got involved in the project?</li>
<li>How does the redis-py project relate to the Redis database and what motivated you to create the Python client?</li>
<li>What are some of the main use cases that Redis enables?</li>
<li>Can you describe how Redis-py is implemented and some of the primitives that it provides for building applications on top of?
<ul>
<li>How do the release cycles of redis-py and the Redis database relate to each other?</li>
<li>How closely does redis-py match the features of the Redis database?</li>
<li>What are some of the convenience methods or features that you have added to make the client more Pythonic?</li>
</ul>
</li>
<li>Redis is often used as a key/value cache for web applications, in some cases replacing Memcached. What are the characteristics of Redis that lend themselves well to this purpose?
<ul>
<li>What are some edge cases or gotchas that users should be aware of?</li>
</ul>
</li>
<li>What are some of the common points of confusion or difficulties when storing and retrieving values in Redis?</li>
<li>What have been some of the most challenging aspects of building and maintaining the Redis Python client?</li>
<li>What are some of the anti-patterns that you have seen around how developers build on top of Redis?</li>
<li>What are some of the most interesting or unexpected ways that you have seen Redis used?</li>
<li>What are some of the least used or most misunderstood features of Redis that you think developers should know about?</li>
<li>What are some of the recent and near-future improvements or features in Redis that you are most excited by?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Andy
<ul>
<li><a href="https://twitter.com/andymccurdy?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@andymccurdy</a> on Twitter</li>
<li><a href="https://github.com/andymccurdy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">andymccurdy</a> on GitHub</li>
</ul>
</li>
<li>Christoph
<ul>
<li><a href="https://github.com/chrisAtRedis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">chrisAtRedis</a> on GitHub</li>
<li><a href="https://www.linkedin.com/in/christoph-dr-zimmermann-ab48353/detail/recent-activity/posts/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Rowan_Atkinson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rowan Atkinson</a></li>
</ul>
</li>
<li>Andy
<ul>
<li><a href="https://www.amazon.com/Food-Lab-Cooking-Through-Science/dp/0393081087?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Food Lab: Better Home Cooking Through Science by J. Kenji Lopez-Alt</a></li>
<li><a href="https://steamcommunity.com/sharedfiles/filedetails/?id=1613886175&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dota 2 Auto Chess (Community Mod)</a></li>
</ul>
</li>
<li>Christoph
<ul>
<li><a href="https://www.ballastpoint.com/beer/grapefruit-sculpin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPA Infused With Grapefruit Juice</a></li>
<li><a href="https://redis-py.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">redis-py</a></li>
<li><a href="https://selenium-python.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium Python client</a></li>
<li><a href="http://daniel-suarez.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Daniel Suarez</a>
<ul>
<li><a href="http://daniel-suarez.com/influxsynopsis.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Influx</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://redis-py.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">redis-py</a></li>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis DB</a></li>
<li><a href="https://redislabs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis Labs</a></li>
<li><a href="http://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://www.researchgate.net/publication/2684756_A_Reflective_Architecture_for_Real-Time_Operating_Systems?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reflective Operating System Architectures</a></li>
<li><a href="https://www.tcl.tk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TCL</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linux</a></li>
<li><a href="https://memcached.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Memcached</a></li>
<li><a href="https://nextcloud.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NextCloud</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C</a> programming language</li>
<li><a href="https://uwsgi-docs.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">uWSGI</a></li>
<li><a href="http://flask.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="http://flask.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gevent</a></li>
<li><a href="https://pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://github.com/RedisLabsModules/redisjson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">re-json</a></li>
<li><a href="https://oss.redislabs.com/redisgraph/#loading-redisgraph-into-redis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">redis-graph</a></li>
<li><a href="https://github.com/RedisLabsModules/RediSearch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis-search</a></li>
<li><a href="https://www.mongodb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoDB</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bloom_filter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bloom Filter</a></li>
<li><a href="https://github.com/redis/hiredis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hiredis</a></li>
<li><a href="https://redis.io/topics/sentinel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis Sentinel</a> HA plugin</li>
<li><a href="https://www.lua.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lua</a> programming language</li>
<li><a href="https://openwrt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenWRT</a></li>
<li><a href="https://openwrt.org/docs/guide-user/luci/start?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LuCI</a></li>
<li><a href="https://micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-15-damien-george-talks-to-us-about-micropython/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fredis-python-application-architecture-episode-201%2F&amp;action_name=How+To+Include+Redis+In+Your+Application+Architecture+-+Episode+201&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-03-04t18:31:11+00:00-026503dc738075b</guid>
      <link>https://www.pythonpodcast.com/redis-python-application-architecture-episode-201</link>
      <pubDate>Mon, 4 Mar 2019 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="782.74" duration="22.27">And what are some of the feature primitives that are available in the Redis database and the Redis Py library that application developers can build on top of? So you start off with with basic, you know, key value strings. That that's kinda where everyone, I think, starts off with. And and that's very similar to the functionality that that someone might be used to with memcached.</podcast:soundbite>
      <podcast:soundbite startTime="175.76" duration="11.89">So Andy, could you start by introducing yourself? Sure. I'm Andy McCurdy. I'm a software engineer. I've been doing this for 20 years, and, have worked with Redis and Redis Pie for the last, 10 or so.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:01:11</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>How To Include Redis In Your Application Architecture</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>201</itunes:episode>
      <podcast:episode>201</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252986786800601734d73a-f2a0-4e04-b91a-1cf4a8900be2v1.mp3" length="48810581" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252986786800601734d73a-f2a0-4e04-b91a-1cf4a8900be2v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1734d73a-f2a0-4e04-b91a-1cf4a8900be2638558793327124252.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1734d73a-f2a0-4e04-b91a-1cf4a8900be2638558793322115256.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1734d73a-f2a0-4e04-b91a-1cf4a8900be2638558793320090150.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Marshmallow Data Validation Library</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Any time that your program needs to interact with other systems it will have to deal with serializing and deserializing data. To prevent duplicate code and provide validation of the data structures that your application is consuming Steven Loria created the Marshmallow library. In this episode he explains how it is built, how to use it for rendering data objects to various serialization formats, and some of the interesting and unique ways that it is incorporated into other projects.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a> and tell your friends and co-workers</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>You listen to this show to learn and stay up to date with the ways that Python is being used, including the latest in machine learning and data analysis. For even more opportunities to meet, listen, and learn from your peers you don&#8217;t want to miss the Strata conference in San Francisco on March 25th and the Artificial Intelligence conference in NYC on April 15th, both run by our friends at O&#8217;Reilly Media. Go to <a href="https://www.pythonpodcast.com/stratacon?utm_source=rss&utm_medium=rss">pythonpodcast.com/stratacon</a> and <a href="https://www.pythonpodcast.com/aicon?utm_source=rss&utm_medium=rss">pythonpodcast.com/aicon</a> to register today and get 20% off</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Steven Loria about Marshmallow, a Python serialization library that is agnostic to your framework and object mapper of choice</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Marshmallow is and the history of the project?
<ul>
<li>What are some of the capabilities that make it unique from other similar projects in the Python ecosystem?</li>
</ul>
</li>
<li>What are some of the main use cases for schematized serialization and deserialization?</li>
<li>Can you walk through how a user would get started with Marshmallow, particularly for complex or nested schemas?</li>
<li>Can you describe how Marshmallow is implemented?
<ul>
<li>How has that design evolved since you first began working on it?</li>
<li>How have the changes in the Python language and ecosystem impacted the requirements and use cases for Marshmallow?</li>
</ul>
</li>
<li>What are some of the most interesting or unexpected ways that you have seen Marshmallow used?</li>
<li>What have been some of the most interesting, complex, or challenging aspects of building the Marshmallow project and community?
<ul>
<li>What are lessons you&#8217;ve learned from maintaining marshmallow?</li>
</ul>
</li>
<li>What have been some of the benefits and drawbacks of keeping Marshmallow agnostic to any frameworks or object mappers?</li>
<li>What are some of the edge cases that users of Marshmallow should be aware of?</li>
<li>What are some of the little-known features of Marshmallow that you find most useful?</li>
<li>What do you have planned for the future of Marshmallow?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="mailto:sloria1@gmail.com">Email</a></li>
<li><a href="https://stevenloria.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/sloria1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@sloria1</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Sherlock_(TV_series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sherlock</a> BBC tv series</li>
</ul>
</li>
<li>Steven
<ul>
<li><a href="https://www.greaterthancode.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Greater Than Code</a> podcast</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/marshmallow-code/marshmallow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marshmallow</a></li>
<li><a href="https://www.butterflynetwork.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Butterfly Network</a></li>
<li><a href="https://en.wikipedia.org/wiki/Biology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Biology</a></li>
<li><a href="https://en.wikipedia.org/wiki/Object-relational_mapping?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ORM (Object Relational Mapper)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Object-relational_mapping#Object-oriented_databases?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ODM (Object Document Mapper)</a></li>
<li><a href="https://github.com/marshmallow-code/webargs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Webargs</a></li>
<li><a href="https://avro.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Avro</a></li>
<li><a href="https://swagger.io/docs/specification/about/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swagger/OpenAPI</a></li>
<li><a href="https://en.wikipedia.org/wiki/Representational_state_transfer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">REST (REpresentational State Transfer)</a></li>
<li><a href="https://json-schema.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON-Schema</a></li>
<li><a href="https://github.com/sloria/environs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Environs</a></li>
<li><a href="https://www.django-rest-framework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Rest Framework</a></li>
<li><a href="https://wtforms.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WTForms</a></li>
<li><a href="https://aws.amazon.com/dynamodb/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DynamoDB</a></li>
<li><a href="https://www.mongodb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoDB</a></li>
<li>Etsy&#8217;s <a href="https://github.com/etsy/boundary-layer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">boundary-layer</a> for building <a href="https://github.com/apache/airflow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a> DAGs from config files
<ul>
<li><a href="https://www.pythonpodcast.com/episode-44-airflow-with-maxime-beauchemin/?utm_source=rss&utm_medium=rss">Airflow Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://github.com/lyft/toasted-marshmallow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toasted Marshmallow</a>
<ul>
<li><a href="https://eng.lyft.com/toasted-marshmallow-marshmallow-but-15x-faster-17bdcf34c760?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lyft Blog Post</a></li>
</ul>
</li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmarshmallow-data-validation-episode-200%2F&amp;action_name=Marshmallow+Data+Validation+Library+-+Episode+200&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-02-25t02:21:06+00:00-83e264cf12fd17e</guid>
      <link>https://www.pythonpodcast.com/marshmallow-data-validation-episode-200</link>
      <pubDate>Mon, 25 Feb 2019 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1780.21" duration="20.44">So I think after Marshmallow 3, we really wanna focus on a few things. And 1 of those is performance. So up to version 3, we've really focused on getting the API right, and it's at a place that I'm pretty happy with now. So in future releases, I'd really like to focus our efforts on profiling and figuring out where we can make things faster.</podcast:soundbite>
      <podcast:soundbite startTime="146.51" duration="17.69">So, Steven, could you start by introducing yourself? Sure thing. I am what I'd I'd say a software hobbyist, meaning I write software a lot in my free time, and I'm doing that a lot more right now because I'm between jobs. But by the time that this airs, I'll be a software engineer at a company called Butterfly Network.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:04</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Marshmallow Data Validation Library</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>200</itunes:episode>
      <podcast:episode>200</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530835496210687f1abd7-807d-4e91-aee3-93f7e1a6ee87v1.mp3" length="23156754" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530835496210687f1abd7-807d-4e91-aee3-93f7e1a6ee87v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_87f1abd7-807d-4e91-aee3-93f7e1a6ee87638558824097399240.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/87f1abd7-807d-4e91-aee3-93f7e1a6ee87638558824094660501.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/87f1abd7-807d-4e91-aee3-93f7e1a6ee87638558824092462454.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Unpacking The Python Toolkit For Chaos Engineering</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Chaos engineering is the practice of injecting failures into your production systems in a controlled manner to identify weaknesses in your applications. In order to build, run, and report on chaos experiments Sylvain Hellegouarch created the Chaos Toolkit. In this episode he explains his motivation for creating the toolkit, how to use it for improving the resiliency of your systems, and his plans for the future. He also discusses best practices for building, running, and learning from your own experiments.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Sylvain Hellegouarch about Chaos Toolkit, a framework for building and automating chaos engineering experiments</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Chaos Engineering is?</li>
<li>What is the Chaos Toolkit and what motivated you to create it?
<ul>
<li>How does it compare to the Gremlin platform?</li>
</ul>
</li>
<li>What is the workflow for using Chos Toolkit to build and run an experiment?
<ul>
<li>What are the best practices for building a useful experiment?</li>
<li>Once you have an experiment created, how often should it be executed?</li>
</ul>
</li>
<li>When running an experiment, what are some strategies for identifying points of failure, particularly if they are unexpected?
<ul>
<li>What kinds of reporting and statistics are captured during a test run?</li>
</ul>
</li>
<li>Can you describe how Chaos Toolkit is implemented and how it has evolved since you began working on it?</li>
<li>What are some of the most challenging aspects of ensuring that the experiments run via the Chaos Toolkit are safe and have a reliable rollback available?</li>
<li>What have been some of the most interesting/useful/unexpected lessons that you have learned in the process of building and maintaining the Chaos Toolkit project and community?</li>
<li>What do you have planned for the future of the project?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/Lawouach?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">lawouach</a> on GitHub</li>
<li><a href="http://www.defuze.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/lawouach?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@lawouach</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/sylvainhellegouarch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="http://www.timetrapmovie.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Time Trap</a></li>
</ul>
</li>
<li>Sylvain
<ul>
<li><a href="https://www.guitarlessons.com/guitar-lessons/guitar-lessons-for-beginners/first-guitar-lesson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Playing Guitar</a></li>
<li>Step away from the computer</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://chaostoolkit.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Toolkit</a></li>
<li><a href="https://chaosiq.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos IQ</a></li>
<li><a href="https://www.gremlin.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gremlin</a> chaos engineering service</li>
<li><a href="http://www.russmiles.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Russ Miles</a> Chaos IQ co-founder</li>
<li><a href="http://www.zope.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://cherrypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CherryPy</a> minimalist Python web framework
<ul>
<li><a href="https://www.packtpub.com/web-development/cherrypy-essentials-rapid-python-web-application-development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cherrypy Essentials</a> book</li>
</ul>
</li>
<li><a href="https://en.wikipedia.org/wiki/Chaos_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Engineering</a></li>
<li><a href="https://learning.oreilly.com/library/view/chaos-engineering/9781491988459/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Engineering Book</a></li>
<li><a href="https://en.wikipedia.org/wiki/DevOps?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DevOps</a></li>
<li><a href="https://en.wikipedia.org/wiki/Site_Reliability_Engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SRE (Site Reliability Engineering)</a></li>
<li><a href="https://medium.com/@allspaw/dark-debt-a508adb848dc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dark Debt</a></li>
<li><a href="https://github.com/Netflix/SimianArmy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netflix Simian Army</a></li>
<li><a href="https://github.com/netflix/chaosmonkey?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Monkey</a></li>
<li><a href="https://www.terraform.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Terraform</a></li>
<li><a href="https://www.cncf.io/community/kubecon-cloudnativecon-events/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubecon</a></li>
<li><a href="https://istio.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Istio</a> service mesh</li>
<li><a href="https://chaosiq.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Platform</a></li>
<li><a href="https://www.pyinstaller.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyInstaller</a></li>
<li><a href="https://en.wikipedia.org/wiki/Composition_over_inheritance?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Composition vs Inheritance</a></li>
<li><a href="https://openchaos.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Chaos Initiative</a></li>
<li><a href="https://www.cncf.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CNCF</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fchaos-toolkit-chaos-engineering-episode-199%2F&amp;action_name=Unpacking+The+Python+Toolkit+For+Chaos+Engineering+-+Episode+199&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-02-18t13:04:41+00:00-4d2f740245ef22c</guid>
      <link>https://www.pythonpodcast.com/chaos-toolkit-chaos-engineering-episode-199</link>
      <pubDate>Mon, 18 Feb 2019 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="960.72" duration="43.10">Completely. So the first thing, in my opinion, to get is is at least good indicators. It's it's funny because, they are probably the the the most difficult parts of the whole process is to say, well, what do what does matter to us? If you ask any engineer or even management or any team, basically, and they say, okay. You've got a superb software and system running, But what matters to you? What you can't live without. Right? If I take Amazon, for example, the the the this, you know, the ecommerce site, And I say, well, what matters the most to Amazon in terms of functionalities, is that that people can pay? Is that that people can people search for products or can put them in their baskets?</podcast:soundbite>
      <podcast:soundbite startTime="2991.80" duration="45.22">So there are a few things. Knowing what what, you know, that your users are using actually your tool. In the open source world, it's not easy. It's not easy because people grab your, you know, your your project and run it, but they don't always come back and say whether it's bad or good. Right? So you you don't really know much about your your tools or what people see in it. Right? And that's sometimes frustrating because you're happy with criticism, but you don't even see them, or you're happy with surprises. Although you see some of them, you don't see all of them either. Right? And that makes you sometimes a bit, you need to have passion, to be patient and to have passion about what you're doing because you don't know what people do.</podcast:soundbite>
      <podcast:soundbite startTime="250.30" duration="28.35">Of course. So, I'd like to preface that it's probably my own view on on chaos engineering. Because it's a fairly nascent field at large, you'll find many definitions. So I don't expect to say that this is a definitive 1. I don't think there is. But to me, chaos engineering is a is a is it's it's a a vehicle. It's vehicle to explore your system. And more importantly, it's to explore a system so that you discover your vulnerabilities, your weaknesses.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Unpacking The Python Toolkit For Chaos Engineering</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>199</itunes:episode>
      <podcast:episode>199</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531664278041341d3b305-7c57-46af-af3e-ba666790fffbv1.mp3" length="33667968" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531664278041341d3b305-7c57-46af-af3e-ba666790fffbv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_41d3b305-7c57-46af-af3e-ba666790fffb638558833219199521.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/41d3b305-7c57-46af-af3e-ba666790fffb638558833215529601.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/41d3b305-7c57-46af-af3e-ba666790fffb638558833211968951.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Computational Musicology For Python Programmers</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Music is a part of every culture around the world and throughout history. Musicology is the study of that music from a structural and sociological perspective. Traditionally this research has been done in a manual and painstaking manner, but the advent of the computer age has enabled an increase of many orders of magnitude in the scope and scale of analysis that we can perform. The music21 project is a Python library for computer aided musicology that is written and used by MIT professor Michael Scott Cuthbert. In this episode he explains how the project was started, how he is using it personally, professionally, and in his lectures, as well as how you can use it for your own exploration of musical analysis.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Michael Cuthbert about music21, a toolkit for computer aided musicology</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what computational musicology is?</li>
<li>What is music21 and what motivated you to create it?
<ul>
<li>What are some of the use cases that music21 supports, and what are some common requests that you purposefully don&#8217;t support?</li>
</ul>
</li>
<li>How much knowledge of musical notation, structure, and theory is necessary to be able to work with music21?</li>
<li>Can you talk through a typical workflow for doing analysis of one or more pieces of existing music?
<ul>
<li>What are some of the common challenges that users encounter when working with it (either on the side of Python or musicology/musical theory)?</li>
<li>What about for doing exploration of new musical works?</li>
</ul>
</li>
<li>As a professor at MIT, what are some of the ways that music21 has been incorporated into your classroom?
<ul>
<li>What have they enjoyed most about it?</li>
</ul>
</li>
<li>How is music21 implemented, and how has its structure evolved since you first started it?
<ul>
<li>What have been the most challenging aspects of building and maintaining the music21 project and community?</li>
</ul>
</li>
<li>What are some of the most interesting, unusual, or unexpected ways that you have seen music21 used?
<ul>
<li>What are some analyses that you have performed which yielded unexpected results?</li>
</ul>
</li>
<li>What do you have planned for the future of music21?</li>
<li>Beyond computational analysis of musical theory, what are some of the other ways that you are using Python in your academic and professional pursuits?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/mscuthbert?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mscuthbert</a> on GitHub</li>
<li><a href="https://twitter.com/mscuthbert?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mscuthbert</a> on Twitter</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/2SgSl3r?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozart&#8217;s Requiem</a> performed by Berlin Philharmonik and conducted by Claudio Abbado</li>
</ul>
</li>
<li>Michael
<ul>
<li><a href="http://www.karajan-institut.org/en/home.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">von Karajan Institute</a> &#8211; Karajan was a major conductor of the 60s &#8212; his Institute now sponsors research into new projects in music technology and are big advocates of using Python for their data analysis.</li>
<li><a href="https://www.youtube.com/watch?v=agu5Xo7alIQ&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruth Crawford Seeger, String Quartet (1931)</a> performed by The Playground Ensemble</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://web.mit.edu/music21/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">music21</a></li>
<li><a href="https://ocw.mit.edu/courses/music-and-theater-arts/21m-269-studies-in-western-music-history-quantitative-and-computational-approaches-to-music-history-spring-2012/index.htm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Studies in Western Music History: Quantitative and Computational Approaches to Music History</a> on MIT Open Courseware</li>
<li><a href="https://mit.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://www.nber.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">National Bureau of Economic Research</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0020/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zen of Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Musicology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Musicology</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://orange.biolab.si/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Orange</a>
<ul>
<li><a href="https://www.pythonpodcast.com/orange-with-janez-demsar-and-blaz-zupan-episode-142/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://scikit-learn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://pypi.org/project/Abjad/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Abjad Python Package</a></li>
<li><a href="https://scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">numpy</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>
</li>
<li><a href="https://pypi.org/project/python-Levenshtein/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyLevenshtein</a></li>
<li><a href="https://en.wikipedia.org/wiki/Levenshtein_distance?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Levenshtein Distance</a></li>
<li><a href="https://www.pygame.org/news?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGame</a></li>
<li><a href="https://en.wikipedia.org/wiki/AVL_tree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AVL Tree</a></li>
<li><a href="https://subversion.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Subversion (SVN)</a></li>
<li><a href="http://www.bach-chorales.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bach Chorales</a></li>
<li><a href="https://www.artusi.xyz/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artusi.xyz</a> Interactive Music Theory</li>
<li><a href="http://www.vexflow.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VexFlow</a></li>
<li><a href="https://digitalhumanities.mit.edu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT Digital Humanities</a></li>
<li><a href="https://www.nltk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLTK</a></li>
<li><a href="http://flask.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://en.wikipedia.org/wiki/Fortran?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fortran</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="http://www.humdrum.org/Humdrum/projects.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Humdrum</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmusic21-computational-musicology-episode-198%2F&amp;action_name=Computational+Musicology+For+Python+Programmers+-+Episode+198&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-02-11t19:08:48+00:00-a02525e00cdd8de</guid>
      <link>https://www.pythonpodcast.com/music21-computational-musicology-episode-198</link>
      <pubDate>Mon, 11 Feb 2019 19:00:00 +0000</pubDate>
      <podcast:soundbite startTime="372.79" duration="25.60">Musicology is the study of music history, music theory, music and culture, and it's really, you know, often been done by hand as part of the humanities in libraries and archives at the concert hall. But there's really big questions about how styles change or how composers, were influenced by other composers or how a piece of music works.</podcast:soundbite>
      <podcast:soundbite startTime="567.54" duration="28.83">So music 21 is a Python library, and, that's 1 of the things that's very surprising to a lot of humanists that when you download music 21 as as many of your listeners will know, there's nothing to run. There's no graphic user interface. There's no, program that asks you what you want to do. Instead, it's just another library, but that happens to encode both low level representations of music such as here is a note object.</podcast:soundbite>
      <podcast:soundbite startTime="129.06" duration="14.67">So Michael, could you start by introducing yourself? Hi. My name is Michael Cuthbert or Mike or if you'd like. I'm associate professor of music at MIT, and I'm the faculty director of the digital humanities program sponsored by the Mellon Foundation.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Computational Musicology For Python Programmers</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>198</itunes:episode>
      <podcast:episode>198</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253046665151714624773b-3985-4007-b4b9-6097d7563feev1.mp3" length="29354115" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253046665151714624773b-3985-4007-b4b9-6097d7563feev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4624773b-3985-4007-b4b9-6097d7563fee638558809884299674.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4624773b-3985-4007-b4b9-6097d7563fee638558809880742787.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4624773b-3985-4007-b4b9-6097d7563fee638558809876621724.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Classic Computer Science For Pythonistas</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>Software development is a career that attracts people from all backgrounds, and Python in particular helps to make it an approachable occupation. Because of the variety of paths that can be taken it is becoming increasingly common for practitioners to bypass the traditional computer science education. In this episode David Kopec discusses some of the classic problems that he has found most useful to understand in his work as a professor and practitioner of software engineering. He shares his motivation for writing the book &quot;Classic Computer Science Problems In Python&quot;, the practical approach that he took, and an overview of how the contents can be used in your day-to-day work.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing David Kopec about his recent book &quot;Classic Computer Science Problems In Python&quot;</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by discussing your motivation for creating this book and the subject matter that it covers?
<ul>
<li>How do you define a &quot;classic&quot; computer science problem and what was your criteria for selecting the specific cases that you included in the book?</li>
</ul>
</li>
<li>What are your favorite features of the Python language, and which of them did you learn as part of the process of writing the examples for this book?</li>
<li>Which classes of problems have you found to be most difficult for your readers and students to master?
<ul>
<li>Which do you consider to be most relevant/useful to professional software engineers?</li>
</ul>
</li>
<li>I was pleasantly surprised to see introductory aspects of artificial intelligence included in the subject matter that you covered. How did you approach the challenge of making the underlying principles accessible to readers who don&#8217;t necessarily have a background in the related fields of mathematics?</li>
<li>What are some of the most interesting or unexpected changes that you had to make in the process of adapting your examples from Swift to Python in order to make them appropriately idiomatic?</li>
<li>By aiming for an intermediate audience you free yourself of the need to incorporate fundamental aspects of programming, but there can be a wide variety of experiences at that level of experience. How did you approach the challenge of making the text accessible while still being accurate and engaging?</li>
<li>What are some of the resources that you would recommend to readers who would like to continue learning about computer science after completing your book?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://twitter.com/davekopec?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@davekopec</a> on Twitter</li>
<li><a href="http://oaksnow.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>
<h3>Book Discount And Giveaway</h3>
<ul>
<li>Use code <em>podinit19</em> to get 40% off all <a href="https://www.manning.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Manning</a> products</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://elementor.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elementor</a></li>
</ul>
</li>
<li>David
<ul>
<li><a href="http://nesdev.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nesdev</a></li>
<li><a href="https://www.history.com/shows/the-curse-of-oak-island?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Curse of Oak Island</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://www.manning.com/books/classic-computer-science-problems-in-python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Classic Computer Science Problems in Python</a></li>
<li><a href="https://www.manning.com/books/classic-computer-science-problems-in-swift?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Classic Computer Science Problems in Swift</a></li>
<li><a href="https://www.apress.com/us/book/9781430264811?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dart For Absolute Beginners</a></li>
<li><a href="https://www.dartlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dart</a></li>
<li><a href="https://swift.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swift</a></li>
<li><a href="https://www.manning.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Manning Publications</a></li>
<li><a href="https://www.apress.com/us?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apress</a></li>
<li><a href="https://docs.python.org/3/library/dataclasses.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Data Classes</a></li>
<li><a href="https://docs.python.org/3/library/typing.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Type Hints</a></li>
<li><a href="https://en.wikipedia.org/wiki/Recursion_(computer_science)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Recursion</a></li>
<li><a href="https://en.wikipedia.org/wiki/A*_search_algorithm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A* Search Algorithm</a></li>
<li><a href="https://en.wikipedia.org/wiki/Artificial_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neural Network</a></li>
<li><a href="https://www.champlain.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Champlain College</a></li>
<li><a href="https://en.wikipedia.org/wiki/Burlington,_Vermont?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Burlington, VT, USA</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hyperloop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HyperLoop</a></li>
<li><a href="https://amzn.to/2Gl48Y5?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Structures And Algorithms In Python</a> by Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser</li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>
</li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="https://en.wikipedia.org/wiki/Minimax?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Minimax</a></li>
<li><a href="https://home.dartmouth.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dartmouth College</a></li>
<li><a href="https://en.wikipedia.org/wiki/Big_O_notation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Big O Notation</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcomputer-science-in-python-episode-197%2F&amp;action_name=Classic+Computer+Science+For+Pythonistas+-+Episode+197&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-02-04t01:45:30+00:00-51371d9bd8520d4</guid>
      <link>https://www.pythonpodcast.com/computer-science-in-python-episode-197</link>
      <pubDate>Mon, 4 Feb 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1150.78" duration="27.22">So to be honest with you, because it's classic problems, a lot of these problems are kind of toy problems. So they're not necessarily although the techniques are applicable, of course, to real world problems, the actual problems that we solve in the book are mostly toy problems for illustrative purposes. That being said, at the end of every chapter, we have a section called real world examples, and we talk about how the problem solving techniques that you learned in that chapter are being applied in the real world for very serious problems.</podcast:soundbite>
      <podcast:soundbite startTime="150.04" duration="16.30">Yeah. Absolutely. So I've been programming since I was a little kid, but I first got introduced to Python when I was in graduate school, which was about 2010. And I just found all my classes in graduate school were in Python, and I fell in love with the language in graduate school. I just loved how succinct it was.</podcast:soundbite>
      <podcast:soundbite startTime="1938.83" duration="30.98">Absolutely. And, you know, it's not like you're gonna read this book and then you're gonna implement your own neural network from scratch, and that's true for any of the topics. It's not like you're gonna go and and write 1 of these techniques from scratch in your project. You're more likely gonna use an off the shelf library. If you're doing neural networks, you're probably gonna use something like PyTorch. You're not probably gonna go write your own neural network. In fact, I would advise you not to do that, that'd be a very bad idea to write your own neural network, but you need to know when that problem solving technique is applicable to the problem that you have at hand.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Classic Computer Science For Pythonistas</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>197</itunes:episode>
      <podcast:episode>197</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306619068106c59d63e8-823a-4b85-a946-7edc7808d27ev1.mp3" length="38432750" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306619068106c59d63e8-823a-4b85-a946-7edc7808d27ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c59d63e8-823a-4b85-a946-7edc7808d27e638558818278518540.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c59d63e8-823a-4b85-a946-7edc7808d27e638558818274805334.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c59d63e8-823a-4b85-a946-7edc7808d27e638558818271845260.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>What You Need To Know About Open Source Licenses And Intellectual Property</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>As a developer and user of open source code, you interact with software and digital media every day. What is often overlooked are the rights and responsibilities conveyed by the intellectual property that is implicit in all creative works. Software licenses are a complicated legal domain in their own right, and they can often conflict with each other when you factor in the web of dependencies that your project relies on. In this episode Luis Villa, Co-Founder of Tidelift, explains the catagories of software licenses, how to select the right one for your project, and what to be aware of when you contribute to someone else&#8217;s code.</p>
<h3>Announcements</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Luis Villa about software licensing and intellectual property rules that developers need to know</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get started as a programmer?</li>
<li>Intellectual property law and licensing of software, data, and media are complicated topics that are often poorly understood by developers. Can you start off by giving an overview of categories of intellectual property that we should be thinking of?</li>
<li>Most of us who have created or used software, whether it is open or closed source, have at some point come across various licenses. What may not be immediately obvious is that there are degrees of compatibility between these licenses. What are some guiding principles for determining which licenses are in conflict?
<ul>
<li>In an organization, who is responsible for ensuring compliance with software and content licensing within a given project?</li>
<li>When introducing new dependencies into a project or system what steps should be taken to evaluate license compatibility and compliance?</li>
</ul>
</li>
<li>When creating a new project, one of the steps in the process is to select a license. What are some useful guidelines or questions to determine which license to use?</li>
<li>Another aspect of software licensing that developers might run into is when contributing to an open source project where a contributor license agreement might be necessary. What should we be thinking about when deciding whether to sign such an agreement?</li>
<li>In addition to software libraries, developers might need to use content such as images, audio, or video in their projects which have their own copyright and licensing considerations. What are some of the things that we should be looking for in those situations?</li>
<li>Another component of our systems that has grown in its importance with the rise of advanced analytics is data. We may need to use open data sources, pay for access to data repositories, or provide access to data that is under our control. What are some common approaches to licensing or terms of use for these contexts?
<ul>
<li>What should we be wary of when using or providing data in our applications?</li>
</ul>
</li>
<li>How much of the work that you do at Tidelift is spent on educating developers and customers on the finer points of intellectual property management?
<ul>
<li>What are some of the most common difficulties or points of confusion that you encounter?</li>
</ul>
</li>
<li>What are some useful resources that you would recommend to anyone who is interested in learning more about intellectual property and software licensing?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://lu.is?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="http://twitter.com/luis_in_140?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@luis_in_140</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/luisv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt4633694/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spider Man: Into The Spiderverse</a></li>
</ul>
</li>
<li>Luis
<ul>
<li><a href="https://www.nbc.com/the-good-place?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Good Place</a></li>
<li><a href="https://www.amazon.com/Twitter-Tear-Gas-Zeynep-Tufekci/dp/1543628915?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter and Teargas</a> by Zeynep Tufecki</li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="http://shop.oreilly.com/product/9780596517960.do?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Intellectual Property and Open Source: A Practical Guide To Protecting Code</a> by <a href="">Van Lindberg</a></li>
<li><a href="https://tidelift.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tidelift</a></li>
<li><a href="https://en.wikipedia.org/wiki/BASIC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BASIC</a></li>
<li><a href="https://en.wikipedia.org/wiki/Apple_IIe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apple //e</a></li>
<li><a href="https://en.wikipedia.org/wiki/Copyright?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Copyright</a></li>
<li><a href="https://en.wikipedia.org/wiki/Trademark?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trademark</a></li>
<li><a href="https://en.wikipedia.org/wiki/Patent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Patent</a></li>
<li><a href="https://www.gnu.org/licenses/copyleft.en.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Copyleft</a></li>
<li><a href="https://opensource.org/licenses?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OSI Approved Licenses</a></li>
<li><a href="https://en.wikipedia.org/wiki/Permissive_software_licence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Permissive Licenses</a></li>
<li><a href="https://en.wikipedia.org/wiki/Copyleft#Strong_and_weak_copyleft?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Strong and Weak Copyleft</a></li>
<li><a href="https://www.mongodb.com/licensing/server-side-public-license?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SSPL (Server Side Public License)</a></li>
<li><a href="https://opensource.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OSI (Open Source Initiative)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Contributor_License_Agreement?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Contributor License Agreement</a></li>
<li><a href="https://www.fsf.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FSF (Free Software Foundation)</a></li>
<li><a href="https://opensource.com/article/18/3/cla-vs-dco-whats-difference?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DCO (Developer Certificate of Origin)</a></li>
<li><a href="https://creativecommons.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Creative Commons</a></li>
<li><a href="https://thenounproject.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Noun Project</a></li>
<li><a href="http://freemusicarchive.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Free Music Archive</a></li>
<li><a href="https://commons.wikimedia.org/wiki/Main_Page?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wikimedia Commons</a></li>
<li><a href="https://tldrlegal.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TL;DR Legal</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsoftware-licenses-for-developers-episode-196%2F&amp;action_name=What+You+Need+To+Know+About+Open+Source+Licenses+And+Intellectual+Property+-+Episode+196&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-01-28t23:37:40+00:00-b266d89594a1472</guid>
      <link>https://www.pythonpodcast.com/software-licenses-for-developers-episode-196</link>
      <pubDate>Mon, 28 Jan 2019 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2903.00" duration="35.18">And then the other major category of resource that gets used in software systems is the data that we either generate via use of the systems that we build or that we might pull in via different APIs that could either be open or proprietary or paid or by licensing different datasets. So I don't know if you want to talk a bit about some of the considerations that developers and systems builders should be thinking about when they're interacting with and creating and curating and releasing these various data resources?</podcast:soundbite>
      <podcast:soundbite startTime="323.52" duration="18.90">So can you start by giving a bit of an overview of the general categories of intellectual property that we should be thinking of as developers and engineers? Yeah. Sure. So there's basically 3 big categories. There's, copyright, there's trademark, and there's patents. And they're related, but they're definitely very distinct.</podcast:soundbite>
      <podcast:soundbite startTime="743.15" duration="35.25">And so on that note, anybody who has used open source or closed source or worked in either of those environments has most likely come across some of these various licenses. And what may not necessarily be immediately obvious is that there are general degrees of compatibility between those licenses. So I'm wondering if you can give some guiding principles for determining which licenses are in conflict with each other, things that developers should be thinking about as they work with these differently licensed softwares, either as a application or project or as dependencies within their own projects.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:02:58</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>What You Need To Know About Open Source Licenses And Intellectual Property</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>196</itunes:episode>
      <podcast:episode>196</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307222608848c950d941-719b-4461-8d54-872369b2e8fbv1.mp3" length="30276467" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307222608848c950d941-719b-4461-8d54-872369b2e8fbv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c950d941-719b-4461-8d54-872369b2e8fb638558820462039232.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c950d941-719b-4461-8d54-872369b2e8fb638558820456116090.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c950d941-719b-4461-8d54-872369b2e8fb638558820453902792.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Counteracting Code Complexity With Wily</title>
      <description><![CDATA[<div class="wp-block-jetpack-markdown"><h3>Summary</h3>
<p>As we build software projects, complexity and technical debt are bound to creep into our code. To counteract these tendencies it is necessary to calculate and track metrics that highlight areas of improvement so that they can be acted on. To aid in identifying areas of your application that are breeding grounds for incidental complexity Anthony Shaw created Wily. In this episode he explains how Wily traverses the history of your repository and computes code complexity metrics over time and how you can use that information to guide your refactoring efforts.</p>
<h3>Preface</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.__init__ listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Anthony Shaw about Wily, a command-line application for tracking and reporting on complexity of Python tests and applications</li>
</ul>
<h3>Interview</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Wily is and what motivated you to create it?</li>
<li>What is software complexity and why should developers care about it?
<ul>
<li>What are some methods for measuring complexity?</li>
</ul>
</li>
<li>I know that Python has the McCabe tool, but what other methods are there for determining complexity, both in Python and for other languages?</li>
<li>What kinds of useful signals can you derive from evaluating historical trends of complexity in a codebase?</li>
<li>What are some other useful metrics for tracking and maintaining the health of a software project?</li>
<li>Once you have established the points of complexity in your software, what are some strategies for remediating it?</li>
<li>What are your favorite tools for refactoring?</li>
<li>What are some of the aspects of developer-oriented tools that you have found to be most important in your own projects?</li>
<li>What are your plans for the future of Wily, or any other tools that you have in mind to aid in producing healthy software?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/anthonywritescode?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">anthonywritescode</a> on GitHub</li>
<li><a href="https://twitter.com/anthonypjshaw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@anthonypjshaw</a> on Twitter</li>
<li><a href="https://tonybaloney.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://medium.com/@anthonypjshaw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Medium</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Disk_Usage_Analyzer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Baobab</a></li>
<li><a href="https://www.trutv.com/shows/impractical-jokers/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Impractical Jokers</a></li>
</ul>
</li>
<li>Anthony
<ul>
<li><a href="https://www.imdb.com/title/tt2303687/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Line Of Duty</a></li>
<li><a href="https://www.abc.net.au/radio/programs/fierce-girls/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fierce Girls</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/tonybaloney/wily?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wily</a></li>
<li><a href="https://www.dimensiondata.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dimension Data</a></li>
<li><a href="https://app.pluralsight.com/profile/author/anthony-shaw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pluralsight</a></li>
<li><a href="https://www.realpython.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Real Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Seattle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seattle</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C#</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cyclomatic_complexity?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cyclomatic Complexity</a></li>
<li><a href="https://github.com/pycqa/mccabe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">McCabe</a></li>
<li><a href="https://git-scm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C</a></li>
<li><a href="https://en.wikipedia.org/wiki/Assembly_language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Assembly</a></li>
<li><a href="https://en.wikipedia.org/wiki/Halstead_complexity_measures?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Halstead</a></li>
<li><a href="https://radon.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Radon</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0020/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Zen Of Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Halstead_complexity_measures?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vocabulary Metric</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="https://en.wikipedia.org/wiki/Anti-pattern?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anti Patterns</a></li>
<li><a href="https://en.wikipedia.org/wiki/God_object?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">God Object</a></li>
<li><a href="https://github.com/pre-commit/pre-commit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pre-Commit</a></li>
<li><a href="https://codeclimate.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Codeclimate</a></li>
<li><a href="https://github.com/mahmoud/glom?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Glom</a></li>
<li><a href="https://github.com/sixty-north/asq?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASQ</a></li>
<li><a href="https://www.jetbrains.com/pycharm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCharm</a></li>
<li><a href="https://github.com/PyCQA/pydocstyle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyDocStyle</a></li>
<li><a href="https://github.com/PyCQA/lint?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyLint</a></li>
<li><a href="https://github.com/ambv/black?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black</a></li>
<li><a href="https://datavizcatalogue.com/methods/sunburst_diagram.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sunburst Chart</a></li>
<li><a href="https://code.visualstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Studio Code</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fwily-code-complexity-episode-195%2F&amp;action_name=Counteracting+Code+Complexity+With+Wily+-+Episode+195&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-01-21t12:12:35+00:00-d4f5ce2571a098a</guid>
      <link>https://www.pythonpodcast.com/wily-code-complexity-episode-195</link>
      <pubDate>Mon, 21 Jan 2019 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="519.22" duration="52.63">And so in Wiley, what are the main factors that you're using for being able to compute a complexity score? So in in Wiley, what you'll get is, you basically run the tools, the command line app. You give it the target folder where your source code is, and then you I guess, which metrics you want to collect. So by default, it will look at raw metrics, like lines of code, source lines of code, how many lines of comments you have, and how many modules you have, things like that. Just some basic metrics. And then it will also look at cyclomatic complexity and basically calculate the cyclomatic complexity of each module, sub module, function or class across across your code base. And and then another 1 is, the Halstead metrics. So the Halsted metrics basically build on some of the concepts that are in cyclomatic complexity, but they look at more to do with sort of the volume of the code.</podcast:soundbite>
      <podcast:soundbite startTime="1807.93" duration="69.41">And in terms of the way that you approach the design of your own developer tooling, what are some of the best practices that you have found in terms of making sure that it is easy to use and intuitive and makes sense for developers rather than increasing the burden of the of their work? Oh, yeah. Yes. They're probably the 1 of the biggest things is consistency in terms of how you name things, the names of the parameters, the sequences in which they go. So if you're building a command line application, for example, making sure things are in the same order across different commands, the output looks similar. I just see so many tools where even even in other languages, for example, I don't know if you've ever worked with, PHP, and I I think you have in the past. But whether or not it's needle or haystack or haystack or needle depends on the function. And and when you're doing string searches. Some functions have underscores, some of them don't. It can just get really confusing, and it's inconsistent. I know that's changed, in newer versions, but I think consistency is probably the main thing when you're designing a developer oriented tool because people need to memorize these things. They can't look it up in the documentation every time.</podcast:soundbite>
      <podcast:soundbite startTime="909.26" duration="28.33">And is that a blocking pre commit hook, or do you just use that as an informative measure so that you know before you push it to the source repository whether you want to take another pass at it? Yeah. It's not a blocking repository whether you want to take another pass at it? Yeah. It's not a blocking 1. I have thought about introducing basically a configuration where you can say, don't block it if it in in increases the complexity by a certain amount. But I could just think of so many edge cases where that's just gonna annoy people. So I left left that feature out.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:36:18</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Counteracting Code Complexity With Wily</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>195</itunes:episode>
      <podcast:episode>195</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296912274820b52c79fd-a142-418b-a3ef-04f106c0e509v1.mp3" length="25983900" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296912274820b52c79fd-a142-418b-a3ef-04f106c0e509v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b52c79fd-a142-418b-a3ef-04f106c0e509638558786614276829.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b52c79fd-a142-418b-a3ef-04f106c0e509638558786611248715.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b52c79fd-a142-418b-a3ef-04f106c0e509638558786609348328.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Teaching Digital Archaeology With Jupyter Notebooks</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Computers have found their way into virtually every area of human endeavor, and archaeology is no exception. To aid his students in their exploration of digital archaeology Shawn Graham helped to create an online, digital textbook with accompanying interactive notebooks. In this episode he explains how computational practices are being applied to archaeological research, how the Online Digital Archaeology Textbook was created, and how you can use it to get involved in this fascinating area of research.</p>

<h3>Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;ll need somewhere to deploy it, so take a look at our friends over at 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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute. And don&#8217;t forget to thank them for their continued support of this show!</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.&#95;&#95;init&#95;&#95; listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast&#095;&#095;init&#095;&#095;?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Shawn Graham about his work on the Online Digital Archaeology Textbook</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what digital archaeology is?</li>
<li>To facilitate your teaching you have collaborated on the O-DATE textbook and associated Jupyter notebooks. Can you describe what that resource covers and how the project got started?</li>
<li>What have you found to be the most critical lessons for your students to help them be effective archaeologists?
<ul>
<li>What are the most useful aspects of leveraging computational techniques in an archaeological context?</li>
</ul>

<p></li><br>
<li>Can you describe some of the sources and formats of data that would commonly be encountered by digital archaeologists?</li><br>
<li>The notebooks that accompany the text have a mixture of R and Python code. What are your personal guidelines for when to use each language?</li><br>
<li>How have the skills and tools of software engineering influenced your views and approach to research and education in the realm of archaeology?</li><br>
<li>What are some of the most novel or engaging ways that you have seen computers applied to the field of archaeology?</li><br>
<li>What are your goals and aspirations for the O-DATE project?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://electricarchaeology.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/electricarchaeo?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@electricarchaeo</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/2Fr0GvD?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TaoTronics Noise Cancelling Earbuds</a></li>
</ul>

<p></li><br>
<li>Shawn</p>

<ul>
<li><a href="https://www.ianrankin.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ian Rankin</a></li>
<li><a href="https://www.ianrankin.net/book/in-a-house-of-lies/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">In A House Of Lies</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://o-date.github.io/draft/book/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">O-DATE Textbook</a></li>
<li><a href="https://carleton.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Carleton University</a></li>
<li><a href="https://en.wikipedia.org/wiki/Ottawa?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ottawa Canada</a></li>
<li><a href="https://en.wikipedia.org/wiki/Simulation_modeling?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Simulation Modeling</a></li>
<li><a href="https://en.wikipedia.org/wiki/Agent-based_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agent Based Modeling</a></li>
<li><a href="https://ccl.northwestern.edu/netlogo/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetLogo</a></li>
<li><a href="https://en.wikipedia.org/wiki/Complexity?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Complexity Theory</a></li>
<li><a href="https://en.wikipedia.org/wiki/Archaeology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Archaeology</a></li>
<li><a href="https://en.wikipedia.org/wiki/Digital_archaeology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Digital Archaeology</a></li>
<li><a href="https://programminghistorian.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Programming Historian</a></li>
<li><a href="https://www.uwo.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Western Ontario</a></li>
<li><a href="https://en.wikipedia.org/wiki/Historical_geographic_information_system?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Historical GIS</a></li>
<li><a href="https://www.arcgis.com/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ArcGIS</a></li>
<li><a href="https://qgis.org/en/site/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QGIS</a></li>
<li><a href="https://en.wikipedia.org/wiki/Digital_humanities?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Digital Humanities</a></li>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Jupyter</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-10-brian-granger-and-fernando-perez-of-the-ipython-project/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://mybinder.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Binder</a> &#8211; Service for hosting Jupyter notebooks</li><br>
<li><a href="https://www.ecampusontario.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">E-Campus Ontario</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Graph_database?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graph Databases</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/SPARQL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SparQL</a></li><br>
<li><a href="https://opencontext.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenContext.org</a></li><br>
<li><a href="https://www.tdar.org/about/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TDAR (The Digital Archaeology Record)</a></li><br>
<li><a href="https://www.r-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R Language</a></li><br>
<li><a href="https://ropensci.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R OpenSci</a></li><br>
<li><a href="https://arrow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arrow</a></li><br>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/?s=pandas&utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/Artificial_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neural Networks</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Generative_adversarial_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Generative Adversarial Networks</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Computer_vision?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computer Vision</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Archaeogaming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Archaeogaming</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Atari_video_game_burial?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alamagordo Atari Excavation</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Leiden_University?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Leiden University</a></li><br>
<li><a href="http://interactivepasts.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Interactive Pasts Conference</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Photogrammetry?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Photogrammetry</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Lidar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LIDAR</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Monumental_Arch_of_Palmyra?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Palmyran Arch</a></li><br>
<li><a href="https://faculty.washington.edu/bmarwick/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ben Marwick</a></li><br>
<li><a href="https://matthewdharris.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matt Harris</a></li><br>
<li><a href="https://jolenesmith.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jolene Smith</a></li><br>
<li><a href="https://saraperry.wordpress.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sara Perry</a></li><br>
<li><a href="https://www.twitter.com/@RachelOpitz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rachel Opitz</a></li><br>
<li><a href="https://colleen-morgan.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Colleen Morgan</a></li><br>
<li><a href="https://diyclassics.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Patrick Burns</a></li><br>
<li><a href="http://twitter.com/captain_primate?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ethan Watrall</a></li><br>
<li><a href="archaeogaming.com">Andrew Reinhard</a></li><br>
<li><a href="https://dngupta.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neha Gupta</a></li><br>
<li><a href="https://drkrcook.wordpress.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Katherine Cook</a></li><br>
<li><a href="http://value-foundation.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Value Foundation</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fodate-digital-archaeology-textbook-episode-194%2F&amp;action_name=Teaching+Digital+Archaeology+With+Jupyter+Notebooks+-+Episode+194&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-01-14t00:10:10+00:00-0155b41cc59da09</guid>
      <link>https://www.pythonpodcast.com/odate-digital-archaeology-textbook-episode-194</link>
      <pubDate>Mon, 14 Jan 2019 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="407.80" duration="20.21">For me, digital archaeology is not just about using computational power to ask archeological questions or to answer archeological questions. It also involves thinking through what these tools and approaches do to how I understand or conceive the past as well.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:35</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Teaching Digital Archaeology With Jupyter Notebooks</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>194</itunes:episode>
      <podcast:episode>194</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316116812460ea7fe835-a5db-47d9-991e-b488cdb86fa4v1.mp3" length="27711538" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316116812460ea7fe835-a5db-47d9-991e-b488cdb86fa4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ea7fe835-a5db-47d9-991e-b488cdb86fa4638558831218189650.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ea7fe835-a5db-47d9-991e-b488cdb86fa4638558831213812929.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ea7fe835-a5db-47d9-991e-b488cdb86fa4638558831212066984.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Analyzing Satellite Image Data Using PyTroll</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Every day there are satellites collecting sensor readings and imagery of our Earth. To help make sense of that information, developers at the meteorological institutes of Sweden and Denmark worked together to build a collection of Python packages that simplify the work of downloading and processing satellite image data. In this episode one of the core developers of PyTroll explains how the project got started, how that data is being used by the scientific community, and how citizen scientists like you are getting involved.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.&#95;&#95;init&#95;&#95; listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast&#095;&#095;init&#095;&#095;?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Martin Raspaud about PyTroll, a suite of projects for processing earth observing satellite data</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what PyTroll is and how the overall project got started?</li>
<li>What is the story behind the name?</li>
<li>What are the main use cases for PyTroll? (e.g. types of analysis, research domains, etc.)</li>
<li>What are the primary types of data that would be processed and analayzed with PyTroll? (e.g. images, sensor readings, etc.)</li>
<li>When retrieving the data, are you communicating directly with the satellites, or are there facilities that fetch the information periodically which you can then interface with?</li>
<li>How do you locate and select which satellites you wish to retrieve data from?</li>
<li>What are the main components of PyTroll and how do they fit together?</li>
<li>For someone processing satellite data with PyTroll, can you describe the workflow?</li>
<li>What are some of the main data formats that are used by satellites?</li>
<li>What tradeoffs are made between data density/expressiveness and bandwidth optimization?</li>
<li>What are some of the common issues with data cleanliness or data integration challenges?</li>
<li>Once the data has been retrieved, what are some of the types of analysis that would be performed with PyTroll?</li>
<li>Are there other tools that would commonly be used in conjunction with PyTroll?</li>
<li>What are some of the unique challenges posed by working with satellite observation data?</li>
<li>How has the design and capability of the various PyTroll packages evolved since you first began working on it?</li>
<li>What are some of the most interesting or unusual ways that you have seen PyTroll used?</li>
<li>What are some of the lessons that you have learned while building PyTroll that you have found to be most useful or unexpected?</li>
<li>What do you have planned for the future of PyTroll?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Martin
<ul>
<li><a href="https://github.com/mraspaud?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mraspaud</a> on GitHub</li>
<li><a href="https://twitter.com/martinraspaud?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@MartinRaspaud</a> on Twitter</li>
</ul>

<p></li><br>
<li>Pytroll</p>

<ul>
<li><a href="http://pytroll.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://pytrollslackin.herokuapp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slack</a></li>
<li><a href="https://groups.google.com/forum/#!forum/pytroll?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
<li><a href="https://twitter.com/PyTroll?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@PyTroll</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias</li>
<li><a href="https://www.toolband.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tool</a></li>
<li><a href="https://www.aperfectcircle.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A Perfect Circle</a></li>
<li>Martin</li>
<li><a href="https://vulfpeck.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vulfpeck</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="http://pytroll.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTroll</a></li>
<li><a href="https://www.smhi.se/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swedish Meteorological and Hydrological Institute</a></li>
<li><a href="https://common-lisp.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Common Lisp</a></li>
<li><a href="http://ocean.dmi.dk/english/index.php?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Danish Meteorological Institute</a></li>
<li><a href="http://ocean.dmi.dk/english/index.php?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trolls in Scandinavian Lore</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://en.wikipedia.org/wiki/KISS_principle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KISS (Keep It Simple Stupid)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Spectroscopy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spectroscopy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Radiance?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Radiance</a></li>
<li><a href="http://tornado.sfsu.edu/geosciences/classes/m407_707/Monteverdi/Satellite/PolarOrbiter/Polar_Orbits.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polar Orbiting Satellite</a></li>
<li><a href="https://en.wikipedia.org/wiki/Geosynchronous_satellite?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Geostationary Satellite</a></li>
<li><a href="https://www.eumetsat.int/website/home/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EUMETSAT</a></li>
<li><a href="https://satpy.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SatPy</a></li>
<li><a href="https://pyresample.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyResample</a></li>
<li><a href="https://en.wikipedia.org/wiki/Map_projection?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cartographic Projection</a></li>
<li><a href="https://proj4.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Proj4</a></li>
<li><a href="https://en.wikipedia.org/wiki/GOES-16?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GOES16</a></li>
<li>[GOES17](https://en.wikipedia.org/wiki/GOES-17?utm_source=rss&utm_medium=rss</li>
<li><a href="https://dask.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a></li>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
<li><a href="https://www.unidata.ucar.edu/software/netcdf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetCDF</a></li>
<li><a href="https://www.hdfgroup.org/solutions/hdf5/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HDF5</a></li>
<li><a href="https://github.com/pytroll/pyspectral?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PySpectral</a></li>
<li><a href="https://github.com/pytroll/pycoast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCoast</a></li>
<li><a href="http://supervisord.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SupervisorD</a></li>
<li><a href="https://trollcast.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TrollCast</a></li>
<li><a href="https://www.esa.int/ESA?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">European Space Agency</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpytroll-with-martin-raspaud-episode-193%2F&amp;action_name=Analyzing+Satellite+Image+Data+Using+PyTroll+-+Episode+193&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2019-01-07t02:37:55+00:00-568b47235d7372e</guid>
      <link>https://www.pythonpodcast.com/pytroll-with-martin-raspaud-episode-193</link>
      <pubDate>Mon, 7 Jan 2019 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1747.79" duration="56.76">And have there been any particularly interesting or unusual or unexpected uses of PyTorch that you've seen? 1 thing I always find fascinating is, when people try to combine data either from multiple different sensors together on the same image or when they combine a lot of datasets possibly from the same, data source into an animation or a large image. We have, for example, a word composite that takes the data from different geostationary satellites at the same time and put this to a large world map, which I think is is very nice, or animations that show, for example, the pause of the polar orbiting satellites as it senses the data around the earth, and you can see this as animation, data looping around. I I I find it very, very exciting.</podcast:soundbite>
      <podcast:soundbite startTime="156.61" duration="57.05">And so can you start by giving an overview of what the Pyetrol project is and how the overall effort got started? Yes. Maybe I'll start, on how it got started because I think that explained a lot of of of what it is actually. In the beginning, the the objective was that we wanted to have a good earth observation satellite processing system at our institute, but there were no alternatives that we could use because it was either something quite expensive that we had to buy from a company or we had to, develop our own. But since we were just 2 persons working with that at this Metro, it it felt like a daunting task. And luckily, my colleague and I were attending some international meetings and met other colleagues from the Danish Metropolitan Institute and that had the same problem as we had.</podcast:soundbite>
      <podcast:soundbite startTime="985.40" duration="55.34">And as far as the overall workflow of retrieving and processing the data, I'm wondering if you can walk through the overall process and some of the main packages and components within the Pytrol suite that you would use at the various stages? Yes. So for someone that wants to process the, the weather satellite data or earth observation satellite data, it it really depends on your use case. If you're if you're looking to work with, interactively with the data, then you will start with a component that's called SatPi. SatPi is the module that glues up most of the different processing modules, from PyTorch so that it's gives 1 uniform interface to many features. And what we do then, we start by it's quite compact.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:58</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Analyzing Satellite Image Data Using PyTroll</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>193</itunes:episode>
      <podcast:episode>193</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253039734784066618eb56-3862-4c4e-bb4f-540378821ec3v1.mp3" length="32664941" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253039734784066618eb56-3862-4c4e-bb4f-540378821ec3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_6618eb56-3862-4c4e-bb4f-540378821ec3638558806994011737.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6618eb56-3862-4c4e-bb4f-540378821ec3638558806990103252.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6618eb56-3862-4c4e-bb4f-540378821ec3638558806988165997.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building GraphQL APIs in Python Using Graphene with Syrus Akbary</title>
      <description><![CDATA[<h3>Summary</h3>

<p>The web has spawned numerous methods for communicating between applications, including protocols such as SOAP, XML-RPC, and REST. One of the newest entrants is GraphQL which promises a simplified approach to client development and reduced network requests. To make implementing these APIs in Python easier, Syrus Akbary created the Graphene project. In this episode he explains the origin story of Graphene, how GraphQL compares to REST, how you can start using it in your applications, and how he is working to make his efforts sustainable.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.&#95;&#95;init&#95;&#95; listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast&#095;&#095;init&#095;&#095;?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Syrus Akbary about Graphene, a python library for building your APIs with GraphQL</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is GraphQL and what is the benefit vs a REST-based API?
<ul>
<li>How does it compare to specifications such as OpenAPI (formerly Swagger) or RAML?</li>
</ul>

<p></li><br>
<li>Can you explain what Graphene is and your motivation for building it?</p>

<ul>
<li>In addition to the Python implementation there is also a JavaScript library. Is that primarily for use as a client or can it also be used in Node for serving APIs?</li>
</ul>

<p></li><br>
<li>What is involved in building a GraphQL API?</p>

<ul>
<li>What does Graphene do to simplify this process?</li>
</ul>

<p></li><br>
<li>How is Graphene implemented and how has that evolved since you first started working on it?</p>

<ul>
<li>Is there a set of tests for verifying the compliance of Graphene or a specific API with the GraphQL specification?</li>
</ul>

<p></li><br>
<li>What are some of the most complex or confusing aspects of building a GraphQL API?</li><br>
<li>What are some of the unique capabilities that are offered by building an application with GraphQL as the communication interface?</li><br>
<li>While reading through documentation in preparation for our conversation I noticed the Quiver project. Can you explain what that is and how it fits with the other Graphene projects?</p>

<ul>
<li>What is it doing under the hood to optimize serving of the API?</li>
</ul>

<p></li><br>
<li>For someone who is interested in adding a GraphQL interface to an existing application, what would be involved?</li><br>
<li>The documentation mentions creation of a schema, as well as defining queries. Is it possible for a client to craft queries that don&#8217;t match directly with those defined in the server layer?</li><br>
<li>What are some of the most interesting or surprising uses of Graphene and GraphQL that you have seeen?</li><br>
<li>What are some cases where it would be more practical to implement an API using REST instead of GraphQL?</li><br>
<li>What are some references that you would recommend for anyone who wants to learn more about GraphQL and its ecosystem?</li><br>
<li>What are your plans for the future of Graphene?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/syrusakbary?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">syrusakbary</a> on GitHub</li>
<li><a href="http://syrusakbary.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/syrusakbary?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@syrusakbary</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/2Sxit6Y?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Audible</a></li>
</ul>

<p></li><br>
<li>Syrus</p>

<ul>
<li><a href="https://webassembly.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web Assembly</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://graphene-python.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphene</a></li>
<li><a href="https://graphql.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphQL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Representational_state_transfer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">REST (REpresentational State Transfer</a></li>
<li><a href="https://www.openapis.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenAPI</a></li>
<li><a href="https://raml.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RAML</a></li>
<li><a href="http://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://code.fb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Facebook Engineering</a></li>
<li><a href="https://github.com/graphql-python/graphene-sqlalchemy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphene-SQLAlchemy</a></li>
<li><a href="https://github.com/graphql-python/graphene-django?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphene-Django</a></li>
<li><a href="https://github.com/graphql/graphiql?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphiQL</a></li>
<li><a href="https://github.com/syrusakbary/pyjade?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyJade</a></li>
<li><a href="http://www.django-rest-framework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Rest Framework</a></li>
<li><a href="https://howtographql.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How To GraphQL</a></li>
<li><a href="https://docs.python.org/3/library/dataclasses.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python 3.7 Dataclasses</a>
<ul>
<li><a href="https://github.com/graphql-python/graphene/issues/729?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphene GitHub Issue</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgraphene-with-syrus-akbary-episode-192%2F&amp;action_name=Building+GraphQL+APIs+in+Python+Using+Graphene+with+Syrus+Akbary+-+Episode+192&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-12-31t12:34:55+00:00-988fec6054e0adc</guid>
      <link>https://www.pythonpodcast.com/graphene-with-syrus-akbary-episode-192</link>
      <pubDate>Mon, 31 Dec 2018 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="486.88" duration="54.92">So first, like, what we're Graphene is doing is, first analyzes the query that the client is making. So it runs a parser. It gets, like, all the fields that, like, it's trying to get. Knowing, like, how is the schema structure, it validates this query against the schema. So for example, if you are trying to query a a type that doesn't exist or a field in a type that doesn't exist, Graphene will complain about it. So you will see an error and the query will not even get executed. So the first this is the first step, validation of, syntactic gate first, the validation, of the query, then, like, the validation against the schema. That means, like, we are able to run queries, that matches our our structure. And the last 1 is if these 2 passes is running the query. For running the query, like, first, we take a look into, like, all the fields that you are fields that you are trying to request and or the client is trying to request.</podcast:soundbite>
      <podcast:soundbite startTime="1135.66" duration="61.16">And I know that GraphQL, because of the fact that it's agnostic to how the data is retrieved on the serving side, it's possible to combine multiple data sources together in a given response. And so I'm wondering how you would structure that in Graphy and as far as being able to retrieve from, their multiple databases or federate the query out to maybe different microservices. Yeah. So, basically, like, the first suspect is, everything is kind of, like, monolithic, and we have, like, 1 code base that, like, is serving all our our GraphQL endpoints. From that point of view, we can use, like, almost anything that we want. We can use Django models with SQL, okay, new models, and both, like, Redi's database and then, like, Django or SQLAlchemy, and we can mix them, like, in the way we want, really. Like, it doesn't matter. We just have to know, like, how to relation them, between the functions.</podcast:soundbite>
      <podcast:soundbite startTime="406.62" duration="42.81">So, basically, like, GraphQL, with Graphene is easy to, to build. And the main reason is because, like, GraphQL really provides you the with the types and the structures that, like, GraphQL needs. So the only thing that you need to do from the Python side is just create, like, Python classes that, like, inherit from a a graph in, object type. And from there, like, you will need to implement, resolvers, which specifies, like, how each field is gonna be resolved or, like, how each field is gonna return data to the GraphQL endpoint. And from that, like, you stop worrying about, like, how, Graphene or GraphQL is doing all the things because, it's actually, like, a a little like, it's handled everything by different work.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building GraphQL APIs in Python Using Graphene with Syrus Akbary</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>192</itunes:episode>
      <podcast:episode>192</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253142626917624f1d90ce-cedf-44ba-acdc-944759f34f05v1.mp3" length="38181347" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253142626917624f1d90ce-cedf-44ba-acdc-944759f34f05v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4f1d90ce-cedf-44ba-acdc-944759f34f05638558824295836678.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4f1d90ce-cedf-44ba-acdc-944759f34f05638558824291709389.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4f1d90ce-cedf-44ba-acdc-944759f34f05638558824289918324.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>AIORTC: An Asynchronous WebRTC Framework with Jeremy Lainé</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Real-time communication over the internet is an amazing feat of modern engineering. The protocol that powers a majority of video calling platforms is WebRTC. In this episode Jeremy Lainé explains why he wrote a Python implementation of this protocol in the form of AIORTC. He also discusses how it works, how you can use it in your own projects, and what he has planned for the future.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.&#95;&#95;init&#95;&#95; listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast&#095;&#095;init&#095;&#095;?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jeremy Lainé about AIORTC, an asynchronous implementation of the WebRTC and ObjectRTC protocols in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what the WebRTC and ObjectRTC protocols are?
<ul>
<li>What are some of the main use cases for these protocols?</li>
</ul>

<p></li><br>
<li>What is AIORTC and what was your motivation for creating it?</p>

<ul>
<li>How does it compare to other implementations of the RTC protocols?</li>
<li>Why do you think there haven&#8217;t been any other Python implementations?</li>
</ul>

<p></li><br>
<li>What are some of the benefits of having a Python implementation of the RTC protocol?</li><br>
<li>How is AIORTC implemented?</p>

<ul>
<li>What have been some of the most difficult or challenging aspects of implementing a WebRTC compliant library?</li>
<li>What are some of the most interesting or useful lessons that you have learned in the process?</li>
</ul>

<p></li><br>
<li>What is involved in building an application on top of AIORTC?</p>

<ul>
<li>What would be required to integrate AIORTC into an existing application built with something such as Flask or Django?</li>
</ul>

<p></li><br>
<li>What are some of the most interesting uses of AIORTC that you have seen?</li><br>
<li>What are some of the projects that you would like to build with AIORTC?</li><br>
<li>What are some cases where it would make more sense to use a different library or framework for your WebRTC projects?</li><br>
<li>What are your plans for the future of AIORTC?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/jlaine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jlaine</a> on GitHub</li>
<li><a href="https://www.jerryweb.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/JeremyLaine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@JeremyLaine</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.tengger-cavalry.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tengger Cavalry</a></li>
</ul>

<p></li><br>
<li>Jeremy</p>

<ul>
<li><a href="https://github.com/mikeboers/PyAV?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyAV</a></li>
<li><a href="http://mikeboers.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mike Boers</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://aiortc.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AIORTC</a></li>
<li><a href="https://webrtc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WebRTC</a></li>
<li><a href="https://en.wikipedia.org/wiki/Electrical_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Electrical Engineering</a></li>
<li>[C](https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss</li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="http://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://en.wikipedia.org/wiki/STUN?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">STUN (Session Traversal Utilities for NAT)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TURN (Traversal Using Relays around NAT)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ICE (Internet Connectivity Establishment)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transport_Layer_Security?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TLS (Transport Layer Security)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Real-time_Transport_Protocol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RTP (Real-time Transport Protocol)</a></li>
<li><a href="https://zencastr.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zencastr</a></li>
<li><a href="https://jitsi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jitsi</a></li>
<li><a href="https://github.com/rawrtc/rawrtc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RawRTC</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AsyncIO</a></li>
<li><a href="https://github.com/jlaine/aioice?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AIOICE</a></li>
<li><a href="https://cryptography.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cryptography</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-93-cryptography-with-paul-kehrer/?utm_source=rss&utm_medium=rss">Podcast.<strong>init</strong> Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://opencv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenCV</a></li><br>
<li><a href="https://github.com/mikeboers/PyAV?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyAV</a></li><br>
<li><a href="https://www.ffmpeg.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FFMPEG</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Edge_detection?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Edge Detection</a></li><br>
<li><a href="https://www.asterisk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Asterisk</a></li><br>
<li><a href="https://www.raspberrypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Datagram Transport Security</a></li><br>
<li><a href="https://www.mozilla.org/en-US/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozilla</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Augmented_reality?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Augmented Reality</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Faiortc-with-jeremy-laine-episode-191%2F&amp;action_name=AIORTC%3A+An+Asynchronous+WebRTC+Framework+with+Jeremy+Lain%C3%A9+-+Episode+191&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-12-24t03:15:19+00:00-2cb357116c551cb</guid>
      <link>https://www.pythonpodcast.com/aiortc-with-jeremy-laine-episode-191</link>
      <pubDate>Mon, 24 Dec 2018 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="799.66" duration="39.93">Why do you think it is that there haven't been any other Python implementations or at least none that have gained any measure of visibility? I think that the fairly recent availability of asyncio in Python was an important enabler because it allows you to, let's say, to to mix IO bound and CPU bound code in a simpler fashion than relying, you know, relying just on a multi in multi threading. So I think that's 1 1 explanation for why why we haven't seen Python implementation so far.</podcast:soundbite>
      <podcast:soundbite startTime="232.62" duration="31.81">Okay. Well, WebRTC is both a set of protocols, and an API. So I'll explain this a bit more. It's a set of protocols in the sense that the basic building blocks for WebRTC are mostly well established, protocols such as well, the first thing you want to do is to find a path between 2 peers who want to exchange media or data. And so you will rely on what's called interactive connectivity establishment.</podcast:soundbite>
      <podcast:soundbite startTime="1799.03" duration="39.85">And for somebody who's interested in implementing their own WebRTC oriented application, what would be involved in getting started with leveraging AIO RTC as part of that stack? Well, I'd say the the the best thing is to just pip install a I o r t c, and then head over to our GitHub repository. There are 6 or 7 fully featured examples. I think you're you're quite likely to find at least 1 example which looks like what you're what you want to do. So you can just fire up these examples. They come with documentation, and then I'd say start tinkering from there.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:40:51</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>AIORTC: An Asynchronous WebRTC Framework with Jeremy Lainé</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>191</itunes:episode>
      <podcast:episode>191</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253034804497382d8eaee9-3c22-4c3c-8a39-4e423e4d3021v1.mp3" length="29191598" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253034804497382d8eaee9-3c22-4c3c-8a39-4e423e4d3021v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_2d8eaee9-3c22-4c3c-8a39-4e423e4d3021638558804691670036.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2d8eaee9-3c22-4c3c-8a39-4e423e4d3021638558804688806610.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2d8eaee9-3c22-4c3c-8a39-4e423e4d3021638558804686744463.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Polyglot: Multi-Lingual Natural Language Processing with Rami Al-Rfou</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Using computers to analyze text can produce useful and inspirational insights. However, when working with multiple languages the capabilities of existing models are severely limited. In order to help overcome this limitation Rami Al-Rfou built Polyglot. In this episode he explains his motivation for creating a natural language processing library with support for a vast array of languages, how it works, and how you can start using it for your own projects. He also discusses current research on multi-lingual text analytics, how he plans to improve Polyglot in the future, and how it fits in the Python ecosystem.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.&#95;&#95;init&#95;&#95; listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast&#095;&#095;init&#095;&#095;?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Rami Al-Rfou about Polyglot, a natural language pipeline with support for an impressive amount of languages</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Polyglot is and your reasons for starting the project?</li>
<li>What are the types of use cases that Polyglot enables which would be impractical with something such as NLTK or SpaCy?</li>
<li>A majority of NLP libraries have a limited set of languages that they support. What is involved in adding support for a given language to a natural language tool?
<ul>
<li>What is involved in adding a new language to Polyglot?</li>
<li>Which families of languages are the most challenging to support?</li>
</ul>

<p></li><br>
<li>What types of operations are supported and how consistently are they supported across languages?</li><br>
<li>How is Polyglot implemented?</li><br>
<li>Is there any capacity for integrating Polyglot with other tools such as SpaCy or Gensim?</li><br>
<li>How much domain knowledge is required to be able to effectively use Polyglot within an application?</li><br>
<li>What are some of the most interesting or unique uses of Polyglot that you have seen?</li><br>
<li>What have been some of the most complex or challenging aspects of building Polyglot?</li><br>
<li>What do you have planned for the future of Polyglot?</li><br>
<li>What are some areas of NLP research that you are excited for?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.duolingo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Duolingo</a></li>
</ul>

<p></li><br>
<li>Rami</p>

<ul>
<li><a href="https://www.penguinrandomhouse.com/books/220698/the-wizard-and-the-prophet-by-charles-c-mann/9780307961693/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Wizard and the Prophet</a>: Two Remarkable Scientists and Their Dueling Visions to Shape Tomorrow’s World by Charles C. Mann</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://polyglot.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polyglot</a></li>
<li><a href="https://sites.google.com/site/rmyeid/projects/polylgot-ner?authuser=0&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polyglot-NER</a></li>
<li><a href="https://en.wikipedia.org/wiki/Jordan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jordan</a></li>
<li><a href="https://en.wikipedia.org/wiki/Natural_language_processing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLP (Natural Language Processing)</a></li>
<li><a href="https://www.stonybrook.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stony Brook University</a></li>
<li><a href="https://en.wikipedia.org/wiki/Arabic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arabic</a></li>
<li><a href="https://en.wikipedia.org/wiki/Sentiment_analysis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sentiment Analysis</a></li>
<li><a href="https://en.wikipedia.org/wiki/Assembly_language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Assembly Language</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C</a></li>
<li><a href="https://dotnet.microsoft.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">.NET</a></li>
<li><a href="https://stackoverflow.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stack Overflow</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Word_embedding?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Word Embedding</a></li>
<li><a href="https://www.wikipedia.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wikipedia</a></li>
<li><a href="https://en.wikipedia.org/wiki/Word2vec?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Word2Vec</a></li>
<li><a href="https://www.nltk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLTK (Python Natural Language Toolkit)</a></li>
<li><a href="https://spacy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpaCy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-87-spacy-with-matthew-honnibal/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://radimrehurek.com/gensim/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gensim</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/episode-71-gensim-with-radim-rehurek/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/Morphology_(linguistics)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Morphology</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Morpheme?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Morpheme</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Transfer_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transfer Learning</a></li><br>
<li><a href="https://readthedocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Read The Docs</a></li><br>
<li><a href="https://github.com/google-research/bert?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BERT (Bidirectional Encoder Representations from Transformers)</a></li><br>
<li><a href="https://github.com/facebookresearch/fastText?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FastText</a></li><br>
<li><a href="https://data.world/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">data.world</a></p>

<ul>
<li><a href="https://www.dataengineeringpodcast.com/data-dot-world-with-bryon-jacob-episode-9/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://quiltdata.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quilt</a> package management for data</p>

<ul>
<li><a href="https://www.dataengineeringpodcast.com/quilt-data-with-kevin-moore-episode-37/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpolyglot-with-rami-al-rfou-episode-190%2F&amp;action_name=Polyglot%3A+Multi-Lingual+Natural+Language+Processing+with+Rami+Al-Rfou+-+Episode+190&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-12-17t03:06:59+00:00-c9ec6e048a2ce22</guid>
      <link>https://www.pythonpodcast.com/polyglot-with-rami-al-rfou-episode-190</link>
      <pubDate>Mon, 17 Dec 2018 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="310.76" duration="43.18">So, the Polyglass project, the aim of it is to elevate the the status of NLP, projects and, and packages in the sense that when people develop something called NLP, natural language processing, they should not be doing They should be with the mindset that their system should be as applicable as possible to all languages. And that's really a hard task. That's a research task. So, you know, the current status that many packages do not support many languages comes from it's not an easy thing to do. But I believe compromise has to be done to actually put coverage of languages as a first priority over everything else.</podcast:soundbite>
      <podcast:soundbite startTime="1361.86" duration="25.29">So, basically, do we have different varying support for every for every, prediction? So for part of speech tagging, we have support for 40 languages, but for language recognition, we also have 40. But for more FEM analysis, we have more. More than embeddings, we have field for all of them. Tokenization, we have for all of them. Basically and by all of them, I mean, like, the 100 languages we support. The varying support come from the varying level of annotations we can acquire.</podcast:soundbite>
      <podcast:soundbite startTime="977.03" duration="27.92">So if you want to add a new language, I would say I will focus the first thing into developing a word embeddings for that language. So 2 things that I would focus on first finding the corpus that closest to the domain you care about. So if your domain looks like a news, it would be great if you collect a corpus of a news. If your domain looks like a Wikipedia, then you are good to go. So first thing, collect the corpus that looks as close as possible to the domain you you care about.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:42</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Polyglot: Multi-Lingual Natural Language Processing with Rami Al-Rfou</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>190</itunes:episode>
      <podcast:episode>190</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532174301198401cd3deb-437f-4337-bbf9-f2ff487725a5v1.mp3" length="39719751" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532174301198401cd3deb-437f-4337-bbf9-f2ff487725a5v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_01cd3deb-437f-4337-bbf9-f2ff487725a5638558845285570628.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/01cd3deb-437f-4337-bbf9-f2ff487725a5638558845283022787.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/01cd3deb-437f-4337-bbf9-f2ff487725a5638558845280418770.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Gnocchi: A Scalable Time Series Database For Your Metrics with Julien Danjou</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Do you know what your servers are doing? If you have a metrics system in place then the answer should be &#8220;yes&#8221;. One critical aspect of that platform is the timeseries database that allows you to store, aggregate, analyze, and query the various signals generated by your software and hardware. As the size and complexity of your systems scale, so does the volume of data that you need to manage which can put a strain on your metrics stack. Julien Danjou built Gnocchi during his time on the OpenStack project to provide a time oriented data store that would scale horizontally and still provide fast queries. In this episode he explains how the project got started, how it works, how it compares to the other options on the market, and how you can start using it today to get better visibility into your operations.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">pythonpodcast.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>And to keep track of how your team is progressing on building new features and squashing bugs, you need a project management system designed by software engineers, for software engineers. Clubhouse lets you craft a workflow that fits your style, including per-team tasks, cross-project epics, a large suite of pre-built integrations, and a simple API for crafting your own. Podcast.&#95;&#95;init&#95;&#95; listeners get 2 months free on any plan by going to <a href="https://www.pythonpodcast.com/clubhouse?utm_source=rss&utm_medium=rss">pythonpodcast.com/clubhouse</a> today and signing up for a trial.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/Podcast&#095;&#095;init&#095;&#095;?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">pythonpodcast.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Julien Danjou about Gnocchi, an open source time series database built to handle large volumes of system metrics</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Gnocchi is and how the project got started?
<ul>
<li>What was the motivation for moving Gnocchi out of the Openstack organization and into its own top level project?</li>
</ul>

<p></li><br>
<li>The space of time series databases and metrics as a service platforms are both fairly crowded. What are the unique features of Gnocchi that would lead someone to deploy it in place of other options?</p>

<ul>
<li>What are some of the tools and platforms that are popular today which hadn&#8217;t yet gained visibility when you first began working on Gnocchi?</li>
</ul>

<p></li><br>
<li>How is Gnocchi architected?</p>

<ul>
<li>How has the design changed since you first started working on it?</li>
<li>What was the motivation for implementing it in Python and would you make the same choice today?</li>
</ul>

<p></li><br>
<li>One of the interesting features of Gnocchi is its support of resource history. Can you describe how that operates and the types of use cases that it enables?</p>

<ul>
<li>Does that factor into the multi-tenant architecture?</li>
</ul>

<p></li><br>
<li>What are some of the drawbacks of pre-aggregating metrics as they are being written into the storage layer (e.g. loss of fidelity)?</p>

<ul>
<li>Is it possible to maintain the raw measures after they are processed into aggregates?</li>
</ul>

<p></li><br>
<li>One of the challenging aspects of building a scalable metrics platform is support for high-cardinality data. What sort of labelling and tagging of metrics and measures is available in Gnocchi?</li><br>
<li>For someone who wants to implement Gnocchi for their system metrics, what is involved in deploying, maintaining, and upgrading it?</p>

<ul>
<li>What are the available integration points for extending and customizing Gnocchi?</li>
</ul>

<p></li><br>
<li>Once metrics have been stored, aggregated, and indexed, what are the options for querying and analyzing the collected data?</li><br>
<li>When is Gnocchi the wrong choice?</li><br>
<li>What do you have planned for the future of Gnocchi?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/jd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jd</a> on GitHub</li>
<li><a href="https://julien.danjou.info/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/juldanjou?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@juldanjou</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.marketplace.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marketplace Podcast</a></li>
</ul>

<p></li><br>
<li>Julien</p>

<ul>
<li><a href="https://mergify.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mergify</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://gnocchi.xyz/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gnocchi</a></li>
<li><a href="https://www.redhat.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedHat</a></li>
<li><a href="https://www.openstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack</a></li>
<li><a href="https://en.wikipedia.org/wiki/Object-oriented_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Object Oriented Programming</a></li>
<li><a href="https://www.oreilly.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">O&#8217;Reilly</a></li>
<li><a href="https://www.debian.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Debian</a></li>
<li><a href="https://docs.openstack.org/ceilometer/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ceilometer</a></li>
<li><a href="https://prometheus.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prometheus</a></li>
<li><a href="https://en.wikipedia.org/wiki/Time_series?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Time Series</a></li>
<li><a href="https://www.mysql.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li>
<li><a href="https://www.gerritcodereview.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gerrit</a></li>
<li><a href="https://zuul-ci.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zuul</a>
<ul>
<li><a href="https://www.pythonpodcast.com/zuul-with-monty-taylor-episode-172/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li><br>
<li><a href="https://about.gitlab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitLab</a></li><br>
<li><a href="https://graphiteapp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphite</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/graphite-metrics-with-jason-dixon-and-dan-cech-episode-136/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://www.datadoghq.com/dg/apm/ts-python-performance/?utm_source=Advertisement&amp;utm_medium=Advertisement&amp;utm_campaign=PodcastinitPython-Tshirt&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DataDog</a></li><br>
<li><a href="https://www.rabbitmq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RabbitMQ</a></li><br>
<li><a href="https://www.influxdata.com/time-series-platform/influxdb/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">InfluxDB</a></li><br>
<li><a href="https://ceph.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ceph</a></p>

<ul>
<li><a href="https://www.dataengineeringpodcast.com/ceph-with-sage-weil-episode-40/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://aws.amazon.com/s3/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">S3</a></li><br>
<li><a href="https://wiki.openstack.org/wiki/Swift?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack Swift</a></li><br>
<li><a href="https://cassandra.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cassandra</a></li><br>
<li><a href="https://www.honeycomb.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Honeycomb Observability Service</a></p>

<ul>
<li><a href="https://www.dataengineeringpodcast.com/honeycomb-data-infrastructure-with-sam-stokes-episode-20/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://www.amqp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AMQP</a></li><br>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Domain-specific_language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DSL (Domain Specific Language)</a></li><br>
<li><a href="https://golang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Golang</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Role-based_access_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RBAC (Role-Based Access Control)</a></li><br>
<li><a href="https://collectd.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CollectD</a></li><br>
<li><a href="https://github.com/etsy/statsd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StatsD</a></li><br>
<li><a href="https://gnocchi.xyz/gnocchiclient/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gnocchi Client</a></li><br>
<li><a href="https://www.influxdata.com/time-series-platform/telegraf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Telegraf</a></li><br>
<li><a href="https://grafana.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grafana</a></li><br>
<li><a href="https://www.timescale.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TimescaleDB</a></p>

<ul>
<li><a href="https://www.dataengineeringpodcast.com/timescaledb-with-ajay-kulkarni-and-mike-freedman-episode-18/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://wiki.openstack.org/wiki/Heat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack Heat</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgnocchi-with-julien-danjou-episode-189%2F&amp;action_name=Gnocchi%3A+A+Scalable+Time+Series+Database+For+Your+Metrics+with+Julien+Danjou+-+Episode+189&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-12-10t04:33:35+00:00-4b96649a4ad1327</guid>
      <link>https://www.pythonpodcast.com/gnocchi-with-julien-danjou-episode-189</link>
      <pubDate>Mon, 10 Dec 2018 05:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1557.63" duration="30.58">And for somebody who's interested in deploying Nokia to their own system, I'm wondering what's involved in getting it set up and any capabilities built into the system to support ongoing maintenance and upgrades and also the ways that it can be managed using some sort of configuration management platform for being able to ensure consistent deployments across environments or just for being able to test and validate before you go to production?</podcast:soundbite>
      <podcast:soundbite startTime="445.78" duration="21.22">And so the space of time series databases and metrics platforms are fairly crowded. So I'm wondering what the unique features of Noki are that would lead someone to choose that over some of the other options such as Prometheus that you mentioned or Graphite in the Python space or services such as Datadog?</podcast:soundbite>
      <podcast:soundbite startTime="182.50" duration="23.54">So I'm wondering if you can just describe a bit about what it is and how the project first got started. So it started, like, mobile 44 years ago. So when I started to do, OpenStack stuff, like, 7 years ago, the company I worked in was trying to build a a public cloud, and there was nothing to build delicately for for whatever people were using in the cloud.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:16</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Gnocchi: A Scalable Time Series Database For Your Metrics with Julien Danjou</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>189</itunes:episode>
      <podcast:episode>189</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253040050183186dfba4ce-5d1d-40f2-8fda-55a6851c8e15v1.mp3" length="25352312" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253040050183186dfba4ce-5d1d-40f2-8fda-55a6851c8e15v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_6dfba4ce-5d1d-40f2-8fda-55a6851c8e15638558807126399457.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6dfba4ce-5d1d-40f2-8fda-55a6851c8e15638558807124168331.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6dfba4ce-5d1d-40f2-8fda-55a6851c8e15638558807121946510.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Keeping Up With The Python Community For Fun And Profit with Dan Bader</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Dan Bader about finding, filtering, and creating resources for Python developers at Real Python, PyCoders, and his own trainings</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Let&#8217;s start by discussing your primary job these days and how you got to where you are.
<ul>
<li>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?</li>
<li>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?</li>
</ul>

<p></li><br>
<li>What are the synergies that exist between your various roles and projects?</p>

<ul>
<li>What are the areas of conflict? (e.g. time constraints, conflicts of interest, etc.)</li>
</ul>

<p></li><br>
<li>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?</p>

<ul>
<li>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?</li>
</ul>

<p></li><br>
<li>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?</li><br>
<li>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?</li><br>
<li>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?</li><br>
<li>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?</li><br>
<li>What are your plans for the future growth and development of your media empire?</li><br>
<li>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?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/dbader_org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@dbader_org</a> on Twitter</li>
<li><a href="https://dbader.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/dbader?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dbader</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a></li>
</ul>

<p></li><br>
<li>Dan</p>

<ul>
<li><a href="https://black.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black</a> code formatter</li>
<li><a href="https://github.com/ambv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Łukasz Langa</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://dbader.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dan Bader</a></li>
<li><a href="https://nerdlettering.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nerd Lettering</a></li>
<li><a href="https://realpython.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Real Python</a></li>
<li><a href="https://pycoders.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCoders</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computer_science?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computer Science</a></li>
<li><a href="https://en.wikipedia.org/wiki/Vancouver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vancouver, BC</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://rhettinger.wordpress.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raymond Hettinger</a></li>
<li><a href="https://en.wikipedia.org/wiki/Data_science?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Science</a></li>
<li><a href="http://flask.pocoo.org/docs/1.0/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://www.pythonistacafe.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pythonista Cafe</a></li>
<li><a href="https://realpython.com/python-tricks/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Tricks</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpython-community-content-with-dan-bader-episode-188%2F&amp;action_name=Keeping+Up+With+The+Python+Community+For+Fun+And+Profit+with+Dan+Bader+-+Episode+188&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-12-03t03:20:24+00:00-9fa9d68f52e7df9</guid>
      <link>https://www.pythonpodcast.com/python-community-content-with-dan-bader-episode-188</link>
      <pubDate>Mon, 3 Dec 2018 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1613.00" duration="70.77">Yeah. No. I I can definitely agree with that. And, you know, when I first started this podcast, I, you know, podcast, I, you know, set out to to say, oh, this is just gonna be a community effort. I'm not gonna seek sponsorship. But after seeing how much time and effort is required, I eventually ended up agreeing to speak with some different sponsors, and thankfully, I've been able to keep that sustainable over this time. And as you mentioned, you know, the Patreon model, while it's nice, it's not very reliable because somebody may decide to contribute 1 month and then retract that contribution the next month. So having a sponsorship agreement that you can count on more long term and have some sort of a sales funnel to keep conversations going with potential sponsors, just making sure that the products that you're trying to promote are in line with the audience, and something that's useful as opposed to just accepting, you know, advertisement from any random person who wants to give you money, I think is just the best way to strike that balance and keep things sustainable while being able to, have sort of the freedom and sort of editorial latitude to be able to produce value for your listeners and your audience.</podcast:soundbite>
      <podcast:soundbite startTime="81.15" duration="37.64">Oh, yeah. Yeah. I do. So that was on a, a ski trip. So I, you know, I got a degree in, in computer science. And so as I was in in college, back in Germany, we're going on this, you know, geeky ski trip. And, 1 of my friends who was also my roommate at the time, he brought a Python book to that ski trip. And, I hadn't really heard about Python before that. And it was 1 of these, like, pretty crappy, you know, learn Python in, I don't know, 48 hours or something like that. That never really works out that way. And I was just kind of thumbing through this book, and I thought, man, like, this is actually really, really cool, like, a really, really beautiful language, and this just somehow resonated with me.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:57</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Keeping Up With The Python Community For Fun And Profit with Dan Bader</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>188</itunes:episode>
      <podcast:episode>188</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253161915564727b406587-0e66-45ad-a1c6-b54b4ba4aca0v1.mp3" length="46361072" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253161915564727b406587-0e66-45ad-a1c6-b54b4ba4aca0v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7b406587-0e66-45ad-a1c6-b54b4ba4aca0638558831559014574.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7b406587-0e66-45ad-a1c6-b54b4ba4aca0638558831555210575.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7b406587-0e66-45ad-a1c6-b54b4ba4aca0638558831553303337.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Using Calibre To Keep Your Digital Library In Order with Kovid Goyal</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Kovid Goyal about Calibre, the powerful and free ebook management tool</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Calibre is and how the project got started?</li>
<li>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?</li>
<li>What are the main features of Calibre?
<ul>
<li>What are some of the most interesting and most popular plugins that have been creatd for Calibre?</li>
</ul>

<p></li><br>
<li>Can you describe the software architecture for the project and how it has evolved since you first started working on it?</li><br>
<li>You have been maintaining and improving Calibre for a long time now. What is your motivation to keep working on it?</p>

<ul>
<li>How has the focus of the project and the primary use cases changed over the years that you have been working on it?</li>
</ul>

<p></li><br>
<li>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?</p>

<ul>
<li>What are some of the competing options and how does Calibre differentiate from them?</li>
</ul>

<p></li><br>
<li>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?</li><br>
<li>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?</li><br>
<li>What was your motivation for implementing Calibre in Python?</p>

<ul>
<li>If you were to start the project over today would you make the same choice?</li>
<li>Are there any aspects of the project that you would implement differently if you were starting over?</li>
</ul>

<p></li><br>
<li>What are your plans for the future of Calibre?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/kovidgoyal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">kovidgoyal</a> on GitHub</li>
<li><a href="https://kovidgoyal.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.patreon.com/kovidgoyal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Patreon</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.neilgaiman.com/works/Books/American+Gods/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">American Gods</a> by Neil Gaiman</li>
</ul>

<p></li><br>
<li>Kovid</p>

<ul>
<li><a href="http://www.jonkrakauer.com/books/into-thin-air-tr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Into Thin Air</a> by John Krakauer<br />
About how an expedition to climb Everest went wrong. Wonderful account of the difficulties of high altitude mountaineering and the determination it needs.</li>
<li><a href="https://www.goodreads.com/book/show/793296.The_Steerswoman_s_Road?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Steerswoman&#8217;s Road</a> by Rosemary Kirstein<br />
About the spirit of scientific enquiry in a fallen civilization on an alien planet with partial terraforming that is slowly failing.</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://calibre-ebook.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Calibre</a></li>
<li><a href="https://www.kde.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KDE</a></li>
<li><a href="http://www.caltech.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Caltech</a></li>
<li><a href="https://en.wikipedia.org/wiki/Sony_Reader#PRS-500?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sony PRS500</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linux</a></li>
<li><a href="https://en.wikipedia.org/wiki/Amazon_Kindle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kindle</a></li>
<li><a href="https://www.kobo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kobo</a></li>
<li><a href="https://en.wikipedia.org/wiki/EPUB?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ePUB</a></li>
<li><a href="https://github.com/kovidgoyal/calibre/tree/master/recipes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Calibre Recipes</a></li>
<li><a href="https://github.com/kovidgoyal/rapydscript-ng?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rapydscrypt NG</a></li>
<li><a href="https://www.goodreads.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Goodreads</a></li>
<li><a href="https://www.qt.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qt</a></li>
<li><a href="https://wiki.python.org/moin/PyQt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyQt</a></li>
<li><a href="https://github.com/kovidgoyal/build-calibre?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">build-calibre</a></li>
<li><a href="https://sw.kovidgoyal.net/kitty/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kitty</a></li>
<li><a href="https://en.wikipedia.org/wiki/Digital_rights_management?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DRM (Digital Rights Management)</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcalibre-with-kovid-goyal-episode-187%2F&amp;action_name=Using+Calibre+To+Keep+Your+Digital+Library+In+Order+with+Kovid+Goyal+-+Episode+187&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-11-26t02:01:23+00:00-6921d777cec3a7e</guid>
      <link>https://www.pythonpodcast.com/calibre-with-kovid-goyal-episode-187</link>
      <pubDate>Mon, 26 Nov 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="279.43" duration="18.67">So, the key to doing this is that Caliber itself has excellent data introspection capabilities. We can plug in an unknown device and and run a command which will output a whole bunch of information about the device and how the device works. So that allows me to support a lot of devices without actually having access to those devices just from the introspection information.</podcast:soundbite>
      <podcast:soundbite startTime="692.25" duration="19.19">So the internal design of Caliber is highly, motivated by the principle of modularity. So Caliber itself is implemented using plugins. There are a whole bunch of built in plugins. You go if you start Caliber when you go to preferences and plugins, you'll see that there are literally hundreds of built in plug ins.</podcast:soundbite>
      <podcast:soundbite startTime="1419.49" duration="24.76">So, 1 of the lucky things things where I lucked out was my choice of Python. So Python has an extremely, high development velocity. So I can deliver features, bug fixes, etcetera, with much less effort than using most other languages. Of course, I could be biased by my large familiarity with Python, but I I strongly feel that this is 1 of the things that that that led to Caliber's success.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:26</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Using Calibre To Keep Your Digital Library In Order with Kovid Goyal</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>187</itunes:episode>
      <podcast:episode>187</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532198672077708273818-3c66-4f20-af53-f50676aa460av1.mp3" length="28364789" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532198672077708273818-3c66-4f20-af53-f50676aa460av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_08273818-3c66-4f20-af53-f50676aa460a638558846554159459.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/08273818-3c66-4f20-af53-f50676aa460a638558846551641219.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/08273818-3c66-4f20-af53-f50676aa460a638558846549350781.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Entity Extraction, Document Processing, And Knowledge Graphs For Investigative Journalists with Friedrich Lindenberg</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app or want to try a project you hear about on the show, you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> today to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Registration for <a href="https://us.pycon.org/2019/registration/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon US</a>, the largest annual gathering across the community, is open now. Don&#8217;t forget to get your ticket and I&#8217;ll see you there!</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Friedrich Lindenberg about Aleph, a tool to perform entity extraction across documents and structured data</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Aleph is and how the project got started?</li>
<li>What is investigative journalism?
<ul>
<li>How does Aleph fit into their workflow?</li>
<li>What are some other tools that would be used alongside Aleph?</li>
<li>What are some ways that Aleph could be useful outside of investigative journalism?</li>
</ul>

<p></li><br>
<li>How is Aleph architected and how has it evolved since you first started working on it?</li><br>
<li>What are the major components of Aleph?</p>

<ul>
<li>What are the types of documents and data formats that Aleph supports?</li>
</ul>

<p></li><br>
<li>Can you describe the steps involved in entity extraction?</p>

<ul>
<li>What are the most challenging aspects of identifying and resolving entities in the documents stored in Aleph?</li>
</ul>

<p></li><br>
<li>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?</li><br>
<li>What is involved in deploying and managing an installation of Aleph?</li><br>
<li>What have been some of the most interesting or unexpected aspects of building Aleph?</li><br>
<li>Are there any particularly noteworthy uses of Aleph that you are aware of?</li><br>
<li>What are your plans for the future of Aleph?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://pudo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/pudo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@pudo</a> on Twitter</li>
<li><a href="https://github.com/pudo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pudo</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://mechanicalsoup.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mechanical Soup</a></li>
</ul>

<p></li><br>
<li>Friedrich</p>

<ul>
<li><a href="https://github.com/daviddrysdale/python-phonenumbers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">phonenumbers</a> &#8211; because it&#8217;s useful</li>
<li><a href="https://github.com/ovalhub/pyicu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyicu</a> &#8211; super nerdy but amazing </li>
<li><a href="https://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sqlalchemy</a> &#8211; my all-time favorite python package</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://github.com/alephdata/aleph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Aleph</a></li>
<li><a href="https://github.com/pudo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Organized Crime and Corruption Reporting Project</a></li>
<li><a href="https://en.wikipedia.org/wiki/Optical_character_recognition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OCR (Optical Character Recognition)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Jorge_Luis_Borges?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jorge Luis Borges</a></li>
<li><a href="https://en.wikipedia.org/wiki/Buenos_Aires?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Buenos Aires</a></li>
<li><a href="https://en.wikipedia.org/wiki/Investigative_journalism?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Investigative Journalism</a></li>
<li><a href="https://en.wikipedia.org/wiki/Azerbaijan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Azerbaijan</a></li>
<li><a href="https://signal.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Signal</a></li>
<li><a href="https://opencorporates.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Corporates</a></li>
<li><a href="http://openrefine.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Refine</a></li>
<li><a href="https://en.wikipedia.org/wiki/Money_laundering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Money Laundering</a></li>
<li><a href="https://en.wikipedia.org/wiki/Electronic_discovery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">E-Discovery</a></li>
<li><a href="https://en.wikipedia.org/wiki/Comma-separated_values?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CSV</a></li>
<li><a href="https://en.wikipedia.org/wiki/SQL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Named-entity_recognition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Entity Extraction (Named Entity Recognition)</a></li>
<li><a href="https://tika.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Tika</a></li>
<li><a href="https://polyglot.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polyglot</a></li>
<li><a href="https://spacy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpaCy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-87-spacy-with-matthew-honnibal/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://www.libreoffice.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LibreOffice</a></li><br>
<li><a href="https://github.com/tesseract-ocr/tesseract?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tesseract</a></li><br>
<li><a href="https://alephdata.github.io/followthemoney/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">followthemoney</a></li><br>
<li><a href="https://www.elastic.co/products/elasticsearch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elasticsearch</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Knowledge_Graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Knowledge Graph</a></li><br>
<li><a href="https://neo4j.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neo4J</a></li><br>
<li><a href="https://gephi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gephi</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Edward_Snowden?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Edward Snowden</a></li><br>
<li><a href="https://www.documentcloud.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Document Cloud</a></li><br>
<li><a href="https://www.overviewdocs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Overview Project</a></li><br>
<li><a href="https://www.veracrypt.fr/en/Home.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Veracrypt</a></li><br>
<li><a href="https://www.qubes-os.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qubes OS</a></li><br>
<li><a href="https://www.ibm.com/us-en/marketplace/analysts-notebook?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">I2 Analyst Notebook</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Faleph-with-friedrich-lindenberg-episode-186%2F&amp;action_name=Entity+Extraction%2C+Document+Processing%2C+And+Knowledge+Graphs+For+Investigative+Journalists+with+Friedrich+Lindenberg+-+Episode+186&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-11-19t00:22:44+00:00-27333dd7aacd498</guid>
      <link>https://www.pythonpodcast.com/aleph-with-friedrich-lindenberg-episode-186</link>
      <pubDate>Mon, 19 Nov 2018 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="127.39" duration="26.68">And so I've been spending the last couple of years kind of working for different reporting networks and kind of teams of, of journalists and trying to kind of work on investigations, but then also build infrastructure technology that would help kind of facilitate those those investigations in the future. And so a couple of years back, I was working on an investigation about the profile of Australian mining companies in Africa, and we were trying to download every single filing of a mining company in in Australia.</podcast:soundbite>
      <podcast:soundbite startTime="983.52" duration="29.96">So I don't know if you can talk about how you manage that within Aleph. How much of that is automated versus having to have a human in the loop for being able to resolve these entities into a single data item and things like that? Yeah. I think that's really where the structured data component of Aleph comes in and provides a lot of value. So for example, we try and load as many, many structured databases as we can get our hands on, whether that's company registries, procurement databases, sometimes even voter databases.</podcast:soundbite>
      <podcast:soundbite startTime="65.82" duration="20.94">So Friedrich, could you start by introducing yourself? Yeah. Hi. My name is Friedrich Hintbeck. I'm a programmer. I work with a group called the Organized Crime and Corruption Reporting Project, which is a network of investigative journalists, across, I think, 50 countries. And I build technology that tries to enable reporters to do better digging into documents and data.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:12</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Entity Extraction, Document Processing, And Knowledge Graphs For Investigative Journalists with Friedrich Lindenberg</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>186</itunes:episode>
      <podcast:episode>186</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304796565980506da364-0f78-497b-a9ad-635a32cb1242v1.mp3" length="33668589" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304796565980506da364-0f78-497b-a9ad-635a32cb1242v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_506da364-0f78-497b-a9ad-635a32cb1242638558810582289458.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/506da364-0f78-497b-a9ad-635a32cb1242638558810580018482.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/506da364-0f78-497b-a9ad-635a32cb1242638558810577764099.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Bringing Python To The Spanish Language Community with Maricela Sanchez</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;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</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you briefly describe PyCon Charlas and Python Day Mexico?
<ul>
<li>What has been your motivation for getting involved with organizing these community events?</li>
</ul>

<p></li><br>
<li>What do you find to be the unique characteristics of the Python community in Mexico?</li><br>
<li>What kind of feedback have you gotton from the Charlas track at PyCon?</li><br>
<li>What are your goals for fostering these Spanish language events?</li><br>
<li>What are some of the lessons that you have learned from PyCon Charlas that were useful in organizing Python Day Mexico?</li><br>
<li>What have been the most challenging or complicated aspects of organizing Python Day Mexico?</p>

<ul>
<li>How many attendees do you anticipate? How has that affected your planning and preparation?</li>
</ul>

<p></li><br>
<li>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?</li><br>
<li>Do you anticipate PyCon Charlas and Python Day Mexico becoming annual events?</li><br>
<li>What is your advice for anyone who is interested in organizing a conference in their own region or language?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/mayela?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mayela</a> on GitHub</li>
<li><a href="https://twitter.com/mayela0x14?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mayela0x14</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://drafts.asmodee.us/en/games/cardline/products/cardline-dinosaurs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CardLine Dinosaurs</a></li>
</ul>

<p></li><br>
<li>Maricela</li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://pythonday.mx/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Day Mexico</a></li>
<li><a href="https://us.pycon.org/2018/hatchery/charlas/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Charlas</a></li>
<li><a href="https://us.pycon.org/2019/hatchery/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Hatchery</a></li>
<li><a href="https://argentinaenpython.com/en/pycon-latam/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Latin America</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mexico_City?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mexico City</a></li>
<li><a href="https://en.wikipedia.org/wiki/Guadalajara?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Guadalajara</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpymex-with-maricela-sanchez-episode-185%2F&amp;action_name=Bringing+Python+To+The+Spanish+Language+Community+with+Maricela+Sanchez+-+Episode+185&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-10-29t00:02:04+00:00-03d002c65a97f7c</guid>
      <link>https://www.pythonpodcast.com/pymex-with-maricela-sanchez-episode-185</link>
      <pubDate>Mon, 29 Oct 2018 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="84.88" duration="28.01">A friend of mine tell me about Python and maybe I I liked to to learn about it. And I loved the the first time that I I did a function in Python. I loved the simplicity. So after finish my school, I was searching about a video that involves Python and open source, and I'm here.</podcast:soundbite>
      <podcast:soundbite startTime="913.36" duration="14.38">Don't leave it in a in another hands. If if you can't take it, if you can't take the ownership of something, take it. Just do it. Don't be afraid. Just do it.</podcast:soundbite>
      <podcast:soundbite startTime="302.34" duration="25.34">Because if 1 people learn something new and when when he told you, yeah, I I don't know that this this technology of this library exists and thanks for for do this. That's all. That's all for me. I I I got the the thing that I wanted.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:19:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Bringing Python To The Spanish Language Community with Maricela Sanchez</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>185</itunes:episode>
      <podcast:episode>185</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315148810377af427469-2fbe-4f13-bf62-a117cc8aa295v1.mp3" length="12875370" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315148810377af427469-2fbe-4f13-bf62-a117cc8aa295v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_af427469-2fbe-4f13-bf62-a117cc8aa295638558827693691510.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/af427469-2fbe-4f13-bf62-a117cc8aa295638558827691110021.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/af427469-2fbe-4f13-bf62-a117cc8aa295638558827686440710.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Of Checklists, Ethics, and Data with Emily Miller and Peter Bull</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Emily Miller and Peter Bull about Deon, an ethics checklist for data projects</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Deon is and your motivation for creating it?</li>
<li>Why a checklist, specifically? What&#8217;s the advantage of this over an oath, for example?</li>
<li>What is unique to data science in terms of the ethical concerns, as compared to traditional software engineering?</li>
<li>What is the typical workflow for a team that is using Deon in their projects?</li>
<li>Deon ships with a default checklist but allows for customization. What are some common addendums that you have seen?
<ul>
<li>Have you received pushback on any of the default items?</li>
</ul>

<p></li><br>
<li>How does Deon simplify communication around ethics across team boundaries?</li><br>
<li>What are some of the most often overlooked items?</li><br>
<li>What are some of the most difficult ethical concerns to comply with for a typical data science project?</li><br>
<li>How has Deon helped you at Driven Data?</li><br>
<li>What are the customer facing impacts of embedding a discussion of ethics in the product development process?</li><br>
<li>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?</li><br>
<li>What are your hopes for the future of the Deon project?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Emily
<ul>
<li><a href="https://www.linkedin.com/in/emily-miller/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/ejm714?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ejm714</a> on GitHub</li>
</ul>

<p></li><br>
<li>Peter</p>

<ul>
<li><a href="https://www.linkedin.com/in/pjbull/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/pjbull?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@pjbull</a> on Twitter</li>
<li><a href="https://github.com/pjbull?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pjbull</a> on GitHub</li>
</ul>

<p></li><br>
<li>Driven Data</p>

<ul>
<li><a href="https://twitter.com/drivendataorg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@drivendataorg</a> on Twitter</li>
<li><a href="https://github.com/drivendataorg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">drivendataorg</a> on GitHub</li>
<li><a href="http://drivendata.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://richardbondartist.yolasite.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Richard Bond Glass Art</a></li>
</ul>

<p></li><br>
<li>Emily</p>

<ul>
<li><a href="https://www.tandemcoffee.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tandem Coffee</a> in <a href="https://www.visitportland.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Portland, Maine</a></li>
</ul>

<p></li><br>
<li>Peter</p>

<ul>
<li><a href="https://www.themodelbakery.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Model Bakery</a> in Saint Helena and Napa, California</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://deon.drivendata.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deon</a></li>
<li><a href="http://drivendata.co?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Driven Data</a></li>
<li><a href="https://en.wikipedia.org/wiki/International_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">International Development</a></li>
<li><a href="https://www.brookings.edu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brookings Institution</a></li>
<li><a href="https://www.stata.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stata</a></li>
<li><a href="https://en.wikipedia.org/wiki/Econometrics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Econometrics</a></li>
<li><a href="https://thisismetis.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metis Bootcamp</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C#</a></li><br>
<li><a href="">.NET</a></li><br>
<li><a href="https://www.pythonpodcast.com/episode-17-glyph-on-ethics-in-software/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Episode On Software Ethics</a></li><br>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebook</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/episode-10-brian-granger-and-fernando-perez-of-the-ipython-project/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/Word2vec?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Word2Vec</a></li><br>
<li><a href="https://drivendata.github.io/cookiecutter-data-science?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cookiecutter data science</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Logistic_regression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logistic Regression</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdeon-with-emily-miller-and-peter-bull-episode-184%2F&amp;action_name=Of+Checklists%2C+Ethics%2C+and+Data+with+Emily+Miller+and+Peter+Bull+-+Episode+184&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-10-22t01:58:29+00:00-8b1c92f4afc10e0</guid>
      <link>https://www.pythonpodcast.com/deon-with-emily-miller-and-peter-bull-episode-184</link>
      <pubDate>Mon, 22 Oct 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="274.75" duration="43.35">Yes. So Dion is a command line tool that generates ethics checklists for data science teams. So what it does is give you 1 simple command that you run as a data scientist that's integrated into your workflow that will add a set of items that really are questions to think about when doing data science work. And we've mapped ethical concerns, 2 different steps in the data science process. And the idea is that as a data scientist, it's hard to pull myself out of my day to day work to ask these questions that I'd like to be asking as part of my process.</podcast:soundbite>
      <podcast:soundbite startTime="1339.86" duration="49.15">And in your experience working on data science projects or interacting with other people who are in a similar space, what are some of the items on the checklist that you have seen to be most commonly overlooked or possibly ignored? I think 1 of the most important items on the checklist for me is around dataset bias. And I think it's important to remember that no matter how much effort went into eliminating bias in the data collection or in the pre processing, there will always be bias. We're not going to have a dataset that's perfectly unbiased. And so the question to ask is not is my dataset biased, but how is my dataset biased? Because looking at kind of examining the possible sources of bias is the first step for figuring out what we can do about them.</podcast:soundbite>
      <podcast:soundbite startTime="461.59" duration="46.05">So I think I'll sort of take that from 2 angles. The first question is, why is this different from an oath? And the idea here is that the data science community was having a relatively robust discussion around ethics. So particularly after the Equifax breach and then Cambridge Analytica scandal, lots of people were talking about how do we make sure that these technologies are used in ways that are ethical. And that sort of led to some setups of, okay, we need an oath for data scientists where they can say they're committed to only doing things that are good or are right.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:16</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Of Checklists, Ethics, and Data with Emily Miller and Peter Bull</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>184</itunes:episode>
      <podcast:episode>184</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530521741521731edf270-49f9-48a0-a99e-67b356368326v1.mp3" length="32726288" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530521741521731edf270-49f9-48a0-a99e-67b356368326v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_31edf270-49f9-48a0-a99e-67b356368326638558812603249206.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/31edf270-49f9-48a0-a99e-67b356368326638558812599768258.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/31edf270-49f9-48a0-a99e-67b356368326638558812597814685.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>How Python Is Used To Build A Startup At Wanderu with Chris Kirkos and Matt Warren</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Matt Warren and Chris Kirkos and  about the ways that they are using Python at Wanderu</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Wanderu does?
<ul>
<li>How is the platform architected?</li>
</ul>

<p></li><br>
<li>What are the broad categories of problems that you are addressing with Python?</li><br>
<li>What are the areas where you chose to use a different language or service?</li><br>
<li>What ratio of new projects and features are implemented using Python?</p>

<ul>
<li>How much of that decision process is influenced by the fact that you already have so much pre-existing Python code?</li>
<li>For the projects where you don&#8217;t choose Python, what are the reasons for going elsewhere?</li>
</ul>

<p></li><br>
<li>What are some of the limitations of Python that you have encountered while working at Wanderu?</li><br>
<li>What are some of the places that you were surprised to find Python in use at Wanderu?</li><br>
<li>What have you enjoyed most about working with Python?</p>

<ul>
<li>What are some of the sharp edges that you would like to see smoothed over in future versions of the language?</li>
</ul>

<p></li><br>
<li>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?</li><br>
<li>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?</li><br>
<li>Which libraries have been the most useful for your work at Wanderu?</p>

<ul>
<li>Which ones have caused you the most pain?</li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Matt
<ul>
<li><a href="https://twitter.com/matthewwwarren?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@matthewwwarren</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/matthew-warren-9bb5798/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://www.linkedin.com/in/chrisjk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.jetbrains.com/datagrip/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DataGrip</a></li>
</ul>

<p></li><br>
<li>Matt</p>

<ul>
<li><a href="http://www.chacarero.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chacarero</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://docs.python.org/3/library/pdb.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PDB</a></li>
<li><a href="https://github.com/gotcha/ipdb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPDB</a></li>
<li><a href="https://github.com/inducer/pudb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PUDB</a></li>
<li><a href="https://code.visualstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VSCode</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.wanderu.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wanderu</a></li>
<li><a href="https://www.northeastern.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Northeastern University</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://en.wikipedia.org/wiki/Microservices?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microservices</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostgreSQL</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/postgresql-with-jonathan-katz-episode-42/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://www.mongodb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoDB</a></li><br>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li><br>
<li><a href="https://nodejs.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Node.js</a></li><br>
<li><a href="https://golang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Go-lang</a></li><br>
<li><a href="https://aws.amazon.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWS</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Extract,_transform,_load?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ETL (Extract, Transform, and Load)</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Data_warehouse?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Warehouse</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Graph_database?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graph Database</a></li><br>
<li><a href="https://twistedmatrix.com/trac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/twisted-with-moshe-zadka-episode-170/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="http://www.gevent.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gevent</a></li><br>
<li><a href="https://scrapy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scrapy</a></li><br>
<li><a href="https://virtualenv.pypa.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Virtualenv</a></li><br>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li><br>
<li><a href="https://github.com/rbenv/rbenv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rbenv</a></li><br>
<li><a href="https://boto3.amazonaws.com/v1/documentation/api/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boto3</a></li><br>
<li><a href="https://api.mongodb.com/python/current/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyMongo</a></li><br>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li><br>
<li><a href="https://pip.pypa.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pip</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Transport_Layer_Security?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TLS</a></li><br>
<li><a href="https://cryptography.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cryptography</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/episode-93-cryptography-with-paul-kehrer/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://github.com/pypa/setuptools?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Setuptools</a></li><br>
<li><a href="https://www.openstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Openstack</a></li><br>
<li><a href="https://requests.readthedocs.io/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Requests</a></li><br>
<li><a href="https://pypi.org/project/pycountry/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCountry</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/SOAP?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SOAP (Simple Object Access Protocol)</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/XML?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XML</a></li><br>
<li><a href="http://jinja.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jinja</a></li><br>
<li><a href="https://www.openssl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenSSL</a></li><br>
<li><a href="https://docs.pytest.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pytest</a></li><br>
<li><a href="">Bandit</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/episode-62-bandit-with-tim-kelsey-travis-mcpeak-and-eric-brown/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://amzn.to/2PxZSX8?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gang of Four</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fwanderu-with-chris-kirkos-and-matt-warren-episode-183%2F&amp;action_name=How+Python+Is+Used+To+Build+A+Startup+At+Wanderu+with+Chris+Kirkos+and+Matt+Warren+-+Episode+183&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-10-15t01:21:13+00:00-fea440e3ac7ebce</guid>
      <link>https://www.pythonpodcast.com/wanderu-with-chris-kirkos-and-matt-warren-episode-183</link>
      <pubDate>Mon, 15 Oct 2018 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="275.89" duration="35.24">So Wanderer is a metasearch company for, focusing on ground transportation. So think, buses and, trains, and ferries and and other things too. We're we're we're incorporating flights and hotels as well, but, but it most it's mostly traditionally focused on ground transportation. So if you wanna get from point a to point b and then you go to Wandreu, you, you do a search for how do I get from point a to point b, and we show you your ground transportation options. You know, take a take a bus, take a train, put 2 things together, take a bus and then a train, and it's all using using ground transportation.</podcast:soundbite>
      <podcast:soundbite startTime="76.06" duration="41.40">And going back to you, Matt, do you remember how you first got introduced to Python? Yeah. I do. My, senior year at Northeastern University, I was taking a I don't know. It was like a data sciency kind of class maybe, but we were writing a sort of a web scrape algorithm thing and I decided this seems like a really great task to do in Python so I gave it a shot and it failed horribly And I went to the TAs, and they said, well, we all know Pearl. So can you just reread it in Pearl? I said, I I mean, I guess. So that was that was my first experience.</podcast:soundbite>
      <podcast:soundbite startTime="631.41" duration="38.39">Yeah. We chose we chose Node as a, as a technology tech for for concurrency specifically for that scenario. It's it's really fast and it's, it's concurrency model is is excellent. It's evolved over time as well. And it was at a point in time when Python didn't have the same kind of currency that that Node did. We didn't have async IO, but we had other tools that that existed. Right? We had TwistIt. We had g event at the time, and those things were were excellent. But I think the people who were deciding on the technology at that time had more more influenced by the scalability of Node than by the scalability of of Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:22</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>How Python Is Used To Build A Startup At Wanderu with Chris Kirkos and Matt Warren</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>183</itunes:episode>
      <podcast:episode>183</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317566661534e091f898-a27b-4962-97d5-c813767e3ae5v1.mp3" length="23732966" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317566661534e091f898-a27b-4962-97d5-c813767e3ae5v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e091f898-a27b-4962-97d5-c813767e3ae5638558836253026131.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e091f898-a27b-4962-97d5-c813767e3ae5638558836250678418.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e091f898-a27b-4962-97d5-c813767e3ae5638558836248547977.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building A Game In Python At PyWeek with Daniel Pope</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Daniel Pope about PyWeek, a one week challenge to build a game in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what PyWeek is and how the competition got started?
<ul>
<li>What is your current role in relation to PyWeek and how did you get involved?</li>
</ul>

<p></li><br>
<li>What are the strengths of the Python lanaguage and ecosystem for developing a game?</li><br>
<li>What are some of the common difficulties encountered by participants in the challenge?</li><br>
<li>What are some of the most commonly used libraries and tools for creating and packaging the games?</li><br>
<li>What are some shortcomings in the available tools or libraries for Python when it comes to game development?</li><br>
<li>What are some examples of libraries or tools that were created and released as a result of a team&#8217;s efforts during PyWeek?</li><br>
<li>How often do games that get started during PyWeek continue to be developed and improved?</p>

<ul>
<li>Have there ever been games that went on to be commercially viable?</li>
</ul>

<p></li><br>
<li>What are some of the most interesting or unusual games that you have seen submitted to PyWeek?</li><br>
<li>Can you describe your experience as a competitor in PyWeek?</p>

<ul>
<li>How do you structure your time during the competition week to ensure that you can complete your game?</li>
</ul>

<p></li><br>
<li>What are the benefits and difficulties of the one week constraint for development?</li><br>
<li>How has PyWeek changed over the years that you have been involved with it?</li><br>
<li>What are your hopes for the competition as it continues into the future?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/lordmauve?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@lordmauve</a> on Twitter</li>
<li><a href="http://mauveweb.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://github.com/lordmauve/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">lordmauve</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://architechtshow.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Architecht Show</a></li>
</ul>

<p></li><br>
<li>Dan</p>

<ul>
<li><a href="https://www.redblobgames.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Red Blob Games</a></li>
<li><a href="https://amzn.to/2pF7DiH?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Designing Virtual Worlds</a> by Richard Bartle</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://pyweek.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyWeek</a></li>
<li><a href="https://www.twosigma.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Two Sigma</a></li>
<li><a href="https://en.wikipedia.org/wiki/Game_jam?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Game Jam</a></li>
<li><a href="http://www.mechanicalcat.net/richard/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Richard Jones</a></li>
<li><a href="https://www.pygame.org/news?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGame</a></li>
<li><a href="https://bitbucket.org/pyglet/pyglet/wiki/Home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyglet</a></li>
<li><a href="https://www.libsdl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SDL</a></li>
<li><a href="https://pygame-zero.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGame Zero</a></li>
<li><a href="http://cocos2d.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cocos 2D</a></li>
<li><a href="https://bitbucket.org/lordmauve/korovic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Doctor Corovich&#8217;s Flying Atomic Squid</a></li>
<li><a href="http://universefactory.net/lep/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mortimer The Lepidopterist</a></li>
<li><a href="http://ldjam.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ludum Dare</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyweek-with-daniel-pope-episode-182%2F&amp;action_name=Building+A+Game+In+Python+At+PyWeek+with+Daniel+Pope+-+Episode+182&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-10-09t02:01:56+00:00-6969b2a440f02c9</guid>
      <link>https://www.pythonpodcast.com/pyweek-with-daniel-pope-episode-182</link>
      <pubDate>Tue, 9 Oct 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="913.00" duration="53.24">And what are some of the most interesting or unusual or innovative games or aspects of those games that you've seen submitted to Pyeweek over the years? It's a great question. And my mind's gone blank of all of the previous games. The most fun game that was ever entered in in Piwik, the or they in fact, specifically, the game that was rated rated highest for fun was a game called Mortimer the lep lepidopterist, by an entrant called Cosmologican. And, it was such a simple game because you are a, butterfly collector, and you only have you start with a couple of skills, which are jump and turn, and you and these are mapped 2 keys on the keyboard. So you're jumping around, and this is, on, a kind of flat flat surface, and there are butterflies fluttering around you. And you can, jump and, then you you turn and then you can nab.</podcast:soundbite>
      <podcast:soundbite startTime="339.84" duration="36.14">And so Python has a few different libraries and tools for being able to write games in, but it's not really known as being something that's used for some of the more, widely distributed widely distributed and widely played video games that people might know from their various consoles or computer games. So I'm curious, what are some of the strengths of the Python language and ecosystem in terms of being able to develop a game that would draw people to want to use it for participating in PyWeek versus some of the other ways that they might be engaged in writing their own games?</podcast:soundbite>
      <podcast:soundbite startTime="84.34" duration="13.39">And so, we're here talking about the PyWeek competition and your involvement in it. So can you start by just giving a bit of a description about what the PyWeek competition is and any background that you have about how it got started?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:30:07</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building A Game In Python At PyWeek with Daniel Pope</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>182</itunes:episode>
      <podcast:episode>182</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252989687217361bda3bf3-7cc9-4535-8fe8-21fbad4e139fv1.mp3" length="19239655" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252989687217361bda3bf3-7cc9-4535-8fe8-21fbad4e139fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1bda3bf3-7cc9-4535-8fe8-21fbad4e139f638558794219432646.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1bda3bf3-7cc9-4535-8fe8-21fbad4e139f638558794216972998.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1bda3bf3-7cc9-4535-8fe8-21fbad4e139f638558794214246818.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Managing Application Secrets with Brian Kelly</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Brian Kelly about how to store, deploy, and use sensitive information in your applications</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>To begin with, how do you define a secret in the context of an application?</li>
<li>What are the broad categories for solutions to secrets management?</li>
<li>What are the different aspects of secrets management in the lifecycle of developing, deploying, and maintaining an application?</li>
<li>How does the scale of a project or organization impact the strategies that are reasonable for secrets management?</li>
<li>What are some of the most challenging aspects of secrets management at the different stages of usage?
<ul>
<li>What are some of the common reasons that secrets management strategies fail?</li>
<li>What are some of the vulnerabilities or attack vectors that development teams should be thinking about when working with credentials?</li>
</ul>

<p></li><br>
<li>What are your thoughts on versioning of secrets?</li><br>
<li>Beyond storing and deploying sensitive information, what are some of the secondary concerns around secrets management that development teams should be thinking about?</li><br>
<li>How does the use of multiple environments (e.g. dev, QA, production, etc.) affect the strategies used for secrets management?</li><br>
<li>What are some of the most useful resources that you have found for anyone looking to learn more about this subject?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/brikelly?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@brikelly</a> on Twitter</li>
<li><a href="https://morethancoding.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://github.com/brikelly?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">brikelly</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Inheritance_Cycle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Inheritance Cycle</a></li>
</ul>

<p></li><br>
<li>Brian</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Donegal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Donegal Ireland</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.conjur.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conjur</a></li>
<li><a href="https://www.cyberark.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CyberArk</a></li>
<li><a href="https://www.datawire.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Datawire</a></li>
<li><a href="https://en.wikipedia.org/wiki/Source-to-source_compiler?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transpiler</a></li>
<li><a href="https://en.wikipedia.org/wiki/Interface_description_language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IDL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cross-site_request_forgery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CSRF (Cross-Site Request Forgery)</a></li>
<li><a href="https://www.vaultproject.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hashicorp Vault</a></li>
<li><a href="https://en.wikipedia.org/wiki/Continuous_integration?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Integration</a></li>
<li><a href="https://en.wikipedia.org/wiki/Continuous_delivery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Delivery</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transport_Layer_Security?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TLS (Transport Layer Security)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Role-based_access_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RBAC (Role Based Access Control)</a></li>
<li><a href="https://www.terraform.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Terraform</a></li>
<li><a href="https://en.wikipedia.org/wiki/SQL_injection?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQL Injection</a></li>
<li><a href="https://secretless.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Secretless</a></li>
<li><a href="https://en.wikipedia.org/wiki/Multi-factor_authentication?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MFA</a></li>
<li><a href="https://duo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Duo Security</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://cyberark.github.io/summon/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Summon</a></li>
<li><a href="https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OWASP Top 10</a></li>
<li><a href="https://en.wikipedia.org/wiki/Configuration_management?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Configuration Management</a></li>
<li><a href="https://puppet.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Puppet</a></li>
<li><a href="https://www.chef.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chef</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://www.saltstack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a></li>
<li><a href="https://www.digitalocean.com/community/tutorials/what-is-immutable-infrastructure?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Immutable Infrastructure</a></li>
<li><a href="https://blog.conjur.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conjur Blog</a></li>
<li><a href="https://krebsonsecurity.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Krebs On Security</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmanaging-application-secrets-with-brian-kelly-episode-181%2F&amp;action_name=Managing+Application+Secrets+with+Brian+Kelly+-+Episode+181&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-10-02t02:01:45+00:00-1804d643094abef</guid>
      <link>https://www.pythonpodcast.com/managing-application-secrets-with-brian-kelly-episode-181</link>
      <pubDate>Tue, 2 Oct 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="760.67" duration="19.52">Sure. So there's a variety. And, the first thing I'll say is you can't leak what you don't have. And, therefore, 1 of the best approaches to preventing a secret leaking out of a process is for the process to never get it in the first place. So, we have a technology that does that and it's, you know, it's it's language agnostic.</podcast:soundbite>
      <podcast:soundbite startTime="987.24" duration="23.12">So I would say, starting at the whole, like, you know, post it note level, just running it down and and putting it somewhere statically. That's actually not as bad as, you know, putting it somewhere like GitHub in a public repo where all of a sudden I mean, I I just hope your listeners are aware there are bots watching every public repo check-in and scanning for predictable patterns like things that look like AWS keys.</podcast:soundbite>
      <podcast:soundbite startTime="125.65" duration="22.08">Sure. Basically, a secret is anything an attacker might want to broaden or further their attack surface, and they might use that secret to either get the value they want or to get closer to the value they want. So if it's a database password and it's the, password to the database that holds all of the bank account details or credit card numbers, they're pretty much done.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:04</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Managing Application Secrets with Brian Kelly</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>181</itunes:episode>
      <podcast:episode>181</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296878513300ad20b591-f870-4e9a-9a91-04b3755d8847v1.mp3" length="30284684" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296878513300ad20b591-f870-4e9a-9a91-04b3755d8847v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ad20b591-f870-4e9a-9a91-04b3755d8847638558786527098429.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ad20b591-f870-4e9a-9a91-04b3755d8847638558786524774222.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ad20b591-f870-4e9a-9a91-04b3755d8847638558786522622672.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Django, Channels, And The Asynchronous Web with Andrew Godwin</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Andrew Godwin about Django Channels 2.x and the ASGI specification for modern, asynchronous web protocols</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start with an overview of the problem that Channels is aiming to solve?</li>
<li>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?</li>
<li>For someone who is familiar with traditional Django or working on an existing application, what are the steps involved in integrating Channels?</li>
<li>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?
<ul>
<li>How is the current system architected?</li>
</ul>

<p></li><br>
<li>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?</p>

<ul>
<li>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?</li>
</ul>

<p></li><br>
<li>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?</p>

<ul>
<li>What are your hopes for what the Python community will do with ASGI?</li>
</ul>

<p></li><br>
<li>What are your plans for the future of Channels?</li><br>
<li>What are some of the most interesting or unexpected uses of Channels and/or ASGI?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/andrewgodwin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@andrewgodwin</a> on Twitter</li>
<li><a href="https://www.aeracode.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/andrewgodwin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">andrewgodwin</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.maximumfun.org/shows/nobody-listens-to-paula-poundstone?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nobody Listens To Paula Poundstone</a></li>
</ul>

<p></li><br>
<li>Andrew</p>

<ul>
<li><a href="https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-olsonzoneinfotz-database/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Literary Appreciation Of The Olson Timezones Database</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://channels.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Channels</a></li>
<li><a href="https://asgi.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASGI</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://south.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">South</a></li>
<li><a href="https://docs.djangoproject.com/en/2.1/topics/migrations/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Migrations</a></li>
<li><a href="http://php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="http://www.turbogears.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Turbogears</a></li>
<li><a href="https://wsgi.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WSGI</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebSocket?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Websockets</a></li>
<li><a href="http://eventlet.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eventlet</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HTTP</a></li>
<li><a href="https://webrtc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WebRTC</a></li>
<li><a href="https://ipfs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPFS</a></li>
<li><a href="https://twistedmatrix.com/trac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a></li>
<li><a href="http://www.tornadoweb.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-40-ben-darnell-on-tornado/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://github.com/django/daphne?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Daphne</a></li><br>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li><br>
<li><a href="https://www.uvicorn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uvicorn</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Heisenbug?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heisenbugs</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Deadlock?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deadlock</a></li><br>
<li><a href="https://cherrypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CherryPy</a></li><br>
<li><a href="http://flask.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li><br>
<li><a href="https://wsgi.readthedocs.io/en/latest/proposals-2.0.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WSGI 2</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/episode-43-wsgi-2/?utm_source=rss&utm_medium=rss">Podcast Episode</a></li>
</ul>

<p></li><br>
<li><a href="https://pypi.org/project/starlette/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Starlette</a></li><br>
<li><a href="http://www.django-rest-framework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Rest Framework</a></li><br>
<li><a href="http://www.tomchristie.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thom Christie</a></li><br>
<li><a href="https://www.pythonpodcast.com/episode-37-the-pep-talk/?utm_source=rss&utm_medium=rss">PEP Process Episode</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdjango-channels-and-the-asynchronous-web-with-andrew-godwin-episode-180%2F&amp;action_name=Django%2C+Channels%2C+And+The+Asynchronous+Web+with+Andrew+Godwin+-+Episode+180&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-09-24t02:10:27+00:00-bdb4c48dc61f949</guid>
      <link>https://www.pythonpodcast.com/django-channels-and-the-asynchronous-web-with-andrew-godwin-episode-180</link>
      <pubDate>Mon, 24 Sep 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="208.28" duration="19.74">So it starts again, like, like, 5 or 6 years ago, like, when WebSockets, is first being sort of thrashed out. The WebSocket specification was this sort of very developing protocol at the time. There's, like, 3 or 4 major revisions. There were a few years there where if you didn't have the most recent version of Chrome, it would be the wrong version. It wouldn't interoperate properly.</podcast:soundbite>
      <podcast:soundbite startTime="1017.58" duration="22.36">So, like, 1 of the biggest problems I certainly run into a lot myself is just debugging this stuff. Like, it's so hard to understand everything that's happening at once. Because often you have, like, maybe 10, 20 coroutines happening all at the same time. Putting a debugger into 1 of them is more difficult than it maybe could be. And also, there's some weird side effects.</podcast:soundbite>
      <podcast:soundbite startTime="51.90" duration="15.87">So, Andrew, could you start by introducing yourself? Hello. Yes. I'm Andrew Godwin. I am a, shall we say, Django developer at large. You may know my work on things like South for Django or Django migrations in the past and, as Tobias just said, on channels these days too.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:46</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Django, Channels, And The Asynchronous Web with Andrew Godwin</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>180</itunes:episode>
      <podcast:episode>180</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299799807252c2baea45-9fe6-47cb-a2f2-2dea06b9b453v1.mp3" length="31193858" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299799807252c2baea45-9fe6-47cb-a2f2-2dea06b9b453v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c2baea45-9fe6-47cb-a2f2-2dea06b9b453638558797189630067.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c2baea45-9fe6-47cb-a2f2-2dea06b9b453638558797186971028.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c2baea45-9fe6-47cb-a2f2-2dea06b9b453638558797184959223.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Business Of Technical Authoring With William Vincent</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;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</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How has your experience as someone who began working as a developer mid-career influenced your approach to software?</li>
<li>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?</li>
<li>What was your motivation for writing a beginner guide to Django?
<ul>
<li>What was the most difficult aspect of determining the appropriate level of depth for the content?</li>
<li>At what point did you decide to publish the tutorial you were compiling as a book?</li>
</ul>

<p></li><br>
<li>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?</p>

<ul>
<li>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?</li>
</ul>

<p></li><br>
<li>Challenges of creating useful intermediate content (lots of beginner tutorials and deep dives, not much in the middle)</li><br>
<li>After your initial foray into technical authoring you decided to follow it with two more books. What other topics are you covering with those?</p>

<ul>
<li>Once you are finished with the third do you plan to continue writing, or will you shift your focus to something else?</li>
</ul>

<p></li><br>
<li>Translating content to reach a larger audience</li><br>
<li>What advice would you give to someone who is considering writing a book of their own?</p>

<ul>
<li>What alternative avenues do you think would be more valuable for themselves and their audience?</li>
<li>Alternative avenues for providing useful training to developers</li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="mailto:will@wsvincent.com">Email</a></li>
<li><a href="https://github.com/wsvincent/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wsvincent</a> on GitHub</li>
<li><a href="https://wsvincent.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://changelog.com/practicalai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Practical AI</a></li>
</ul>

<p></li><br>
<li>William</p>

<ul>
<li><a href="https://github.com/wsvincent/awesome-django?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">awesome-django</a></li>
<li><a href="https://www.amazon.com/gp/product/0071849467?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Digital Doctor</a> by Robert Wachter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://quizlet.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quizlet</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://learnpythonthehardway.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Learn Python The Hard Way</a></li>
<li><a href="https://inventwithpython.com/#invent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Invent Your Own Computer Games with Python</a></li>
<li><a href="https://rubyonrails.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby on Rails</a></li>
<li><a href="https://nodejs.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Node.js</a></li>
<li><a href="https://expressjs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Express</a></li>
<li><a href="https://www.learnboost.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LearnBoost</a></li>
<li><a href="http://david.heinemeierhansson.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">David Heinemeier Hanson</a></li>
<li><a href="https://www.meteor.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Meteor.js</a></li>
<li><a href="https://docs.djangoproject.com/en/2.1/topics/class-based-views/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Class-Based Views</a></li>
<li><a href="https://www.railstutorial.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rails Tutorial</a></li>
<li><a href="https://leanpub.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Leanpub</a></li>
<li><a href="https://gumroad.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gumroad</a></li>
<li><a href="https://stackoverflow.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stack Overflow</a></li>
<li><a href="https://egghead.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Egghead.io</a></li>
<li><a href="https://frontendmasters.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Frontend Masters</a></li>
<li><a href="https://www.gatsbyjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gatsby.js</a></li>
<li><a href="https://jekyllrb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jekyll</a></li>
<li><a href="http://pachyderm.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pachyderm</a></li>
<li><a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a>
<ul>
<li><a href="https://www.dataengineeringpodcast.com/epsiode-1-pachyderm-with-daniel-whitenack/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pachyderm Interview</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftechnical-authoring-with-william-vincent-episode-179%2F&amp;action_name=The+Business+Of+Technical+Authoring+With+William+Vincent+-+Episode+179&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-09-16t23:02:59+00:00-a7b78ced4c6a2e8</guid>
      <link>https://www.pythonpodcast.com/technical-authoring-with-william-vincent-episode-179</link>
      <pubDate>Mon, 17 Sep 2018 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="116.81" duration="19.62">And as you mentioned, your initial career trajectory wasn't as a developer. So I'm wondering if you can talk a bit about your motivation and experience of actually going from reading through and practicing some of those introductory tutorials to actually then working as a developer professionally.</podcast:soundbite>
      <podcast:soundbite startTime="195.74" duration="27.73">And when you were first going through those stages of learning to program and learning to write web applications, what was your overall impression of the options available for web development in Python, such as Django and Flask versus some of the other options, such as Ruby on Rails or Node and Express in the script world or some of the other libraries and frameworks and languages such as Java or others?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:38</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Business Of Technical Authoring With William Vincent</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>179</itunes:episode>
      <podcast:episode>179</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304283200210f44a44c2-dfca-4f0c-aa38-5a175721e989v1.mp3" length="40149695" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304283200210f44a44c2-dfca-4f0c-aa38-5a175721e989v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f44a44c2-dfca-4f0c-aa38-5a175721e989638558808283371865.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f44a44c2-dfca-4f0c-aa38-5a175721e989638558808279145398.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f44a44c2-dfca-4f0c-aa38-5a175721e989638558808277142344.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Keep Your Code Clean Using pre-commit with Anthony Sottile</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Anthony Sottile about pre-commit, a framework for managing and maintaining hooks for multiple languages</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what a pre-commit hook is and some of the ways that they are useful for developers?</li>
<li>What was you motivation for creating a framework to manage your pre-commit hooks?
<ul>
<li>How does it differ from other projects built to manage these hooks?</li>
</ul>

<p></li><br>
<li>What are the steps for getting someone started with pre-commit in a new project?</li><br>
<li>Which other event hooks would be most useful to implement for maintaining the health of a repository?</li><br>
<li>What types of operations are most useful for ensuring the health of a project?</li><br>
<li>What types of routines should be avoided as a pre-commit step?</li><br>
<li>Installing the hooks into a user&#8217;s local environment is a manual step, so how do you ensure that all of your developers are using the configured hooks?</p>

<ul>
<li>What factors have you found that lead to developers skipping or disabling hooks?</li>
</ul>

<p></li><br>
<li>How is pre-commit implemented and how has that design evolved from when you first started?</p>

<ul>
<li>What have been the most difficult aspects of supporting multiple languages and package managers?</li>
<li>What would you do differently if you started over today?</li>
<li>Would you still use Python?</li>
</ul>

<p></li><br>
<li>For someone who wants to write a plugin for pre-commit, what are the steps involved?</li><br>
<li>What are some of the strangest or most unusual uses of pre-commit hooks that you have seen?</li><br>
<li>What are your plans for the future of pre-commit?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/asottile?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">asottile</a> on GitHub</li>
<li><a href="https://twitter.com/codewithanthony?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@codewithanthony</a> on Twitter</li>
<li><a href="https://www.twitch.tv/anthonywritescode?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">anthonywritescode</a> on twitch</li>
<li><a href="https://www.youtube.com/channel/UC46xhU1EH7aywEgvA9syS3w?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">anthonywritescode</a> on YouTube</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt2854926/?ref_=nv_sr_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tag</a></li>
</ul>

<p></li><br>
<li>Anthony</p>

<ul>
<li><a href="https://www.youtube.com/channel/UCvK4bOhULCpmLabd2pDMtnA?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yes Theory</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://pre-commit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pre-commit</a>
<ul>
<li><a href="https://pre-commit.com/hooks.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">List of hooks</a></li>
</ul>

<p></li><br>
<li><a href="https://www.lyft.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lyft</a></p>

<ul>
<li><a href="https://www.lyft.com/careers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Careers</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/Git?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git</a></li><br>
<li><a href="https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git hooks</a></p>

<ul>
<li><a href="https://githooks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://githooks.com/?utm_source=rss&utm_medium=rss</a></li>
</ul>

<p></li><br>
<li><a href="http://flake8.pycqa.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flake8</a></li><br>
<li><a href="https://linux.die.net/man/1/make?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Make</a></li><br>
<li><a href="https://tox.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tox</a></li><br>
<li><a href="https://mypy.readthedocs.io/en/latest/getting_started.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Type Annotations</a></li><br>
<li><a href="http://man7.org/linux/man-pages/man1/xargs.1.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">xargs</a></li><br>
<li><a href="https://linux.die.net/man/1/bash?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bash</a></li><br>
<li><a href="https://docs.python.org/3/library/shlex.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">shlex</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpre-commit-with-anthony-sottile-episode-178%2F&amp;action_name=Keep+Your+Code+Clean+Using+pre-commit+with+Anthony+Sottile+-+Episode+178&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-09-10t01:54:37+00:00-669fa1be122efe4</guid>
      <link>https://www.pythonpodcast.com/pre-commit-with-anthony-sottile-episode-178</link>
      <pubDate>Mon, 10 Sep 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="559.28" duration="35.43">Yeah. For me, if it takes more than a couple of seconds, it probably doesn't belong in pre commit. Pre commit the GitHub. And given that some of the most useful state steps for that pre commit stage are the fast running ones. And you mentioned some of the linters or code formatters, but I'm curious what other types of operations you've seen people put into that stage of the life cycle to help improve the cleanliness and health of the code base or the productivity of the developer?</podcast:soundbite>
      <podcast:soundbite startTime="1362.21" duration="25.32">Yeah. So for the future direction of the project, I think most of what needs to happen is more hooks providing metadata so that they're easy to use out of the box, additional language support to encourage other hooks to be integrated into the into the, community, probably also additional get life cycle hooks and maybe even other version control systems.</podcast:soundbite>
      <podcast:soundbite startTime="177.36" duration="40.65">Yeah. So I actually had my own terrible 100 several 100 line Python script that did basically the same thing, and I checked it into all of my repositories and had this precommit dot py script that drifted and was pretty terrible and 1 off every time. And I found that it really just didn't scale to projects that I wanted to work on. Keeping a giant bash script or giant Python script in sync and installed across a bunch of different developers just really wasn't something that I was interested in doing. So I wanted a way to have a smaller declarative set of metadata that described what hooks should be run and allow that to be configured per repository.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:24:52</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Keep Your Code Clean Using pre-commit with Anthony Sottile</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>178</itunes:episode>
      <podcast:episode>178</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297147687019fcdf593c-e36c-437b-bc4f-079a28c97edcv1.mp3" length="17633749" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297147687019fcdf593c-e36c-437b-bc4f-079a28c97edcv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fcdf593c-e36c-437b-bc4f-079a28c97edc638558787636780616.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fcdf593c-e36c-437b-bc4f-079a28c97edc638558787634794304.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fcdf593c-e36c-437b-bc4f-079a28c97edc638558787632686450.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Infection Monkey Vulnerability Scanner with Daniel Goldberg</title>
      <description><![CDATA[<h3>Summary</h3>

<p>How secure are your servers? The best way to be sure that your systems aren&#8217;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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Daniel Goldberg about Infection Monkey, an open source system breach simulation tool for evaluating the security of your network</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is infection monkey and what was the reason for building it?
<ul>
<li>What was the reasoning for building it in Python?</li>
<li>If you were to start over today what would you do differently?</li>
</ul>

<p></li><br>
<li>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?</p>

<ul>
<li>How does a deployed instance keep up to date with recent exploits and attack vectors?</li>
</ul>

<p></li><br>
<li>How does Infection Monkey compare to other tools such as Nessus and Nexpose?</li><br>
<li>What are some examples of the types of vulnerabilities that can be discovered by Infection Monkey?</li><br>
<li>What kinds of information can Infection Monkey discover during a scan?</p>

<ul>
<li>How does that information get reported to the user?</li>
<li>How much security experience is necessary to understand and address the findings in a given report generated from a scan?</li>
</ul>

<p></li><br>
<li>What techniques do you use to ensure that the simulated compromises can be safely reverted?</li><br>
<li>What are some aspects of network security and system vulnerabilities that Infection Monkey is unable to detect and/or analyze?</li><br>
<li>For someone who is interested in using Infection Monkey what are the steps involved in getting it set up?</p>

<ul>
<li>What is the workflow for running a scan?</li>
<li>Is Infection Monkey intended to be run continuously, or only with the interaction of an operator?</li>
</ul>

<p></li><br>
<li>What are your plans for the future of Infection Monkey?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/danielguardicore?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">danielguardicore</a> on GitHub</li>
<li><a href="https://www.guardicore.com/author/danielgguardicore-com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Guardicore Blog</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://officialdarkesthour.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Darkest Hour</a></li>
</ul>

<p></li><br>
<li>Daniel</p>

<ul>
<li><a href="http://web.mit.edu/2.75/resources/random/How%20Complex%20Systems%20Fail.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How Complex Systems Fail</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.guardicore.com/infectionmonkey/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Infection Monkey</a></li>
<li><a href="https://www.guardicore.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Guardicore</a></li>
<li><a href="https://stackoverflow.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stack Overflow</a></li>
<li><a href="https://www.metasploit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Metasploit</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AsyncIO</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React</a></li>
<li><a href="https://www.tenable.com/products/nessus/nessus-professional?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nessus</a></li>
<li><a href="https://www.rapid7.com/products/nexpose/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nexpose</a></li>
<li><a href="https://en.wikipedia.org/wiki/Shellshock_(software_bug)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shellshock</a></li>
<li><a href="https://en.wikipedia.org/wiki/WannaCry_ransomware_attack?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wannacry</a></li>
<li><a href="https://github.com/Netflix/SimianArmy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Simian Army</a></li>
<li><a href="https://principlesofchaos.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chaos Engineering</a></li>
<li><a href="https://en.wikipedia.org/wiki/Capuchin_monkey?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Capuchin Monkey</a></li>
<li><a href="https://summerofcode.withgoogle.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Summer of Code</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Finfection-monkey-vulnerability-scanner-with-daniel-goldberg-episode-177%2F&amp;action_name=Infection+Monkey+Vulnerability+Scanner+with+Daniel+Goldberg+-+Episode+177&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-09-03t19:09:42+00:00-28e7aefa4b34b2e</guid>
      <link>https://www.pythonpodcast.com/infection-monkey-vulnerability-scanner-with-daniel-goldberg-episode-177</link>
      <pubDate>Mon, 3 Sep 2018 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="614.10" duration="39.42">Probably the biggest challenge is this means saying no to a lot of features that people want us to want me to add or stuff I wanna add. Because in order to have an easy to use tool, this needs to be a simple and safe tool. Simple means I don't need to to involve you as the user with all the little details of what exact exploit am I running, with what parameters, and how exactly do I separate between Windows and Linux and different types of Linux machines. And safe means you need to be able to run this in your network and say, okay, this is safe to run, this is good enough, and you're not worried that it's gonna crash your servers or it's gonna take up too much CPU time.</podcast:soundbite>
      <podcast:soundbite startTime="217.36" duration="25.74">So the infection monkey, the fancy name it's a breach simulation tool. What this practically means is it's a security tool that, that tests what happens when you're actually breached. Blaine in a story ways there's a lot of tools that say are you vulnerable, to different types of attacks. There's very few tools that say, okay, your network got breached, now what happens? Attackers got in, what can they get out?</podcast:soundbite>
      <podcast:soundbite startTime="1894.14" duration="35.31">I think the question should be why is such a simple project so effective should always come up. Because the infection market when you get down to it is really testing the basics of network security. We're not doing anything that really requires a human pen tester. And the shameful part is just how many places that I end up seeing this run-in don't pass the basic security bar. So many of them are just like okay, we can't even get a handle on our own networks and the infection monkey without any thinking just blows apart the network.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:24</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Infection Monkey Vulnerability Scanner with Daniel Goldberg</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>177</itunes:episode>
      <podcast:episode>177</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307912375816ec3e0df2-d81e-42ff-96d2-8eb2b5c1c04fv1.mp3" length="23518473" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307912375816ec3e0df2-d81e-42ff-96d2-8eb2b5c1c04fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ec3e0df2-d81e-42ff-96d2-8eb2b5c1c04f638558822951886965.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ec3e0df2-d81e-42ff-96d2-8eb2b5c1c04f638558822949818074.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ec3e0df2-d81e-42ff-96d2-8eb2b5c1c04f638558822947343269.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Fast Stream Processing In Python Using Faust with Ask Solem</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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&#8217;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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ask Solem about Faust, a library for building high performance, high throughput streaming systems in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Faust and what was your motivation for building it?
<ul>
<li>What were the initial project requirements that led you to use Kafka as the primary infrastructure component for Faust?</li>
</ul>

<p></li><br>
<li>Can you describe the architecture for Faust and how it has changed from when you first started writing it?</p>

<ul>
<li>What mechanism does Faust use for managing consensus and failover among instances that are working on the same stream partition?</li>
</ul>

<p></li><br>
<li>What are some of the lessons that you learned while building Celery that were most useful to you when designing Faust?</li><br>
<li>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?</li><br>
<li>What has been the most interesting/unexpected/difficult aspects of building and maintaining Faust?</li><br>
<li>What have you found to be the most challenging aspects of building streaming applications?</li><br>
<li>What was the reason for releasing Faust as an open source project rather than keeping it internal to Robinhood?</li><br>
<li>What would be involved in adding support for alternate queue or stream implementations?</li><br>
<li>What do you have planned for the future of Faust?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/asksol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@asksol</a> on Twitter</li>
<li><a href="https://github.com/ask?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ask</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/2BQZOiQ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Super Troopers 2</a></li>
</ul>

<p></li><br>
<li>Ask</p>

<ul>
<li><a href="https://amzn.to/2PGjk4e?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsound</a> by Curtis Roads</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://faust.readthedocs.io/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Faust</a></li>
<li><a href="https://www.robinhood.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RobinHood</a></li>
<li><a href="https://kafka.apache.org/documentation/streams/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kafka Streams</a></li>
<li><a href="http://www.rabbitmq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RabbitMQ</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AsyncIO</a></li>
<li><a href="http://www.celeryproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="http://kafka.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kafka</a></li>
<li><a href="https://www.confluent.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Confluent</a></li>
<li><a href="https://en.wikipedia.org/wiki/Write-ahead_logging?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Write-Ahead Log</a></li>
<li><a href="https://rocksdb.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RocksDB</a></li>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li>
<li><a href="http://pulsar.incubator.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pulsar</a></li>
<li><a href="https://www.confluent.io/product/ksql/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KSQL</a></li>
<li><a href="http://ilpubs.stanford.edu:8090/483/1/2000-7.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Exactly Once Semantics</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ffast-stream-processing-in-python-using-faust-with-ask-solem-episode-176%2F&amp;action_name=Fast+Stream+Processing+In+Python+Using+Faust+with+Ask+Solem+-+Episode+176&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-08-27t00:34:21+00:00-10cba6d54bad124</guid>
      <link>https://www.pythonpodcast.com/fast-stream-processing-in-python-using-faust-with-ask-solem-episode-176</link>
      <pubDate>Mon, 27 Aug 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="83.60" duration="37.91">So can you start by talking a bit about what the FAUST project is and your motivation for building it initially? Yeah. So at Robinhood, we are a financial institution. We process market orders and, do risk and fraud checks and things like that. And to do that we have many batch jobs that run-in the evening and they're becoming so many that we are having problems, processing it all before the next market day opens. So we needed something to do stream processing with.</podcast:soundbite>
      <podcast:soundbite startTime="251.44" duration="59.39">And so can you discuss the internal architecture of the library itself and some of the components that it consists of? Yeah. So the internal internally, the worker is composed out of many different small services that are started and stopped in a certain order. And we also have supervisors that handle failures to restart and, yeah. I don't know if you wanna dig into the, asynchronous aspects of it and some of the, design challenges that you faced while building it up. Yeah. I mean, the architecture is based on asyncio. So, it's a library that you can drop into any asyncio program, like your web server or network server or whatever it is that using asyncio. And you can actually run alongside it just fine. If you think about, like, Celery, you need to start it separately from your web server, but files can actually run-in the web server itself, which I think is is it's kinda cool.</podcast:soundbite>
      <podcast:soundbite startTime="801.43" duration="55.98">And also, you mentioned that Faust has the capacity of storing data as well using the Rocks DB layer. And in terms of a high availability topology, do you have a synchronization mechanism for being able to replicate that information, or do the standbys just process all of the tasks in the same manner as the primary to manage that consistency? Yeah. They so we have tables. Tables are basically just a Python dictionary that you can update. But whenever you change something in it, we send a message to Kafka. So if the process dies, the worker dies. And so if the, if the worker dies, it will read the change log to be, to get up to date, get back up to date. And we also have standby nodes. So for every table, we have 3 or more standby nodes that are ready to take over if 1 of the nodes fail.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:28:45</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Fast Stream Processing In Python Using Faust with Ask Solem</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>176</itunes:episode>
      <podcast:episode>176</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298506898605cc876e7d-e39d-4cec-9399-1ac2c77111c0v1.mp3" length="18712775" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298506898605cc876e7d-e39d-4cec-9399-1ac2c77111c0v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_cc876e7d-e39d-4cec-9399-1ac2c77111c0638558792519655129.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/cc876e7d-e39d-4cec-9399-1ac2c77111c0638558792517484061.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/cc876e7d-e39d-4cec-9399-1ac2c77111c0638558792515584874.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Don't Just Stand There, Get Programming! with Ana Bell</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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.&#95;&#95;init&#95;&#95; listeners at <a href="https://www.pythonpodcast.com/get-programming?utm_source=rss&utm_medium=rss">podcastinit.com/get-programming</a> using code: Bell40!</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ana Bell about her book, Get Programming: Learn to code with Python, and her approach to teaching how to code</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing your motivation for writing a book about learning to program?
<ul>
<li>Who is the target audience for this book?</li>
<li>What level of competence do you want the reader to have when they have completed it?</li>
</ul>

<p></li><br>
<li>What were the most challenging aspects of writing a book for beginning programmers?</p>

<ul>
<li>What did you do to recapture the &#8220;beginner mind&#8221; while writing?</li>
</ul>

<p></li><br>
<li>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?</li><br>
<li>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?</p>

<ul>
<li>How do you decide what to include and what to leave out when writing about learning how to program?</li>
</ul>

<p></li><br>
<li>What advice do you have for people who have read your book and want to continue on to a career in development?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://www.mit.edu/~anabell/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT Bio</a></li>
<li><a href="https://www.twitter.com/anabellphd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@anabellphd</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://my-netdata.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Netdata</a></li>
</ul>

<p></li><br>
<li>Ana</p>

<ul>
<li><a href="https://amzn.to/2Poj5uu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Star Realms</a></li>
<li><a href="https://amzn.to/2OPaS1n?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Between Two Cities</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.pythonpodcast.com/get-programming?utm_source=rss&utm_medium=rss">Get Programming</a> by Ana Bell</li>
<li><a href="https://www.edx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">edX</a></li>
<li><a href="http://web.mit.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT</a></li>
<li><a href="https://en.wikipedia.org/wiki/Machine_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning</a></li>
<li><a href="https://github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgetting-programming-with-ana-bell-episode-175%2F&amp;action_name=Don%27t+Just+Stand+There%2C+Get+Programming%21+with+Ana+Bell+-+Episode+175&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-08-20t04:02:26+00:00-097bf367f1d54e9</guid>
      <link>https://www.pythonpodcast.com/getting-programming-with-ana-bell-episode-175</link>
      <pubDate>Mon, 20 Aug 2018 04:00:00 +0000</pubDate>
      <podcast:soundbite startTime="622.79" duration="22.09">Yes. So I guess, yes, I have been programming for a while. And but I have I have been around beginner programmings for the past 5 years, so I've taught the intro programming course at MIT. So I, you know, so I am familiar with teaching programming to nonprogrammers. But having said that, the MIT course moves really fast, and it's really hard.</podcast:soundbite>
      <podcast:soundbite startTime="365.56" duration="26.08">If you want to make a career out of it, you'll need a little bit more training, a lot, and a lot more practice than I would I, you know, what I show in the book. But if you don't wanna make a career out of it, then, what I hope this book accomplishes is just a demystified programming. Right? So I just wanted to show that, you know, my target audience is just some people who, you know, who can see programming as a way to improve day to day tasks that you traditionally do by hand.</podcast:soundbite>
      <podcast:soundbite startTime="225.08" duration="28.10">So I I felt like there were so many people who were starting to see that programming can can be useful in fields that haven't really traditionally had gone hand in hand with computer science. So these are fields like, like biology, which was, when I was doing my research in or education or even sports. Right? And that's just really true. You know, just because they're fields that aren't traditionally, you know, computer science fields doesn't mean you can't really apply.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:35:08</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Don't Just Stand There, Get Programming! with Ana Bell</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>175</itunes:episode>
      <podcast:episode>175</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252994471081665555ae0b-b3ca-4c19-b429-29fcc751e28av1.mp3" length="24109061" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252994471081665555ae0b-b3ca-4c19-b429-29fcc751e28av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_5555ae0b-b3ca-4c19-b429-29fcc751e28a638558795825370336.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5555ae0b-b3ca-4c19-b429-29fcc751e28a638558795823060652.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5555ae0b-b3ca-4c19-b429-29fcc751e28a638558795821164272.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Masonite Web Framework With Joe Mancuso</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Joe Mancuso about Masonite, the modern and developer centric python web framework.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Masonite and what was the motivation for creating it?
<ul>
<li>How does it fit in the current landscape of Python web frameworks?</li>
</ul>

<p></li><br>
<li>Why might someone choose to use Masonite over Python frameworks?</p>

<ul>
<li>If someone isn&#8217;t already decided on using Python, what are some reasons that they might choose Masonite over frameworks in other languages?</li>
</ul>

<p></li><br>
<li>Can you describe the framework architecture and how it has evolved over the lifetime of the project?</li><br>
<li>What are some examples of projects that have been built with Masonite and what aspects of the framework are they leveraging?</li><br>
<li>For someone who is starting a new project with Masonite what are some of the concepts that they should be familiar with?</p>

<ul>
<li>What is their workflow for starting their project?</li>
<li>How does that workflow change when working with an existing application?</li>
</ul>

<p></li><br>
<li>What are some of the plans that you have for the future of Masonite?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Joe
<ul>
<li><a href="https://dev.to/josephmancuso?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/masoniteproject?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@masoniteproject</a> on Twitter</li>
<li><a href="https://github.com/josephmancuso?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">josephmancuso</a> on GitHub</li>
</ul>

<p></li><br>
<li>Masonite</p>

<ul>
<li><a href="https://github.com/MasoniteFramework/masonite?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MasoniteFramework</a> on GitHub</li>
<li><a href="https://docs.masoniteproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docs</a></li>
<li><a href="http://slack.masoniteproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slack</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.yeti.com/drinkware?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yeti Mugs</a></li>
</ul>

<p></li><br>
<li>Joe</p>

<ul>
<li><a href="https://gitbook.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitbook.io</a></li>
<li><a href="https://dev.to?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dev.to</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://github.com/MasoniteFramework/masonite?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Masonite</a> on GitHub</li>
<li><a href="https://www.codecademy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Codecademy</a></li>
<li><a href="http://www.php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://laravel.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Laravel</a></li>
<li><a href="https://stackoverflow.com/questions/1638919/how-to-explain-dependency-injection-to-a-5-year-old?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dependency Injection</a></li>
<li><a href="https://stackoverflow.com/questions/3058/what-is-inversion-of-control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inversion of Control</a></li>
<li><a href="https://wsgi.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WSGI</a></li>
<li><a href="http://gunicorn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gunicorn</a></li>
<li><a href="https://docs.pylonsproject.org/projects/waitress/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Waitress</a></li>
<li><a href="https://www.nexmo.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nexmo</a></li>
<li><a href="http://slack.masoniteproject.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Masonite Slack</a></li>
<li><a href="https://twitter.com/mpjme?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mathias Johansson</a></li>
<li><a href="https://trello.com/tobiasmacey/recommend?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trello</a></li>
<li><a href="https://twitter.com/masoniteproject?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@masoniteproject</a></li>
<li><a href="https://github.com/MasoniteFramework/masonite?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Masonite Repo</a></li>
<li><a href="https://docs.masoniteproject.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Masonite Documentation</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmasonite-with-joe-mancuso-episode-174%2F&amp;action_name=The+Masonite+Web+Framework+With+Joe+Mancuso+-+Episode+174&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-08-12t22:34:08+00:00-2211000410fae61</guid>
      <link>https://www.pythonpodcast.com/masonite-with-joe-mancuso-episode-174</link>
      <pubDate>Mon, 13 Aug 2018 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="130.86" duration="21.63">So what Masonite is, it's a batteries included Python web framework that's going to rival Django. So a lot of the time they kind of compare Mesa and Django and how Masonite might fit in, but I'm kind of designing it to compete directly with it. So I mean eventually hopefully there'll be maybe Flask and Masonite and Django could can be 3rd. We'll see.</podcast:soundbite>
      <podcast:soundbite startTime="374.74" duration="25.82">So the architectural design principles that I I sort of took from other projects was Laravel. So Laravel obviously has the, IOC container, and the entire framework is kind of built around this IOC container, and they have this, like, auto resolving dependency injections. They have all these, like, design principles and and the manager, pattern and stuff like that.</podcast:soundbite>
      <podcast:soundbite startTime="1400.10" duration="35.44">So the major difference between a Django selection and a Masonite selection is that they're really coming from 2 completely different worlds, which is weird to say because they're they're basically implementing the same thing, right? They're basically django is to build, you know, software applications on the web and Masonite is to build software applications on the web and but they're coming from 2 different paradigms where you should really pick the 1 that makes sense for you and not necessarily the 1 that's that's better or it just if you're building an application, it needs to make sense what the heck you're doing.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:20</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Masonite Web Framework With Joe Mancuso</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>174</itunes:episode>
      <podcast:episode>174</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299054003055bbbaf2c1-e7e9-4a09-922d-24ba5517b2dav1.mp3" length="41621484" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299054003055bbbaf2c1-e7e9-4a09-922d-24ba5517b2dav1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_bbbaf2c1-e7e9-4a09-922d-24ba5517b2da638558794524255513.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bbbaf2c1-e7e9-4a09-922d-24ba5517b2da638558794520442886.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bbbaf2c1-e7e9-4a09-922d-24ba5517b2da638558794518631923.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Helping Teacher's Bring Python Into The Classroom With Nicholas Tollervey</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nicholas Tollervey about his efforts to improve the accessibility of Python for educators</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How has your experience as a teacher influenced your work as a software engineer?</li>
<li>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?
<ul>
<li>What are your views on the reasons that computational literacy is important for students?</li>
</ul>

<p></li><br>
<li>What are some of the most difficult barriers that need to be overcome for students to engage with Python?</p>

<ul>
<li>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?</li>
<li>At what age range do you think we should be trying to engage students with programming?</li>
</ul>

<p></li><br>
<li>When the teacher&#8217;s day was introduced as part of the education summit for PyCon UK what was the initial reception from the educators who attended?</p>

<ul>
<li>How has the format for the teacher&#8217;s portion of the conference changed in the subsequent years?</li>
<li>What have been some of the most useful or beneficial aspects for the teacher&#8217;s and how much engagement occurs between the conferences?</li>
</ul>

<p></li><br>
<li>What was your involvement in the initiative that brought the BBC micro:bit to UK classrooms?</p>

<ul>
<li>What kinds of feedback have you gotten from students who have had an opportunity to use them?</li>
<li>What are some of the most interesting or unexpected uses of the micro:bit that you have seen?</li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/ntoll?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ntoll</a> on Twitter</li>
<li><a href="https://github.com/ntoll?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ntoll</a> on GitHub</li>
<li><a href="http://ntoll.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.penguinrandomhouseaudio.com/narrator/24658/philip-pullman/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Dark Materials Trilogy Audiobooks</a> by Phillip Pullman</li>
</ul>

<p></li><br>
<li>Nicholas</p>

<ul>
<li><a href="http://andrewsmithauthor.com/AndrewSmith/MOONDUST.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moon Dust</a> by Andrew Smith</li>
<li><a href="http://andrewsmithauthor.com/AndrewSmith/TOTALLY_WIRED.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Totally Wired</a> by Andrew Smith</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://ntoll.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ntoll.org</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tuba?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tuba</a></li>
<li><a href="http://www.rcm.ac.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Royal College of Music</a></li>
<li><a href="https://www.fry-it.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fry IT</a></li>
<li><a href="https://micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-15-damien-george-talks-to-us-about-micropython/?utm_source=rss&utm_medium=rss">Podcast Interview With Damien George</a></li>
</ul>

<p></li><br>
<li><a href="http://shop.oreilly.com/product/0636920056515.do?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython Book</a></li><br>
<li><a href="https://codewith.mu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mu</a></li><br>
<li><a href="https://scratch.mit.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scratch</a></li><br>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li><br>
<li><a href="https://www.europython-society.org/post/112170449285/farewell-to-john-pinner?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">John Pinner</a></li><br>
<li><a href="http://ldnpydojo.org.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">London Python Code Dojo</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Alan_Turing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alan Turing</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Tim_Berners-Lee?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tim Berners-Lee</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Charles_Babbage?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Charles Babbage</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">REPL (Read-Eval-Print Loop</a></li><br>
<li><a href="http://mauveweb.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Daniel Pope</a></li><br>
<li><a href="https://www.pygame.org/news?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGame</a></li><br>
<li><a href="https://www.raspberrypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi Foundation</a></li><br>
<li><a href="https://pygame-zero.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGame Zero</a></li><br>
<li><a href="http://networkzero.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Network Zero</a></li><br>
<li><a href="https://gpiozero.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPIO Zero</a></li><br>
<li><a href="https://www.computingatschool.org.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computing At School</a></li><br>
<li><a href="http://www.bbc.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BBC</a></li><br>
<li><a href="https://www.python.org/psf/displays?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PSF</a></li><br>
<li><a href="https://www.touchdevelop.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TouchDevelop</a></li><br>
<li><a href="https://www.typescriptlang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TypeScript</a></li><br>
<li><a href="http://dpgeorge.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Damien George</a></li><br>
<li><a href="https://www.arm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ARM</a></li><br>
<li><a href="https://codekingdoms.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code Kingdoms</a></li><br>
<li><a href="http://microbit.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">micro:bit</a></li><br>
<li><a href="https://www.home.barclays/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Barclay&#8217;s</a></li><br>
<li><a href="https://us.pycon.org/2018/events/edusummit/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon US Education Summit</a></li><br>
<li><a href="https://www.raspberrypi.org/education/programmes/code-club/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi Foundation Code Club</a></li><br>
<li><a href="https://youtu.be/VJ0vibC_Hl0?t=1h7m48s&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qumisha Goss Keynote</a></li><br>
<li><a href="https://www.adafruit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adafruit</a></li><br>
<li><a href="https://learn.adafruit.com/welcome-to-circuitpython/what-is-circuitpython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CircuitPython</a></li><br>
<li><a href="https://www.adafruit.com/category/168?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NeoPixel</a></li><br>
<li><a href="https://store.micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyBoard</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Feducation-with-nicholas-tollervey-episode-173%2F&amp;action_name=Helping+Teacher%27s+Bring+Python+Into+The+Classroom+With+Nicholas+Tollervey+-+Episode+173&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-08-06t02:02:20+00:00-f0f4bae5de0cc24</guid>
      <link>https://www.pythonpodcast.com/education-with-nicholas-tollervey-episode-173</link>
      <pubDate>Mon, 6 Aug 2018 05:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2279.99" duration="24.58">Another way that you have been engaging in helping to bring Python to the classroom is through your involvement with the micro:bit program that the BBC put, put together. So how did you, get introduced to that initiative, and what was your role and some of the feedback that you've gotten as it has rolled out to these various classrooms?</podcast:soundbite>
      <podcast:soundbite startTime="542.03" duration="39.28">And in some ways, you can consider it maybe an obligation to help introduce newer generations and new people to some of the concepts and capabilities that computing can provide, not necessarily to become professional developers, but just to make them aware of the unknown unknowns as far as what is possible with a computer. And so from your experience, what have you found to be some of the most effective ways that practicing engineers can help to support those efforts for teachers and students as they are are working towards becoming computationally literate.</podcast:soundbite>
      <podcast:soundbite startTime="285.39" duration="43.92">And as somebody who has a background in teaching software in general? That's a really great question. I'm software in general? That's a really great question. I guess after dealing with teenagers, I'm extraordinarily patient. So teaching, I guess, was a baptism by fire. And so anything that I've ever encountered as a software engineer is, relatively speaking, at least, not that serious. For example, you know, the server has gone down well, at least nobody's been injured or anything like that.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:20</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Helping Teacher's Bring Python Into The Classroom With Nicholas Tollervey</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>173</itunes:episode>
      <podcast:episode>173</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253063367110068ba484f4-79d8-4e9c-889c-7bf93a53b4d7v1.mp3" length="56980820" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253063367110068ba484f4-79d8-4e9c-889c-7bf93a53b4d7v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8ba484f4-79d8-4e9c-889c-7bf93a53b4d7638558817495913086.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8ba484f4-79d8-4e9c-889c-7bf93a53b4d7638558817492225051.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8ba484f4-79d8-4e9c-889c-7bf93a53b4d7638558817490130764.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Continuous Delivery For Complex Systems Using Zuul with Monty Taylor</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Continuous integration systems are important for ensuring that you don&#8217;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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;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.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Zuul is and how the project got started?</li>
<li>How do you view Zuul in the broader landscape of CI/CD systems (e.g. GoCD, Jenkins, Travis, etc.)?</li>
<li>What is the workflow for someone who is defining a pipeline in Zuul?
<ul>
<li>How are the pipelines tested and promoted?</li>
<li>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?</li>
</ul>

<p></li><br>
<li>Can you describe the project architecture?</p>

<ul>
<li>What aspects of the architecture enable it to scale to large projects and teams?</li>
</ul>

<p></li><br>
<li>How difficult would it be to swap the Ansible integration for another orchestration tool?</li><br>
<li>What would be involved in adding support for additional version control systems?</li><br>
<li>What are your plans for the future of the project?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/emonty?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">emonty</a> on GitHub</li>
<li><a href="http://inaugust.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/e_monty?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@e_monty</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hitchhiker&#8217;s Guide To The Galaxy</a></li>
</ul>

<p></li><br>
<li>Monty</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/BoJack_Horseman?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bojack Horseman</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.redhat.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Red Hat</a></li>
<li><a href="https://zuul-ci.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zuul</a></li>
<li><a href="https://www.openstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack</a></li>
<li><a href="http://amo-probos.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jim Blair</a></li>
<li><a href="https://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="https://pypi.org/project/python-snpp/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SNPP</a></li>
<li><a href="https://www.rackspace.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rackspace</a></li>
<li><a href="https://www.nasa.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NASA</a></li>
<li><a href="https://launchpad.net/drizzle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Drizzle</a></li>
<li><a href="https://www.oracle.com/sun/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sun Microsystems</a></li>
<li><a href="https://dev.mysql.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li>
<li><a href="">Continuous Integration</a></li>
<li><a href="">Continuous Delivery</a></li>
<li><a href="https://launchpad.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Launchpad</a></li>
<li><a href="http://bazaar.canonical.com/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bzr</a></li>
<li><a href="https://jenkins.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jenkins</a></li>
<li><a href="https://twitter.com/jessfraz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jess Frazelle</a></li>
<li><a href="https://graphiteapp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphite</a></li>
<li><a href="https://github.com/etsy/statsd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StatsD</a></li>
<li><a href="http://graphite.openstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">graphite.openstack.org</a></li>
<li><a href="http://grafana.openstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">grafana.openstack.org</a></li>
<li><a href="https://launchpad.net/subunit/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">subunit</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://helm.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Helm</a></li>
<li><a href="https://softwarefactory-project.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Software Factory</a></li>
<li><a href="https://www.gerritcodereview.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gerrit</a></li>
<li><a href="https://git-scm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git</a></li>
<li><a href="https://www.perforce.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perforce</a></li>
<li><a href="https://subversion.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Subversion</a></li>
<li><a href="https://zookeeper.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zookeeper</a></li>
<li><a href="http://gearman.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gearman</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fzuul-with-monty-taylor-episode-172%2F&amp;action_name=Continuous+Delivery+For+Complex+Systems+Using+Zuul+with+Monty+Taylor+-+Episode+172&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-07-30t01:15:11+00:00-c0a9d5f2132e3d3</guid>
      <link>https://www.pythonpodcast.com/zuul-with-monty-taylor-episode-172</link>
      <pubDate>Mon, 30 Jul 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="3821.05" duration="31.39">We are a multi threaded Python application. So I I want to tell anybody who says that you cannot run multi threaded Python at scale, that that is not true. It is it is a fundamentally false assertion. And as with many things that have to do with scaling and optimization, everyone should always be aware of premature optimization. You do have to be aware of what the GIL is gonna do, but depending on what your application is, it may not really matter to you or you can structure it in such a way that it that it makes sense.</podcast:soundbite>
      <podcast:soundbite startTime="127.90" duration="21.31">And the Zuul project we're gonna talk today, grew out of that work. I've been working on the the CI and developer infrastructure systems for for OpenStack since since we put the project together. So if you have the time, I can always tell you old grandpa stories about back in the day, what we did, why we did it, and and bore you senseless. It's it's all sorts of fun.</podcast:soundbite>
      <podcast:soundbite startTime="1102.33" duration="23.53">And 1 of the things that I, really liked as I was looking through the documentation is the feature you were discussing as far as having the optimistic merges, and then test testing the resulting state. Because fundamentally, that's really the core and 1 of the most useful principles of continuous integration is that you're actually testing the integrated state of the system.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:07:02</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Continuous Delivery For Complex Systems Using Zuul with Monty Taylor</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>172</itunes:episode>
      <podcast:episode>172</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299190784979af77bf19-8f11-4e97-84cd-273bde4353dfv1.mp3" length="64368211" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299190784979af77bf19-8f11-4e97-84cd-273bde4353dfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_af77bf19-8f11-4e97-84cd-273bde4353df638558795220300750.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/af77bf19-8f11-4e97-84cd-273bde4353df638558795215306162.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/af77bf19-8f11-4e97-84cd-273bde4353df638558795213468179.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Michael Foord On Testing, Mock, TDD, And The Python Community</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Michael Foord mockingly, about his career in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>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?
<ul>
<li>How has the language and ecosystem support for testing evolved over the course of your career?</li>
<li>What are some of the areas that you find it to still be lacking?</li>
</ul>

<p></li><br>
<li>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?</p>

<ul>
<li>Mocking can be a controversial topic. What are your current thoughts on how and when to use mocks, stubs, and fixtures?</li>
</ul>

<p></li><br>
<li>How do you view the state of the art for testing in Python as it compares to other languages that you have worked in?</li><br>
<li>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?</li><br>
<li>What are some of the notable evolutions in Python and the software industry that you have experienced over your career?</li><br>
<li>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?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="mailto:michael@python.org">Email</a></li>
<li><a href="https://www.agileabstractions.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="http://www.twitter.com/voidspace?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.templarco.co.uk/templar-books/ology-world?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">-Ology Books</a></li>
</ul>

<p></li><br>
<li>Michael</p>

<ul>
<li><a href="https://www.imaginaryauthors.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Imaginary Authors</a></li>
<li><a href="https://www.imaginaryauthors.com/product/falling-into-the-sea/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Falling Into The Sea</a></li>
<li><a href="https://www.imaginaryauthors.com/product/a-city-on-fire/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">City On Fire</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://ironpython.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IronPython</a></li>
<li><a href="https://en.wikipedia.org/wiki/London?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">London</a></li>
<li><a href="https://www.manning.com/books/ironpython-in-action?&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IronPython in Action</a></li>
<li><a href="https://docs.python.org/dev/library/unittest.mock.html#module-unittest.mock?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mock</a></li>
<li><a href="https://docs.python.org/dev/library/unittest.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UnitTest</a></li>
<li><a href="https://en.wikipedia.org/wiki/Play-by-mail_game?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Play By Email</a></li>
<li><a href="https://en.wikipedia.org/wiki/Smalltalk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Smalltalk</a></li>
<li><a href="https://en.wikipedia.org/wiki/Regular_expression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Regular Expression</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dijkstra&#8217;s Algorithm</a></li>
<li><a href="https://docs.python.org/2/library/urllib2.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">urllib2</a></li>
<li><a href="https://en.wikipedia.org/wiki/Resolver_One?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Resolver Systems</a></li>
<li><a href="https://en.wikipedia.org/wiki/Test-driven_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TDD (Test-Driven Development)</a></li>
<li><a href="https://us.pycon.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon</a></li>
<li><a href="https://trent.me/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trent Nelson</a></li>
<li><a href="https://en.wikipedia.org/wiki/Fractal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fractals</a></li>
<li><a href="https://unicode.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unicode</a></li>
<li><a href="https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joel Spolsky (Unicode)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Object-oriented_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OOP (Object-Oriented Programming)</a></li>
<li><a href="https://www.softwaretestinghelp.com/what-is-end-to-end-testing/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">End-to-end Testing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Unit_testing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unit Testing</a></li>
<li><a href="https://www.canonical.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Canonical</a></li>
<li><a href="https://www.seleniumhq.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://www.ansible.com/products/tower?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible Tower</a>
<ul>
<li><a href="https://github.com/ansible/awx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AWX (Open Source Tower Codebase)</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/Continuous_integration?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Integration</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Continuous_delivery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Delivery</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Agile_software_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agile Software Development</a></li><br>
<li><a href="https://github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li><br>
<li><a href="https://about.gitlab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitLab</a></li><br>
<li><a href="https://jenkins.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jenkins</a></li><br>
<li><a href="http://nightwatchjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nightwatch.js</a></li><br>
<li><a href="https://docs.pytest.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">py.test</a></li><br>
<li><a href="https://martinfowler.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Martin Fowler</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Monkey_patch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monkey Patching</a></li><br>
<li><a href="https://realpython.com/primer-on-python-decorators/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Decorator</a></li><br>
<li><a href="http://eigenhombre.com/introduction-to-context-managers-in-python.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Context Manager</a></li><br>
<li><a href="https://docs.python.org/3/library/unittest.mock.html#auto-speccing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">autospec</a></li><br>
<li><a href="https://golang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Golang</a></li><br>
<li><a href="https://docs.python.org/3.7/library/2to3.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">2to3</a></li><br>
<li><a href="https://pythonhosted.org/six/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Six</a></li><br>
<li><a href="https://www.youtube.com/watch?v=66XoCk79kjM&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Instagram Keynote</a></li><br>
<li><a href="http://trans-code.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trans-code</a></li><br>
<li><a href="https://djangogirls.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Girls</a></li><br>
<li><a href="http://www.pyladies.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyLadies</a></li><br>
<li><a href="https://agileabstractions.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agile Abstractions</a></li><br>
<li><a href="https://www.dabeaz.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">David Beazley</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmichael-foord-on-testing-mock-tdd-and-the-python-community-episode-171%2F&amp;action_name=Michael+Foord+On+Testing%2C+Mock%2C+TDD%2C+And+The+Python+Community+-+Episode+171&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-07-23t01:22:53+00:00-ce935e113ffcace</guid>
      <link>https://www.pythonpodcast.com/michael-foord-on-testing-mock-tdd-and-the-python-community-episode-171</link>
      <pubDate>Mon, 23 Jul 2018 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1622.26" duration="33.14">So having mock objects is very useful. Back in 2006, the the standard reference from mocks was, a work by Martin Fowler on mock objects. And he defined a mock object itself to be an object that used the record and replay style of mocking. That was his definition of the the terminology. And that's where you configure in advance how you expect your mocks to be used. You call your code, and your mock either does nothing, in which case it works or it blows up because it was used in some way you didn't expect it to.</podcast:soundbite>
      <podcast:soundbite startTime="186.46" duration="31.77">And Python and programming became my passion again. I mean, not done any for for about a decade. I'm very bit before university. A bit of 68, 000 assembler on the Amiga, BBC Basic on the 8 bit BBC microcomputer. It was my first programming language. But I just I just became passionate about about Python and, got involved with the community because it was open source. I could start contributing, writing articles, ended up writing some documentation for URL lib 2, which got into the, the the Python documentation because the documentation at that time was pretty cool.</podcast:soundbite>
      <podcast:soundbite startTime="2917.30" duration="45.03">So I get to advertise. Yes. I I've made the transition. I was working with Red Hat Ansible up until, April this year. I'm now a full time time freelance software engineer, trainer, consultant, and coach. Agileabstractions.com is my website. I've been I've been teaching Python since 2011, mostly on behalf of David Beasley. And that's been the the most fun thing that I I I I enjoy teaching, introduction to Python for programmers. So people with, programmer experience getting them up to speed, with intermediate level Python, a 3 day course, and then Python mastery, which is teaching Python from the inside out and taking people up to Python in a in a 3 or 4 day course.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:55:12</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Michael Foord On Testing, Mock, TDD, And The Python Community</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>171</itunes:episode>
      <podcast:episode>171</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253033527185278e1ba44b-92ef-47dc-8c0c-4ac9bdc2df2bv1.mp3" length="37294013" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253033527185278e1ba44b-92ef-47dc-8c0c-4ac9bdc2df2bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8e1ba44b-92ef-47dc-8c0c-4ac9bdc2df2b638558804106861919.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8e1ba44b-92ef-47dc-8c0c-4ac9bdc2df2b638558804102396635.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8e1ba44b-92ef-47dc-8c0c-4ac9bdc2df2b638558804099464494.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Past, Present, and Future of Twisted with Moshe Zadka</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Join the community in the new Zulip chat workspace at <a href="https://www.pythonpodcast.com/chat?utm_source=rss&utm_medium=rss">podcastinit.com/chat</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Moshe Zadka about Twisted, the original multi-function tool for asynchronous operations and network protocols in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For anyone who isn&#8217;t familiar with Twisted can you share a brief overview of what it is?
<ul>
<li>What was the original motivation for creating it?</li>
<li>How did you get involved with the project and what is your current role in the team?</li>
</ul>

<p></li><br>
<li>How can people learn to use Twisted?</p>

<ul>
<li>What are some of the common difficulties that new users encounter?</li>
</ul>

<p></li><br>
<li>What did you learn working on Twisted?</li><br>
<li>Who uses Twisted?</p>

<ul>
<li>When is Twisted the wrong choice?</li>
<li>What are some examples of systems that aren&#8217;t using Twisted but should be?</li>
</ul>

<p></li><br>
<li>What are some of the ways that Twisted has evolved and changed over the years?</li><br>
<li>What are some of the ways people can support Twisted?</li><br>
<li>What are some of the plans for the future of Twisted?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://cobordism.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moshe Zadka</a></li>
<li>Twisted
<ul>
<li><a href="https://twistedmatrix.com/trac/wiki/TwistedCommunity#MailLists?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
<li><a href="https://twistedmatrix.com/trac/wiki/TwistedCommunity#IRC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IRC</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/2Jqy7vJ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Leatherman Wave+</a></li>
</ul>

<p></li><br>
<li>Moshe</p>

<ul>
<li><a href="https://unsongbook.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unsong Book</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://twistedmatrix.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a></li>
<li><a href="https://glyph.twistedmatrix.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Glyph Lefkowitz</a></li>
<li><a href="https://en.wikipedia.org/wiki/Internet_Relay_Chat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IRC</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0492/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">async/await</a></li>
<li><a href="https://pyvideo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyvideo</a></li>
<li><a href="https://www.youtube.com/watch?v=ztkBG4qLR_4&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon 2017 Tutorial</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">asyncio</a></li>
<li><a href="https://www.gtk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GTK</a></li>
<li><a href="https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SNMP</a></li>
<li><a href="http://gunicorn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gunicorn</a></li>
<li><a href="https://uwsgi-docs.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">uWSGI</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0333/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WSGI</a></li>
<li><a href="https://www.nginx.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nginx</a></li>
<li><a href="http://supervisord.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Supervisor</a></li>
<li><a href="https://docs.python.org/2/library/asynchat.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">asynchat</a></li>
<li><a href="https://docs.python.org/2/library/asyncore.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">asyncore</a></li>
<li><a href="https://ncolony.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ncolony</a></li>
<li><a href="https://twistedmatrix.com/trac/wiki/UltimateQualityDevelopmentSystem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Ultimate Quality Development System</a>
<ul>
<li><a href="https://opensource.com/article/18/2/uqds?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moshe&#8217;s article on UQDS</a></li>
</ul>

<p></li><br>
<li><a href="https://www.python.org/dev/peps/pep-0414/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unicode prefix</a></li><br>
<li><a href="http://python3porting.com/2to3.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">2to3</a></li><br>
<li><a href="https://pythonhosted.org/six/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Six</a></li><br>
<li><a href="">Unit Tests</a></li><br>
<li><a href="https://automat.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automat</a></li><br>
<li><a href="https://lamport.azurewebsites.net/tla/tla.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TLA+</a></p>

<ul>
<li><a href="https://youtu.be/LAEXHua4MQQ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon CA Presentation</a></li>
</ul>

<p></li><br>
<li><a href="http://sans-io.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sans IO</a></p>

<ul>
<li><a href="https://www.youtube.com/watch?v=7cC3_jGwl_U&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cory Benfield&#8217;s talk</a></li>
</ul>

<p></li><br>
<li><a href="https://twisted.github.io/tubes/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tubes</a></li><br>
<li><a href="https://github.com/python-hyper?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hyper</a></li><br>
<li><a href="https://python-hyper.org/h2/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">H2</a></li><br>
<li><a href="https://h11.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">H11</a></li><br>
<li><a href="https://www.calendarserver.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apple Calendar Server</a> <a href="https://github.com/apple/ccs-calendarserver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li><br>
<li><a href="https://duo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Duo Security</a> using <a href="http://cyclone.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cyclone</a></li><br>
<li><a href="https://matrix.org/blog/home/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matrix</a> &#8212; <a href="https://matrix.org/blog/2018/04/26/matrix-and-riot-confirmed-as-the-basis-for-frances-secure-instant-messenger-app/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Used by French government</a></li><br>
<li><a href="https://aiohttp.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AIOHTTP</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftwisted-with-moshe-zadka-episode-170%2F&amp;action_name=The+Past%2C+Present%2C+and+Future+of+Twisted+with+Moshe+Zadka+-+Episode+170&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-07-15t16:45:26+00:00-7b474c4a5b4f2fa</guid>
      <link>https://www.pythonpodcast.com/twisted-with-moshe-zadka-episode-170</link>
      <pubDate>Mon, 16 Jul 2018 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1054.31" duration="34.50">So, obviously, we've added features, removed bugs, but I think the biggest, evolution we've had is, adopting much more rigorous development process. So we've sort of gone from 1 extreme to the other. In the beginning, it was kind of cowboy, and everything got checked into right into master without any thought. And we've developed a very rigorous and exception free process called, the ultimate quality development system that I think by now is pretty much what everybody does.</podcast:soundbite>
      <podcast:soundbite startTime="142.06" duration="24.70">So Glyph wanted to write a library for, game programming that involved, networks, and he was, talking about it in, channel Python on, IRC, what is now free node. And, I got involved mostly because I had some interesting ideas about how to implement, protocols, and I I want really wanted a place to get a chance to to to try that out.</podcast:soundbite>
      <podcast:soundbite startTime="300.84" duration="26.85">So first, I'll I'll I'll say, like, what is the easiest way to get started with Twisted because this this has changed, and I think it's it's changed a lot for the better. So if you are starting now in 2018, just start using Python 3 6 with Twisted, and this means you can use the modern syntax support with async and await functions, and that will make a lot of things just a lot easier to get started with.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:42</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Past, Present, and Future of Twisted with Moshe Zadka</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>170</itunes:episode>
      <podcast:episode>170</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315295463521bacfd367-117d-464e-a17c-a2a07feed4d8v1.mp3" length="20056209" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315295463521bacfd367-117d-464e-a17c-a2a07feed4d8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_bacfd367-117d-464e-a17c-a2a07feed4d8638558828378472959.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bacfd367-117d-464e-a17c-a2a07feed4d8638558828376430149.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bacfd367-117d-464e-a17c-a2a07feed4d8638558828374529334.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Mike Driscoll And His Career In Python</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;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</li>
</ul>

<p>Technically, I am testing a C++ Qt app that is deployed to an embedded system</p>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the way in which you are using Python for your work?</li>
<li>What benefits does Python provide for writing and running tests for projects written in other languages?
<ul>
<li>What are the drawbacks or limitations?</li>
</ul>

<p></li><br>
<li>What are some of the tools or techniques that you have found most useful for your work?</p>

<ul>
<li>How much of that was hard-earned knowledge vs finding it in reference material or prior art?</li>
</ul>

<p></li><br>
<li>What are some of the most interesting and/or difficult aspects of testing graphical interfaces?</li><br>
<li>What are some of the most surprising or unexpected aspects of the problem space that you have discovered through your work?</li><br>
<li>What are some of the other ways in which you have worked with the Python language and community?</li><br>
<li>What are you most interested in working toward in the future?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://www.blog.pythonlibrary.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/driscollis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@driscollis</a> on Twitter</li>
<li><a href="https://github.com/driscollis/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">driscollis</a> on GitHub</li>
<li><a href="https://leanpub.com/u/mikedriscoll?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Books</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.draw.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Draw.io</a></li>
</ul>

<p></li><br>
<li>Mike</p>

<ul>
<li><a href="https://wiki.qt.io/Qt_for_Python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qt for Python</a></li>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebook</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.blog.pythonlibrary.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mouse vs. Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="https://www.qt.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qt</a></li>
<li><a href="http://www.agleader.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ag Leader</a></li>
<li><a href="https://www.froglogic.com/squish/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Squish</a></li>
<li><a href="https://cffi.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CFFI</a></li>
<li><a href="https://docs.python.org/3/library/ctypes.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ctypes</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tcl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tcl</a></li>
<li><a href="https://en.wikipedia.org/wiki/JavaScript?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Javascript</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="https://www.froglogic.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Froglogic</a></li>
<li><a href="https://www.seleniumhq.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium</a></li>
<li><a href="http://pillow.readthedocs.io/en/5.2.x/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pillow</a></li>
<li><a href="https://opencv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenCV</a></li>
<li><a href="https://www.wxpython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WxPython</a></li>
<li><a href="https://www.python.org/psf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PSF</a></li>
<li><a href="http://www.pycon.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon</a></li>
<li><a href="https://snarky.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brett Cannon</a></li>
<li><a href="https://www.willingconsulting.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Carol Willing</a></li>
<li><a href="https://www.reportlab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReportLab</a></li>
<li><a href="https://github.com/pmaupin/pdfrw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PDFRW</a></li>
<li><a href="https://youtu.be/tzFWz5fiVKU?t=49m27s&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brett Cannon PyCon 2018 Keynote</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmike-driscoll-episode-169%2F&amp;action_name=Mike+Driscoll+And+His+Career+In+Python+-+Episode+169&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-07-08t20:58:26+00:00-804fe4a1214fdae</guid>
      <link>https://www.pythonpodcast.com/mike-driscoll-episode-169</link>
      <pubDate>Sun, 8 Jul 2018 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1143.35" duration="32.70">I think, so I saw a, a talk for, again by Brett Cannon at PyCon recently where he gave the keynote, and he was talking about how it's really good for, not but not just the core developers, but also new contributors to just be kind to each other. Because in the open source community, you can get into these hostile, firefights where you just say, your code is useless. Forget you. I'm not gonna, you know, I'm not gonna submit this or and then the person who who should put up that PR is like, fine. I'm never gonna contribute to your your project ever again.</podcast:soundbite>
      <podcast:soundbite startTime="148.08" duration="41.72">And so the the basic idea is that we take Python and we use it, paid application called Squish that you can download, and it can actually inject into any QT application and get access to the public methods of the QT app so that you can press the buttons, spin the widgets, do pretty much anything to the QT app as well as access any public methods that are defined in the C plus plus both on the QT side and if you like create custom public attributes. So if we want to add special states to our c plus plus code, we could do that and squish can actually grab those those methods and attributes and we can access them with Python through Squish and test it that way.</podcast:soundbite>
      <podcast:soundbite startTime="285.84" duration="30.73">Yeah. That's correct. 1 of the big pushes for getting this automated test system in place is we had a regression team, and we still have a regression team that it'll take more than a month to do a full regression. And before the automated test, it could be up to 3 to 6 months to do a full regression. And now that we have a system to do the do it automatically, even though it's not anywhere close to full coverage, it has reduced, the full regression down by, you know, a a lot. I would say at least 30 to 50%.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:23:32</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Mike Driscoll And His Career In Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>169</itunes:episode>
      <podcast:episode>169</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253077541534199d10c0b7-641e-4dd3-8f4c-8beed58b2081v1.mp3" length="17104100" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253077541534199d10c0b7-641e-4dd3-8f4c-8beed58b2081v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_9d10c0b7-641e-4dd3-8f4c-8beed58b2081638558822289785063.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/9d10c0b7-641e-4dd3-8f4c-8beed58b2081638558822287345207.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/9d10c0b7-641e-4dd3-8f4c-8beed58b2081638558822285486069.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Pulp Artifact Repository with Bihan Zhang and Austin Macdonald</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Austin Macdonald and Bihan Zhang about Pulp, a platform for hosting and managing software package repositories</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Pulp and how did the project get started?</li>
<li>What are the use cases/benefits for hosting your own artifact repository?</li>
<li>What is the high level architecture of the platform?
<ul>
<li>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?</li>
</ul>

<p></li><br>
<li>What is involved in adding support for a new type of artifact/package?</li><br>
<li>How does Pulp compare to other artifact repositories?</li><br>
<li>What are the major pieces of work that are required before releasing Pulp 3?</li><br>
<li>What have been some of the most interesting/unexpected/challenging aspects of building and maintaining Pulp?</li><br>
<li>What are your plans for the future of Pulp?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Austin
<ul>
<li><a href="https://github.com/asmacdo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">asmacdo</a> on GitHub</li>
<li><a href="https://twitter.com/asmacdo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@asmacdo</a> on Twitter</li>
</ul>

<p></li><br>
<li>Bihan</p>

<ul>
<li><a href="https://www.linkedin.com/in/bihanzh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>

<p></li><br>
<li>Pulp Project</p>

<ul>
<li><a href="mailto:pulp-list@redhat.com">Email</a></li>
<li><a href="https://github.com/pulp/pulp/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://pulpproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li>#pulp on freenode</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://smbc-comics.com/soonish/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Soonish</a></li>
</ul>

<p></li><br>
<li>Austin</p>

<ul>
<li><a href="https://youtu.be/RCOMyaMXdIs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shostakovitch String Quartet #8</a></li>
</ul>

<p></li><br>
<li>Bihan</p>

<ul>
<li><a href="https://www.youtube.com/user/AirSafetyInstitute?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AOPA: Air Safety Institute YouTube Channel</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://pulpproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pulp</a></li>
<li><a href="https://www.redhat.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedHat</a></li>
<li><a href="https://en.wikipedia.org/wiki/French_horn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">French Horn</a></li>
<li><a href="https://xkcd.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XKCD</a></li>
<li><a href="https://en.wikipedia.org/wiki/Rpm_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RPM</a></li>
<li><a href="https://www.debian.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Debian</a></li>
<li><a href="https://pypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPI</a></li>
<li><a href="https://cos.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Center For Open Science</a></li>
<li><a href="https://scipy.org/scipylib/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Project</a></li>
<li><a href="https://github.com/jschneier/django-storages?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Storages</a></li>
<li><a href="https://jfrog.com/artifactory/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artifactory</a></li>
<li><a href="https://github.com/pypa/warehouse?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Warehouse</a></li>
<li><a href="https://www.opencontainers.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OCI (Open Container Initiative)</a></li>
<li><a href="https://github.com/pulp/crane?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Crane</a></li>
<li><a href="https://www.docker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="">Twine</a>https://github.com/pypa/twine?utm_source=rss&utm_medium=rss</li>
<li><a href="https://maven.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Maven</a></li>
<li><a href="https://codeahoy.com/2017/08/11/caching-strategies-and-how-to-choose-the-right-one/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Read-through Cache</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpulp-with-bihan-zhang-and-austin-macdonald-episode-168%2F&amp;action_name=The+Pulp+Artifact+Repository+with+Bihan+Zhang+and+Austin+Macdonald+-+Episode+168&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-07-02t03:04:34+00:00-bf917019e256a66</guid>
      <link>https://www.pythonpodcast.com/pulp-with-bihan-zhang-and-austin-macdonald-episode-168</link>
      <pubDate>Mon, 2 Jul 2018 04:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1285.68" duration="20.03">So 1 of the main use cases is just rollback. Right? A Sysadmin publishes a piece of content. A user finds out it doesn't work and they need to go back. So with pope, like, because the publications are stored, like, publications are also version. But because, like, the repost and publications are versions, they could just roll back pretty much instantaneously to the previous version.</podcast:soundbite>
      <podcast:soundbite startTime="64.28" duration="8.99">Your host as usual is Tobias Macy. And today, I'm interviewing Austin McDonald and Behan Jang about Pulp, the platform for hosting and managing software package repositories.</podcast:soundbite>
      <podcast:soundbite startTime="181.91" duration="13.04">And so we're here to talk primarily about the Pulp project. So can you describe a bit about what the project is and what the motivations were for starting it in the first place?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:30:44</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Pulp Artifact Repository with Bihan Zhang and Austin Macdonald</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>168</itunes:episode>
      <podcast:episode>168</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529964570462601b88969-2c4a-43b8-a16f-2c37701e5f93v1.mp3" length="24266276" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529964570462601b88969-2c4a-43b8-a16f-2c37701e5f93v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_01b88969-2c4a-43b8-a16f-2c37701e5f93638558796421417076.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/01b88969-2c4a-43b8-a16f-2c37701e5f93638558796419283298.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/01b88969-2c4a-43b8-a16f-2c37701e5f93638558796417219942.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Bringing Africa Online At Ascoderu with Clemens Wolff</title>
      <description><![CDATA[<h3>Summary</h3>

<p>The future is here, it&#8217;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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast__init__</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Clemens Wolff about how Ascoderu is using Python to help communities in sub-Saharan Africa gain access to the digital age</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is the mission of Ascoderu and how did the organization get started?
<ul>
<li>How did you get involved?</li>
</ul>

<p></li><br>
<li>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?</p>

<ul>
<li>What are the limitations of using e-mail as the only interface to the broader internet?</li>
<li>What are some of the most interesting or unexpected uses of email in isolation have you seen?</li>
</ul>

<p></li><br>
<li>From the user perspective, can you describe the overall experience of interacting with Lokole?</p>

<ul>
<li>What is happening in the background?</li>
<li>Did you consider using a binary message format such as Avro, protocol buffers, or msgpack in place of JSON?</li>
</ul>

<p></li><br>
<li>What kind of fault tolerance techniques are built into the overall information flow?</li><br>
<li>What are the most challenging or unexpected aspects of building Lokole and interacting with the user communities?</li><br>
<li>What projects do you have planned for the future?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="mailto:clemens@ascoderu.ca">Email</a></li>
<li><a href="https://github.com/ascoderu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://www.linkedin.com/in/clemens-wolff/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://hubs.to/mqfgS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hubspot CRM</a></li>
</ul>

<p></li><br>
<li>Clemens</p>

<ul>
<li><a href="https://www.youtube.com/watch?v=mVuSUF7i-rw&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ali Farka Toure</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://ascoderu.ca?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ascoderu</a></li>
<li><a href="https://www.howwemadeitinafrica.com/congolese-inventor-solution-get-rural-africa-emailing/59256/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lokole</a></li>
<li><a href="https://www.nltk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLTK</a></li>
<li><a href="https://www.haskell.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Haskell</a></li>
<li><a href="https://en.wikipedia.org/wiki/Democratic_Republic_of_the_Congo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DRC</a></li>
<li><a href="https://github.com/ascoderu/opwen-webapp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lokole client</a></li>
<li><a href="https://github.com/ascoderu/opwen-cloudserver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lokole server</a></li>
<li><a href="https://www.aliexpress.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ali Express</a></li>
<li><a href="https://www.raspberrypi.org/products/raspberry-pi-3-model-b/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi</a></li>
<li><a href="http://www.orangepi.org/orangepizero/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Orange Pi</a></li>
<li><a href="https://en.wikipedia.org/wiki/Uganda?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uganda</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tanzania?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tanzania</a></li>
<li><a href="https://www.json.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON</a></li>
<li><a href="https://avro.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Avro</a></li>
<li><a href="https://msgpack.org/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">msgpack</a></li>
<li><a href="https://en.wikipedia.org/wiki/Gzip?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">gzip</a></li>
<li><a href="https://mail.google.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gmail</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lingala?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lingala</a></li>
<li><a href="https://github.com/wlach/wvdial?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wvdial</a></li>
<li><a href="http://www.draisberghof.de/usb_modeswitch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">USB Modeswitch</a></li>
<li><a href="https://github.com/GNOME/mobile-broadband-provider-info?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gnome SIM database</a></li>
<li><a href="https://en.wikipedia.org/wiki/Benin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Benin</a></li>
<li><a href="https://en.wikipedia.org/wiki/Agricultural_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agricultural Engineer</a></li>
<li><a href="https://www.raspberrypi.org/blog/outernet/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Outernet</a></li>
<li><a href="http://internet-in-a-box.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Internet In A Box</a></li>
<li><a href="https://github.com/ascoderu/mkwvconf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mkvvconf</a></li>
<li><a href="https://www.microsoft.com/en-us/nonprofits/azure?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Azure for non-profits</a></li>
<li><a href="https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://github.com/zalando/connexion?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Connexion</a></li>
<li><a href="https://jobs.zalando.com/tech/blog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zalando</a></li>
<li><a href="https://swagger.io/docs/specification/about/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open API</a></li>
<li><a href="https://github.com/sendgrid/sendgrid-python?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sendgrid</a></li>
<li><a href="https://azure.microsoft.com/en-us/services/service-bus/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Azure Service Bus</a></li>
<li><a href="https://medium.com/@clemens.wolff/using-the-ambassador-pattern-for-reliable-pipes-and-filters-text-processing-9ebbea8f82c4?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ambassador Container</a></li>
<li><a href="https://github.com/python-pillow/Pillow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pillow</a></li>
<li><a href="https://sustainabledevelopment.un.org/sdg9?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">United Nations Sustainable Development Goals</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Flokole-with-clemens-wolff-episode-167%2F&amp;action_name=Bringing+Africa+Online+At+Ascoderu+with+Clemens+Wolff+-+Episode+167&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-06-25t01:24:58+00:00-d3998b6a5567731</guid>
      <link>https://www.pythonpodcast.com/lokole-with-clemens-wolff-episode-167</link>
      <pubDate>Mon, 25 Jun 2018 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2385.92" duration="33.40">And for anybody who wants to get involved or contribute to the work that you're doing, what would be the best way for them to do that? Oh, yes, please. So all of the things we're doing are open source on GitHub on our premise of license. So you can find our issue trackers. I marked a couple of them as good first fixes. So if you just wanna jump right in, get your hands dirty, that's an easy way to to get involved. There's really something there for everybody from low level Linux hardware interfacing with modems and stuff like that, all the way up to Kubernetes and cloud services and everything in between on the stack.</podcast:soundbite>
      <podcast:soundbite startTime="67.23" duration="29.44">And today, I'm interviewing Clemens Wolff about how s codearoo is using Python to help communities in Sub Saharan Africa gain access to the digital age. So, Clemens, could you start by introducing yourself? Hi, everyone. I'm Clemens. I'm, my day job is I'm a software engineer at Microsoft in New York City, and I'm also the lead engineer of Asco DeRoux, as Tobias mentioned, which is a Canadian Congolese nonprofit. And we're using Python to empower people in sub Saharan Africa to get access to efficient communication networks and, things like that.</podcast:soundbite>
      <podcast:soundbite startTime="276.83" duration="34.45">And so the current incarnation of that project and the primary focus of your efforts is on the Lacole project, which is a combination hardware and software platform. So could you describe a bit about what that platform is and how it's helping you to achieve the goals of Escudero as far as being able to help these communities gain access to the digital age and digital economies? Yeah. Quick backstory. Locoli actually stands for a type of split drum that was used in the Congo. And so Enzula came with that name. You know, back then, the ancestors was using these drums to communicate.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:33</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Bringing Africa Online At Ascoderu with Clemens Wolff</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>167</itunes:episode>
      <podcast:episode>167</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253213728689397c1153e9-14de-45cb-8a01-ed95299f6ea8v1.mp3" length="28399270" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253213728689397c1153e9-14de-45cb-8a01-ed95299f6ea8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7c1153e9-14de-45cb-8a01-ed95299f6ea8638558843811488684.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7c1153e9-14de-45cb-8a01-ed95299f6ea8638558843809335951.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7c1153e9-14de-45cb-8a01-ed95299f6ea8638558843807283834.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Understanding Machine Learning Through Visualizations with Benjamin Bengfort and Rebecca Bilbro</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;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.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe the use case for Yellowbrick and how the project got started?</li>
<li>What is involved in visualizing scikit-learn models?
<ul>
<li>What kinds of information do the visualizations convey?</li>
<li>How do they aid in understanding what is happening in the models?</li>
</ul>

<p></li><br>
<li>How much direction does yellowbrick provide in terms of knowing which visualizations will be helpful in various circumstances?</li><br>
<li>What does the workflow look like for someone using Yellowbrick while iterating on a data science project?</li><br>
<li>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?</li><br>
<li>How is Yellowbrick iplemented and how has the design changed over the lifetime of the project?</li><br>
<li>What would be required to integrate with other visualization libraries and what benefits (if any) might that provide?</p>

<ul>
<li>What about other ML frameworks?</li>
</ul>

<p></li><br>
<li>What are some of the most challenging or unexpected aspects of building and maintaining Yellowbrick?</li><br>
<li>What are the limitations or edge cases for yellowbrick?</li><br>
<li>What do you have planned for the future of yellowbrick?</li><br>
<li>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?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Rebecca Bilbro
<ul>
<li><a href="https://github.com/rebeccabilbro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
<li><a href="https://twitter.com/RebeccaBilbro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
<li>Benjamin Bengfort</p>

<ul>
<li><a href="https://github.com/bbengfort?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
<li><a href="https://twitter.com/bbengfort?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="">Poutine</a></li>
</ul>

<p></li><br>
<li>Rebecca</p>

<ul>
<li><a href="https://i.pinimg.com/originals/8c/87/12/8c8712cabf06aaa4c8fe853e867902cd.jpg?utm_source=rss&utm_medium=rss" rel="nofollow noopener" target="_blank">The color yellow</a></li>
</ul>

<p></li><br>
<li>Benjamin</p>

<ul>
<li><a href="https://www.nhl.com/video/allcaps/t-277350912/c-53167003?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ALL CAPS</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://hadoop.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hadoop</a></li>
<li><a href="https://en.wikipedia.org/wiki/Natural_language_processing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Natural Language Processing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Machine_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning</a></li>
<li><a href="http://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://adalabucsd.github.io/papers/2015_MSMS_SIGMODRecord.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Model Selection Triple</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/tutorial.html#the-model-selection-triple?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">the machine learning workflow</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-yb</a></li>
<li><a href="https://github.com/DistrictDataLabs/yellowbrick?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yellowbrick</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/contributing.html#visualizer-api?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visualizer API</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/contributing.html#testing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Tests</a></li>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hyperparameter</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/api/features/pcoords.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parallel Coordinates</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/api/features/radviz.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Radviz</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/api/features/rankd.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rank2D</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/api/regressor/peplot.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prediction Error Plot</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/api/regressor/residuals.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Residuals Plot</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/api/model_selection/validation_curve.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Validation Curves</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/api/regressor/alphas.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alpha Selection</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/api/text/freqdist.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Frequency Distribution Plot</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bayes%27_theorem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bayes Theorem</a></li>
<li><a href="https://seaborn.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seaborn</a></li>
<li><a href="https://en.wikipedia.org/wiki/Stop_words?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stop Words</a></li>
<li><a href="https://en.wikipedia.org/wiki/N-gram?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">N-gram</a></li>
<li><a href="https://www.districtdatalabs.com/fairness-and-bias-in-algorithms?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Craig &#8211; Bias and Fairness of Algorithms</a></li>
<li><a href="https://shiny.rstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shiny</a></li>
<li><a href="https://bokeh.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bokeh</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="https://www.statsmodels.org/stable/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StatsModels</a></li>
<li><a href="https://github.com/tensorflow/tensorboard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorboard</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Voxel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Voxel</a></li>
<li><a href="http://www.scikit-yb.org/en/latest/about.html#name-origin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wizard of Oz</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fyellowbrick-with-bejnamin-bengfort-and-rebecca-bilbro-episode-166%2F&amp;action_name=Understanding+Machine+Learning+Through+Visualizations+with+Benjamin+Bengfort+and+Rebecca+Bilbro+-+Episode+166&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-06-17t13:44:16+00:00-892443a873af31a</guid>
      <link>https://www.pythonpodcast.com/yellowbrick-with-bejnamin-bengfort-and-rebecca-bilbro-episode-166</link>
      <pubDate>Sun, 17 Jun 2018 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="244.24" duration="30.04">Absolutely. So Yellow Brick is about visual diagnostics for machine learning. And where we see it fitting in is, you know, how do you decide what's the best model or what are the right features. And there are sort of a host of mathematical tools for doing that. But, you know, in my career and teaching, I've noticed that, you know, you just can't stare at a bunch of numbers and really come to meaningful conclusions about progress.</podcast:soundbite>
      <podcast:soundbite startTime="966.48" duration="32.30">That is certainly my experience of machine learning, and using Yellowbrick in in a couple of different projects and contexts. And as I talk to to more data scientists, more people who are doing machine learning on a daily basis, I think that they're really starting to buy into this idea of steering, to this idea of visual analytics, where there's a combination of of sort of this human domain knowledge with this machine ability to generate models very rapidly, and how can you combine those things in a meaningful way to to find the best model and yellow brick is a start at that.</podcast:soundbite>
      <podcast:soundbite startTime="594.88" duration="19.52">Import the visualizer, instantiate it, and then fit it, or score it. Although we do have 1 special method called poof. So poof is our extra method that you have to call in order to actually make the visualization happen. To finalize it with, you know, axes and setting the limits and titles and and all of that sort of stuff.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:55:13</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Understanding Machine Learning Through Visualizations with Benjamin Bengfort and Rebecca Bilbro</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>166</itunes:episode>
      <podcast:episode>166</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302605557747f8d8941a-d3c9-4a84-8f5f-3d69458c858ev1.mp3" length="39973972" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302605557747f8d8941a-d3c9-4a84-8f5f-3d69458c858ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f8d8941a-d3c9-4a84-8f5f-3d69458c858e638558800915976894.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f8d8941a-d3c9-4a84-8f5f-3d69458c858e638558800912566232.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f8d8941a-d3c9-4a84-8f5f-3d69458c858e638558800910758545.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Modern Database Clients On The Command Line with Amjith Ramanujam</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Amjith Ramanujam about DBCLI, an umbrella project for command line database clients with autocompletion and syntax highlighting.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is the DBCLI project?
<ul>
<li>Which of the clients was the first to be created and what was your motivation for starting it?</li>
</ul>

<p></li><br>
<li>At what point did you decide to create the DBCLI umbrella for the different projects and what benefits does it provide?</li><br>
<li>How much functionality is shared between the different clients?</li><br>
<li>What additional functionality do the different clients provide over those that are distributed with their respective engines?</li><br>
<li>How do you optimize for cases where large volumes of data are returned from a query?</li><br>
<li>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?</li><br>
<li>What are the most challenging aspects of building the different database clients?</li><br>
<li>What are some unexpected hardships that you encountered through this open source project?</li><br>
<li>What are some unexpected pleasant surprises that you encountered through this project? </li><br>
<li>Why did you hand over the project leadership for pgcli and mycli to other devs? Was it a hard decision? </li><br>
<li>Why do you optimize on being <a href="http://www.dbcli.com/about/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nice over being right</a>?</li><br>
<li>How did Microsoft get involved with dbcli? <a href="https://github.com/dbcli/mssql-cli?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mssql-cli</a></li><br>
<li>What&#8217;s been the reception for the projects? </li><br>
<li>What are your plans for upcoming releases of the various clients?</li><br>
<li>Which database engines are you planning to target next?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/amjith?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">amjith</a> on GitHub</li>
<li><a href="https://twitter.com/amjithr?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@amjithr</a> on Twitter</li>
<li><a href="http://blog.amjith.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt1389072/reference?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Downsizing</a></li>
</ul>

<p></li><br>
<li>Amjith</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Dosa?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dosas</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pablo_de_Sarasate?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sarasate</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.dbcli.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DBCLI</a></li>
<li><a href="https://www.haskell.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Haskell</a></li>
<li><a href="http://learnyouahaskell.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Learn you as haskell</a></li>
<li><a href="http://learnyouahaskell.com/starting-out#im-a-list-comprehension?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">List Comprehension</a></li>
<li><a href="https://www.pgcli.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PGCLI</a></li>
<li><a href="http://www.mycli.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyCLI</a></li>
<li><a href="http://github.com/dbcli/mssql-cli/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MSSQL-CLI</a></li>
<li><a href="https://github.com/jonathanslenders/python-prompt-toolkit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prompt Toolkit</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-6-jonathan-slenders-talks-about-prompt-toolkit/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Interview</a></li>
</ul>

<p></li><br>
<li><a href="https://bpython-interpreter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BPython</a></li><br>
<li><a href="https://djangocon.eu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DjangoCon EU</a></li><br>
<li><a href="https://github.com/dbcli/cli_helpers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CLI Helpers</a></li><br>
<li><a href="https://wiki.python.org/moin/Generators?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Generators</a></li><br>
<li><a href="https://github.com/dbcli/pgspecial?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PGSpecial</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Longboarding?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Longboarding</a></li><br>
<li><a href="https://twitter.com/irinatruong?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Irina Truong</a></li><br>
<li><a href="https://github.com/tsroten?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thomas Roten(sp)</a></li><br>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostGreSQL</a></li><br>
<li><a href="https://dev.mysql.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li><br>
<li><a href="https://www.microsoft.com/en-us/sql-server/sql-server-2016?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft SQL Server</a></li><br>
<li><a href="http://sqlite.com/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLite</a></li><br>
<li><a href="https://www.oracle.com/database/technologies/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oracle DB</a></li><br>
<li><a href="http://cassandra.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cassandra DB</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdbcli-with-amjith-ramanujam-episode-165%2F&amp;action_name=Modern+Database+Clients+On+The+Command+Line+with+Amjith+Ramanujam+-+Episode+165&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-06-11t02:28:00+00:00-6228332d5b6708d</guid>
      <link>https://www.pythonpodcast.com/dbcli-with-amjith-ramanujam-episode-165</link>
      <pubDate>Mon, 11 Jun 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1418.68" duration="45.94">So this is mentioned in the about page and Dbcli, which is we optimize for being nice rather than being right. The reason I say this is because originally when I launched the project, I wanted to give a bit of human feeling to the project which is this there is a human being behind this. There is someone who deeply cares about this project, who's working on this. And so there's even more that I go into into into the details of the about page where I talk about, you know, you will not be discriminated. I will be responsive, to your requests. Because these are things that I noticed in other open source projects that have been successful, which is they're very welcoming to the newcomers. They don't, chide, silly questions or or questions that have been answered before and so on. So I wanted to embrace that culture that made those projects successful. And so I decided to optimize on that.</podcast:soundbite>
      <podcast:soundbite startTime="203.19" duration="43.58">So p g CLI was the first 1. When I started it, it was not an umbrella organization or anything. It was just a personal project. Pgcli was created out of a scratching itch that I had. I was a big, big, huge fan of, b Python, which is, if you don't know what b Python is, it is a fancy REPL, which is a replacement for the regular Python REPL that comes by default. It has auto completion, syntax highlighting, and as you start typing, it'll suggest, you know, docstrings for different functions and so on. And I I I missed that, feature whenever I was working in p SQL, which is the default postgres client. So I wanted that. And at the same time, Jonathan Slanders reached out to me via Twitter and asked if I'd be interested in trying out this new library that he's building called prompt toolkit.</podcast:soundbite>
      <podcast:soundbite startTime="76.10" duration="14.49">So, Amjith, could you start by introducing yourself? Yeah. As Tobias introduced, I am Amjith. I work as a, senior software engineer at Netflix for my day job. And, as a side project, I started dvcli open source organization.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:30:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Modern Database Clients On The Command Line with Amjith Ramanujam</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>165</itunes:episode>
      <podcast:episode>165</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530744982656368242a0c-ab65-4930-bd20-889f2b9623b6v1.mp3" length="21367995" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530744982656368242a0c-ab65-4930-bd20-889f2b9623b6v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_68242a0c-ab65-4930-bd20-889f2b9623b6638558821124577964.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/68242a0c-ab65-4930-bd20-889f2b9623b6638558821122663492.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/68242a0c-ab65-4930-bd20-889f2b9623b6638558821120459568.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Pandas Extension Arrays with Tom Augspurger</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tom Augspurger about the extension interface for Pandas data frames and the use cases that it enables</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Most people are familiar with Pandas, but can you describe at a high level the new extension interface?
<ul>
<li>What is the story behind the implementation of this functionality?</li>
<li>Prior to this interface what was the option for anyone who wanted to extend Pandas?</li>
</ul>

<p></li><br>
<li>What are some of the new data types that are available as external packages?</p>

<ul>
<li>What are some of the unique use cases that they enable?</li>
</ul>

<p></li><br>
<li>How is the new interface implemented within Pandas?</li><br>
<li>What were the most challenging or difficult aspects of building this new functionality?</li><br>
<li>What are some of the more interesting possibilities that you are aware of for new extension types?</li><br>
<li>What are the limitations of the interface for libraries that add new array functionality?</li><br>
<li>What is the next major change or improvement that you would like to add in Pandas?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://tomaugspurger.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tomaugspurger</a> on GitHub</li>
<li><a href="https://twitter.com/TomAugspurger?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@TomAugspurger</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt1825683/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black Panther</a></li>
</ul>

<p></li><br>
<li>Tom</p>

<ul>
<li><a href="http://dask-ml.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask-ML</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="https://pandas.pydata.org/pandas-docs/stable/generated/pandas.api.extensions.ExtensionArray.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ExtensionArray</a></li>
<li><a href="https://github.com/pandas-dev/pandas/issues/18767?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Original IP Address proposal</a></li>
<li><a href="http://tomaugspurger.github.io/pandas-extension-arrays.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mid-implementation blog post</a></li>
<li><a href="http://pandas.pydata.org/pandas-docs/stable/dsintro.html#dataframe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dataframe</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numpy</a></li>
<li><a href="https://cyberpandas.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cyberpandas</a></li>
<li><a href="http://geopandas.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Geopandas</a></li>
<li><a href="https://en.wikipedia.org/wiki/Geographic_information_system?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GIS</a></li>
<li><a href="http://arrow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arrow</a></li>
<li><a href="https://cupy.chainer.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CuPy</a></li>
<li><a href="https://stedolan.github.io/jq/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JQ</a></li>
<li><a href="http://wesmckinney.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wes McKinney</a></li>
<li><a href="https://docs.scipy.org/doc/numpy-1.13.0/user/basics.subclassing.html#array-ufunc-for-ufuncs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Array ufunc</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://altair-viz.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Altair</a></li>
<li><a href="http://seaborn.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seaborn</a></li>
<li><a href="https://bokeh.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bokeh</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-22-bryan-van-de-ven-on-bokeh/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Interview</a></li>
</ul>

<p></li><br>
<li><a href="http://dask.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a></p>

<ul>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Interview</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpandas-extension-arrays-with-tom-augspurger-episode-164%2F&amp;action_name=Pandas+Extension+Arrays+with+Tom+Augspurger+-+Episode+164&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-06-04t00:53:34+00:00-a7468a278fda71f</guid>
      <link>https://www.pythonpodcast.com/pandas-extension-arrays-with-tom-augspurger-episode-164</link>
      <pubDate>Mon, 4 Jun 2018 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="76.03" duration="36.15">So, Tom, could you start by introducing yourself? Yeah. So I have a somewhat common, I think, background for at least for the scientific people. I was in economics grad school, needed to pick up something for doing data analysis, some kind of programming language. They started us with MATLAB, which was not my favorite. And eventually, I made my way over to Python, learned Pandas, started contributing to Pandas. And that's essentially where I got to where I am today, which is data scientist slash software engineer for Anaconda, working on open source tools for data analysis.</podcast:soundbite>
      <podcast:soundbite startTime="1339.27" duration="63.22">So the biggest 1 that Jeffrey Back who's, 1 of the main tanners of Pandas has pull requests open right now adding integer missing value support to pandas. So a bit of background on missing values. Currently, pandas uses NumPy dot nan, so n a n is a floating point value, and we use that to represent missing data even for integers. So the unfortunate consequence of this is if you have an array of integers, but even 1 of the values are missing, then your integer column suddenly becomes a float, and this causes all sorts of headaches. So we have a PR open right now adding integer missing value supports by default. So in the next version of Pandas it'll just be a thing that you can opt into and we'll have to figure out a path forward for getting that to be the default behavior when missing values show up in integer columns. But that's that's gonna be solving, like, 1 of the longest standing pain points within pandas.</podcast:soundbite>
      <podcast:soundbite startTime="172.87" duration="46.52">So for some background, pandas has a data frame. It's a container for tabular data like you might find in a Excel spreadsheet or a database table. And internally, Pandas uses NumPy to actually store the data. So there's like a whole bunch of NumPy arrays behind a Pandas data frame. So the key difference between NumPy and Pandas is that NumPy provides n dimensional, homogeneous arrays. Whereas Pandas is really focused on the 1 and 2 dimensional case. But the trade off there is that Pandas is able to support heterogeneous data. So a a NumPy array has a single data type for everything, whereas a pandas data frame has a single data type per column. So with the pandas data frame, you can have a column of ints, a column of floats, a column of strings, date times, you know, whatever.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:33:26</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Pandas Extension Arrays with Tom Augspurger</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>164</itunes:episode>
      <podcast:episode>164</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306930585375a94a1e48-cb19-4be0-a494-83dbfc8f429ev1.mp3" length="23486463" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306930585375a94a1e48-cb19-4be0-a494-83dbfc8f429ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a94a1e48-cb19-4be0-a494-83dbfc8f429e638558819371901522.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a94a1e48-cb19-4be0-a494-83dbfc8f429e638558819369586745.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a94a1e48-cb19-4be0-a494-83dbfc8f429e638558819367419512.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Making A Difference Through Software With Eric Schles</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Eric Schles about how to get involved with social justice causes as an engineer</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What are some ways that engineers can create real-world impact with their skills?</li>
<li>What are some of the common roadblocks to contribution that people should be aware of?</li>
<li>What are some of the types of projects or tools that can provide the most value compared to the amount of effort?</li>
<li>Do you have any advice for picking an organization or cause that will benefit the most from technical expertise?</li>
<li>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?</li>
<li>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?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/EricSchles?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EricSchles</a> on GitHub</li>
<li><a href="https://twitter.com/EricSchles?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@EricSchles</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Boat_shoe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shoes without laces</a></li>
</ul>

<p></li><br>
<li>Eric</p>

<ul>
<li><a href="https://github.com/catboost/catboost?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Catboost</a></li>
<li><a href="https://github.com/jmschrei/pomegranate?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pomegranate</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.usds.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">USDS</a></li>
<li><a href="https://18f.gsa.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">18F</a></li>
<li><a href="https://ocw.mit.edu/index.htm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OCW</a>
<ul>
<li><a href="https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/index.htm?utm_source=OCWDept&amp;utm_medium=CarouselSm&amp;utm_campaign=FeaturedCourse&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Course</a></li>
</ul>

<p></li><br>
<li><a href="https://www.sas.com/en_us/home.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SAS</a></li><br>
<li><a href="https://www.r-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Machine_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Version_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Version Control</a></li><br>
<li><a href="https://github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Agile_software_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agile</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Optical_character_recognition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OCR (Optical Character Recognition)</a></li><br>
<li><a href="https://www.pythonpodcast.com/episode-12-eric-schles-on-fighting-human-trafficking-with-python/?utm_source=rss&utm_medium=rss">Eric Schles Interview On Podcast.&#95;&#95;init&#95;&#95;</a></li><br>
<li><a href="https://products.office.com/en-us/excel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Excel</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Extract,_transform,_load?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ETL (Extract Transform Load)</a></li><br>
<li><a href="https://automatetheboringstuff.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automate The Boring Stuff</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Web_scraping?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web Scraping</a></li><br>
<li><a href="https://thomaslevine.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thomas Levine</a></li><br>
<li><a href="https://www.elastic.co/products/elasticsearch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elasticsearch</a></li><br>
<li><a href="https://trello.com/tobiasmacey/recommend?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trello</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmaking-a-difference-through-software-with-eric-schles-episode-163%2F&amp;action_name=Making+A+Difference+Through+Software+With+Eric+Schles+-+Episode+163&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-05-27t02:12:28+00:00-9a384dc1e43edde</guid>
      <link>https://www.pythonpodcast.com/making-a-difference-through-software-with-eric-schles-episode-163</link>
      <pubDate>Sun, 27 May 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="187.75" duration="35.92">So I'm wondering if you can just enumerate some of the ways that we can use our skills and our expertise to provide value to different organizations or groups who are working in that type of space? Yeah. So this is a really great question, and I'm gonna attack it from a couple of different ways. So the first thing I'll do is actually talk through some specific examples of things that I've done, and then I'll talk through the ways that you can sort of, like, sell yourself as someone who wants to do social justice work as an engineer. And then the last thing I'll do is talk about some other people's examples that I don't know as well, so I'll be a little bit briefer there.</podcast:soundbite>
      <podcast:soundbite startTime="437.58" duration="33.11">So usually, like and I talk about this in a lot more detail on other talks, but, basically, it's about going from a point where things are done in a manual way to automating away, essentially, the boring stuff. So, Python is really great for that. High level software engineering is great for that. So now that I've talked through some case examples of the types of work that are usually low hanging fruit and easy to automate, and there's lots of good, tools and processes for doing this. Oh, also, if you wanna do this, there's there's a third class of things that are typically associated with this, and that's, web scraping.</podcast:soundbite>
      <podcast:soundbite startTime="1965.77" duration="43.20">And when you are building these projects or introducing these new practices to various organizations, are there any particular design factors that you should be be considering when you're building these projects or teaching people about these things, particularly given the fact that once you're done with a given task, you're likely to move on and they'll be left without the assistance of an experienced engineer to be able to keep these things running and maintain the momentum. So this is the most important problem for people that work in the social justice space on the weekends or nights. And thank you for for asking me this question. I think think it's the most important 1. So, like, I think I have a process that works pretty well. Maybe there are other people that have better processes.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:13</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Making A Difference Through Software With Eric Schles</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>163</itunes:episode>
      <podcast:episode>163</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253169650495683e37861f-5fff-48ff-8ad6-be6adbf8e0ebv1.mp3" length="31312234" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253169650495683e37861f-5fff-48ff-8ad6-be6adbf8e0ebv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_3e37861f-5fff-48ff-8ad6-be6adbf8e0eb638558834159614455.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3e37861f-5fff-48ff-8ad6-be6adbf8e0eb638558834156770451.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3e37861f-5fff-48ff-8ad6-be6adbf8e0eb638558834154464222.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Asking Questions From Data Using Active Learning with Tivadar Danka</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tivadar Danka about modAL, a modular active learning framework for Python3</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is active learning?
<ul>
<li>How does it differ from other approaches to machine learning?</li>
</ul>

<p></li><br>
<li>What is modAL and what was your motivation for starting the project?</li><br>
<li>For someone who is using modAL, what does a typical workflow look like to train their models?</li><br>
<li>How do you avoid oversampling and causing the human in the loop to become overwhelmed with labeling requirements?</li><br>
<li>What are the most challenging aspects of building and using modAL?</li><br>
<li>What do you have planned for the future of modAL?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/TivadarDanka?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@TivadarDanka</a> on Twitter</li>
<li><a href="https://github.com/cosmic-cortex/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cosmic-cortex</a> on GitHub</li>
<li><a href="https://www.tivadardanka.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://www.tivadardanka.com?utm_source=rss&utm_medium=rss</a> for anything else <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png?utm_source=rss&utm_medium=rss" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.imdb.com/title/tt5117670/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Peter Rabbit Movie</a></li>
</ul>

<p></li><br>
<li>Tivadar</p>

<ul>
<li><a href="http://www.weizmann.ac.il/mcb/UriAlon/introduction-systems-biology-design-principles-biological-circuits?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uri Alon: An Introduction to Systems Biology &#8211; Design Principles of Biological Circuits</a>, book and online lectures</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://cosmic-cortex.github.io/modAL/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">modAL homepage</a></li>
<li><a href="https://github.com/cosmic-cortex/modAL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">modAL on GitHub</a></li>
<li><a href="https://arxiv.org/abs/1805.00979?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">modAL paper</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bioinformatics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bioinformatics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hungary?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hungary</a></li>
<li><a href="https://en.wikipedia.org/wiki/Phenotype?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Phenotypes</a></li>
<li><a href="https://en.wikipedia.org/wiki/Active_learning_(machine_learning)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Active Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Supervised_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Supervised Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Unsupervised_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unsupervised Learning</a></li>
<li><a href="https://hazyresearch.github.io/snorkel/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snorkel</a></li>
<li><a href="http://www.cs.utexas.edu/~ml/papers/afa-icdm-04.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Active Feature-Value Acquisition</a></li>
<li><a href="http://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikit-learn</a></li>
<li><a href="https://en.wikipedia.org/wiki/Entropy_(information_theory)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Entropy</a></li>
<li><a href="https://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebooks</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bayesian_optimization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bayesian Optimization</a></li>
<li><a href="https://en.wikipedia.org/wiki/Hyperparameter_(machine_learning)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hyperparameters</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmodal-with-tivadar-danka-episode-162%2F&amp;action_name=Asking+Questions+From+Data+Using+Active+Learning+with+Tivadar+Danka+-+Episode+162&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-05-21t00:15:22+00:00-3a45f63e76d7236</guid>
      <link>https://www.pythonpodcast.com/modal-with-tivadar-danka-episode-162</link>
      <pubDate>Mon, 21 May 2018 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="926.42" duration="52.82">And what are some of the metrics that you use when you're picking out the data points to be able to determine which ones will actually improve the accuracy of the model versus the ones that are, within the range of accuracy that you're already working with? Okay. It's a really good question. This actually lies at the heart of active learning. So let me just give you, like, a quick baseline and then a few some kind of more sophisticated measures. The the most baseline measure is classifier uncertainty. So if you have, like, an orderly trained model, you can actually make predictions for your unlabeled dataset, and you can you can measure the uncertainty of those predictions. And 1 of the simplest thing which you can do is to pick out those instances which have the the highest uncertainty.</podcast:soundbite>
      <podcast:soundbite startTime="523.76" duration="45.25">And so the project that you built is intended to be able to simplify the process of servicing some of the subsets of the data for labeling. So I'm wondering if you can just discuss a bit about what the project is and how it works and your motivation for starting it in the first place. Okay. So actually, Mod.ai was built it it had grown out from a research project, which I did. So, basically, I am trying to develop active learning strategies for something called active feature value acquisition, and I I came up with a lot of these query strategies. Okay. So a query strategy is is basically the technical term for for this selecting an instance which is the most informative and presenting it to the to the biologist or or so.</podcast:soundbite>
      <podcast:soundbite startTime="74.99" duration="48.20">So, Thibodar, could you start by introducing yourself? Yeah. So hello, everyone. I'm really glad to to be here. My name is Tivadar, and I'm a postdoctoral researcher at the Hungarian Academy of Sciences. I work in a group called bioimagingalization machine learning group, Biomag in short. Basically, I did my PhD in pure mathematics 1 and a half year ago. But after I I finished my PhD, I I decided to do something which actually can help make the world a better place. So I joined, like, a bioinformatics group, and we are analyzing microscopic images of cells and actually helping drug discovery, helping physicians, doctors, creating diagnostic tools, and brief. This is it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:27:52</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Asking Questions From Data Using Active Learning with Tivadar Danka</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>162</itunes:episode>
      <podcast:episode>162</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303662910684fce8d483-074c-4ccb-83bd-4fb26f5b5eb0v1.mp3" length="19638142" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303662910684fce8d483-074c-4ccb-83bd-4fb26f5b5eb0v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fce8d483-074c-4ccb-83bd-4fb26f5b5eb0638558805419954829.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fce8d483-074c-4ccb-83bd-4fb26f5b5eb0638558805418083487.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fce8d483-074c-4ccb-83bd-4fb26f5b5eb0638558805416212987.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Great Expectations For Your Data Pipelines with Abe Gong and James Campbell</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don&#8217;t waste time pinpointing what went wrong. Go to <a href="https://www.pythonpodcast.com/airbrake?utm_source=rss&utm_medium=rss">podcastinit.com/airbrake</a> today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a></li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing James Campbell and Abe Gong about Great Expectations, a tool for testing the data in your analytics pipelines</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introduction</li>
<li>How did you first get introduced to Python?</li>
<li>What is Great Expectations and what was your motivation for starting it?</li>
<li>What are some of the complexities associated with testing analytics pipelines?
<ul>
<li>What types of tests can be executed to ensure data integrity and accuracy?</li>
</ul>

<p></li><br>
<li>What are some examples of the potential impact of pipeline debt?</li><br>
<li>What is Great Expectations and how does it simplify the process of building and executing pipeline tests?</li><br>
<li>What are some examples of the types of tests that can be built with Great Expectations?</li><br>
<li>For someone getting started with Great Expectations what does the workflow look like?</li><br>
<li>What was your reason for using Python for building it?</p>

<ul>
<li>How does the choice of language benefit or hinder the contexts in which Great Expectations can be used?</li>
</ul>

<p></li><br>
<li>What are some cases where Great Expectations would not be usable or useful?</li><br>
<li>What have been some of the most challenging aspects of building and using Great Expectations?</li><br>
<li>What are your hopes for Great Expectations going forward?</li><br>
</ul></p>

<h3>Contact Info</h3>

<ul>
<li>James
<ul>
<li><a href="https://github.com/jpcampb2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jpcampb2</a> on GitHub</li>
</ul>

<p></li><br>
<li>Abe</p>

<ul>
<li><a href="https://github.com/abegong?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">abegong</a> on GitHub</li>
<li><a href="http://www.abegong.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/AbeGong?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@AbeGong</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://amzn.to/2wxX0Vh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fitbit Versa</a></li>
</ul>

<p></li><br>
<li>James</p>

<ul>
<li>Unplug and spend some time away from the computer</li>
</ul>

<p></li><br>
<li>Abe</p>

<ul>
<li><a href="https://superconductivehealth.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Superconductive Health</a></li>
<li><a href="https://amzn.to/2Kg5bHv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slack: Getting Past Burnout, Busy Work, and the Myth of Total Efficiency</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://superconductivehealth.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Superconductive Health</a></li>
<li><a href="https://ncsu-las.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Laboratory for Analytical Sciences</a></li>
<li><a href="http://great-expectations.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Great Expectations</a></li>
<li><a href="https://medium.com/@expectgreatdata/down-with-pipeline-debt-introducing-great-expectations-862ddc46782a?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Medium Post</a></li>
<li><a href="https://en.wikipedia.org/wiki/Directed_acyclic_graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DAG (Directed Acyclic Graph)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Service-level_agreement?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SLA (Service Level Agreement)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Integration_testing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Integration Testing</a></li>
<li><a href="https://www.dataquest.io/blog/what-is-a-data-engineer/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering</a></li>
<li><a href="https://en.wikipedia.org/wiki/Histogram?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Histogram</a></li>
<li><a href="https://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="http://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="http://great-expectations.readthedocs.io/en/latest/intro.html#how-do-i-learn-more?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tutorial Videos</a></li>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebooks</a></li>
<li><a href="https://pandas.pydata.org/pandas-docs/stable/dsintro.html#dataframe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dataframe</a></li>
<li><a href="http://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="http://luigi.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luigi</a></li>
<li><a href="http://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a></li>
<li><a href="http://oozie.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oozie</a></li>
<li><a href="https://azkaban.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Azkaban</a></li>
<li><a href="http://json.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON</a></li>
<li><a href="https://en.wikipedia.org/wiki/XML?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XML</a></li>
</ul>

<p>The intro and outro music is from <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/Love_death_and_a_drunken_monkey/04_-_The_Hug?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Hug</a> by <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgreat-expectations-with-abe-gong-and-james-campbell-episode-161%2F&amp;action_name=Great+Expectations+For+Your+Data+Pipelines+with+Abe+Gong+and+James+Campbell+-+Episode+161&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-05-13t10:29:58+00:00-48901b07789b687</guid>
      <link>https://www.pythonpodcast.com/great-expectations-with-abe-gong-and-james-campbell-episode-161</link>
      <pubDate>Sun, 13 May 2018 10:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1582.46" duration="16.26">James has some great videos on this, where he walks you through the process. There are a bunch of different ways that you can approach it, but the 1 that we see most people using, at least to start, is using Python notebooks or Jupyter notebooks and diving in and using great expectations to instantiate a data frame.</podcast:soundbite>
      <podcast:soundbite startTime="736.55" duration="11.86">And then to, from what you were saying, James, ways that great expectations can be used to ensure that the source data that you're consuming is matching or in an expected schema or format.</podcast:soundbite>
      <podcast:soundbite startTime="209.22" duration="15.61">And as I mentioned at the start, we're talking about the project that you have both been collaborating on and recently released called Great Expectations. So I'm wondering if you can just give a high level overview of what the project does and what was your inspiration for creating it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:43</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Great Expectations For Your Data Pipelines with Abe Gong and James Campbell</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>161</itunes:episode>
      <podcast:episode>161</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297884027741d8dac470-a419-4602-afd8-0dd9f224c241v1.mp3" length="39118843" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297884027741d8dac470-a419-4602-afd8-0dd9f224c241v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d8dac470-a419-4602-afd8-0dd9f224c241638558790281605537.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d8dac470-a419-4602-afd8-0dd9f224c241638558790278895211.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d8dac470-a419-4602-afd8-0dd9f224c241638558790276895713.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Exploring Color Theory In Python With Thomas Mansencal</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don&#8217;t waste time pinpointing what went wrong. Go to <a href="https://www.pythonpodcast.com/airbrake?utm_source=rss&utm_medium=rss">podcastinit.com/airbrake</a> today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Thomas Mansencal about Colour, a python library for working with algorithms and transformations to explore color theory</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is color theory?
<ul>
<li>How does Colour assist in the process of working with some of the practical applications of colour science?</li>
</ul>

<p></li><br>
<li>What was your motivation for creating Colour?</li><br>
<li>What are some example use cases for colour?</li><br>
<li>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.?</li><br>
<li>How is the Colour library architected and how has that evolved over time?</p>

<ul>
<li>Are there new developments in the area of color theory that need to be periodically incorporated into the library?</li>
</ul>

<p></li><br>
<li>What have you found to be some of the most often misunderstood aspects of color?</li><br>
<li>What have been some of the most difficult or frustrating aspects of building, maintaining, and promoting Colour?</li><br>
<li>What are some of the most interesting or unexpected uses of Colour that you have seen?</li><br>
<li>What are your plans for the future of Colour?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://www.thomasmansencal.com/about/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.penguinrandomhouse.com/series/069/beasts-of-olympus?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beasts of Olympus</a> by Lucy Coates</li>
</ul>

<p></li><br>
<li>Thomas</p>

<ul>
<li><a href="https://www.coursera.org/specializations/mathematics-machine-learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coursera Mathematics Machine Learning Course</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://colour-science.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Colour</a></li>
<li><a href="https://en.wikipedia.org/wiki/Color_theory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Color Theory</a></li>
<li><a href="https://en.wikipedia.org/wiki/Color?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Color Science</a></li>
<li><a href="https://www.wetafx.co.nz/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Weta Digital</a></li>
<li><a href="https://www.wingnutar.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wingnut AR</a></li>
<li><a href="https://en.wikipedia.org/wiki/Visual_effects?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Effects Artist</a></li>
<li><a href="http://liballeg.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Allegro</a></li>
<li><a href="https://www.autodesk.com/products/maya/overview?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AutoDesk Maya</a></li>
<li><a href="https://riverbankcomputing.com/software/pyqt/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyQT</a></li>
<li><a href="https://en.wikipedia.org/wiki/Isaac_Newton?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Isaac Newton</a></li>
<li><a href="https://en.wikipedia.org/wiki/Color_wheel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Color Wheel</a></li>
<li><a href="https://en.wikipedia.org/wiki/Colorimetry?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Colorimetry</a></li>
<li><a href="http://www.cie.co.at/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CIE</a></li>
<li><a href="https://en.wikipedia.org/wiki/VY_Canis_Majoris?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VY Canis Majoris (Red Hypergiant)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Rigel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rigel (Blue-White Supergiant)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Kelvin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kelvin Temperature Scale</a></li>
<li><a href="https://en.wikipedia.org/wiki/Black-body_radiation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black Body Radiation</a></li>
<li><a href="https://en.wikipedia.org/wiki/High-dynamic-range_imaging?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HDRI (High Dynamic Range Imaging)</a></li>
<li><a href="https://www.adobe.com/support/downloads/dng/dng_sdk.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adobe DNG SDK</a></li>
<li><a href="https://en.wikipedia.org/wiki/ICC_profile?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ICC</a></li>
<li><a href="http://opencolorio.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenColorIO</a></li>
<li><a href="https://en.wikipedia.org/wiki/Merck_Group?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MERCK Group</a></li>
<li><a href="https://en.wikipedia.org/wiki/Color_space?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Color Space</a></li>
<li><a href="https://en.wikipedia.org/wiki/RGB_color_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RGB</a></li>
<li><a href="https://en.wikipedia.org/wiki/HSL_and_HSV?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HSV</a></li>
<li><a href="https://en.wikipedia.org/wiki/CMYK_color_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CMYK</a></li>
<li><a href="https://en.wikipedia.org/wiki/CIE_1931_color_space?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CIE XYZ</a></li>
<li><a href="https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_RGB_color_space?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CIE RGB</a></li>
<li><a href="https://en.wikipedia.org/wiki/CIELAB?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CIE Lab</a></li>
<li><a href="https://en.wikipedia.org/wiki/CIELUV?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CIE Luv</a></li>
<li><a href="https://en.wikipedia.org/wiki/SRGB?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sRGB</a></li>
<li><a href="https://en.wikipedia.org/wiki/Gamma_correction?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gamma Correction</a></li>
<li><a href="https://en.wikipedia.org/wiki/Additive_color?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Additive Color Space</a></li>
<li><a href="https://en.wikipedia.org/wiki/Subtractive_color?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Subtractive Color Space</a></li>
<li><a href="http://www.colourblindawareness.org/colour-blindness/types-of-colour-blindness/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Color Blindness</a></li>
<li><a href="https://ieeexplore.ieee.org/document/5290741/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gustavo Machado</a></li>
<li><a href="https://en.wikipedia.org/wiki/Photoreceptor_cell?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rods and Cones</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dichromacy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dichromacy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Color_appearance_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Color Appearance Model</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lab_color_space#Perceptual_differences?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uniform Color Spaces</a></li>
<li><a href="https://joss.theoj.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JOSS</a></li>
<li><a href="https://arxiv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ArXiv</a></li>
<li><a href="https://en.wikipedia.org/wiki/CIECAM02?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CIECAM02 Color Appearance Model</a></li>
<li><a href="http://cinematiccolor.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cinematic Color</a></li>
<li><a href="https://twitter.com/jeremyselan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jeremy Selan (Author of OpenColorIO)</a></li>
<li><a href="http://www.oscars.org/science-technology/sci-tech-projects/aces?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Academy Color Encoding System</a></li>
<li><a href="http://onlinelibrary.wiley.com/book/10.1002/9781118653128?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Color Appearance Models by Mark D. Fairchild</a></li>
<li><a href="https://onlinelibrary.wiley.com/doi/book/10.1002/0470024275?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Reproduction of Colour by Dr. R.W.G. Hunt</a></li>
<li><a href="https://www.wiley.com/en-us/Color+Science%3A+Concepts+and+Methods%2C+Quantitative+Data+and+Formulae%2C+2nd+Edition-p-9780471399186?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Color Science: Concepts and Methods, Quantitative Data and Formulae, 2nd Edition by Günther Wyszecki and W. S. Stiles</a></li>
<li><a href="https://github.com/crowsonkb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Katherine Crowson</a></li>
<li><a href="https://colab.research.google.com/drive/1Im9J7or9qyClQCv5sPHmKdyiQbG4898K?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Colab</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcolour-with-thomas-mansencal-episode-160%2F&amp;action_name=Exploring+Color+Theory+In+Python+With+Thomas+Mansencal+-+Episode+160&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-05-06t20:36:50+00:00-20aa12e9dd20a72</guid>
      <link>https://www.pythonpodcast.com/colour-with-thomas-mansencal-episode-160</link>
      <pubDate>Sun, 6 May 2018 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1551.39" duration="95.82">And another area that's related to perception and our ability to process these visual inputs are things like color blindness, where some people are just physically incapable of even perceiving certain aspects of color. And I'm wondering if there are any uses of your library for being able to either compensate for that or to be able to generate computations that will allow you to preview or predict the ways that somebody who has this particular limitation, how they will be able to experience what it is that you're producing? So, yeah. It's an interesting question, because, like, for years, we had, we had a pull request. I mean, I started some color, yeah, maybe 3 years ago. For that, especially, yeah, because it was a big lock and and at at the time yeah. I need we needed something. So I implemented the paper from, I think it was a student in Spain. It's Machado, Gustavo Machado. And, and that request got stalled for 3 years because, a part of this model, so there are 2 2 aspects of this of this model or 2 implementations. There is a easy 1, which is about, taking as a precomputed matrices generated for this model and use that directly. So, yeah, we implemented that super quickly.</podcast:soundbite>
      <podcast:soundbite startTime="570.66" duration="54.87">And what is it about color science that has drawn your attention so much working in the visual effects field where I'm sure a number of your colleagues don't necessarily pay as close attention to that aspect of the way that color factors into the work that you're doing? So I guess, like, it started, I mean, there are a few aspects. There is like, there are concern when we were rendering and there were issues back then when we were rendering, you know, and, in some companies, we were rendering things, incorrectly, you know, and it's more like kind of differences between, linear and gamma space. But I won't really enter into these details now. But, yeah, basically, for years, like, many companies have been rendering things, in a nonlinear space. So the mass of the rendering, part were kind of wrong or and skewed by that.</podcast:soundbite>
      <podcast:soundbite startTime="299.96" duration="47.27">So, yeah, like, yeah, I wanted to do a bit of, disambiguation on that because they might be, yeah, indeed using changeably, but, they are not really the same thing. Even though they share similarities, I mean, there are bridges between them. So, yeah, color theory, lays the foundation, you know, for the usage of color in visual arts. Basically, it will define the rules, of color scheme creation. You know? And the focus is really eye aesthetics and communication of a of of a message. So it's based on the work of, Isaac Newton. I think it's optics. You know? It's, it's book, like, publication he did, like, back then.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:41</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Exploring Color Theory In Python With Thomas Mansencal</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>160</itunes:episode>
      <podcast:episode>160</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532140371958916b76097-0574-43f1-9a99-edd84103e747v1.mp3" length="44859324" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532140371958916b76097-0574-43f1-9a99-edd84103e747v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_16b76097-0574-43f1-9a99-edd84103e747638558843976438461.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/16b76097-0574-43f1-9a99-edd84103e747638558843972263550.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/16b76097-0574-43f1-9a99-edd84103e747638558843970110330.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Destroy All Software With Gary Bernhardt</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Many developers enter the market from backgrounds that don&#8217;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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don&#8217;t waste time pinpointing what went wrong. Go to <a href="https://www.pythonpodcast.com/airbrake?utm_source=rss&utm_medium=rss">podcastinit.com/airbrake</a> today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Gary Bernhardt about teaching and learning Python in the current software landscape</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>As someone who makes a living from teaching aspects of programming what is your view on the state of software education?
<ul>
<li>What are some of the ways that we as an industry can improve the experience of new developers?</li>
<li>What are we doing right?</li>
</ul>

<p></li><br>
<li>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?</p>

<ul>
<li>Utility of graphs in understanding software</li>
<li>Mechanical sympathy</li>
</ul>

<p></li><br>
<li>What are the benefits of &#8216;from scratch&#8217; tutorials that explore the steps involved in building simple versions of complex topics such as compilers or web frameworks?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/garybernhardt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@garybernhardt</a> on Twitter</li>
<li><a href="https://github.com/garybernhardt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">garybernhardt</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.terrypratchettbooks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Terry Pratchett</a></li>
</ul>

<p></li><br>
<li>Gary</p>

<ul>
<li><a href="https://www.destroyallsoftware.com/screencasts?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Destroy All Software</a></li>
<li><a href="https://www.deconstructconf.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deconstruct Conference</a></li>
<li><a href="https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Out Of The Tarpit</a></li>
<li><a href="https://amzn.to/2jhpwkk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Algorithms + Data Structures = Programs</a> by Niklaus Wirth</li>
<li><a href="https://courses.cs.washington.edu/courses/cse341/17au/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dan Grossman Programming Languages Course (click the &#8220;Videos&#8221; links under &#8220;course materials&#8221;)</a></li>
<li><a href="https://www.washington.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">U of W</a></li>
<li><a href="http://number-none.com/blow/blog/programming/2014/09/26/carmack-on-inlined-code.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">John Carmack post reconsidering some earlier positions</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.destroyallsoftware.com/talks/wat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wat</a></li>
<li><a href="https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Birth and Death of Javascript</a></li>
<li><a href="https://www.destroyallsoftware.com/screencasts?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Destroy All Software</a></li>
<li><a href="https://www.deconstructconf.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deconstruct</a></li>
<li><a href="https://medium.freecodecamp.org/10-common-data-structures-explained-with-videos-exercises-aaff6c06fb2b?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Structures</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computer_science?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computer Science</a></li>
<li><a href="https://hackernoon.com/compilers-and-interpreters-3e354a2e41cf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Compilers</a></li>
<li><a href="https://en.wikipedia.org/wiki/Coding_bootcamp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Programming Bootcamps</a></li>
<li><a href="https://en.wikipedia.org/wiki/Graph_theory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graph Theory</a></li>
<li><a href="https://jvns.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Julia Evans</a>
<ul>
<li><a href="https://twitter.com/b0rk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@b0rk</a> on Twitter</li>
</ul>

<p></li><br>
<li><a href="http://greenteapress.com/wp/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Allen Downey</a></li><br>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebook</a></li><br>
<li><a href="http://jcsites.juniata.edu/faculty/rhodes/intro/theory2.htm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Halting Problem</a></li><br>
<li><a href="https://www.idris-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Idris</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Visual_Basic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Basic 3.0</a></li><br>
<li><a href="https://jeremykun.com/2011/07/09/set-theory-a-primer/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Set Theory</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/ML_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ML Family of Languages</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Standard_ML?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SML, a simple dialect of ML</a></li><br>
<li><a href="https://www.smlnj.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SML/NJ, a compiler for SML</a></li><br>
<li><a href="https://ocaml.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OCamL, a more modern dialect of ML</a></li><br>
<li><a href="http://fsharp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">F#, an even newer dialect of ML</a></li><br>
<li><a href="https://clojure.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clojure, a modern Lisp-like language</a></li><br>
<li><a href="https://www.lua.org/manual/5.3/manual.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lua Grammar (scroll to the very bottom for the full grammar)</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/John_Carmack?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">John Carmack</a></li><br>
<li><a href="https://twitter.com/garybernhardt/status/991020334584221697?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter Thread Explaining Episode Context</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdestroy-all-software-with-gary-bernhardt-episode-159%2F&amp;action_name=Destroy+All+Software+With+Gary+Bernhardt+-+Episode+159&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-04-30t00:41:08+00:00-8e14438c98d26b6</guid>
      <link>https://www.pythonpodcast.com/destroy-all-software-with-gary-bernhardt-episode-159</link>
      <pubDate>Mon, 30 Apr 2018 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="142.72" duration="10.41">So I also run a conference called Deconstruct here in Seattle, but that's a little bit less related to the direct act of programming, which is kind of why we're here. So yeah. That's me in a nutshell.</podcast:soundbite>
      <podcast:soundbite startTime="423.64" duration="31.41">And as you mentioned as during your introduction, you do a lot of work with teaching different aspects of programming via screencasts and presentations and recently through a number of very well written, textual posts. And I'm curious from somebody who spends a lot of time doing that, what your view is on the state of software education, particularly as more and more people are coming into the industry who don't necessarily have the traditional computer science background.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:07</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Destroy All Software With Gary Bernhardt</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>159</itunes:episode>
      <podcast:episode>159</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316859651181a8935c33-b71c-423c-b63a-bcecd16eac57v1.mp3" length="43596737" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316859651181a8935c33-b71c-423c-b63a-bcecd16eac57v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a8935c33-b71c-423c-b63a-bcecd16eac57638558833823147080.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a8935c33-b71c-423c-b63a-bcecd16eac57638558833819594598.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a8935c33-b71c-423c-b63a-bcecd16eac57638558833817357512.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Scaling Deep Learning Using Polyaxon with Mourad Mourafiq</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don&#8217;t waste time pinpointing what went wrong. Go to <a href="https://www.pythonpodcast.com/airbrake?utm_source=rss&utm_medium=rss">podcastinit.com/airbrake</a> today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Mourad Mourafiq about Polyaxon, a platform for building, training and monitoring large scale deep learning applications.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you give a quick overview of what Polyaxon is and your motivation for creating it?</li>
<li>What is a typical workflow for building and testing a deep learning application?</li>
<li>How is Polyaxon implemented?
<ul>
<li>How has the internal architecture evolved since you first started working on it?</li>
<li>What is unique to deep learning workloads that makes it necessary to have a dedicated tool for deploying them?</li>
<li>What does Polyaxon add on top of the existing functionality in Kubernetes?</li>
</ul>

<p></li><br>
<li>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?</li><br>
<li>What are the relative tradeoffs of the various deep learning frameworks that you support?</li><br>
<li>For someone who is getting started with Polyaxon what does the workflow look like?</p>

<ul>
<li>What is involved in migrating existing projects to run on Polyaxon?</li>
</ul>

<p></li><br>
<li>What have been the most challenging aspects of building Polyaxon?</li><br>
<li>What are your plans for the future of Polyaxon?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://mourafiq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/mmourafiq?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mmourafiq</a> on Twitter</li>
<li><a href="https://github.com/mouradmourafiq?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mouradmourafiq</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://amzn.to/2K3KoYu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes Up And Running</a></li>
<li><a href="https://twitter.com/kelseyhightower?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kelsey Hightower</a></li>
<li><a href="http://foodfightshow.org/2018/03/intro-to-kubernetes.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Food Fight Show With Kelsey Hightower</a></li>
</ul>

<p></li><br>
<li>Mourad</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Arthur_Schopenhauer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Schopenhauer</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://polyaxon.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polyaxon</a></li>
<li><a href="https://en.wikipedia.org/wiki/Investment_banking?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Investment Banking</a></li>
<li><a href="https://en.wikipedia.org/wiki/Luxembourg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luxembourg</a></li>
<li><a href="https://www.mathworks.com/products/matlab.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matlab</a></li>
<li><a href="https://en.wikipedia.org/wiki/Text_mining?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Text Mining</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://www.docker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a>
<ul>
<li><a href="http://www.deeplearningbook.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Free Deep Learning Textbook</a></li>
</ul>

<p></li><br>
<li><a href="https://www.oreilly.com/ideas/what-are-machine-learning-engineers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning Engineer</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Hyperparameter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hyperparameters</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Continuous_integration?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Integration</a></li><br>
<li><a href="http://pytorch.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTorch</a></li><br>
<li><a href="https://mxnet.incubator.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MXNet</a></li><br>
<li><a href="http://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scikit-Learn</a></li><br>
<li><a href="https://docs.helm.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Helm</a></li><br>
<li><a href="http://mesos.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mesos</a></li><br>
<li><a href="http://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a></li><br>
<li><a href="https://spark.apache.org/docs/1.2.2/ml-guide.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SparkML</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpolyaxon-with-mourad-mourafiq-episode-158%2F&amp;action_name=Scaling+Deep+Learning+Using+Polyaxon+with+Mourad+Mourafiq+-+Episode+158&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-04-22t12:02:29+00:00-77b50dca4ed5972</guid>
      <link>https://www.pythonpodcast.com/polyaxon-with-mourad-mourafiq-episode-158</link>
      <pubDate>Mon, 23 Apr 2018 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="964.76" duration="46.65">And when you're doing those periodic builds, is it possible to set some sort of expectation of the output to ensure that it's staying within certain bounds so that you can be alerted if something is not operating as intended or whether there's new data that's causing the model to behave in an unpredictable fashion? So, basically, with the the the idea behind this pipeline is that it gives you more or less some kind of, higher, like, abstraction of doing whatever you want, for example, integration with the different kind of like environments, for example, Slack. So for example, you can say if, the last experience has, accuracy or like a loss of this value or that value, send me a notification, for example, or restart the training based on a different kind of, like, time range or whatever.</podcast:soundbite>
      <podcast:soundbite startTime="218.21" duration="45.90">And can you start by giving a quick overview of what the Polyaxon project is and your motivation for creating it? So I started working on poly I mean, it was not called Polyaxon at that time. It was just like cap and scripts that I, put together when I start using TensorFlow in 2015. At that time, there was a small team at Google that was working on, scikitflow. It was something similar to scikit learn, but for TensorFlow, I liked it and then they moved it inside TensorFlow as a country blur and since then it was like breaking every time they were like upgrading. So, I thought I would build my own small library and, yeah, been working on that since then.</podcast:soundbite>
      <podcast:soundbite startTime="530.55" duration="42.60">What is it about deep learning workloads that makes it necessary to have a dedicated tool for deploying them, particularly for being able to manage a scale out environment to parallelize the experiments that you're running? Yeah. I think deep learning and machine learning in general is, maturing as we, in the last couple of years, but it's not as mature as software engineering. There's a lot of technical debts that gets introduced every for, every project. So depending on the the organization and also like the processes that they have inside, for their teams, you would see, like, different kinds of, like, structures. But in general, it's not as as rigorous as a software engineer.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:36:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Scaling Deep Learning Using Polyaxon with Mourad Mourafiq</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>158</itunes:episode>
      <podcast:episode>158</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307721836697c1602999-56ac-406e-acc0-8bdf2fece6bdv1.mp3" length="25297359" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307721836697c1602999-56ac-406e-acc0-8bdf2fece6bdv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c1602999-56ac-406e-acc0-8bdf2fece6bd638558822167123304.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c1602999-56ac-406e-acc0-8bdf2fece6bd638558822164590283.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c1602999-56ac-406e-acc0-8bdf2fece6bd638558822162636271.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Electricity Map: Real Time Visibility of Power Generation with Olivier Corradi</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don&#8217;t waste time pinpointing what went wrong. Go to <a href="https://www.pythonpodcast.com/airbrake?utm_source=rss&utm_medium=rss">podcastinit.com/airbrake</a> today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Olivier Corradi about Electricity Map and using Python to analyze data of global power generation</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What was your motivation for creating Electricity Map?
<ul>
<li>How can an average person use or benefit from the information that is available in the map?</li>
</ul>

<p></li><br>
<li>What sources are you using to gather the information about how electricity is generated and distributed in various geographic regions?</p>

<ul>
<li>Is there any standard format in which this data is produced?</li>
<li>What are the biggest difficulties associated with collecting and consuming this data?</li>
<li>How much confidence do you have in the accuracy of the data sources?</li>
<li>Is there any penalty for misrepresenting the fuel consumption or waste generation for a given plant?</li>
</ul>

<p></li><br>
<li>Can you describe the architecture of the system and how it has evolved?</li><br>
<li>What are some of the most interesting uses of the data in your database and API that you are aware of?</p>

<ul>
<li>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?</li>
</ul>

<p></li><br>
<li>How have you built a community around the project?</p>

<ul>
<li>How has the community helped in building and growing Electricity Map? </li>
</ul>

<p></li><br>
<li>What are some of the most unexpected things that you have learned in the process of building Electricity Map?</li><br>
<li>What are your plans for the future of Electricity Map?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/corradio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@corradio</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/oliviercorradi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://github.com/corradio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">corradio</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.wikihow.com/Inline-Skate?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rollerblading</a></li>
</ul>

<p></li><br>
<li>Olivier</p>

<ul>
<li><a href="https://www.alphagomovie.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Mind AlphaGo Documentary</a></li>
<li><a href="http://www.tmrow.com/climatechange.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Consumer&#8217;s Guide To Climate Change Impact</a> </li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.electricitymap.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Electricity Map</a></li>
<li><a href="https://en.wikipedia.org/wiki/Machine_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Learning</a></li>
<li><a href="https://www.youtube.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Youtube</a></li>
<li><a href="https://climate.nasa.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Climate Change</a></li>
<li><a href="https://en.wikipedia.org/wiki/Fossil_fuel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fossil Fuels</a></li>
<li><a href="https://en.wikipedia.org/wiki/Emission_intensity#Carbon_intensity_of_regions?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Carbon Intensity</a></li>
<li><a href="https://www.epa.gov/energy/greenhouse-gases-equivalencies-calculator-calculations-and-references?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Greenhouse Gas Equivalencies Calculations</a></li>
<li><a href="https://en.wikipedia.org/wiki/Open_data?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Data</a></li>
<li><a href="https://github.com/tmrowco/electricitymap?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Electricity Map Project Source</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lignite?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lignite</a></li>
<li><a href="http://adgefficiency.com/energy-basics-average-vs-marginal-carbon-emissions/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marginal Carbon Intensity</a></li>
<li><a href="https://api.electricitymap.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Electricity Map Forecast API</a></li>
<li><a href="http://www.ipcc.ch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPCC (Intergovernmental Panel on Climate Change</a></li>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li>
<li><a href="https://d3js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D3.js</a></li>
<li><a href="http://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tensorflow</a></li>
<li><a href="https://www.datamining.informatik.uni-mainz.de/spatio-temporal-data/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spatiotemporal Data</a></li>
<li><a href="https://www.mongodb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoDB</a></li>
<li><a href="https://www.mathsisfun.com/algebra/matrix-inverse.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matrix Inversion</a></li>
<li><a href="https://github.com/jswhit/pygrib?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGRIB</a></li>
<li><a href="http://www.tmrow.com/?utm_source=electricitymap.org&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tomorrow Co.</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Felectricity-map-with-olivier-corradi-episode-157%2F&amp;action_name=Electricity+Map%3A+Real+Time+Visibility+of+Power+Generation+with+Olivier+Corradi+-+Episode+157&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-04-15t00:27:54+00:00-0a17e9aae7d56aa</guid>
      <link>https://www.pythonpodcast.com/electricity-map-with-olivier-corradi-episode-157</link>
      <pubDate>Sun, 15 Apr 2018 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="188.53" duration="46.13">And I stumbled upon the fact that all of our energy basically comes from fossil fuels, which is very bad. It's 80% of it. And then realized if we were if if we are to live in a fully electric world where we don't use fossil fuels it really matters how electricity is produced And as still a lot of electricity is produced by fossil fuels, coal, and gas, it's 2 thirds approximately. I figured, well, we really need to get this knowledge out to people, make something very intuitive that shows in real time what is the wind turbines producing. Are we able to turn off the coal in the gas power plants? And how do we actually make an energy system or an electricity system that produces electricity even when you don't have the wind blowing and the sun shining? And this is really the motivation behind the project.</podcast:soundbite>
      <podcast:soundbite startTime="1987.24" duration="42.52">But for example, with the projects we're doing with electric vehicles, we measured that if an electric vehicle is using our system, our API in order to charge at the right time during the night, you can save approximately 20% greenhouse gas emissions every night based on a fully electric vehicle charge. So it starts to be coming interesting if you multiply those initiatives to, you know, the heating in your home if it's electric and you start going to industrial scale like for example supermarkets they have a lot of cooling electricity they use. They could also use it at the right time. So I I think we're going to have bigger and easily quantifiable impact in the future but right now it's still a bit early to say.</podcast:soundbite>
      <podcast:soundbite startTime="134.69" duration="27.31">It's, it's tough to remember exactly, but I think it was, when it was in high school and trying to build this home project that would download automatically videos from YouTube because I had very, very bad connection. And on the train, I wanted to be able to look at those videos. And so what I did is, like, a cron job that would use Python to download those videos and store them locally, transfer them to my phone, and then I could be able to see them on my phone.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:53</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Electricity Map: Real Time Visibility of Power Generation with Olivier Corradi</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>157</itunes:episode>
      <podcast:episode>157</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530458596073152c883e6-61c0-402d-81b6-5fe9d23b34b5v1.mp3" length="38130997" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530458596073152c883e6-61c0-402d-81b6-5fe9d23b34b5v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_52c883e6-61c0-402d-81b6-5fe9d23b34b5638558809571634756.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/52c883e6-61c0-402d-81b6-5fe9d23b34b5638558809568383441.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/52c883e6-61c0-402d-81b6-5fe9d23b34b5638558809566157302.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Building And Growing Nylas with Christine Spang</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;s easy to get started, and the automatic aggregations, contextual information, and deployment tracking ensure that you don&#8217;t waste time pinpointing what went wrong. Go to <a href="https://www.pythonpodcast.com/airbrake?utm_source=rss&utm_medium=rss">podcastinit.com/airbrake</a> today to sign up and get your first 30 days free, and 50% off 3 months of the Startup plan.</li>
<li>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&#8217;s even easier to deploy and scale your build agents. Go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Christine Spang about Nylas and the modern era of email</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what Nylas is and some of its history?</li>
<li>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?</li>
<li>What lessons did you learn from your initial offering of the N1 mail client and how has that informed your current focus?</li>
<li>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?</li>
<li>What are some of the ways that Python is used at Nylas?</li>
<li>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?</li>
<li>What are some of the use cases that Nylas enables?</li>
<li>What are some of the most interesting or innovative uses of the Nylas platform that you have seen?</li>
<li>How do you manage privacy and security in your sync service given the sensitivity of the data that you are handling?</li>
<li>What are some of the biggest challenges that you are currently facing at Nylas?</li>
<li>What do you think will be the future of email?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://www.linkedin.com/in/christinespang/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
<li><a href="https://twitter.com/spang?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@spang</a> on Twitter</li>
<li><a href="http://spang.cc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/spang/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias</li>
<li><a href="https://trello.com/tobiasmacey/recommend?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trello</a></li>
<li>Christine</li>
<li><a href="https://www.foundersforchange.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Founders For Change</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="https://www.nylas.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nylas</a></li>
<li><a href="http://web.mit.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MIT</a></li>
<li><a href="https://www.ksplice.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KSplice</a></li>
<li><a href="https://www.debian.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Debian</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp</a></li>
<li><a href="https://en.wikipedia.org/wiki/Representational_state_transfer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">REST</a></li>
<li><a href="https://en.wikipedia.org/wiki/Email?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Email</a></li>
<li><a href="https://www.nylas.com/nylas-mail/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">N1 Mail Client</a></li>
<li><a href="https://getmailspring.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailspring</a></li>
<li><a href="https://github.com/nylas/handbook?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nylas Employee Handbook</a></li>
<li><a href="https://hackbrightacademy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hackbright Academy</a></li>
<li><a href="http://www.code2040.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code2040</a></li>
<li><a href="https://textio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TextIO</a></li>
<li><a href="https://www.keyvalues.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Key Values</a></li>
<li><a href="https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IMAP</a></li>
<li><a href="https://en.wikipedia.org/wiki/OAuth?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OAuth</a></li>
<li><a href="https://www.mysql.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li>
<li><a href="http://www.gevent.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gevent</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React</a></li>
<li><a href="https://en.wikipedia.org/wiki/Customer_relationship_management?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CRM (Customer Relationship Management)</a></li>
<li><a href="https://sendgrid.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SendGrid</a></li>
<li><a href="https://www.mailgun.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MailGun</a></li>
<li><a href="https://mailchimp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MailChimp</a></li>
<li><a href="https://www.eugdpr.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GDPR (General Data Protection Regulation)</a></li>
<li><a href="https://www.incapsula.com/web-application-security/soc-2-compliance.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SOC2</a></li>
<li><a href="https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OWASP Top 10</a></li>
<li><a href="https://en.wikipedia.org/wiki/Principle_of_least_privilege?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Principle of Least Privilege</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fnylas-with-christine-spang-episode-156%2F&amp;action_name=Building+And+Growing+Nylas+with+Christine+Spang+-+Episode+156&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-04-08t21:35:58+00:00-89e21802f5c4c7d</guid>
      <link>https://www.pythonpodcast.com/nylas-with-christine-spang-episode-156</link>
      <pubDate>Sun, 8 Apr 2018 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="207.54" duration="38.96">So Nylas is basically a modern rest API that makes it really easy for developers to plug email, contacts, and calendar into any application. So the idea for the company came from actually, my cofounder, who's a friend of mine from college, was trying to build, basically, some kind of, like, new products and experiences that worked with email and as a part of his undergraduate thesis. And he basically found that he spent several months just trying to actually, like, pull the data out and display it because all of the kind of technology to integrate with email, was very complicated.</podcast:soundbite>
      <podcast:soundbite startTime="322.81" duration="40.85">1 is that by nature, email is distributed. So at this point, there are, millions of servers out there that help people connect to the email network. And if you have your email hosted at any 1 provider, you can talk to anyone at any other email provider. And I think that this property has been a key reason why, email has become kind of so sticky and such a a key facet of how modern business communication works. There's no other system out there that essentially is is an open network that doesn't require everyone to be on the same system.</podcast:soundbite>
      <podcast:soundbite startTime="2142.32" duration="33.68">And, you know, there was a point when the entire engineering team also reported to me. So, kind of was a full time manager at 1 point, and it's definitely been kind of, I would say, up and down. I highly recommend to anyone who's thinking about starting a company to get some management experience beforehand if you can, Because it's kind of a bit of a stressful experience to be flying by the seat of your pants and, you know, trying to do the best for the company and also trying to, like, learn all of these, like, people management skills at the same time.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Building And Growing Nylas with Christine Spang</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>156</itunes:episode>
      <podcast:episode>156</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306840409240b1f41ac0-a796-4bb8-b552-83515948da43v1.mp3" length="25513333" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306840409240b1f41ac0-a796-4bb8-b552-83515948da43v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b1f41ac0-a796-4bb8-b552-83515948da43638558819069715523.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b1f41ac0-a796-4bb8-b552-83515948da43638558819066560843.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b1f41ac0-a796-4bb8-b552-83515948da43638558819064795787.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Synthetic Data Generation Using Mimesis with Nikita Sobolev</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nikita Sobolev about Mimesis, a library for quickly generating synthetic data</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is mimesis and how does it compare to other projects such as faker and factory_boy?
<ul>
<li>What was the motivation for creating it?</li>
</ul>

<p></li><br>
<li>One of the features that is advertised is the speed of Mimesis. What techniques are used to ensure that the data is generated quickly?</li><br>
<li>What are the built in mechanisms for generating data?</p>

<ul>
<li>What options do users have for customizing the types of data that can get generated?</li>
</ul>

<p></li><br>
<li>What are some of the most complicated providers to write and maintain?</li><br>
<li>What are some of the use cases outside of unit or integration tests where Mimesis could be beneficial?</p>

<ul>
<li>How would you use Mimesis to anonymize data from a production environment to be used for testing?</li>
</ul>

<p></li><br>
<li>What are the most challenging aspects of maintaining the Mimesis project?</li><br>
<li>What are some of the plans that you have for the future of Mimesis?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/sobolevn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sobolevn</a> on GitHub</li>
<li><a href="https://twitter.com/sobolevn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@sobolevn</a> on Twitter</li>
<li><a href="mailto:mail@sobolevn.me">Email</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://movies.disney.com/coco?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coco</a></li>
</ul>

<p></li><br>
<li>Nikita</p>

<ul>
<li><a href="https://dev.to/sobolevn/i-am-a-mediocre-developer--30hn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">I Am A Mediocre Developer</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://lk-geimfari.github.io/mimesis/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mimesis</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://pypi.org/project/Faker/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Faker</a></li>
<li><a href="https://pypi.org/project/factory_boy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Factory Boy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Internationalization_and_localization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Internationalization (I18N)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Unicode?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unicode</a></li>
<li><a href="https://docs.python.org/3/library/enum.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Enum</a></li>
<li><a href="https://github.com/pypa/pipfile?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pipfile</a></li>
<li><a href="http://geojson.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GeoJSON</a></li>
<li><a href="https://github.com/wemake-services/mimesis-cloud?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mimesis Cloud</a></li>
<li><a href="https://github.com/channelcat/sanic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sanic</a></li>
<li><a href="https://graphql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphQL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Impostor_syndrome?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Impostor Syndrome</a></li>
<li><a href="https://github.com/adriennefriend/imposter-syndrome-disclaimer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Imposter Syndrome Disclaimer</a>: Add this to all of your projects!</li>
<li><a href="https://www.youtube.com/watch?v=hIJdFxYlEKE&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jacob Kaplan-Moss PyCon Keynote</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmimesis-with-nikita-sobolev-episode-155%2F&amp;action_name=Synthetic+Data+Generation+Using+Mimesis+with+Nikita+Sobolev+-+Episode+155&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-04-01t21:35:18+00:00-c9e8a5dc4f64100</guid>
      <link>https://www.pythonpodcast.com/mimesis-with-nikita-sobolev-episode-155</link>
      <pubDate>Sun, 1 Apr 2018 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="117.46" duration="60.75">And how did you first get introduced to Python? That's a really interesting question because it is all connected. It was, like, 8 years ago, I think, we had a university project. It was a group project. And as you know, all group projects are made by 1 person in the last night, so I was I was this person. We had some kind of, you, we had some kind of project that I I almost don't remember, and we had to do it really fast. And, there was only 1 requirement, so it was going to be in Python. We have chosen Django as very productive web framework, and I really like it because I was successful in providing all the code in 1 night. So I think, that's a great thing. Why would I use it in normalcy life situations? So, I really like the language, the framework, and I have started to to build some websites and some applications using Python and Django.</podcast:soundbite>
      <podcast:soundbite startTime="385.37" duration="51.86">And when you're referring to providers, this is for things like being able to create names or addresses. And also just to as a point of clarification for listeners because of the sort of overloaded term of language where it could be referred to programming or spoken. In this case, we're referring to spoken languages such as Russian or German or English. So Yes. Yes. And that's another interesting point too is that when you are generating this fake data, particularly for purposes of testing an application, you want to be able to generate it in multiple languages to ensure that your applications properly supports internationalization and localization because different languages might have different character sets or right to left versus left to right text. So having those different language providers is definitely valuable for those purposes as well.</podcast:soundbite>
      <podcast:soundbite startTime="1006.81" duration="99.08">And 1 of the main use cases that people generally think of when talking about generating fake data is for unit tests to ensure that functions are able to take appropriate inputs and provide appropriate outputs or for being able to see the test database with information to make sure that everything functions as expected. But are there any other interesting use cases outside of that where Mimesos could be beneficial? I could mention anonymizing die data and production data. That's a really, really useful use case to do. We all know we all have, stage servers, and these stage servers must copy our production setup. And these stage servers must copy our production data. But on the other hand, we don't want to have this data leaked, we don't have this data corrupted, or we don't want our customers or users to be notified on the real emails when some developers screw up and so. So we use this technique in some applications. We take our production data and we met modify names, emails, some specific numbers if we do store them, and then we just undermine them. So we have all our production data with all possible kind of errors, all possible kind of, missing fields, missing relationships, and all kind of trials we can possibly imagine. But on the other hand, we are not risk to lose our data. We don't risk to be it to be leaked. So we have, benefits from 2 worlds, and so we can use them safely.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:32:37</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Synthetic Data Generation Using Mimesis with Nikita Sobolev</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>155</itunes:episode>
      <podcast:episode>155</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253204379785213810b55e-3e1f-497d-a8b1-db15a7b4dbbcv1.mp3" length="24095431" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253204379785213810b55e-3e1f-497d-a8b1-db15a7b4dbbcv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_3810b55e-3e1f-497d-a8b1-db15a7b4dbbc638558839853747435.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3810b55e-3e1f-497d-a8b1-db15a7b4dbbc638558839851637222.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3810b55e-3e1f-497d-a8b1-db15a7b4dbbc638558839849876815.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Luminoth: AI Powered Computer Vision for Python with Joaquin Alori</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;ll have everything you need to find and fix bugs in no time. Go to <a href="https://www.pythonpodcast.com/datadog?utm_source=rss&utm_medium=rss">podcastinit.com/datadog</a> today to start your free 14 day trial and get a sweet new T-Shirt.</li>
<li>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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Joaquín Alori about Luminoth, a deep learning toolkit for computer vision in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Luminoth and what was your motivation for creating it?</li>
<li>Computer vision has been a focus of AI research for decades. How do current approaches with deep learning compare to previous generations of tooling?</li>
<li>What are some of the most difficult problems in visual processing that still need to be solved?</li>
<li>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?</li>
<li>For someone who is interested in using Luminoth in their project what is the current workflow?</li>
<li>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?
<ul>
<li>What are some of the motivations for using Luminoth in place of these services?</li>
</ul>

<p></li><br>
<li>What are some of the highest priority features that you are focusing on implementing in Luminoth?</li><br>
<li>When is Luminoth the wrong choice for a computer vision application and what are some of the strongest alternatives at the moment?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/joaquinalori?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@JoaquinAlori</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/joaquinalori/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://us.pycon.org/2018/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon US</a></li>
</ul>

<p></li><br>
<li>Joaquin</p>

<ul>
<li><a href="https://www.youtube.com/3blue1brown?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3Blue1Brown</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://luminoth.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luminoth</a></li>
<li><a href="https://tryolabs.com/blog/2017/10/10/launching-luminoth-our-open-source-computer-vision-toolkit/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luminoth Release Announcement</a></li>
<li><a href="https://tryolabs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tryo Labs</a></li>
<li><a href="https://en.wikipedia.org/wiki/Uruguay?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uruguay</a></li>
<li><a href="https://en.wikipedia.org/wiki/Industrial_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Industrial Engineering</a></li>
<li><a href="https://en.wikipedia.org/wiki/Manufacturing_engineering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Manufacturing Engineering</a></li>
<li><a href="https://en.wikipedia.org/wiki/Elon_Musk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elon Musk</a></li>
<li><a href="https://en.wikipedia.org/wiki/Artificial_intelligence?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artificial Intelligence</a></li>
<li><a href="https://en.wikipedia.org/wiki/Deep_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deep Learning</a></li>
<li><a href="https://en.wikipedia.org/wiki/Artificial_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neural Networks</a></li>
<li><a href="https://en.wikipedia.org/wiki/Object_detection?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Object Detection</a></li>
<li><a href="https://en.wikipedia.org/wiki/Image_segmentation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Image Segmentation</a></li>
<li><a href="https://en.wikipedia.org/wiki/Convolutional_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Convolutional Neural Network</a></li>
<li><a href="https://en.wikipedia.org/wiki/Recurrent_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Recurrent Neural Network</a></li>
<li><a href="https://en.wikipedia.org/wiki/Backpropagation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Back Propagation</a></li>
<li><a href="https://en.wikipedia.org/wiki/Geoffrey_Hinton?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Geoff Hinton</a></li>
<li><a href="https://www.oreilly.com/ideas/introducing-capsule-networks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Capsule Networks</a></li>
<li><a href="https://en.wikipedia.org/wiki/Generative_adversarial_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Generative Adversarial Networks</a></li>
<li><a href="https://en.wikipedia.org/wiki/Support_vector_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SVM (Support Vector Machine)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Haar-like_feature?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Haar Classifiers</a></li>
<li><a href="https://opencv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenCV</a></li>
<li><a href="https://en.wikipedia.org/wiki/Unmanned_aerial_vehicle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Drones</a></li>
<li><a href="https://en.wikipedia.org/wiki/Graphics_processing_unit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GPU (Graphics Processing Unit)</a></li>
<li><a href="https://aws.amazon.com/rekognition/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rekognition</a></li>
<li><a href="https://cloud.google.com/vision/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloud Vision API</a></li>
<li><a href="https://github.com/tensorflow/models/tree/master/research/object_detection?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TensorFlow Object Detection API</a></li>
<li><a href="https://github.com/deepmind/sonnet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sonnet</a></li>
<li><a href="https://deepmind.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeepMind</a></li>
<li><a href="http://caffe.berkeleyvision.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Caffe</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fluminoth-with-joaquin-alori-episode-154%2F&amp;action_name=Luminoth%3A+AI+Powered+Computer+Vision+for+Python+with+Joaquin+Alori+-+Episode+154&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-03-25t02:41:58+00:00-9197c42bca95016</guid>
      <link>https://www.pythonpodcast.com/luminoth-with-joaquin-alori-episode-154</link>
      <pubDate>Sun, 25 Mar 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="341.13" duration="34.12">And convolutional neural networks were created in the nineties, but it were popularized in the nineties by Yann LeCun. And, back propagation, the algorithm we use to train these networks was popularized by Jeff Henson in GHS. So, like, the big ideas were already set, but they weren't working too well at the time. And, there needed to be some kind of small improvements to make them work well. And these improvements came in the shape of just smaller, more recent breakthroughs. Stuff like dropouts, radio activations, batch norm, adding shortcuts between layers.</podcast:soundbite>
      <podcast:soundbite startTime="127.29" duration="28.64">And there he said that AI, was a danger for humanity, which I found super odd because the way in which I thought about programming was that you have to write all these rules for the machine to follow. And there was no no way for me to, like, to write every single rule that a machine has to follow to be considered smart. So but, you know, I respect Elon a lot. So I just started reading about AI. And then I found about machine learning, which I knew nothing about at the time.</podcast:soundbite>
      <podcast:soundbite startTime="754.59" duration="36.62">And you mentioned too that with tools such as OpenCV, they're potentially a bit lighter weight than Luminoth. So for somebody who wants to be able to deploy Luminoth in a production environment, what are some of the resource considerations that they should be thinking about as they're provisioning the servers that it'll be running on? Yeah. It depends on what you want to do. If you want to do video, you have to have a powerful GPU like a GTX 1060 at least, I think. But if you want to do pictures, any kind of GPU is it's I mean, depends on the amount of flow you want to give to Luminous, but, just a a decent GPU is what you need.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:21:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Luminoth: AI Powered Computer Vision for Python with Joaquin Alori</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>154</itunes:episode>
      <podcast:episode>154</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322361903583dfdcb653-a368-4cb7-8fb2-fc50c767a7c7v1.mp3" length="15257580" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322361903583dfdcb653-a368-4cb7-8fb2-fc50c767a7c7v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_dfdcb653-a368-4cb7-8fb2-fc50c767a7c7638558848019183988.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/dfdcb653-a368-4cb7-8fb2-fc50c767a7c7638558848017400305.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/dfdcb653-a368-4cb7-8fb2-fc50c767a7c7638558848015512067.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Thonny: The IDE For Beginning Programmers with Aivar Annamaa</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>When you&#8217;re ready to launch your next app you&#8217;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&#8217;ve got everything you need to scale up. Go to <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podcastinit.com/linode</a> to get a $20 credit and launch a new server in under a minute.</li>
<li>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&#8217;ll have everything you need to find and fix bugs in no time. Go to <a href="https://www.pythonpodcast.com/datadog?utm_source=rss&utm_medium=rss">podcastinit.com/datadog</a> today to start your free 14 day trial and get a sweet new T-Shirt.</li>
<li>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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcastinit.com/gocd</a> to learn more about their professional support services and enterprise add-ons.</li>
<li>Visit <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">podcastinit.com</a> to subscribe to the show, sign up for the newsletter, and read the show notes.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Aivar Annamaa about Thonny, a Python IDE for beginning programmers</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What was your motivation for building an IDE focused on beginning programmers?</li>
<li>What are the features of Thonny that make it easier for users to understand what is happening in their programs?</li>
<li>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?</li>
<li>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?</li>
<li>How is Thonny built and what have been the most challenging aspects of writing an IDE in Python?</li>
<li>What are some of the interface design choices that you have made to avoid confusing or overwhelming beginning users?</li>
<li>Once a user becomes more proficient in Python is there a point where it no longer makes sense to continue using Thonny for development?</li>
<li>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?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Aivar
<ul>
<li><a href="https://twitter.com/aivarannamaa?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@aivarannamaa</a> on Twitter</li>
<li><a href="https://github.com/aivarannamaa?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">aivarannamaa</a> on GitHub</li>
<li><a href="https://scholar.google.com/citations?user=sQ5LoEcAAAAJ&amp;hl=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Scholar Page</a></li>
</ul>

<p></li><br>
<li>Thonny</p>

<ul>
<li><a href="http://thonny.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://groups.google.com/forum/#!forum/thonny?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://twitter.com/thonnyide?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@thonnyide</a> on Twitter</li>
<li><a href="https://bitbucket.org/plas/thonny/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Source repository and wiki</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.dataengineeringpodcast.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a></li>
<li><a href="http://www.imdb.com/title/tt4302938/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubo and the Two Strings</a></li>
</ul>

<p></li><br>
<li>Aivar</p>

<ul>
<li><a href="https://micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a></li>
<li><a href="https://www.pythonpodcast.com/episode-15-damien-george-talks-to-us-about-micropython/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Interview</a></li>
<li><a href="https://www.goodreads.com/book/show/769016.How_to_Talk_So_Kids_Will_Listen_Listen_So_Kids_Will_Talk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How to Talk So Kids Will Listen &amp; Listen So Kids Will Talk</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://thonny.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thonny</a></li>
<li><a href="https://www.ut.ee/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Tartu</a></li>
<li><a href="https://en.wikipedia.org/wiki/Estonia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Estonia</a></li>
<li><a href="https://en.wikipedia.org/wiki/Recursion_(computer_science)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Recursion</a></li>
<li><a href="https://wiki.python.org/moin/TkInter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TKinter</a></li>
<li><a href="http://progeopik.cs.ut.ee/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Aivar Estonian Textbook</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pascal</a></li>
<li><a href="http://mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Interview</a></li>
</ul>

<p></li><br>
<li><a href="http://microbit.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BBC Micro:bit</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Version_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Version Control</a></li><br>
<li><a href="https://github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li><br>
<li><a href="https://about.gitlab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitLab</a></li><br>
<li><a href="http://elm-lang.org/blog/compilers-as-assistants?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elm Compiler Messages</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fthonny-with-aivar-annamaa-episode-153%2F&amp;action_name=Thonny%3A+The+IDE+For+Beginning+Programmers+with+Aivar+Annamaa+-+Episode+153&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-03-18t12:27:52+00:00-ccee615cf8abe93</guid>
      <link>https://www.pythonpodcast.com/thonny-with-aivar-annamaa-episode-153</link>
      <pubDate>Sun, 18 Mar 2018 15:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1368.28" duration="24.23">So it would be really nice if it's possible to save save your work into cloud or let's say into GitHub with Thonny. Also, in the next version of Thonny I hope to have completed a system for defining, visual themes. And when this is ready ready, I expect people to contribute new themes to Tony.</podcast:soundbite>
      <podcast:soundbite startTime="178.31" duration="27.96">When I was teaching, recursion in my labs, I noticed that, too many students struggled because they had in their heads, an, oversimplified model about function calls. They seem to think that the function call, it, means simply a jump from the call site to the definition site, and then, somehow magically back again.</podcast:soundbite>
      <podcast:soundbite startTime="709.12" duration="20.61">I wasn't happy with the Estonian language materials meant for teaching Python for beginners. So, actually, I wrote my own textbook, web based textbook. And, yeah. I think this is the material, material I am most happy with regarding programmers.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:29:51</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Thonny: The IDE For Beginning Programmers with Aivar Annamaa</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>153</itunes:episode>
      <podcast:episode>153</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304175696254d2c7611f-bea0-4413-a5fc-58c673974f6av1.mp3" length="22647553" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304175696254d2c7611f-bea0-4413-a5fc-58c673974f6av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d2c7611f-bea0-4413-a5fc-58c673974f6a638558807755358682.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d2c7611f-bea0-4413-a5fc-58c673974f6a638558807753551122.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d2c7611f-bea0-4413-a5fc-58c673974f6a638558807751733194.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Keeping The Beets with Adrian Sampson</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Adrian Sampson about Beets, the swiss army knife for managing your music library.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Beets and what was your reason for creating it?
<ul>
<li>What was your reason for using Python and if you were to start over today would you make the same choice?</li>
</ul>

<p></li><br>
<li>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?</li><br>
<li>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?</li><br>
<li>What are your thoughts on the current trend toward streaming music services replacing local media files?</li><br>
<li>What have been some of the most challenging aspects of building Beets?</li><br>
<li>What are some of the most interesting uses for Beets that you have seen?</li><br>
<li>What are some of the other projects for managing a music library and how does Beets compare to them?</li><br>
<li>Are there any features that you have planned for the future of Beets, or any new functionality that you would like to see contributed?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/sampsyo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sampsyo</a> on GitHub</li>
<li><a href="http://www.cs.cornell.edu/~asampson/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/samps?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@samps</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li>Mozart&#8217;s Requiem</li>
<li><a href="https://en.wikipedia.org/wiki/Requiem_(Mozart)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wikipedia</a></li>
<li><a href="https://www.youtube.com/watch?v=neDnpgZPPvY&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">YouTube</a></li>
<li><a href="http://mule.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gov&#8217;t Mule</a></li>
<li><a href="http://officialdarkesthour.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Darkest Hour</a></li>
</ul>

<p></li><br>
<li>Adrian</p>

<ul>
<li><a href="http://amzn.to/2GfEaTT?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spiralizer</a></li>
<li>Spiralized Beats With Pesto</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://beets.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beets</a></li>
<li><a href="https://www.sqlite.org/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLite</a></li>
<li><a href="https://mutagen.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mutagen</a></li>
<li><a href="http://id3.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ID3 Tags</a></li>
<li><a href="https://musicbrainz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Musicbrainz</a></li>
<li><a href="https://bandcamp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bandcamp</a></li>
<li><a href="http://freemusicarchive.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Free Music Archive</a></li>
<li><a href="http://www.cornell.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cornell</a></li>
<li><a href="https://acoustid.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AcoustID</a></li>
<li><a href="https://acoustid.org/chromaprint?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chromaprint</a></li>
<li><a href="https://picard.musicbrainz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Musicbrainz Picard</a></li>
<li><a href="https://www.apple.com/itunes/?cid=OAS-US-DOMAINS-itunes.com&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a></li>
<li><a href="https://www.spotify.com/us/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spotify</a></li>
<li><a href="https://music.amazon.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon Music</a></li>
<li><a href="https://en.wikipedia.org/wiki/Digital_Living_Network_Alliance?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DLNA</a></li>
<li><a href="https://en.wikipedia.org/wiki/Universal_Plug_and_Play?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UPnP</a></li>
<li><a href="https://github.com/beetbox/aura?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AURA</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbeets-with-adrian-sampson-episode-152%2F&amp;action_name=Keeping+The+Beets+with+Adrian+Sampson+-+Episode+152&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-03-12t04:38:00+00:00-95bc89e4ea6d9a9</guid>
      <link>https://www.pythonpodcast.com/beets-with-adrian-sampson-episode-152</link>
      <pubDate>Mon, 12 Mar 2018 04:00:00 +0000</pubDate>
      <podcast:soundbite startTime="544.50" duration="36.60">The original version of Beats was not multi threaded and this is is maybe 1 of the biggest architectural changes that we made is after the first version. To be specific, here is the problem with the original version of Beats as I first made it. It would read 1 album. It would try to it would communicate with the music brain servers to match it with a amount of metadata, and then it would wanna interact with you to confirm those changes. So it would, show you the proposed changes, then it would ask you to accept or reject them, and you'd be sitting at a command line prompt ready to say yes or no and Beats would be completely stuck. Beats wouldn't be doing anything else in the background.</podcast:soundbite>
      <podcast:soundbite startTime="138.70" duration="34.63">My original intent with creating beats was to have kind of a, I suppose, a platform for doing interesting things with your music. Like, for example, I had a collection of m p threes that I've gotten from various places that are ripped from CDs, borrowed from friends, this type of thing, and I had no idea which of these were of an acceptable bit rate that I would actually wanna listen to, which of them have been, like, cobbled around from various sources, and I should definitely replace by buying new m p threes from Amazon or something. And I I realized I had no way of keeping track of this. I was essentially managing everything by hand.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:24</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Keeping The Beets with Adrian Sampson</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>152</itunes:episode>
      <podcast:episode>152</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304768813835d07f4b86-3289-436f-93e1-62bab0d854dcv1.mp3" length="27278885" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304768813835d07f4b86-3289-436f-93e1-62bab0d854dcv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d07f4b86-3289-436f-93e1-62bab0d854dc638558810407110167.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d07f4b86-3289-436f-93e1-62bab0d854dc638558810404632233.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d07f4b86-3289-436f-93e1-62bab0d854dc638558810402700463.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Salabim: Logistics Simulation with Ruud van der Ham</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ruud van der Ham about Salabim, a Python library for conducting discrete event simulations</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Discrete Event Simulation is and how Salabim helps with that?
<ul>
<li>Can you explain how you chose the name?</li>
</ul>

<p></li><br>
<li>What was your motivation for creating Salabim and how does it compare to other tools for discrete event simulation?</li><br>
<li>How does discrete event simulation compare with state machines?</li><br>
<li>How is Salabim implemented and how has the design evolved over the time that you have been working on it?</li><br>
<li>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?</li><br>
<li>What are some examples of the types of models that you can model with Salabim?</p>

<ul>
<li>What would an implementation of one of these models look like for someone using Salabim?</li>
</ul>

<p></li><br>
<li>What options does a user have to verify the accuracy of a simulation created with Salabim?</li><br>
<li>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?</li><br>
<li>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?</li><br>
<li>When is Salabim not the right tool to use and what would you suggest for people who find themselves in that situation?</li><br>
<li>What have been some of the most complicated or difficult aspects of building and maintaining Salabim?</li><br>
<li>What are some of the new features or improvements that you have planned for the future of Salabim?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="mailto:rt.van.der.ham@gmail.com">Email</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2EYPTbr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cuisinart Burr Mill Coffee Grinder</a></li>
</ul>

<p></li><br>
<li>Ruud</p>

<ul>
<li><a href="http://omz-software.com/pythonista/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pythonista (Python for iOS)</a></li>
<li><a href="http://books.goalkicker.com/PythonBook/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Notes for Professionals</a></li>
<li><a href="http://amzn.to/2C68KjE?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fluent Python by Luciano Ramalho</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.salabim.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Salabim</a>
<ul>
<li><a href="https://github.com/salabim/salabim?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
<li><a href="https://youtu.be/iTW7J__rqlY?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dining Philosophers Animation</a></li><br>
<li><a href="https://youtu.be/ibQrZ3B76Fo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elevator Animation</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Rotterdam?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rotterdam</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Discrete_event_simulation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Discrete Event Simulation</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Port_of_Rotterdam#Robotic_container_operations?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Container Terminal Automation</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/BASIC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Basic</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/ALGOL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Algol</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pascal</a></li><br>
<li><a href="https://www.wikiwand.com/en/Operations_research?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Operations Research</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Continuous_simulation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Simulation</a></li><br>
<li><a href="https://www.wikiwand.com/en/Simula?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Simula</a></li><br>
<li><a href="http://wla.berkeley.edu/~cs61a/fa11/lectures/streams.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coroutines</a></li><br>
<li><a href="http://www.sympy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SymPy</a></li><br>
<li><a href="http://simpy.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Another DES in Python: SimPy</a></li><br>
<li><a href="https://github.com/BenLauwens/SimJulia.jl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DES in Julia: SimJulia</a></li><br>
<li><a href="https://r-simmer.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DES in R: Simmer</a></li><br>
<li><a href="https://www.tomasweb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DES in Delphi/Pascal: Tomas</a></li><br>
<li><a href="https://pillow.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pillow</a></li><br>
<li><a href="https://pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li><br>
<li><a href="https://www.embarcadero.com/products/delphi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Delphi</a></li><br>
<li><a href="https://www.pygame.org/wiki/GettingStarted?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGame</a></li><br>
<li><a href="https://wiki.python.org/moin/PyQt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyQT</a></li><br>
<li><a href="https://docs.python.org/2/library/tkinter.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TkInter</a></li><br>
<li><a href="https://docs.python.org/3/library/inspect.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inspect Module</a></li><br>
<li><a href="http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenCV</a></li><br>
<li><a href="https://www.blender.org/features/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blender</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsalabim-with-ruud-van-der-ham-episode-151%2F&amp;action_name=Salabim%3A+Logistics+Simulation+with+Ruud+van+der+Ham+-+Episode+151&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-03-04t17:32:01+00:00-e93fe653c373f19</guid>
      <link>https://www.pythonpodcast.com/salabim-with-ruud-van-der-ham-episode-151</link>
      <pubDate>Sun, 4 Mar 2018 17:00:00 +0000</pubDate>
      <podcast:soundbite startTime="132.89" duration="22.22">And do you remember how you first got introduced to Python? Yes. Yes. Actually, that all happened, well, something 2 years ago, I think. I I have a good friend of mine who works for the, for the Dutch Railways, and he pointed me out and pointed me in the direction of Bison. And, I have a very long experience with all kind of other languages.</podcast:soundbite>
      <podcast:soundbite startTime="1464.66" duration="55.73">And for somebody who wants to use Salabim to create a simulation, I'm wondering what the workflow looks like for being able to actually model the different components of the system and then actually create a visualization from that, and then what the output from the simulation would look like and how they might use that for validating the system that they're trying to perform a simulation on? Well, what's extremely important in simulation modeling is, first of all, to to have an idea of the the system you want to simulate, you have to model, because the real life system is usually far too complicated to put every aspect in. So you have to make a to make to make some, some ideas to have an idea on what's what you put in a model, how far you want to go and all that.</podcast:soundbite>
      <podcast:soundbite startTime="303.65" duration="52.36">So we simulate actually from from a certain time time moments to the next moments. And what's differentiates that from, for instance, real time programming is that that's time step is done in in real time time 0. So you have to skip from 1 event to the other 1. And if there is a, let's say in simulation time, an hour between those events, you don't have to wait for that hour. You just skip in well, just in the processing time or just 1 1 step with the program. You step from 1 hour to the other 1. And then maybe a minute later, something something else happens, and then you you you've just stepped for that 1 minute. So you see a kind of stepping, on the timeline, which is not uniform at all.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:39</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Salabim: Logistics Simulation with Ruud van der Ham</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>151</itunes:episode>
      <podcast:episode>151</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299363805222a9b29e1e-04ec-450c-9db2-27efba4cb4eav1.mp3" length="38387669" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299363805222a9b29e1e-04ec-450c-9db2-27efba4cb4eav1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a9b29e1e-04ec-450c-9db2-27efba4cb4ea638558795572279054.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a9b29e1e-04ec-450c-9db2-27efba4cb4ea638558795568710506.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a9b29e1e-04ec-450c-9db2-27efba4cb4ea638558795566830829.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Laboratory: Safer Refactoring with Joe Alcorn</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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&#8217;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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>A brief announcement before we start the show:
<ul>
<li>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 <a href="https://www.pythonpodcast.com/odsc-east-2018?utm_source=rss&utm_medium=rss">podcastinit.com/odsc-east-2018</a> and register.</li>
</ul>

<p></li><br>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Joe Alcorn about using Laboratory as a safety net for your refactoring.</li><br>
</ul></p>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start be explaining what Laboratory is and what motivated you to start the project?</li>
<li>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?</li>
<li>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?</li>
<li>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?</li>
<li>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?</li>
<li>How do you keep track of the results for active experiments and what sort of reporting is available?</li>
<li>What are some examples of the types of routines that would be good candidates for conducting an experiment?</li>
<li>What are some of the most complicated or difficult pieces of code that you have refactored with the help of Laboratory?</li>
<li>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?</li>
<li>Are there any new features or improvements that you have planned for future releases of Laboratory?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/joealcorn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">joealcorn</a> on GitHub</li>
<li><a href="https://joealcorn.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/The_Chronicles_of_Narnia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chronicles of Narnia</a></li>
</ul>

<p></li><br>
<li>Joe</p>

<ul>
<li><a href="http://amzn.to/2CiSrjv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Why We Sleep: Unlocking The Power of Sleep and Dreams</a> by Matthew Walker, PhD</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://marvelapp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marvel App</a></li>
<li><a href="https://githubengineering.com/move-fast/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub: Move Fast and Fix Things</a></li>
<li><a href="https://githubengineering.com/scientist/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub Scientist: Measure Twice, Cut Over Once</a></li>
<li><a href="https://github.com/github/scientist?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scientist</a></li>
<li><a href="https://laboratory-python.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Laboratory</a></li>
<li><a href="https://joealcorn.co.uk/blog/2018/sure-footed-refactoring?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sure Footed Refactoring</a></li>
<li><a href="https://graphiteapp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphite</a></li>
<li><a href="https://github.com/etsy/statsd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StatsD</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Flaboratory-with-joe-alcorn-episode-150%2F&amp;action_name=Laboratory%3A+Safer+Refactoring+with+Joe+Alcorn+-+Episode+150&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-02-26t03:13:06+00:00-c8cfcbf085f05ff</guid>
      <link>https://www.pythonpodcast.com/laboratory-with-joe-alcorn-episode-150</link>
      <pubDate>Mon, 26 Feb 2018 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="190.18" duration="23.81">So essentially, laboratory is a library that is trying to help you gain confidence when you're refactoring. The way it does this is basically by taking the old codes or so you've got some existing code. Right? Let's call this your control block. And then you want to refactor it in some way, but you want to make sure it works exactly as it does before.</podcast:soundbite>
      <podcast:soundbite startTime="250.57" duration="24.36">So what laboratory does is essentially runs the old codes, runs the new codes, compares them, make sure the new code can't blow up your old the the main execution. You know, you don't wanna let any exception slip out that way. And then you can basically be certain that your code doesn't your new code works as it should.</podcast:soundbite>
      <podcast:soundbite startTime="957.32" duration="37.22">So 1 example of a time I've used it, we were upgrading or updating rather how team members authenticate against some projects that belonged to their team. And we had the old method, which we obviously we trusted to work, but it was there was quite a lot of logic and there were lots of lots of different branches, and it was kind of hard to follow. So we couldn't you know, it's hard to be sure that our new code actually matched up. And that was a perfect that's kind of a perfect fit because you you don't know or you don't have much confidence in your glucose because you can't.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:21:53</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Laboratory: Safer Refactoring with Joe Alcorn</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>150</itunes:episode>
      <podcast:episode>150</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297210234692d0bb6253-fa43-4327-b162-090fbdbacad4v1.mp3" length="13025290" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297210234692d0bb6253-fa43-4327-b162-090fbdbacad4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d0bb6253-fa43-4327-b162-090fbdbacad4638558787922486107.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d0bb6253-fa43-4327-b162-090fbdbacad4638558787920340324.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d0bb6253-fa43-4327-b162-090fbdbacad4638558787918214621.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Software Architecture For Developers with Neal Ford</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>A few announcements before we start the show:
<ul>
<li>There is still time to register for the O&#8217;Reilly Software Architecture Conference in New York. Use the link <a href="https://www.pythonpodcast.com/sacon-new-york?utm_source=rss&utm_medium=rss">podcastinit.com/sacon-new-york</a> to register and save 20%</li>
<li>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 <a href="https://www.pythonpodcast.com/odsc-east-2018?utm_source=rss&utm_medium=rss">podcastinit.com/odsc-east-2018</a> and register.</li>
</ul>

<p></li><br>
<li>With many thanks to O&#8217;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&#8217;s book, Building Evolutionary Architectures, or a Bronze ticket to the O&#8217;Reilly Software Architecture Conference in New York. I will be picking the winners on February 21st. </li><br>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Neal Ford about principles of software architecture for developers</li><br>
</ul></p>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>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?</li>
<li>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?</li>
<li>What are some of the broad categories of architectural patterns that developers should be aware of?</li>
<li>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?</li>
<li>What are some architectural anti-patterns that you have found to be the most commonly occurring?</li>
<li>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?</li>
<li>Beyond the purely technological aspects, what other elements of software production and delivery are necessary for a successful architecture?</li>
<li>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?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://nealford.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/neal4d?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@neal4d</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2CqD983?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jumanji: Welcome to the Jungle</a></li>
<li><a href="http://amzn.to/2HoYhPU?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lost City of Z</a></li>
</ul>

<p></li><br>
<li>Neal</p>

<ul>
<li><a href="https://DeveloperToArchitect.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DeveloperToArchitect.com</a></li>
<li><a href="http://evolutionaryarchitecture.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EvolutionaryArchitecture.com</a></li>
<li><a href="http://amzn.to/2Cs7MtB?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Broken Earth Series</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.thoughtworks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thoughtworks</a></li>
<li><a href="http://nealford.com/memeagora/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neal&#8217;s Blog</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp</a></li>
<li><a href="https://www.thoughtworks.com/radar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thoughtworks Technology Radar</a></li>
<li><a href="https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Martin Fowler: Who Needs an Architect?</a></li>
<li><a href="https://www.jdoqocy.com/click-7841235-13121261?url=https%3A%2F%2Fconferences.oreilly.com%2Fsoftware-architecture%2Fsa-ny%2Fpublic%2Fregwith%2FPCBN%3Fcmp%3Daf-prog-confreg-lp-sany18_cj_13121261_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">O&#8217;Reilly Software Architecture Conference</a></li>
<li><a href="https://en.wikipedia.org/wiki/Soft_skills?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Soft Skills</a></li>
<li><a href="https://martinfowler.com/articles/microservices.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microservices</a></li>
<li><a href="http://amzn.to/2Cshrk3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Building Evolutionary Architectures</a></li>
<li><a href="https://githubengineering.com/move-fast/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github: Move Fast and Fix Things</a></li>
<li><a href="https://continuousdelivery.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Delivery</a></li>
<li><a href="https://github.com/github/scientist?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github Scientist</a></li>
<li><a href="https://github.com/joealcorn/laboratory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Laboratory</a> (Scientist in Python)</li>
<li><a href="https://en.wikipedia.org/wiki/Agile_software_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agile Development</a></li>
<li><a href="https://www.oreilly.com/ideas/becoming-an-accidental-architect?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Accidental Architect</a></li>
<li><a href="https://en.wikipedia.org/wiki/List_of_system_quality_attributes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">System Quality Attributes</a></li>
<li><a href="http://www.enterpriseintegrationpatterns.com/patterns/messaging/PipesAndFilters.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pipes and Filters</a></li>
<li><a href="https://en.wikipedia.org/wiki/MapReduce?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MapReduce</a></li>
<li><a href="http://hadoop.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hadoop</a></li>
<li><a href="https://en.wikipedia.org/wiki/Service-oriented_architecture?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Service Oriented Architecture</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linux</a></li>
<li><a href="https://en.wikipedia.org/wiki/DevOps?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DevOps</a></li>
<li><a href="https://en.wikipedia.org/wiki/Configuration_management?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Configuration Management</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React</a></li>
<li><a href="https://alibaba.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alibaba Open Source</a></li>
<li><a href="https://github.com/baidu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Baidu Open Source</a></li>
<li><a href="http://amzn.to/2sz3Esh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pragmatic Programmer</a></li>
<li><a href="https://trunkbaseddevelopment.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trunk Based Development</a></li>
<li><a href="http://plantuml.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PlantUML</a></li>
<li><a href="https://products.office.com/en-us/visio/flowchart-software?tab=tabs-1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visio</a></li>
<li><a href="https://mermaidjs.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mermaid Diagrams</a></li>
<li><a href="https://graphviz.gitlab.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphviz</a></li>
<li><a href="https://evernote.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Evernote</a></li>
<li><a href="https://player.oreilly.com/videos/9781491901137?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Software Architecture Fundamentals</a></li>
<li><a href="http://www.enterpriseintegrationpatterns.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Enterprise Integration Patterns</a></li>
<li><a href="https://nealford.com/katas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Architectural Katas</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsoftware-architecture-with-neal-ford-episode-149%2F&amp;action_name=Software+Architecture+For+Developers+with+Neal+Ford+-+Episode+149&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-02-18t02:38:11+00:00-725333bcbd68289</guid>
      <link>https://www.pythonpodcast.com/software-architecture-with-neal-ford-episode-149</link>
      <pubDate>Sun, 18 Feb 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1519.56" duration="37.00">Oh, there's no way that things like microservices could possibly exist without open source. Because here here's a thought experiment for you. So let's say it's 8 years ago, and you go to the head of operations of your company, and you go, hey. I got this great idea, this new architectural style. It's really decoupled. And what I'm what what we're gonna do is run every service in their own operating system with their own database. And so I'm gonna need 200 Windows licenses and 200 Oracle licenses so I can run each of these services or own dedicated machines, they would have run you out of your operation center so fast your head would spin.</podcast:soundbite>
      <podcast:soundbite startTime="255.07" duration="23.40">Well, I would love to be able to give a nice concise high level overview of what software architecture is, but I don't have a clue of how to do that. In fact, better minds than me have cast themselves against that particular mountain and failed. Martin Fowler famously wrote a white paper called Who Needs an Architect where he talks about the lack of definition of software architecture and why that exists.</podcast:soundbite>
      <podcast:soundbite startTime="559.52" duration="35.53">And the counterpoint to that too is the system that anyone who's been in the industry long enough has come across where it started off with the best of intentions, but over time, it has accrued enough technical debt that forward progress becomes nearly impossible because of the level of fear that's involved with changing any aspect of the system because you don't know what's going to break and why. So I'm wondering if you have any sort of general principles that you've come up with that are useful for being able to guard against that eventuality or to get somebody unstuck when they do end up at that situation?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Software Architecture For Developers with Neal Ford</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>149</itunes:episode>
      <podcast:episode>149</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320559306393c9a35d5d-26fa-4ead-9040-dd6af0dc0f8dv1.mp3" length="37662480" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320559306393c9a35d5d-26fa-4ead-9040-dd6af0dc0f8dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c9a35d5d-26fa-4ead-9040-dd6af0dc0f8d638558840372526765.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c9a35d5d-26fa-4ead-9040-dd6af0dc0f8d638558840369517243.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c9a35d5d-26fa-4ead-9040-dd6af0dc0f8d638558840367507542.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>ZimboPy</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<p>mu- Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.<br />
&#8211; I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.<br />
&#8211; When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.<br />
&#8211; If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.<br />
&#8211; Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)<br />
&#8211; To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.<br />
&#8211; Your host as usual is Tobias Macey and today I&#8217;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</p>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what the mission of ZimboPy is and how it got started?</li>
<li>Which languages did you consider using for your lessons and what was your reason for choosing Python?</li>
<li>What subject matter do you cover in addition to pure programming concepts?</li>
<li>What are some of the types of projects that the students have completed as part of their work with ZimboPy?</li>
<li>What have been the most challenging aspects of running ZimboPy?</li>
<li>How is ZimboPy supported and what are your plans to ensure future sustainability?</li>
<li>Can you share some success stories for the women and girls that you have worked with?</li>
<li>For anyone who is interested in replicating your work for other communities what advice do you have?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Mike
<ul>
<li><a href="https://github.com/cachedout?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cachedout</a> on GitHub</li>
<li><a href="https://twitter.com/cachedout?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@cachedout</a> on Twitter</li>
<li><a href="https://keybase.io/cachedout?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cachedout</a> on Keybase</li>
</ul>

<p></li><br>
<li>Ronald</p>

<ul>
<li><a href="https://github.com/Rmaravanyika?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rmaravanyika</a> on GitHub</li>
<li><a href="https://twitter.com/rmaravanyika?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Rmaravanyika</a> on Twitter</li>
</ul>

<p></li><br>
<li>Marlene</p>

<ul>
<li><a href="https://twitter.com/marlene_zw?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@marlene_zw</a> on Twitter</li>
<li><a href="https://www.linkedin.com/in/marlene-mhangami-90a740130/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://click.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Click</a></li>
</ul>

<p></li><br>
<li>Ronald</p>

<ul>
<li><a href="https://www.odoo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Odoo</a> formerly OpenERP</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.zimbopy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ZimboPy</a></li>
<li><a href="https://www.unilever.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unilever</a></li>
<li><a href="https://djangogirls.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Girls</a></li>
<li><a href="https://www.linkedin.com/in/thhatch/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thomas Hatch</a></li>
<li><a href="https://saltstack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a></li>
<li><a href="https://en.wikipedia.org/wiki/Zimbabwe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zimbabwe</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mechatronics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mechatronics</a></li>
<li><a href="https://www.raspberrypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi</a></li>
<li><a href="https://opencv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenCV</a></li>
<li><a href="https://github.com/ZimboPy/Community-clubs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ZimboPy Curriculum</a></li>
<li><a href="https://www.zimbopy.com/online-store?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ZimboPy Storefront</a></li>
<li><a href="https://www.oxfam.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oxfam</a></li>
<li><a href="https://opencollective.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Collective</a></li>
<li><a href="https://www.zimbopy.com/become-a-mentor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ZimboPy Mentorship Registration</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fzimbopy-episode-148%2F&amp;action_name=ZimboPy+-+Episode+148&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-02-10t23:16:38+00:00-568573e6cb09a3d</guid>
      <link>https://www.pythonpodcast.com/zimbopy-episode-148</link>
      <pubDate>Sun, 11 Feb 2018 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="819.68" duration="30.59">We work a lot with local government, and so it's really difficult to coordinate the 2 because the girls, most of their curriculum in school has just shifted. And so sometimes having to work with their schedules from school, and then also working with our local government offices and trying to make sure that they know when we'll be using the community centers and for how long.</podcast:soundbite>
      <podcast:soundbite startTime="1488.33" duration="24.50">So a lot of the girls maybe will I think there's, there's a Python programming coding club on campus at 1 of the universities that we did a a mentorship week with. And as a result of that, I think, a good number of all of the girls that attended our mentorship session have joined that Taipan programming club and are actually the only girls that are part of that, programming club.</podcast:soundbite>
      <podcast:soundbite startTime="366.31" duration="22.25">So, yes, Zimbopai is an initiative that aims to get Symblian girls interested in computer programming and, specifically, programming in Python. So the mission is is basically that to to get girls interested in computer programming from a young age and going on through to university, level as well.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:29:21</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>ZimboPy</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>148</itunes:episode>
      <podcast:episode>148</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529973246300230defcef-af86-403d-bbdc-2d6e30c9a9cfv1.mp3" length="19470662" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529973246300230defcef-af86-403d-bbdc-2d6e30c9a9cfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_30defcef-af86-403d-bbdc-2d6e30c9a9cf638558796786663500.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/30defcef-af86-403d-bbdc-2d6e30c9a9cf638558796784519968.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/30defcef-af86-403d-bbdc-2d6e30c9a9cf638558796782714707.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>PyRay: Pure Python 3D Rendering with Rohit Pandey</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>A few announcements before we start the show:
<ul>
<li>There&#8217;s still time to get your tickets for PyCon Colombia, happening February 9th and 10th. Go to <a href="https://www.pycon.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pycon.co</a> to learn more and register.</li>
<li>There is also still time to register for the O&#8217;Reilly Software Architecture Conference in New York. Use the link <a href="https://www.pythonpodcast.com/sacon-new-york?utm_source=rss&utm_medium=rss">podcastinit.com/sacon-new-york</a> to register and save 20%</li>
<li>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 <a href="https://www.pythonpodcast.com/odsc-east-2018?utm_source=rss&utm_medium=rss">podcastinit.com/odsc-east-2018</a> and register.</li>
</ul>

<p></li><br>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Rohit Pandey about PyRay, a 3d rendering library written completely in python</li><br>
</ul></p>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what PyRay is and what motivated you to create it?<br />
[rohit] PyRay is an open source library written completely in Python that let&#8217;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. </li>
<li>What does the internal architecture of PyRay look like and how has that design evolved since you first started working on it?</li>
<li>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?<br />
[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&#8217;t an issue. I haven&#8217;t seen a library coded completely in Python that let&#8217;s you manipulate 3d and higher dimensional objects. The core usecase right now is Mathematical artwork. Google geometric gifs and you&#8217;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. </li>
<li>What have been some of the most challenging aspects of building and maintaining PyRay?<br />
[rohit] 3d objects &#8211; getting mesh plots. I have to develop routines from scratch for almost everything &#8211; shading objects, etc. Animated routines for characters.</p>
</li>
<li>
<p>What are some of the most interesting or unexpected uses of PyRay that you are aware of?<br />
[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.</p>
</li>
<li>For someone who wanted to contribute to PyRay are there any particular skills or experience that would be most helpful?<br />
Basic linear algebra and python</li>
<li>What are some of the features or improvements that you have planned for the future of PyRay?</li>
</ul>

<h3>Keep In Touch</h3>

<p>pyray repo &#8211; https://github.com/ryu577/pyray?utm_source=rss&utm_medium=rss<br />
&#8211; <a href="mailto:rohitpandey576@gmail.com">Email</a><br />
&#8211; <a href="https://github.com/ryu577?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a><br />
&#8211; <a href="https://www.linkedin.com/in/ropandey576/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.anrdoezrs.net/links/7850795/type/dlg/https://www.thriftbooks.com/series/berserker/45033/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Berserker Series</a> by <a href="https://en.wikipedia.org/wiki/Fred_Saberhagen?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fred Saberhagen</a></li>
</ul>

<p></li><br>
<li>Rohit</p>

<ul>
<li><a href="https://www.youtube.com/channel/UCd2Boc12Ora42VIJBULz0kA?view_as=subscriber&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Samurai Math Youtube Channel</a></li>
<li><a href="https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3 Blue 1 Brown Youtube Channel</a></li>
<li><a href="https://www.youtube.com/channel/UCZFipeZtQM5CKUjx6grh54g?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Isaac Arthur Youtube Channel</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://github.com/ryu577/pyray?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyRay</a></li>
<li><a href="https://www.youtube.com/channel/UCd2Boc12Ora42VIJBULz0kA?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyRay Youtube Videos</a></li>
<li><a href="https://azure.microsoft.com/en-us/?v=18.01&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft Azure</a></li>
<li><a href="https://en.wikipedia.org/wiki/Data_science?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Science</a></li>
<li><a href="https://www.columbia.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Columbia University</a></li>
<li><a href="https://www.r-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R</a></li>
<li><a href="http://www.nielsen.com/us/en.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nielsen</a></li>
<li><a href="https://www.youtube.com/watch?v=cyW5z-M2yzw&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3Blue1Brown &#8211; Music and Measure Theory</a></li>
<li><a href="https://github.com/3b1b/manim?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Manim</a></li>
<li><a href="https://www.reddit.com/r/Python/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Subreddit</a></li>
<li><a href="https://www.autodesk.com/products/maya/overview?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Maya</a></li>
<li><a href="https://www.blender.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blender</a></li>
<li><a href="https://www.panda3d.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Panda3D</a></li>
<li><a href="http://www.povray.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">POVRay</a></li>
<li><a href="http://pillow.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pillow</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Support_vector_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Support Vector Machine</a></li>
<li><a href="https://en.wikipedia.org/wiki/Logistic_regression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logistic Regression</a></li>
<li><a href="https://www.google.com/search?tbm=isch&amp;q=geometric+gif&amp;chips=q:geometric+gif,g_4:animated&amp;sa=X&amp;ved=0ahUKEwiTxcCTkobZAhUPMawKHWt0BnUQ4lYILigA&amp;biw=955&amp;bih=451&amp;dpr=1.95&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Geometric GIFs</a></li>
<li><a href="https://github.com/Zulko/vapory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vapory</a></li>
<li><a href="https://en.wikipedia.org/wiki/Comparison_of_color_models_in_computer_graphics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RGB vs HSL Color Scales</a></li>
<li><a href="https://www.ffmpeg.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FFMPEG</a></li>
<li><a href="https://en.wikipedia.org/wiki/Quaternion?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quaternions</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpyray-pure-python-3d-rendering-with-rohit-pandey-episode-147%2F&amp;action_name=PyRay%3A+Pure+Python+3D+Rendering+with+Rohit+Pandey+-+Episode+147&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-02-05t01:14:28+00:00-50e3d13487ee6e0</guid>
      <link>https://www.pythonpodcast.com/pyray-pure-python-3d-rendering-with-rohit-pandey-episode-147</link>
      <pubDate>Mon, 5 Feb 2018 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="306.92" duration="41.80">So first, what is, Pyre? And I'd like to invoke this image, first of all. So we we know that, you know, our eyes are basically these 2 dimensional sheets, right, where, we we we we have these kind of planar images that form on them. And so, obviously, we have no trouble grasping, 2 d objects. We kind of grasp them almost immediately. And then when we look at something that's three-dimensional, and imagine, like, holding, like, a complex three-dimensional object in your hand, the first thing you're going to do is you're going to start turning it around, looking at it from different angles, and just kind of visually exploring it.</podcast:soundbite>
      <podcast:soundbite startTime="434.19" duration="34.17">So, actually the first inspiration for me was I saw this video by on YouTube, and it was on a channel called, 3 blue 1 brown. And that video was titled music and measure theory. So I was just, really impressed by it. Even before I saw that video, I had been, you know, imagining creating this visual field for mathematics. But, but but when I saw it, I immediately knew that I wanted to do something, similar. And this was by a guy called, Grant Sanderson, and he he had a tool written in Python.</podcast:soundbite>
      <podcast:soundbite startTime="92.67" duration="32.29">So, currently for my day job, I work as a data scientist for Microsoft Azure, Azure being the cloud service that, Microsoft offers. Throughout my, professional life, I've been working in statistics and analytics profiles. And, when I was doing while I was doing my master's in operations research at Columbia, I heard of this cool new field called, data science. This was back in 2013, so it was still kind of new at that point.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:41</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>PyRay: Pure Python 3D Rendering with Rohit Pandey</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>147</itunes:episode>
      <podcast:episode>147</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253145506407575048b742-8cc2-4c80-9a73-988199751edfv1.mp3" length="33388583" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253145506407575048b742-8cc2-4c80-9a73-988199751edfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_5048b742-8cc2-4c80-9a73-988199751edf638558825456566416.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5048b742-8cc2-4c80-9a73-988199751edf638558825453919285.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5048b742-8cc2-4c80-9a73-988199751edf638558825452226281.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>MonkeyType with Carl Meyer and Matt Page</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>A few announcements before we start the show:
<ul>
<li>There&#8217;s still time to get your tickets for PyCon Colombia, happening February 9th and 10th. Go to <a href="https://www.pycon.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pycon.co</a> to learn more and register.</li>
<li>There is also still time to register for the O&#8217;Reilly Software Architecture Conference in New York Feb 25-28. Use the link <a href="https://www.pythonpodcast.com/sacon-new-york?utm_source=rss&utm_medium=rss">podcastinit.com/sacon-new-york</a> to register and save 20%</li>
<li>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 <a href="https://www.pythonpodcast.com/odsc-east-2018?utm_source=rss&utm_medium=rss">podcastinit.com/odsc-east-2018</a> and register.</li>
</ul>

<p></li><br>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Carl Meyer and Matt Page about MonkeyType, a system to collect type information at runtime for your Python 3 code</li><br>
</ul></p>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is MonkeyType and how did the project get started?</li>
<li>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?</li>
<li>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. <code>add</code>), do you have any logic that will allow for combining that information into a higher-order type that gets set as the annotation?</li>
<li>How does MonkeyType function internally and how has the implementation evolved over the time that you have been working on it?</li>
<li>Once the type annotations are present in your code base, what other tooling are you using to take advantage of that information?</li>
<li>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&#8217;t being executed. Have you investigated ways to use the collected type information perform that analysis?</li>
<li>What have been some of the most challenging aspects of building, using, and maintaining MonkeyType?</li>
<li>What have been some of the most interesting or noteworthy things that you have learned in the process of working on and with MonkeyType?</li>
<li>What have you found to be the most useful and most problematic aspects of the typing capabilities provided in recent versions of Python?</li>
<li>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?</li>
<li>What features or improvements do you have planned for future releases of MonkeyType?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Carl
<ul>
<li><a href="mailto:carljm@instagram.com">Email</a></li>
<li><a href="https://twitter.com/carljm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@carljm</a> on Twitter</li>
</ul>

<p></li><br>
<li>Matt</p>

<ul>
<li><a href="mailto:mpage@instagram.com">Email</a></li>
<li><a href="https://twitter.com/void_star?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@void_star</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2Glzhbz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LyxPro HAS-30 Headphones</a></li>
</ul>

<p></li><br>
<li>Carl</p>

<ul>
<li><a href="http://amzn.to/2Eg6VPo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Broadchurch</a></li>
<li><a href="http://amzn.to/2EfRBSV?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Happy Valley</a></li>
</ul>

<p></li><br>
<li>Matt</p>

<ul>
<li><a href="http://amzn.to/2nijamv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anova Sous Vide</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://github.com/Instagram/MonkeyType?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MonkeyType</a></li>
<li><a href="https://www.instagram.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Instagram</a></li>
<li><a href="http://www.diveintopython3.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dive Into Python</a></li>
<li><a href="https://docs.python.org/3/library/typing.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python 3 Typing Module</a></li>
<li>MyPy
<ul>
<li><a href="https://github.com/python/mypy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Page</a></li>
<li><a href="https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price/?utm_source=rss&utm_medium=rss">Podcast.<strong>init</strong> Interview</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/Mike_Krieger?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mike Krieger</a></li><br>
<li><a href="https://github.com/dropbox/pyannotate?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyAnnotate</a></li><br>
<li><a href="https://www.python.org/dev/peps/pep-0484/#the-meaning-of-annotations?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Type Annotations</a></li><br>
<li><a href="https://www.python.org/dev/peps/pep-0484/#stub-files?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Type Stubs</a></li><br>
<li><a href="https://www.python.org/dev/peps/pep-0523/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 523</a> frame evaluation api</li><br>
<li><a href="">Scuba</a></li><br>
<li><a href="https://www.haskell.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Haskell</a></li><br>
<li><a href="https://www.rust-lang.org/en-US/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li><br>
<li><a href="https://www.python.org/dev/peps/pep-0563/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 563</a> Postponed Evaluation of Annotations</li><br>
<li><a href="https://www.destroyallsoftware.com/talks/ideology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gary Bernhardt &#8211; Ideology</a></li><br>
<li><a href="https://bitbucket.org/ned/coveragepy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">coverage.py</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmonkeytype-with-carl-meyer-and-matt-page-episode-146%2F&amp;action_name=MonkeyType+with+Carl+Meyer+and+Matt+Page+-+Episode+146&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-01-28t03:22:21+00:00-590b59e97dee42f</guid>
      <link>https://www.pythonpodcast.com/monkeytype-with-carl-meyer-and-matt-page-episode-146</link>
      <pubDate>Sun, 28 Jan 2018 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="617.33" duration="63.80">And 1 of the things that I noticed you called out in the documentation as well is the fact that because of the dynamic nature of Python, the types of the arguments and even the return types of some functions aren't necessarily going to be uniform based on, you know, the inputs to a given request or the code paths that lead to a particular function. So I'm wondering if there's a way for the, recorded type information to be sort of melded together when you're generating the annotations so that you can ensure that there's appropriate coverage of all the different types of inputs that are valid for a given function? We have the concept of something called, like, a type rewriter. So I guess, like, monkey type will store stores traces. So, like, for a given function call, it'll store the the concrete types that it saw for arguments and return values. But then at query time, it'll grab all the type or all of the traces that it's seen. And so that kind of gives us a way to sort of massage those things.</podcast:soundbite>
      <podcast:soundbite startTime="240.18" duration="39.75">And so as I mentioned at the open, we're talking about the work you guys have done on monkeytype at Instagram. So I'm wondering if you can talk a bit about what the project is and does and how you got started with it. So, yeah, monkeytype, like you mentioned in the open, it's, it traces, your function calls in your Python code. So when your code is running at run time, it, traces the calls that it sees and records the type of every argument and the type of the return value, and then stores those in a database. And then it can query that database and generate, type stubs or even apply type annotations to your code, using the new Python 3 syntax for, for type annotations.</podcast:soundbite>
      <podcast:soundbite startTime="2269.08" duration="40.97">And have you found that the presence of types in the code base has caused you to change your approach to your software development cycle? Like, do you start thinking about the type signatures of the functions before you actually write the bodies versus doing it, you know, from the inside out? Or have you found that you just leverage it as an additional piece of information and your overall development cycle has remained largely the same? I don't know. Like, it's weird because, like, I've written both a lot of dynamically typed code and statically typed code. And so I think my development process tends to be a little bit more kind of on the, like, the statically typed side. So it doesn't really change too much whether or not, like, I have annotations available to me at Python with Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:26</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>MonkeyType with Carl Meyer and Matt Page</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>146</itunes:episode>
      <podcast:episode>146</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302970485030e410689b-017d-44d4-8a38-4413d82ba495v1.mp3" length="32977035" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302970485030e410689b-017d-44d4-8a38-4413d82ba495v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e410689b-017d-44d4-8a38-4413d82ba495638558802286370317.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e410689b-017d-44d4-8a38-4413d82ba495638558802283690296.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e410689b-017d-44d4-8a38-4413d82ba495638558802281652535.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Learn Leap Fly: Using Python To Promote Global Literacy with Kjell Wooding</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Kjell Wooding about Learn Leap Fly, a startup using Python on mobile devices to facilitate global learning</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Learn Leap Fly does and how the company got started?</li>
<li>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?</li>
<li>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.</li>
<li>How do you measure the effectiveness of the work that you are doing?</li>
<li>How has the framework of the XPRIZE influenced the way in which you have approached the design and development of your work?</li>
<li>What have been some of the biggest challenges that you faced in the process of developing and deploying your submission for the XPRIZE?</li>
<li>What are some of the features that you have planned for future releases of your platform?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Learn Leap Fly
<ul>
<li><a href="http://learnleapfly.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/learnleapfly?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@learnleapfly</a> on Twitter</li>
</ul>

<p></li><br>
<li>Kjell</p>

<ul>
<li><a href="https://github.com/llfkj?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">llfkj</a> on GitHub</li>
<li><a href="https://twitter.com/pdokj?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@pdokj</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2qEPbtU?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yamaha YHT-4930UBL Home Theater System</a></li>
</ul>

<p></li><br>
<li>Kjell</p>

<ul>
<li><a href="http://amzn.to/2DSuWf4?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Instant Pot</a></li>
<li><a href="http://amzn.to/2Dlo0WY?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anova Sous Vide</a></li>
<li><a href="http://amzn.to/2mUvGs2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modernist Cooking at Home</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://shop.oreilly.com/product/9780596158118.do?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Programming Python (O&#8217;Reilly)</a></li>
<li><a href="http://learnleapfly.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Learn Leap Fly</a></li>
<li><a href="https://tim.blog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tim Ferriss</a></li>
<li><a href="http://www.diamandis.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Peter Diamandis</a></li>
<li><a href="https://learning.xprize.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Global Learning XPRIZE</a></li>
<li><a href="http://learnleapfly.com/#kasuku-beta?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kasuku Beta Program</a></li>
<li><a href="https://www.xprize.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XPRIZE Foundation</a></li>
<li><a href="https://kivy.org/#home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy</a></li>
<li><a href="https://github.com/undercase/FlappyKivy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy Flappy Bird</a></li>
<li><a href="https://www.pythonpodcast.com/episode-3-kivy-core-developers/?utm_source=rss&utm_medium=rss">Podcast.<strong>init</strong> Kivy Interview</a></li>
<li><a href="https://en.wikipedia.org/wiki/Practice_(learning_method)#Deliberate_practice?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Deliberate Practice</a></li>
<li><a href="https://www.android.com/tablets/pixel-c/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Pixel C</a></li>
<li><a href="http://fastml.com/bayesian-machine-learning/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bayesian Learning</a></li>
<li><a href="https://scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Flearn-leap-fly-with-kjell-wooding-episode-145%2F&amp;action_name=Learn+Leap+Fly%3A+Using+Python+To+Promote+Global+Literacy+with+Kjell+Wooding+-+Episode+145&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-01-15t20:17:59+00:00-338b3fef0f3d98c</guid>
      <link>https://www.pythonpodcast.com/learn-leap-fly-with-kjell-wooding-episode-145</link>
      <pubDate>Sun, 21 Jan 2018 06:00:00 +0000</pubDate>
      <podcast:soundbite startTime="180.00" duration="25.14">And for Learn Leap Fly, can you spend some time describing what it is that you're doing there and how the company got started and the motivation behind it? Yeah. Absolutely. Learnlyfly is a social enterprise, and we're aimed at, at learning and changing the way that that people learn. And I actually got started with a with a podcast. In October 2014, my wife, was doing her PhD in in Montreal, but she was, living, here in Ottawa.</podcast:soundbite>
      <podcast:soundbite startTime="224.72" duration="24.19">And the Global Learning XPRIZE was all about, a grand challenge having to do with literacy. The fact that there were 250, 000, 000 children in the world who don't know how to read or write, and most of them are in the developing world, and most of them don't have access to schools or teachers at all. And the idea of the Global Learning XPRIZE was, was there something that we could do with technology? Was there some way that we could address this, this learning or teaching shortfall, using technology.</podcast:soundbite>
      <podcast:soundbite startTime="750.76" duration="33.11">So we actually ran a sprint at, Python 2016 in Portland, a sprint called Game Camp, and it was aimed at, people who hadn't necessarily written games before, writing their first games using this particular toolkit. And, over the course of the the the, the 3 day sprint, we had, 22 people come by, stop by, having never used Kivy or, some of them had barely used Python before. And in a matter of those 3 days, every 1 of them was able to either complete the tutorial or in in in several cases, actually generate entirely new, games, from scratch, in that 3 day period.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:43:07</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Learn Leap Fly: Using Python To Promote Global Literacy with Kjell Wooding</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>145</itunes:episode>
      <podcast:episode>145</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531477579666513883c79-12b5-478f-9d01-9c26b9e5fa42v1.mp3" length="30675706" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531477579666513883c79-12b5-478f-9d01-9c26b9e5fa42v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_13883c79-12b5-478f-9d01-9c26b9e5fa42638558826495572390.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/13883c79-12b5-478f-9d01-9c26b9e5fa42638558826492834275.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/13883c79-12b5-478f-9d01-9c26b9e5fa42638558826490706965.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Healthchecks.io: Open Source Alerting For Your Cron Jobs with Pēteris Caune</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Pēteris Caune about Healthchecks, a Django app which serves as a watchdog for your cron tasks</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Healthchecks is and what motivated you to build it?</li>
<li>How does Healthchecks compare with other cron monitoring projects such as Cronitor or Dead Man&#8217;s Snitch?</li>
<li>Your pricing on the hosted service for Healthchecks.io is quite generous so I&#8217;m curious how you arrived at that cost structure and whether it has proven to be profitable for you?</li>
<li>How is Healthchecks functionality implemented and how has the design evolved since you began working on and using it?</li>
<li>What have been some of the most challenging aspects of working on Healthchecks and managing the hosted version?</li>
<li>For someone who wants to run their own instance of the service what are the steps and services involved?</li>
<li>What are some of the most interesting or unusual uses of Healtchecks that you are aware of?</li>
<li>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?</li>
<li>What improvements or features do you have planned for the future of Healthchecks?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/cuu508?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">cuu508</a> on GitHub</li>
<li><a href="https://cuu508.wordpress.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/cuu508?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@cuu508</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2Dfld2h?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LG 55UJ6300</a></li>
</ul>

<p></li><br>
<li>Pēteris</p>

<ul>
<li><a href="https://zwift.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zwift</a></li>
<li><a href="https://trainerroad.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TrainerRoad</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://healthchecks.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Healthchecks.io</a></li>
<li><a href="https://github.com/healthchecks/healthchecks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://en.wikipedia.org/wiki/Riga?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Riga</a></li>
<li><a href="https://en.wikipedia.org/wiki/Latvia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Latvia</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cross-country_cycling?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cross Country Cycling</a></li>
<li><a href="https://en.wikipedia.org/wiki/Semantic_Web?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Semantic Web</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="http://flask.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cron?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cron</a></li>
<li><a href="https://cronitor.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cronitor.io</a></li>
<li><a href="https://deadmanssnitch.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dead Man&#8217;s Snitch</a></li>
<li><a href="https://en.wikipedia.org/wiki/IPv6?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPv6</a></li>
<li><a href="https://en.wikipedia.org/wiki/Load_balancing_(computing)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Load Balancing</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostGreSQL</a></li>
<li><a href="https://www.mysql.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li>
<li><a href="http://www.fabfile.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fabric</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="http://dokku.viewdocs.io/dokku/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dokku</a></li>
<li><a href="https://kubernetes.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kubernetes</a></li>
<li><a href="https://www.hetzner.com/?country=us&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hetzner</a></li>
<li><a href="https://www.cloudflare.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CloudFlare</a></li>
<li><a href="http://pgpool.net/mediawiki/index.php/Main_Page?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PGPool II</a></li>
<li><a href="https://wiki.postgresql.org/wiki/Streaming_Replication?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Streaming Replication</a></li>
<li>Citus Data
<ul>
<li><a href="https://www.citusdata.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.dataengineeringpodcast.com/citus-data-with-ozgun-erdogan-and-craig-kerstiens-episode-13/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast Interview</a></li>
</ul>

<p></li><br>
<li><a href="https://github.com/iphoting/healthchecks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heroku Fork</a></li><br>
<li><a href="https://hackernoon.com/the-evolution-of-healthchecks-io-hosting-setup-4fa0d249a35a?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">the Evolution of healthchecks.io Hosting Setup</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fhealthchecks-with-peteris-caune-episode-144%2F&amp;action_name=Healthchecks.io%3A+Open+Source+Alerting+For+Your+Cron+Jobs+with+P%C4%93teris+Caune+-+Episode+144&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-01-13t15:23:16+00:00-c7bb2ef1c8a5549</guid>
      <link>https://www.pythonpodcast.com/healthchecks-with-peteris-caune-episode-144</link>
      <pubDate>Sun, 14 Jan 2018 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="136.96" duration="31.67">So HealthCheck is, monitoring service that monitors your Cron Jobs scheduled tasks, and different things like that that ring to run semi regularly. And you want to be notified if they stop working, stop running. And, so the canonical example would be backup jobs that run nightly. And what can easily happen is that you set up backups once and then forget about them. Then a year later, there's an emergency, and you go looking for your backup and only discover that your script stopped working 6 months ago, and there are no backups.</podcast:soundbite>
      <podcast:soundbite startTime="322.41" duration="25.66">So the whole, I guess, the whole reason why I started the project was the premise of of why do anything was that I thought that I can do this cheaper or for free for most people. Like, if you are not using it heavily, then this should be a free service. Like, there are many free services out there. And then if you really are using it heavily and using a lot of team members and setting up a lot of checks, then maybe it makes sense for you to give back some money.</podcast:soundbite>
      <podcast:soundbite startTime="1203.01" duration="29.49">So let's say you have, application that needs to send out weekly emails every every week. So it's a bunch of code in a in a programming language that that goes through a loop and sends an email for each 1, and then it's done. And let's say you want to make sure that this loop always completes every week, and it never gets interrupted in the beginning or somewhere in the middle. So what you can do in the app is you can after that loop, you can instrument your code with a call to health checks ping endpoint.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:27:24</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Healthchecks.io: Open Source Alerting For Your Cron Jobs with Pēteris Caune</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>144</itunes:episode>
      <podcast:episode>144</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253204738539656c586c6a-a4f4-45e3-bd8d-dc052319f8ecv1.mp3" length="23635086" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253204738539656c586c6a-a4f4-45e3-bd8d-dc052319f8ecv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_6c586c6a-a4f4-45e3-bd8d-dc052319f8ec638558839996510150.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6c586c6a-a4f4-45e3-bd8d-dc052319f8ec638558839994566792.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6c586c6a-a4f4-45e3-bd8d-dc052319f8ec638558839992735577.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Bonobo: Lightweight ETL Toolkit for Python 3 with Romain Dorgueil</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Romain Dorgueil about Bonobo, a data processing toolkit for modern Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Bonobo and what was your motivation for creating it?
<ul>
<li>What is the story behind the name?</li>
</ul>

<p></li><br>
<li>How does Bonobo differ from projects such as Luigi or Airflow?<br /><br>
[RD] After I explain why that&#8217;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.</li><br>
<li>How is Bonobo implemented and how has its architecture evolved since you began working on it?</li><br>
<li>What have been some of the most challenging aspects of building and maintaining Bonobo?</li><br>
<li>What are some extensions that you would like to have but don&#8217;t have the time to implement?</li><br>
<li>What are some of the most interesting or creative uses of Bonobo that you are aware of?</li><br>
<li>What do you have planned for the future of Bonobo?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Bonobo Project
<ul>
<li><a href="https://www.bonobo-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bonobo ETL</a></li>
<li><a href="https://bonobo-slack.herokuapp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slack</a></li>
<li><a href="https://github.com/python-bonobo/bonobo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
<li>Romain</p>

<ul>
<li><a href="https://romain.dorgueil.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/rdorgueil?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@rdorgueil</a> on Twitter</li>
<li><a href="https://github.com/hartym?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hartym</a> on GitHub</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://dataskeptic.com/blog/episodes/2017/quantum-computing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Skeptic: Quantum Computing</a></li>
</ul>

<p></li><br>
<li>Romain</p>

<ul>
<li><a href="http://medikit.rdc.li/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Medikit</a>, or how to manage hundreds of projects at the same time, still being able to sleep at night.</li>
<li><a href="https://github.com/grammarly/rocker?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rocker</a>, a better builder for docker images.</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.bonobo-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bonobo</a></li>
<li><a href="https://www.redhat.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedHat</a></li>
<li><a href="https://en.wikipedia.org/wiki/Anaconda_(installer)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anaconda Installer</a></li>
<li><a href="https://en.wikipedia.org/wiki/Extract,_transform,_load?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ETL</a></li>
<li><a href="http://www.pentaho.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pentaho</a></li>
<li><a href="http://etl.rdc.li/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RDC.ETL</a></li>
<li><a href="https://en.wikipedia.org/wiki/Directed_acyclic_graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DAG (Directed Acyclic Graph)</a></li>
<li><a href="http://luigi.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luigi</a></li>
<li><a href="http://airflow.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a></li>
<li><a href="https://docs.python.org/3.6/library/collections.html#collections.namedtuple?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NamedTuple</a></li>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://oauth.net/https://graphviz.gitlab.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OAuth</a></li>
<li><a href="https://graphviz.gitlab.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphviz</a></li>
<li><a href="https://dask.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a></li>
<li><a href="https://www.dataengineeringpodcast.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Engineering Podcast</a></li>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask Interview</a></li>
<li><a href="http://www.seleniumhq.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium</a></li>
<li><a href="https://zapier.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zapier</a></li>
<li><a href="https://ifttt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IFTTT (If This Then That)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Field-programmable_gate_array?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FPGA</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbonobo-with-romain-dorgueil-episode-143%2F&amp;action_name=Bonobo%3A+Lightweight+ETL+Toolkit+for+Python+3+with+Romain+Dorgueil+-+Episode+143&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2018-01-07t02:54:52+00:00-73346872e66bec7</guid>
      <link>https://www.pythonpodcast.com/bonobo-with-romain-dorgueil-episode-143</link>
      <pubDate>Sun, 7 Jan 2018 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1860.72" duration="49.82">Yeah. It's it's nice that you you mentioned that because I think the most challenging aspects of building and maintaining bottom Monoble is mostly everything that is nontechnical. I mean, the the technical part we discussed a bit, just before is not really simple. Everything needs to be backward compatible. Parallelism must be transparent. You must think about developer experience, the API or it looks, etcetera. But all that is challenging, but, as our jobs is, software engineers, that's pretty much what we do for daily. So that's our job to solve those kind of problems, and we know how to solve those kind of problems. The really hard part is just just to cut, pedophile, it's going from 0 to 1. From you have nothing to there is something that exists.</podcast:soundbite>
      <podcast:soundbite startTime="622.75" duration="35.58">And what led you to choose the name Bonobo for the project? Is there any particular backstory behind that? That's a bit of a story. The the previous 1 was called rgc.etl. If it's, taught me something is that, cryptic names using acronyms nobody understands is not really good for a project. So I started diving into a name that was symbolic, that had a meaning. And I really liked the idea of, like, an army of tiny monkeys just working your data 1 packet at a time and passing, to the next monkey and then assembling the kind of assembly line of data.</podcast:soundbite>
      <podcast:soundbite startTime="82.55" duration="29.18">And today, I'm interviewing Romain Durgu about Bonobo, a data processing toolkit for modern Python. So, Romain, could you please introduce yourself? Hi, Tobias. So first, thank you very much for having me on the podcast. So I'm Romain Dorgay. I'm the creator and main developer of Bonobo ETL, a Python library to extract when someone load data. Sometime I define myself as a Python hacker, but, I mostly tend to see technology as a mean more than an end.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:57</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Bonobo: Lightweight ETL Toolkit for Python 3 with Romain Dorgueil</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>143</itunes:episode>
      <podcast:episode>143</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307529950995f9dd1a0d-0c48-4830-aa71-8901b733601bv1.mp3" length="47876682" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307529950995f9dd1a0d-0c48-4830-aa71-8901b733601bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f9dd1a0d-0c48-4830-aa71-8901b733601b638558821567569577.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f9dd1a0d-0c48-4830-aa71-8901b733601b638558821565107242.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f9dd1a0d-0c48-4830-aa71-8901b733601b638558821557048967.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Orange: Visual Data Mining Toolkit with Janez Demšar and Blaž Zupan</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Blaž Zupan and Janez Demsar about Orange, a toolbox for interactive machine learning and data visualization in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Orange and what was your motivation for building it?</li>
<li>Who is the target audience for this project?</li>
<li>How is the graphical interface implemented and what kinds of workflows can be implemented with the visual components?</li>
<li>What are some of the most notable or interesting widgets that are available in the catalog?</li>
<li>What are the limitations of the graphical interface and what options do user have when they reach those limits?</li>
<li>What have been some of the most challenging aspects of building and maintaining Orange?</li>
<li>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?</li>
<li>What are some of the most interesting or innovative uses of Orange that you are aware of?</li>
<li>What are some of the projects or technologies that you consider to be your competition?</li>
<li>Under what circumstances would you advise against using Orange?</li>
<li>What are some widgets that you would like to see in future versions?</li>
<li>What do you have planned for future releases of Orange?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Blaž
<ul>
<li><a href="https://fri.uni-lj.si/en/employees/blaz-zupan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University Bio</a></li>
<li><a href="https://twitter.com/bzupan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@bzupan</a> on Twitter</li>
<li><a href="https://github.com/BlazZupan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BlazZupan</a> on GitHub</li>
<li><a href="https://scholar.google.com/citations?user=jpa_na8AAAAJ&amp;hl=de&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Scholar</a></li>
</ul>

<p></li><br>
<li>Janez</p>

<ul>
<li><a href="https://fri.uni-lj.si/en/employees/janez-demsar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University Bio</a></li>
<li><a href="https://twitter.com/jademsar?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jademsar</a> on Twitter</li>
<li><a href="https://github.com/janezd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">janezd</a> on GitHub</li>
<li><a href="https://scholar.google.com/citations?user=vzLTmMoAAAAJ&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Scholar</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://datastori.es/110-whats-going-on-in-this-graph-with-sharon-hessney-and-michael-gonchar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Stories: What&#8217;s Going On In This Graph?</a></li>
</ul>

<p></li><br>
<li>Blaž</p>

<ul>
<li><a href="https://www.npr.org/podcasts/510313/how-i-built-this?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How I Built This</a></li>
</ul>

<p></li><br>
<li>Janez</p>

<ul>
<li><a href="https://adventofcode.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Advent of Code</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.uni-lj.si/eng/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Ljubljani</a></li>
<li><a href="http://www.data-explorer.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Explorer</a></li>
<li><a href="https://en.wikipedia.org/wiki/Silicon_Graphics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Silicon Graphics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Visual_programming_language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Programming</a></li>
<li><a href="https://wiki.python.org/moin/PyQt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyQT</a></li>
<li><a href="https://en.wikipedia.org/wiki/Linear_regression?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linear Regression</a></li>
<li><a href="https://en.wikipedia.org/wiki/T-distributed_stochastic_neighbor_embedding?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">t-SNE</a></li>
<li><a href="https://en.wikipedia.org/wiki/K-means_clustering?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">K-Means</a></li>
<li><a href="https://www.tcl.tk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TCL/TK</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numpy</a></li>
<li><a href="http://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scikit-Learn</a></li>
<li><a href="https://scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="http://textable.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Textable.io</a></li>
<li><a href="https://rapidminer.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RapidMiner</a></li>
<li><a href="https://en.wikipedia.org/wiki/Single_cell_sequencing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Single Cell Genomics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transfer_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transfer Learning</a></li>
<li><a href="https://www.youtube.com/channel/UClKKWBe2SCAEyv7ZNGhIe4g?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Orange Video Tutorials</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Forange-with-janez-demsar-and-blaz-zupan-episode-142%2F&amp;action_name=Orange%3A+Visual+Data+Mining+Toolkit+with+Janez+Dem%C5%A1ar+and+Bla%C5%BE+Zupan+-+Episode+142&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-12-31t02:06:18+00:00-93ed67f625d5e5b</guid>
      <link>https://www.pythonpodcast.com/orange-with-janez-demsar-and-blaz-zupan-episode-142</link>
      <pubDate>Sun, 31 Dec 2017 02:00:00 +0000</pubDate>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:05</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Orange: Visual Data Mining Toolkit with Janez Demšar and Blaž Zupan</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>142</itunes:episode>
      <podcast:episode>142</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532210998815749932ac3-ba78-4f6d-9b9d-f69b8b5b74d4v1.mp3" length="34779524" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532210998815749932ac3-ba78-4f6d-9b9d-f69b8b5b74d4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_49932ac3-ba78-4f6d-9b9d-f69b8b5b74d4638558847098439517.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/49932ac3-ba78-4f6d-9b9d-f69b8b5b74d4638558847095631623.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/49932ac3-ba78-4f6d-9b9d-f69b8b5b74d4638558847092847022.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Dramatiq: Distributed Task Queue For Python 3 with Bogdan Popa</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Bogdan Popa about Dramatiq, a distributed task processing library for Python with a focus on simplicity, reliability and performance</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Dramatiq and what was your motivation for creating it?</li>
<li>How does Dramatiq compare to other task queues in Python such as Celery or RQ?</li>
<li>How is Dramatiq implemented and how has the internal architecture evolved?</li>
<li>What have been some of the most difficult aspects of building Dramatiq?</li>
<li>What are some of the features that you are most proud of?</li>
<li>For someone who is interested in integrating Dramatiq into an application, can you describe the steps involved and the API?</li>
<li>Do you provide any form of migration path or compatibility layer for people who are currently using Celery or RQ?</li>
<li>Can you describe the licensing structure for the project and your reasoning?
<ul>
<li>How did you determine the price point for commercial licenses?</li>
<li>Have you been successful in selling licenses for commercial use?</li>
</ul>

<p></li><br>
<li>What are some of the features that you have planned for future releases?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://dramatiq.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Website</a></li>
<li><a href="https://defn.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Personal Website</a></li>
<li><a href="https://github.com/Bogdanp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bogdanp</a> on GitHub</li>
<li><a href="https://twitter.com/Bogdanp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Bogdanp</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2D5bMRE?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Anybodies</a> by N.E. Bode</li>
</ul>

<p></li><br>
<li>Bogdan</p>

<ul>
<li><a href="https://docs.pipenv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pipenv</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://dramatiq.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dramatiq</a></li>
<li><a href="https://www.leadpages.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LeadPages</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp</a></li>
<li><a href="http://www.celeryproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="http://python-rq.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RQ</a></li>
<li><a href="https://github.com/celery/billiard?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Billiard</a></li>
<li><a href="https://kombu.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kombu</a></li>
<li><a href="https://cloud.google.com/appengine/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google App Engine</a></li>
<li><a href="https://cloud.google.com/appengine/docs/standard/python/taskqueue/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GAE Task Queue</a></li>
<li><a href="http://www.rabbitmq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RabbitMQ</a></li>
<li><a href="http://apscheduler.readthedocs.io/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">APScheduler</a></li>
<li><a href="https://redis.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Redis</a></li>
<li><a href="https://memcached.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Memcached</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cache_replacement_policies#Least_Recently_Used_(LRU)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LRU (Least Recently Used)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Middleware?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Middleware</a></li>
<li><a href="http://www.gevent.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gevent</a></li>
<li><a href="http://pika.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pika</a></li>
<li><a href="https://aws.amazon.com/sqs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQS (Amazon Simple Queue Service)</a></li>
<li><a href="https://cloud.google.com/pubsub/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Cloud PubSub</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="https://github.com/encode/apistar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">API*</a></li>
<li><a href="http://bundler.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bundler</a></li>
<li><a href="https://github.com/rust-lang/cargo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cargo</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdramatiq-with-bogdan-popa-episode-141%2F&amp;action_name=Dramatiq%3A+Distributed+Task+Queue+For+Python+3+with+Bogdan+Popa+-+Episode+141&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-12-24t01:59:00+00:00-3fe9bae837ff527</guid>
      <link>https://www.pythonpodcast.com/dramatiq-with-bogdan-popa-episode-141</link>
      <pubDate>Sun, 24 Dec 2017 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="213.43" duration="38.13">Sure. So Dramatic Dramatic actually came or I I built dramatic because of my frustration having used Celery for quite a long time professionally. Essentially, I I tried to fix some of the the things I found to be problematic with Celery. Things such as, really, to start with, just having a a much simpler, easier to understand code base. If you've ever if you've ever had to dive into Celery's source code, you'll know that it's spread across 3 projects, Billiard, Komboo, and then Celery.</podcast:soundbite>
      <podcast:soundbite startTime="792.23" duration="44.59">Well, so a lot of a lot of its its functionality is actually built on middleware. So for example, the retry the automatic retry functionality is built on middleware. The task, runtime limits, which is a a middleware that lets you, kill tasks that have been running for too long, is also built on middleware. There's a middleware that exposes worker met metrics over Prometheus. And, yeah, most most of the most of the functionality that's not just the the core of running the worker, pulling messages, and executing those messages is actually built using middleware.</podcast:soundbite>
      <podcast:soundbite startTime="1881.18" duration="44.88">Sure. Well, so I've I've been building open source software for a while now, and and and something I've I've noticed both in my own projects and in other people's projects is, essentially, you you go out. You try and solve a problem that you have, and then other people start using it, which is good. But, they they start depending on it to some extent, and you're stuck, supporting it. In the open, that ends up being you get, issues, pull requests, all that stuff, which again is is a good thing. But you also get companies who who start to depend on your work, and and they start to make a profit on your work. And I think it's it's only fair to, ask those companies to contribute back in some way.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:13</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Dramatiq: Distributed Task Queue For Python 3 with Bogdan Popa</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>141</itunes:episode>
      <podcast:episode>141</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297027042026501559bf-b110-4f67-a828-05d329f5c384v1.mp3" length="29343658" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297027042026501559bf-b110-4f67-a828-05d329f5c384v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_501559bf-b110-4f67-a828-05d329f5c384638558787148150431.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/501559bf-b110-4f67-a828-05d329f5c384638558787145688801.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/501559bf-b110-4f67-a828-05d329f5c384638558787143508637.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Jake Vanderplas: Data Science For Academic Research</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jake Vanderplas about data science best practices, and applying them to academic sciences</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How has your astronomy background informed and influenced your current work?</li>
<li>In your work at the University of Washington, what are some of the most common difficulties that students face when learning data science?
<ul>
<li>How does that list differ for professional scientists who are learning how to apply data science to their work?</li>
</ul>

<p></li><br>
<li>Where is the tooling still lacking in terms of enabling consistent and repeatable workflows?</li><br>
<li>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?</li><br>
<li>What are some of the most novel applications of data science that you have been involved with?</li><br>
<li>What are some of the trends in data analysis that you are most excited for?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://jakevdp.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/jakevdp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jakevdp</a></li>
<li><a href="https://github.com/jakevdp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jakevdp</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2zfVjuN?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Redwall Cookbook</a></li>
</ul>

<p></li><br>
<li>Jake</p>

<ul>
<li><a href="http://kevinmkruse.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kevin M. Kruse</a></li>
<li><a href="http://amzn.to/2zgFKTF?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">White Flight</a> by Kevin Kruse</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://escience.washington.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UW eScience Institute</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="https://scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy</a></li>
<li><a href="https://conference.scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy Conference</a></li>
<li><a href="https://us.pycon.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon</a></li>
<li><a href="http://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="http://www.sdss.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sloan Digital Sky Survey</a></li>
<li><a href="https://en.wikipedia.org/wiki/Spectroscopy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spectroscopy</a></li>
<li><a href="https://software-carpentry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Software Carpentry</a></li>
<li><a href="http://www.datacarpentry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Carpentry</a></li>
<li><a href="https://git-scm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git</a></li>
<li><a href="https://www.mercurial-scm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mercurial</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="https://altair-viz.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Altair</a></li>
<li><a href="https://conda.io/docs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conda</a></li>
<li><a href="http://xon.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Xonsh</a></li>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter</a></li>
<li><a href="https://github.com/jupyterlab/jupyterlab?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Lab</a></li>
<li><a href="http://vega.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vega</a></li>
<li><a href="http://vega.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vega-lite</a></li>
<li><a href="https://idl.cs.washington.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Interactive Data Lab</a></li>
<li><a href="https://d3js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D3</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mike_Bostock?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mike Bostock</a></li>
<li><a href="https://github.com/ellisonbg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brian Granger</a></li>
<li><a href="https://bokeh.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bokeh</a></li>
<li><a href="http://amzn.to/2ClgHh8?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grammar of Graphics</a></li>
<li><a href="http://ggplot2.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ggplot2</a></li>
<li><a href="http://holoviews.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Holoviews</a></li>
<li><a href="https://www.wikimedia.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wikimedia</a></li>
<li><a href="http://www.astropy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AstroPy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-32-erik-tollerud-on-astropy/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Interview About AstroPy</a></li>
</ul>

<p></li><br>
<li><a href="https://www.ligo.caltech.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LIGO</a></li><br>
<li><a href="http://wesmckinney.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wes McKinney</a></li><br>
<li><a href="https://github.com/wesm/feather?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feather</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fjake-vanderplas-episode-140%2F&amp;action_name=Jake+Vanderplas%3A+Data+Science+For+Academic+Research+-+Episode+140&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-12-17t00:54:52+00:00-e56465618d11b7a</guid>
      <link>https://www.pythonpodcast.com/jake-vanderplas-episode-140</link>
      <pubDate>Sun, 17 Dec 2017 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="384.10" duration="38.90">And you mentioned that your background was originally in astronomy Mhmm. And now you're working more in the data science and education space. I'm wondering how your background in astronomy informs and influences your current work. Yeah. Well, I still, fortunately, I still get to work on astronomy topics a little bit here and there. I've been I've been publishing maybe 1 paper a year in, in astronomy journals. So I've I've kept my kept my toes in there. But, the thing is that astronomy in a lot of ways was kind of an early adopter of these these really data driven approaches to, to science.</podcast:soundbite>
      <podcast:soundbite startTime="82.31" duration="21.29">And today, I'm interviewing Jake Vander Plaas about data science best practices and applying them to academic sciences. So Jake, could you start by introducing yourself? Yeah. Yeah. So my name is Jake. I'm, an astronomer by training, but for the last 5 or so years, I've been more on the data science side of academia. I've been working at the University of Washington E Science Institute.</podcast:soundbite>
      <podcast:soundbite startTime="1475.08" duration="41.53">1 of the projects that you're involved with right now is Altair, which you were mentioning some of the difficulties of being able to work with interactive visualizations, particularly in the context of Matplotlib. And my understanding is that Altair is an effort in that direction for being able to generate statistical visualizations with a strong integration with Pandas data frames. So I'm curious how the work that you're doing on that factors into your teaching, and what are some of your goals with that project overall? Yeah. This this project has been really interesting because, on my side, it's kind of a software engineering challenge, and all the conceptual parts of it are are sort of taken care of and baked in.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Jake Vanderplas: Data Science For Academic Research</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>140</itunes:episode>
      <podcast:episode>140</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253209999274731e4a7057-6ec5-4d77-a280-e82cc73b7f79v1.mp3" length="39316438" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253209999274731e4a7057-6ec5-4d77-a280-e82cc73b7f79v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1e4a7057-6ec5-4d77-a280-e82cc73b7f79638558842301558716.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1e4a7057-6ec5-4d77-a280-e82cc73b7f79638558842298932618.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1e4a7057-6ec5-4d77-a280-e82cc73b7f79638558842297071016.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Kenneth Reitz</title>
      <description><![CDATA[<h3>Summary</h3>

<p>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&#8217;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.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Kenneth Reitz about his career in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>An overarching theme of your open source projects is the idea of making them &#8220;For Humans&#8221;. 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?</p>
</li>
<li>
<p>What are the projects that you are most proud of and which do you think have had the biggest impact on the Python community?<br />
A: Requests, Hitchhiker&#8217;s Guide to Python, and Pipenv (yet to come to full fruition).</p>
</li>
<li>
<p>Which projects have you authored which are relatively unknown but you think people would benefit from using more often?<br />
A: Maya: Datetime for Humans, and Records: SQL for Humans.</p>
</li>
<li>
<p>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?<br />
A: I consider myself a &#8220;spiritual alchemist&#8221;, which means &#8220;transformation of dark into light&#8221;. I seek to do &#8220;the great work&#8221;, in however in manifests, outside of the programming world, as well as within it.</p>
</li>
<li>
<p>What do you think is the biggest gap in the tool chest for Python developers?<br />
A: I seek to fill all the voids that I see, and I&#8217;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).</p>
</li>
<li>
<p>What are your ambitions for future projects?<br />
A: At the moment, I have no current plans for future projects, but I&#8217;m sure something will come along at some point <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png?utm_source=rss&utm_medium=rss" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
</li>
<li>
<p>If you weren&#8217;t working with Python what would you be doing instead?<br />
A: I&#8217;d have a lot less money and I&#8217;d be a lot less fufilled.</p>
</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://www.kennethreitz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/kennethreitz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@kennethreitz</a> on Twitter</li>
<li><a href="https://github.com/kennethreitz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">kennethreitz</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2Bpzuvc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Algorithms to Live By</a></li>
</ul>

<p></li><br>
<li>Kenneth</p>

<ul>
<li><a href="http://amzn.to/2BqRWDJ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Linux Programming Interface</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.heroku.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heroku</a></li>
<li><a href="https://www.salesforce.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Salesforce</a></li>
<li><a href="https://www.python.org/psf/members/#board-of-directors?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PSF Board of Directors</a></li>
<li><a href="https://en.wikipedia.org/wiki/Caldera_OpenLinux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Caldera Linux</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pascal</a></li>
<li><a href="https://en.wikipedia.org/wiki/BASIC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Basic</a></li>
<li><a href="http://groovy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Groovy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Java_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Java</a></li>
<li><a href="http://php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://www.ruby-lang.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby</a></li>
<li><a href="http://amzn.to/2iKYi5C?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Design of Everyday Things</a></li>
<li><a href="http://docs.python-requests.org/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Requests</a></li>
<li><a href="http://docs.python-guide.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hitchhiker&#8217;s Guide</a></li>
<li><a href="https://docs.pipenv.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pipenv</a></li>
<li><a href="https://github.com/pypa/pipfile?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pipfile</a></li>
<li><a href="https://theupdateframework.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Update Framework</a></li>
<li><a href="http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Falsehoods Programmer&#8217;s Believe About Time</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0020/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP20</a></li>
<li><a href="http://www.py2exe.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Py2EXE</a></li>
<li><a href="https://anthony-tuininga.github.io/cx_Freeze/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cxfreeze</a></li>
<li><a href="https://briefcase.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Briefcase</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fkenneth-reitz-episode-139%2F&amp;action_name=Kenneth+Reitz+-+Episode+139&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-12-10t12:09:35+00:00-9fa97598cb211b8</guid>
      <link>https://www.pythonpodcast.com/kenneth-reitz-episode-139</link>
      <pubDate>Sun, 10 Dec 2017 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="738.49" duration="53.97">Right? Like, they value things that are built well, and that is the thing that I have faith in is the the people that have good taste effectively. So that's the people I'm targeting, and that's the people that I want to build things for. And I want us all to have good taste, and I want us to come together in good taste. And what are some of the projects that you're most proud of and that you think have had the biggest impact on the Python community? Requests is definitely the 1 that, yeah, I'm most proud of and has had the biggest impact. I don't think it's possible, at least in within the realms of Python, to have a bigger impact than requests has, which is very humbling and I'm very thankful. And it's really hard to speak on honestly because it's it's overwhelming how much attention that project has received. So I just won't speak on it at all. I'm very proud of the Hitchhiker's Guide to Python.</podcast:soundbite>
      <podcast:soundbite startTime="502.97" duration="60.10">And bringing it back to the work that you've been doing with Python, 1 of the overarching themes of the projects that you've released is this idea of making them for humans. And I'm wondering if you can elaborate a bit on how that came to be a focus for you and how that informs the way that you design and write your code, and also if you can just, elaborate on how that manifests as well. Certainly. It's a double edged sword because there is a small subset of the community that does not like that phrase. They find it to be very, what's the right word, self righteous, I think, where it kind of has an inherent tone of other people aren't building things for humans and I am, or the people who use the phrase that aren't me are, and that I see their point of view, and I don't disagree completely. But at the same time, that's not the intention behind the phrase in any way, shape, or form. I'll tell you the story.</podcast:soundbite>
      <podcast:soundbite startTime="1931.52" duration="79.50">Nothing really comes to mind at the moment except for something that's always stood out to me is the building of distributable executables. There's lots of tools out there like Py. Exe, CX freeze. There's a new 1 called Briefcase from the Bware project. There's there's a plethora of these tools available, but I haven't used Briefcase personally, so I can't attest to that 1. But all the other ones are very difficult to use and they're all different and there's no standard and it's it's kludgy. And Go has a great story for building executables. So I would love to see Python really unify around, you know, because if you're building a Python app, you wanna be able to ship it to customers. And you don't wanna ship Python code in a Python interpreter. You wanna ship a dot exe or dotapp or a a Linux executable that you can run on a Mac or a Linux executable that you can run-in Linux. You know what I mean? And that's that's what I want to see us do. And I I don't know if we'll ever get there, but I think that it would greatly help the community because I think that a lot more people care about that. The people who are empowered to build that software don't care about it. But the people who would utilize it, I think, is a very large number of people.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Kenneth Reitz</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>139</itunes:episode>
      <podcast:episode>139</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320721041976d3eb29f1-db75-447c-ad3a-df5622ae62efv1.mp3" length="32142811" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320721041976d3eb29f1-db75-447c-ad3a-df5622ae62efv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d3eb29f1-db75-447c-ad3a-df5622ae62ef638558841197370528.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d3eb29f1-db75-447c-ad3a-df5622ae62ef638558841194696318.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d3eb29f1-db75-447c-ad3a-df5622ae62ef638558841192337739.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Asphalt: A Framework For Asynchronous Network Applications with Alex Grönholm</title>
      <description><![CDATA[<h3>Summary</h3>

<p>As we rely more on small, distributed processes for building our applications, being able to take advantage of asynchronous I/O is increasingly important for performance. This week Alex Grönholm explains how the Asphalt Framework was created to make it easier to build these network oriented software stacks and the technical challenges that he faced in the process.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Alex Grönholm about the Asphalt Framework, a Python microframework for network oriented applications</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Asphalt and what was your reason for building it?</li>
<li>How does Asphalt compare to Twisted?</li>
<li>What are the most challenging parts of writing asynchronous and event-based applications and how does Asphalt help simplify that process?</li>
<li>When building an Asphalt application it can be easy to accidentally block an async loop by pulling in third party libraries that don&#8217;t support asynchronous execution. What are some of the techniques for identifying and resolving blocking portions of your application?</li>
<li>What does the internal architecture of Asphalt look like and how has that evolved from when you first started working on it?</li>
<li>What have been some of the most difficult aspects of building and evolving Asphalt?</li>
<li>What are some of the most interesting or unexpected uses of Asphalt that you have seen?</li>
<li>What are some of the new features or improvements that you have planned for the future of Asphalt?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://gitter.im/asphalt-framework/Lobby?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitter</a></li>
<li><a href="https://webchat.freenode.net/?channels=#asphalt&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IRC</a></li>
<li><a href="https://github.com/asphalt-framework?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://github.com/agronholm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">agronholm</a> on GitHub</li>
<li><a href="https://twitter.com/agronholm?lang=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@agronholm</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.imdb.com/title/tt3501632/?ref_=nv_sr_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thor: Ragnarok</a></li>
</ul>

<p></li><br>
<li>Alex</p>

<ul>
<li><a href="http://www.twostepsfromhell.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Two Steps From Hell</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://asphalt.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Asphalt</a></li>
<li><a href="https://en.wikipedia.org/wiki/Enterprise_resource_planning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ERP</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Asyncio</a></li>
<li><a href="http://www.tornadoweb.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a></li>
<li><a href="https://twistedmatrix.com/trac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a></li>
<li><a href="http://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0550/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 550</a></li>
<li><a href="https://github.com/channelcat/sanic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sanic</a></li>
<li><a href="http://wamp-proto.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WAMP</a></li>
<li><a href="https://www.pythonpodcast.com/episode-101-crossbar-io-with-tobias-oberstein-and-alexander-goedde/?utm_source=rss&utm_medium=rss">Podcast.<strong>init</strong> Interview About Crossbar</a></li>
<li><a href="http://man7.org/linux/man-pages/man1/tee.1.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tee</a></li>
<li><a href="https://flexget.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FlexGet</a></li>
<li><a href="http://apscheduler.readthedocs.io/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">APScheduler</a></li>
<li><a href="https://en.wikipedia.org/wiki/BitTorrent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BitTorrent</a></li>
<li><a href="https://github.com/MagicStack/uvloop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">uvloop</a></li>
<li><a href="https://github.com/tokio-rs/tokio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tokio</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fasphalt-framework-with-alex-gronholm-episode-138%2F&amp;action_name=Asphalt%3A+A+Framework+For+Asynchronous+Network+Applications+with+Alex+Gr%C3%B6nholm+-+Episode+138&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-12-03t03:28:06+00:00-89827bc547cf309</guid>
      <link>https://www.pythonpodcast.com/asphalt-framework-with-alex-gronholm-episode-138</link>
      <pubDate>Sun, 3 Dec 2017 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1689.33" duration="64.33">And what are some of the, new features or improvements that you have planned for the future of asphalt or some, components that you would like to see people, build and contribute to the project? Oh, where to begin? Some of these I mentioned already. The the schedule part is really important for me. I actually, needed a schedule in all of my work projects, and I have something suboptimal implemented in each 1 of them. And I really love to have a working fully featured scheduler in all of them. And obviously, having a web component is really important for the future of Asphalt. Also, as I mentioned, Celery, I think Asphalt needs integration or a native component that's, lets you queue tasks because a lot of these tasks that need to be, that application need to run are CPU intensive and doing that in threads is suboptimal. So, yeah, definitely something like that I would like to have.</podcast:soundbite>
      <podcast:soundbite startTime="326.50" duration="68.66">And 1 of the really appealing things about Asphalt is the fact that it is purely asynchronous throughout the entire stack and looks like it takes advantage of the new async IO capabilities in the Python 3 runtime. Mhmm. So just curious if you can explain your reasoning for, that heavy focus on the asynchronous capabilities and what that gains you for the particular type of, applications that you're looking to build with Asphalt. I really meant Asphalt to be the 1 framework to end them all. So, the reason I picked asyncio was, well, first, because asyncio is part of the standard library. I needed some kind of a networking stack underneath it. So, the choices were either using Twisted or Tornado or some else, some other async framework for it, or I could have gone to the threaded route and do like a Flask or pyramid or Cheng or you name it. But, the thing is, sometimes you do need a sync.</podcast:soundbite>
      <podcast:soundbite startTime="141.60" duration="46.92">So when I finally found Python, it was pretty liberating. And do you remember how you first came across Python? Yeah. Many years before I actually started with Python, I had heard about it, and I had heard that it has the it had the kind of grammar where, voice space was significant, and I found it intriguing. But it took many years, before I actually started using it. And, when I picked it up, I found it really easy. Like, the easiest programming language I have ever learned. In less than 2 hours, I had already, made my first practical application. So, I found it really impressive that, that a language could be learned so easily.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:44</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Asphalt: A Framework For Asynchronous Network Applications with Alex Grönholm</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>138</itunes:episode>
      <podcast:episode>138</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253041399906512823e9c7-870b-4cd5-bdbf-57aad2280225v1.mp3" length="24930504" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253041399906512823e9c7-870b-4cd5-bdbf-57aad2280225v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_2823e9c7-870b-4cd5-bdbf-57aad2280225638558807592497969.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2823e9c7-870b-4cd5-bdbf-57aad2280225638558807589108085.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2823e9c7-870b-4cd5-bdbf-57aad2280225638558807587011664.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Golem: End-To-End Test Automation Framework with Luciano Renzi</title>
      <description><![CDATA[<h3>Summary</h3>

<p>The importance of testing your software is widely talked about and well understood. What is not as often discussed is the different types of testing, and how end-to-end tests can benefit your team to ensure proper functioning of your application when it gets released to production. This week Luciano Renzi shares the work that he has done on Golem, a framework for building and executing an automation suite to exercise the entire system from the perspective of the user. He discusses his reasons for creating the project, how he things about testing, and where he plans on taking Golem in the future. Give it a listen and then take it for a test drive.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Luciano Renzi about Golem, a framework and automation tool for end-to-end testing in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is golem and what motivated you to create it?
<ul>
<li>What was your inspiration for the name?</li>
</ul>

<p></li><br>
<li>Why did you choose to use Python for Golem and if you were to start over today would you make the same choice?</li><br>
<li>For someone who is unfamiliar with the concept, can you describe what end-to-end testing is and the reasons for making it part of their development process?</li><br>
<li>What is the main goal of Golem</li><br>
<li>What does the internal architecture and implementation of Golem look like and how has that evolved from when you first started the project?</li><br>
<li>How does Golem compare to other Python libraries for automated browser testing and what was lacking in the existing solutions when you created it?</li><br>
<li>What are the differences between golem and robot framework?</li><br>
<li>What about projects written in other languages such as protractor?</li><br>
<li>One of the intriguing features of Golem is the web interface for constructing tests. What are the benefits of codeless automation &amp; record-playback functionality?</li><br>
<li>What are some of the most challenging aspects of building and maintaining Golem?</li><br>
<li>It seems that every browser automation library is ultimately a wrapper around Selenium. Why is a wrapper necessary and why haven&#8217;t any strong alternatives been created?</li><br>
<li>What are the advantages of making Golem a framework for test automation, rather than a library?</li><br>
<li>What are some of the most interesting or unexpected uses for Golem that you have seen?</li><br>
<li>What do you have planned for the future of Golem?</li><br>
<li>What is the current state of end to end automation and how do you see it evolving in the future?</li><br>
<li>How do you think machine learning and AI will be used in test automation?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/luciano-renzi/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">luciano-renzi</a> on GitHub</li>
<li><a href="https://twitter.com/lucianorenzi_?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@lucianorenzi_</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2zpjPHp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Weapons of Math Destruction</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://golem-framework.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Golem</a></li>
<li><a href="https://www.elementum.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elementum</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pascal</a></li>
<li><a href="http://watir.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Watir</a></li>
<li><a href="http://junit.org/junit5/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JUnit</a></li>
<li><a href="http://www.seleniumhq.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium</a></li>
<li><a href="https://martinfowler.com/bliki/PageObject.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Page Object Pattern</a></li>
<li><a href="http://www.seleniumhq.org/docs/07_selenium_grid.jsp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium Grid</a></li>
<li><a href="https://saucelabs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sauce Labs</a></li>
<li><a href="https://docs.pytest.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">py.test</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-16-holger-krekel-on-py-test/?utm_source=rss&utm_medium=rss">Podcast.<strong>init</strong> Interview About Py.Test</a></li>
</ul>

<p></li><br>
<li><a href="http://robotframework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robot Framework</a></li><br>
<li><a href="https://github.com/sparklemotion/mechanize?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mechanize</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Acceptance_testing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Acceptance Tests</a></li><br>
<li><a href="http://www.protractortest.org/#/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Protractor</a></li><br>
<li><a href="http://webdriver.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Webdriver.io</a></li><br>
<li><a href="http://appium.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Appium</a> </li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgolem-framework-with-luciano-puccio-episode-137%2F&amp;action_name=Golem%3A+End-To-End+Test+Automation+Framework+with+Luciano+Renzi+-+Episode+137&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-11-25t19:44:22+00:00-281bd6907e3cfc2</guid>
      <link>https://www.pythonpodcast.com/golem-framework-with-luciano-puccio-episode-137</link>
      <pubDate>Sat, 25 Nov 2017 19:00:00 +0000</pubDate>
      <podcast:soundbite startTime="926.68" duration="77.23">Yeah. Sure. So, first of all, I see that there there is a misconception about what end to end test means. I think it has become a buzzwords, a buzzword and it would be wouldn't be the first time. So I'm looking at the cloud for example. So first of all, imagine that you have tests that assert functions, methods, and classes. You can call this unit test, of course. Then you have tests that assert the interaction between different classes and modules, probably between different repositories. And you can call this integration tests. Above this, you have tests that use real data and real databases in a production like environment. And the system under test is actually connected to any external systems or services. You can call this end to end tests. You can say that graphical user interface tests are end to end tests, but not always. And also, if you are testing from the graphical user interface, but the back end data is mocked, then you are not actually doing end to end tests. So just a clarification that end to end doesn't actually mean graphical user interface.</podcast:soundbite>
      <podcast:soundbite startTime="2852.15" duration="93.47">So I see that there's a strong push for end to end automation, but I see that we are lacking in is, enough people with the required skills to do so. I think that the the theory of this automation is is well spread out yet, but, also the tools need some polishing to to achieve, the the best state possible. That's 1 of the issues Golem is trying to solve, like kind of a a bridge from where we are now to where we are headed. There's also a trend to integrate test automation with DevOps and to have a a working continuous integration pipeline and achieve continuous delivery and continuous testing. And there is a trend to fade the lines that separate the rows inside the development team. So there should not be a strict separation between developers and testers. Everyone in the team should be involved in the quality as quality is something that that's built in and everyone's responsible. And we should forget about the idea that quality is something that you can, verify at the end or you can patch at the end by some manual testing. But it has to be incorporated into the workflow from the beginning. And it is, of course, a collaborative effort, And that's the idea of what I mentioned earlier of shift left.</podcast:soundbite>
      <podcast:soundbite startTime="471.85" duration="61.86">I started Golium, but, before before that, I had a quite a quite a lot of experience with different, with the different, tools available. So I think that it all began a few years ago when I I was working for a software company that just a few QAs were, doing front end automation with a framework, they built themselves in Java, and it was using ShayUnit. But there were also more than 50 testers that did only manual tests and did not have any experience with test automation or computer programming or Selenium or Java. So 1 of the tasks I had in this company was to train all these manual testers to start using the automation tool. And to me it was a daunting task because mainly because you are teaching Java to someone who might have absolutely 0 background in computer programming.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:04</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Golem: End-To-End Test Automation Framework with Luciano Renzi</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>137</itunes:episode>
      <podcast:episode>137</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253174271192627b655d8c-09c2-4ea0-b394-c694e73ba611v1.mp3" length="40670202" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253174271192627b655d8c-09c2-4ea0-b394-c694e73ba611v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7b655d8c-09c2-4ea0-b394-c694e73ba611638558835848214401.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7b655d8c-09c2-4ea0-b394-c694e73ba611638558835843200171.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7b655d8c-09c2-4ea0-b394-c694e73ba611638558835841351737.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Graphite Metrics Stack with Jason Dixon and Dan Cech</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Do you know what is happening in your production systems right now? If you have a comprehensive metrics platform then the answer is yes. If your answer is no, then this episode is for you. Jason Dixon and Dan Cech, core maintainers of the Graphite project, talk about how graphite is architected to capture your time series data and give you the ability to use it for answering questions. They cover the challenges that have been faced in evolving the project, the strengths that have let it stand the tests of time, and the features that will be coming in future releases.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Now is a good time to start planning your conference schedule for 2018. To help you out with that, guest Jason Dixon is offering a $100 discount for Monitorama in Portland, OR on June 4th &#8211; 6th and guest Dan Cech is offering a €50 discount to Grafanacon in Amsterdam, Netherlands March 1st and 2nd. There is also still time to get your tickets to PyCascades in Vancouver, BC Canada January 22nd and 23rd. All of the details are in the show notes</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jason Dixon and Dan Cech about Graphite</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Graphite and how did you each get involved in the project?</li>
<li>Why should developers be thinking about collecting and reporting on metrics from their software and systems?</li>
<li>How do you think the Graphite project has contributed to or influenced the overall state of the art in systems monitoring?</li>
<li>There are a number of different projects that comprise a fully working Graphite deployment. Can you list each of them and describe how they fit together?</li>
<li>What are some of the early design choices that have proven to be problematic while trying to evolve the project?</li>
<li>What are some of the challenges that you have been faced with while maintaining and improving the various Graphite projects?</li>
<li>What will be involved in porting Graphite to run on Python 3?</li>
<li>If you were to start the project over would you still use Python?</li>
<li>What are the options for scaling Graphite and making it highly available?</li>
<li>Given the level of importance to a companies visibility into their systems, what development practices do you use to ensure that Graphite can operate reliably and fail gracefully?</li>
<li>What are some of the biggest competitors to Graphite?</li>
<li>When is Graphite not the right choice for tracking your system metrics?</li>
<li>What are some of the most interesting or unusual uses of Graphite that you are aware of?</li>
<li>What are some of the new features and enhancements that are planned for the future of Graphite?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Jason
<ul>
<li><a href="https://twitter.com/obfuscurity?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@obfuscurity</a> on Twitter</li>
<li><a href="http://obfuscurity.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/obfuscurity?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">obfuscurity</a> on GitHub</li>
</ul>

<p></li><br>
<li>Dan</p>

<ul>
<li><a href="https://twitter.com/dancech?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@dancech</a> on Twitter</li>
<li><a href="http://aussiedan.com/blog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/DanCech?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DanCech</a> on GitHub</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.archery360.com/2016/11/21/gear-up-6-essentials-for-beginning-archers/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Archery</a></li>
</ul>

<p></li><br>
<li>Jason</p>

<ul>
<li><a href="https://www.rocketleague.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rocket League</a></li>
<li><a href="https://ti.to/monitorama/pdx2018/discount/PODCASTINIT?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monitorama $100 Discount (Limited Quantity)</a></li>
</ul>

<p></li><br>
<li>Dan</p>

<ul>
<li><a href="https://home-assistant.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Assistant</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-94-home-assistant-with-paulus-schoutsen/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Interview</a></li>
</ul>

<p></li><br>
<li><a href="http://grafanacon.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GrafanaCon</a> €50 discount with PODCASTINIT2018</li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://graphiteapp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Graphite</a></li>
<li><a href="https://sensuapp.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sensu</a></li>
<li><a href="http://monitorama.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monitorama</a></li>
<li><a href="https://www.linkedin.com/company/9237862/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RainTank</a></li>
<li><a href="https://grafana.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grafana Labs</a></li>
<li><a href="https://www.librato.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Librato</a></li>
<li><a href="https://www.librato.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://dyn.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dyn</a></li>
<li><a href="https://en.wikipedia.org/wiki/Telemetry?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Telemetry</a></li>
<li><a href="http://www.perl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Perl</a></li>
<li><a href="http://php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="https://reactjs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React</a></li>
<li><a href="http://amzn.to/2B1jkVh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">O&#8217;Reilly Graphite Book</a></li>
<li><a href="https://en.wikipedia.org/wiki/Time_series?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Time Series</a></li>
<li><a href="https://oss.oetiker.ch/rrdtool/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RRDTool</a></li>
<li><a href="https://www.influxdata.com/time-series-platform/influxdb/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">InfluxDB</a></li>
<li><a href="https://www.linkedin.com/in/adriancockcroft/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adrian Cockcroft</a></li>
<li><a href="https://en.wikipedia.org/wiki/NVM_Express?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NVMe</a></li>
<li><a href="https://prometheus.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prometheus</a></li>
<li><a href="https://www.cncf.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CNCF</a></li>
<li><a href="http://futuredata.stanford.edu/asap/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASAP Smoothing</a></li>
<li><a href="https://www.pycascades.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCascades</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fgraphite-metrics-with-jason-dixon-and-dan-cech-episode-136%2F&amp;action_name=Graphite+Metrics+Stack+with+Jason+Dixon+and+Dan+Cech+-+Episode+136&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-11-19t01:24:11+00:00-16ce59c5750d106</guid>
      <link>https://www.pythonpodcast.com/graphite-metrics-with-jason-dixon-and-dan-cech-episode-136</link>
      <pubDate>Sun, 19 Nov 2017 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2934.20" duration="39.15">I think the big advantage that that go Golang has over Python for a project like this is the the portability and the the ease of deployment. And that there's no question. I mean, that's you see any successful competing time series, you know, database these days. And 1 of its huge you know, 1 of the large differentiators is that ability to quickly and easily deploy in Influx or Prometheus without having to worry about all these dependencies and packaging and whatnot. So I I would say that's probably the the main competition wise between using graphite and Python in a different language like like Golang.</podcast:soundbite>
      <podcast:soundbite startTime="469.74" duration="33.00">So graphite, I I I guess I touched on this. It's it's a, it's a well, it's a time series, storage engine. And what I mean by that is, you know, it's it's a way of storing, measurements of data recording the performance of something over time. So, you know, let's say you wanna see how something is happening every second. It'll record those measurements and then allow you to retrieve them later on and visualize them as graphs or export them as data or whatnot. And that's basically what time series is. It's taking these measurements over precise regular intervals.</podcast:soundbite>
      <podcast:soundbite startTime="863.52" duration="50.13">I think it's influenced pretty much everything, in its wake. I mean, you'd be hard pressed to find any monitoring or systems related project now that doesn't support graphite's line level metric format I think that's fantastic I think it's enabled a lot of projects I think it's helped to forward this idea of composable monitoring systems, which is, you know, it's something I was begging for many years back and advocated strongly for it at places like Heroku and GitHub. And so to see newer systems like Influx and Prometheus and others take this approach you know, Prometheus is a great example now that they're actually advocating a lot of cases for people to use Influx as Prometheus' own, time series back end. So I I think that's fantastic.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:14:18</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Graphite Metrics Stack with Jason Dixon and Dan Cech</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>136</itunes:episode>
      <podcast:episode>136</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529661834058328eea33a-6d33-401a-a424-00a3c508598fv1.mp3" length="50809863" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529661834058328eea33a-6d33-401a-a424-00a3c508598fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_28eea33a-6d33-401a-a424-00a3c508598f638558785711541750.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/28eea33a-6d33-401a-a424-00a3c508598f638558785705813588.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/28eea33a-6d33-401a-a424-00a3c508598f638558785703848690.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Surprise! Recommendation Algorithms with Nicolas Hug</title>
      <description><![CDATA[<h3>Summary</h3>

<p>A relevant and timely recommendation can be a pleasant surprise that will delight your users. Unfortunately it can be difficult to build a system that will produce useful suggestions, which is why this week&#8217;s guest, Nicolas Hug, built a library to help with developing and testing collaborative recommendation algorithms. He explains how he took the code he wrote for his PhD thesis and cleaned it up to release as an open source library and his plans for future development on it.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nicolas Hug about Surprise, a scikit library for building recommender systems</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Surprise and what was your motivation for creating it?</li>
<li>What are the most challenging aspects of building a recommender system and how does Surprise help simplify that process?</li>
<li>What are some of the ways that a user or company can bootstrap a recommender system while they accrue data to use a collaborative algorithm?</li>
<li>What are some of the ways that a recommender system can be used, outside of the typical ecommerce example?</li>
<li>Once an algorithm has been deployed how can a user test the accuracy of the suggestions?</li>
<li>How is Surprise implemented and how has it evolved since you first started working on it?</li>
<li>What have been the most difficult aspects of building and maintaining Surprise?</li>
<li>competitors?</li>
<li>What are the attributes of the system that can be modified to improve the relevance of the recommendations that are provided?</li>
<li>For someone who wants to use Surprise in their application, what are the steps involved?</li>
<li>What are some of the new features or improvements that you have planned for the future of Surprise?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://nicolas-hug.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/hug_nicolas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@hug_nicolas</a> on Twitter</li>
<li><a href="https://github.com/nicolashug?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nicolashug</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/jazzband/silk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Silk</a> profiler for Django</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://surpriselib.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Surprise</a></li>
<li><a href="http://scikit-learn.org/stable/modules/grid_search.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gridsearch</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cold_start?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cold Start Problem</a></li>
<li><a href="http://recommender-systems.org/content-based-filtering/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Content-Based Recommendation</a></li>
<li><a href="https://en.wikipedia.org/wiki/Ensemble_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ensemble Learning</a></li>
<li><a href="https://github.com/maciejkula/spotlight?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spotlight</a></li>
<li><a href="https://github.com/lyst/lightfm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lightfm</a></li>
<li><a href="http://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fsurprise-with-nicolas-hug-episode-135%2F&amp;action_name=Surprise%21+Recommendation+Algorithms+with+Nicolas+Hug+-+Episode+135&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-11-11t20:12:28+00:00-b0ba1eff88de4cc</guid>
      <link>https://www.pythonpodcast.com/surprise-with-nicolas-hug-episode-135</link>
      <pubDate>Sat, 11 Nov 2017 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="463.49" duration="16.86">So building a collaborative filtering involves a few steps. And you first have to gather a lot of training data. You have to choose a prediction algorithm, and you have to train this algorithm on your data. And finally, you have to you have to evaluate its performance.</podcast:soundbite>
      <podcast:soundbite startTime="162.60" duration="13.13">And as I mentioned at the beginning, I invited you here to talk about your work on surprise. So just wondering if you can, give us an idea of what Surprise is and what was your motivation for creating it.</podcast:soundbite>
      <podcast:soundbite startTime="1535.46" duration="23.97">So the biggest tip I like to work on is to support implicit ratings. So like I said, surprise only support explicit rating for now. But that would require a lot of a lot of rec a lot of refactoring. And it would probably be breaking the API. So that would be for, a a next version of a next version of surprise.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:30:22</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Surprise! Recommendation Algorithms with Nicolas Hug</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>135</itunes:episode>
      <podcast:episode>135</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532248101408655a66957-76b7-4ca3-9ba2-fe9a963a25bbv1.mp3" length="26033159" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532248101408655a66957-76b7-4ca3-9ba2-fe9a963a25bbv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_55a66957-76b7-4ca3-9ba2-fe9a963a25bb638558848570394566.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/55a66957-76b7-4ca3-9ba2-fe9a963a25bb638558848568681952.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/55a66957-76b7-4ca3-9ba2-fe9a963a25bb638558848566234922.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Rasa: Build Your Own AI Chatbot with Joey Faulkner</title>
      <description><![CDATA[<h3>Summary</h3>

<p>With the proliferation of messaging applications, there has been a growing demand for bots that can understand our wishes and perform our bidding. The rise of artificial intelligence has brought the capacity for understanding human language. Combining these two trends gives us chatbots that can be used as a new interface to the software and services that we depend on. This week Joey Faulkner shares his work with Rasa Technologies and their open sourced libraries for understanding natural language and how to conduct a conversation. We talked about how the Rasa Core and Rasa NLU libraries work and how you can use them to replace your dependence on API services and own your data.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Joey Faulkner about Rasa Core and Rasa NLU for adding conversational AI to your projects.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining the goals of Rasa as a company and highlighting the projects that you have open sourced?</li>
<li>What are the differences between the Rasa Core and Rasa NLU libraries and how do they relate to each other?</li>
<li>How does the interaction model change when going from state machine driven bots to those which use Rasa Core and what capabilities does it unlock?</li>
<li>How is Rasa NLU implemented and how has the design evolved?</li>
<li>What are the motivations for someone to use Rasa core or NLU as a library instead of available API services such as wit.ai, LUIS, or Dialogflow?</li>
<li>What are some of the biggest challenges in gathering and curating useful training data?</li>
<li>What is involved in supporting multiple languages for an application using Rasa?</li>
<li>What are the biggest challenges that you face, past, present, and future, building and growing the tools and platform for Rasa?</li>
<li>What would be involved for projects such as OpsDroid, Kalliope, or Mycroft to take advantage of Rasa and what benefit would that provide?</li>
<li>On the comparison page for the hosted Rasa platform it mentions a feature of collaborative model training, can you describe how that works and why someone might want to take advantage of it?</li>
<li>What are some of the most interesting or unexpected uses of the Rasa tools that you have seen?</li>
<li>What do you have planned for the future of Rasa?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://gitter.im/RasaHQ/home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitter</a></li>
<li>Twitter
<ul>
<li><a href="https://twitter.com/joeymfaulkner?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@joeymfaulkner</a></li>
<li><a href="https://twitter.com/Rasa_HQ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Rasa_HQ</a></li>
</ul>

<p></li><br>
<li><a href="mailto:joey@rasa.ai">Email</a></li><br>
<li><a href="https://github.com/RasaHQ/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2zdOsQM?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Information Architecture</a></li>
</ul>

<p></li><br>
<li>Joey</p>

<ul>
<li><a href="https://www.facebook.com/groups/dogspotting/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dog Spotting</a></li>
<li><a href="https://github.com/RasaHQ/rasa-nlu-trainer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rasa NLU Trainer</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://rasa.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rasa Technologies</a></li>
<li><a href="https://rasa.ai/products/rasa-nlu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rasa NLU</a></li>
<li><a href="https://rasa.ai/products/rasa-core/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rasa Core</a></li>
<li><a href="https://spacy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpaCy</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-87-spacy-with-matthew-honnibal/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Interview with SpaCy Creator</a></li>
</ul>

<p></li><br>
<li><a href="http://yt-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">yt-project</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/episode-106-yt-project-with-nathan-goldbaum-and-john-zuhone/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Interview with yt-project</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/Chatbot?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chatbot</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Word2vec?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Word2Vec</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Finite-state_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">State Machine</a></p>

<ul>
<li><a href="https://www.pythonpodcast.com/automat-state-machines-with-glyph-lefkowitz-episode-116/?utm_source=rss&utm_medium=rss">Podcast.&#95;&#95;init&#95;&#95; Episode About Automat with Glyph</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/Recursive_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Recursive Neural Network</a></li><br>
<li><a href="https://github.com/mit-nlp/MITIE?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MITIE</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Support_vector_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Support Vector Machine</a></li><br>
<li><a href="http://scikit-learn.org/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scikit Learn</a></li><br>
<li><a href="https://wit.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wit.ai</a></li><br>
<li><a href="https://www.luis.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LUIS</a></li><br>
<li><a href="https://dialogflow.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dialogflow</a></li><br>
<li><a href="https://keras.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keras</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Reinforcement_learning?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reinforcement Learning</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Frasa-ai-chatbots-with-joey-faulkner-episode-134%2F&amp;action_name=Rasa%3A+Build+Your+Own+AI+Chatbot+with+Joey+Faulkner+-+Episode+134&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-11-04t12:16:34+00:00-f2a8acbf333d08e</guid>
      <link>https://www.pythonpodcast.com/rasa-ai-chatbots-with-joey-faulkner-episode-134</link>
      <pubDate>Sat, 4 Nov 2017 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="88.28" duration="54.66">So, Joey, could you please introduce yourself? Hi. Yeah. I'm I'm Joey and I do AI research for Rasa. And do you remember how you first got introduced to Python? I do because it was actually surprisingly recently. So, it it was maybe 3 years ago when I was just starting my PhD. And, I just turned up on my 1st day. I haven't done much coding before, and my supervisor was like, yeah, we're gonna be working with simulations. So you're gonna have to use, this thing that's known as y t, which is like this awesome, simulation library. This, like, really clever, very Pythonic and awesome. I had no idea what was going on. So I think I spent the 1st 3 weeks trying to work out how to PIP install stuff because I was so useless and, yeah. So that so it was, it was kind of a trial by fire. And like looking back, the way I approached Python was like in a way where I was being very stupid about it, and I probably should have just read something before I got started.</podcast:soundbite>
      <podcast:soundbite startTime="2443.01" duration="61.47">And what are some of the most interesting or unexpected uses of the rasa libraries and tool chains that you've seen? Yeah. I I actually just came back from a Python conference in, Pycon d, in Karlsruhe. And, I was talking to somebody afterwards, about, after a talk I gave about Rasa tools. And he told me that he was using Rasa to to sort of like run a chat bot, which helped, HIV patients in South Africa get, get from their houses to sort of like the doctors and HIV clinics and stuff. And I just thought that was like really awesome. Like, it's it's it's super cool that since since we have this open source framework and like we don't expect people to pay for for for their usage, they feel like they can do charitable stuff with it. And the the and sort of like the the fact that this person was like we were we were enabling this person to do something which was which was so charitable, was with, and and so useful for his local community was was really really great.</podcast:soundbite>
      <podcast:soundbite startTime="169.16" duration="62.82">And so as we mentioned at the intro, you're gonna be talking to us about the work that you're doing at Rasa Technologies. And so I'm wondering if you can just start by explaining the goals of Rasa as a company and highlighting the projects that you've open sourced in the pursuit of those goals. Yeah. Absolutely. So broadly, what we're doing at Rasa is making conversational AI, which I sent a lot of people know as chatbots. And our goals are to firstly, what what we want is to have a a set of libraries such that people, of open source library such that people can make their own chat bots and see what's going on all the way through the process of making a chat bot. So all the way from text to actions produced by the chat bot, people can see exactly what's going on with the data. But but more broadly, we wanna make software that can actually produce like real conversations. Because we looked at the at the market and at this what was being used by a lot of companies and we thought that actually, like, there was a there was a way we could step forward with this.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Rasa: Build Your Own AI Chatbot with Joey Faulkner</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>134</itunes:episode>
      <podcast:episode>134</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253177950439450f12afe6-3a35-4b03-906b-cdb6da3c283bv1.mp3" length="35017420" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253177950439450f12afe6-3a35-4b03-906b-cdb6da3c283bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_0f12afe6-3a35-4b03-906b-cdb6da3c283b638558837255207470.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0f12afe6-3a35-4b03-906b-cdb6da3c283b638558837251082083.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0f12afe6-3a35-4b03-906b-cdb6da3c283b638558837249098362.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Eliot: Effective Logging with Itamar Turner-Trauring</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Understanding what is happening in a software system can be difficult, especially when you have inconsistent log messages. Itamar Turner-Trauring created Eliot to make it possible for your project to tell you a story about how transactions flow through your program. In this week&#8217;s episode we go deep on proper logging practices, anti patterns, and how to improve your ability to debug your software with log messages.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Itamar Turner-Trauring about Eliot, a library for managing complex logs across multiple processes.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Eliot and what problem were you trying to solve by creating it?</li>
<li>How is Eliot implemented and how has the design evolved since you first started working on it?</li>
<li>Why is it so important to have a standardized format for your application logs?</li>
<li>What are some of the anti-patterns that you consider to be the most harmful when developers are setting up logging in their projects?</li>
<li>What have been the most challenging aspects of building and maintaining Eliot?</li>
<li>How does Eliot compare to some of the other third party logging libraries available such as structlog or logbook?</li>
<li>What are some of the improvements or additional features that you have planned for the future of Eliot?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://codewithoutrules.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/itamarst?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@itamarst</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://moonshot.audio/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moonshot Podcast</a></li>
</ul>

<p></li><br>
<li>Itamar</p>

<ul>
<li><a href="https://www.goodreads.com/book/show/19089.Middlemarch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Middlemarch</a> by George Eliot</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://eliot.readthedocs.io/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eliot</a></li>
<li><a href="http://www.zope.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="http://php.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHP</a></li>
<li><a href="http://opentracing.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenTracing</a></li>
<li><a href="http://zipkin.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zipkin</a></li>
<li><a href="http://www.demarcken.org/carl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Carl De Marcken</a></li>
<li><a href="https://sentry.io/welcome/?utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&amp;code=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sentry</a></li>
<li><a href="https://www.elastic.co/products/elasticsearch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elasticsearch</a></li>
<li><a href="https://www.elastic.co/products/logstash?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logstash</a></li>
<li><a href="https://www.elastic.co/products/kibana?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kibana</a></li>
<li><a href="https://github.com/jonathanj/eliottree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eliot-Tree</a></li>
<li><a href="http://danlebrero.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Daniel Lebrero</a></li>
<li><a href="https://clusterhq.com/flocker/introduction/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flocker</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0550/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Context Local Variables PEP (PEP 550)</a></li>
<li><a href="http://www.brendangregg.com/flamegraphs.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flamegraph</a></li>
<li><a href="http://www.brendangregg.com/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brendan Gregg</a></li>
<li><a href="https://en.wikipedia.org/wiki/Directed_acyclic_graph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DAG</a></li>
<li><a href="https://pypi.org/project/structlog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Structlog</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Feliot-logging-with-itamar-turner-trauring-episode-133%2F&amp;action_name=Eliot%3A+Effective+Logging+with+Itamar+Turner-Trauring+-+Episode+133&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-10-29t00:58:58+00:00-6f2ab2ab3b5320b</guid>
      <link>https://www.pythonpodcast.com/eliot-logging-with-itamar-turner-trauring-episode-133</link>
      <pubDate>Sun, 29 Oct 2017 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1083.52" duration="29.49">So I guess I I can give an example of I was asking some Elliott users how they're using Elliott, this morning. So it's a company in South Africa, and which are using Elliott for their systems. And they talked to a lot of external systems. And so every time they talk to the external system, that's another action using Elliott of, you know, we sent this message. We got a response. And every user interface interaction is in like, is the entry point, like, sort of the top of the tree of action. It's like you say, this user did this action, and then you can trace all the consequences.</podcast:soundbite>
      <podcast:soundbite startTime="185.37" duration="36.62">So Elliott is a logging library, originally designed for distributed systems, but now I I think it I I've come to realize it's useful in pretty much any nontrivial application. And the issue I I try to solve is that there's basically 2 audiences for your log messages. There's human beings who are gonna be reading them, and there's automated systems that are going to be processing in them in a variety of ways. Maybe you you you you have, you can extract some, metrics out of them. Maybe you're processing the data to show it to a human eventually.</podcast:soundbite>
      <podcast:soundbite startTime="2065.09" duration="32.91">What have been some of the most challenging aspects of building and maintaining Elliott? So as I mentioned, like, it's a new model. And so figuring out what the right abstractions are, what the what a a good usable API is, that took time. The these days, it's a thing I maintain in my spare time. Although since I'm using it at work, I might get an opportunity to do some work on it as part of my job, which would be nice. So finding enough time to work on it has been occasionally difficult.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:48</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Eliot: Effective Logging with Itamar Turner-Trauring</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>133</itunes:episode>
      <podcast:episode>133</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530741271107005d35954-693c-4809-b1ac-883c0393e478v1.mp3" length="30513114" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530741271107005d35954-693c-4809-b1ac-883c0393e478v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_05d35954-693c-4809-b1ac-883c0393e478638558821023852997.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/05d35954-693c-4809-b1ac-883c0393e478638558821020398069.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/05d35954-693c-4809-b1ac-883c0393e478638558821018412718.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Donkey: Building Self Driving Cars with Will Roscoe</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Do you wish that you had a self-driving car of your own? With Donkey you can make that dream a reality. This week Will Roscoe shares the story of how he got involved in the arena of self-driving car hobbyists and ended up building a Python library to act as his pilot. We talked about the hardware involved, how he has evolved the code to meet unexpected challenges, and how he plans to improve it in the future. So go build your own self driving car and take it for a spin!</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;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 <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a>)</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Will Roscoe about <a href="http://www.donkeycar.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Donkey</a>, a python library for building DIY self driving cars.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Donkey and what was your reason for creating it?
<ul>
<li>What is the story behind the name?</li>
</ul>

<p></li><br>
<li>What was your reason for choosing Python as the language for implementing Donkey and if you were to start over today would you make the same choice?</li><br>
<li>How is Donkey implemented and how has its software architecture evolved?</li><br>
<li>Is the library built in a way that you can process inputs from additional sensor types, such as proximity detectors or LIDAR?</li><br>
<li>For training the autopilot what are the input features that the model is testing against for the input data, and is it possible to change the features that it will try to detect?</li><br>
<li>Do you have plans to incorporate any negative reinforcement techniques for training the pilot models so that errors in data collection can be identified as undesirable outcomes?</li><br>
<li>What have been some of the most interesting or humorous successes and failures while testing your cars?</li><br>
<li>What are some of the challenges involved with getting such a sophisticated stack of software running on a Raspberry Pi?</li><br>
<li>What are some of the improvements or new features that you have planned for the future of Donkey?</li><br>
</ul></p>

<h3>Media</h3>

<p><a href="https://photos.google.com/u/1/share/AF1QipNJln5tOUIaI65IzlpPkD37LtODCtl_RiSiuOApyayAKh2m0U3zERBiMslmdVigoA?key=bkdkek5vaUtNeG1laGtvdlFoUmZCWVotTm4zNWRR&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Donkey Car Photos</a></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://www.donkeycar.com/community.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Donkey Slack Channel</a></li>
<li><a href="https://twitter.com/dataduce?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wills Twitter &#8211; @dataduce</a></li>
<li><a href="https://twitter.com/search?q=%23donkeycar&amp;src=typd&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">#donkeycar on social</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.orgzly.com/help?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Orgzly</a></li>
<li><a href="https://github.com/danielmagnussons/orgmode?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Org Mode for Sublime</a></li>
<li><a href="https://marketplace.visualstudio.com/items?itemName=tootone.org-mode&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Org Mode for VSCode</a></li>
<li><a href="https://github.com/jceb/vim-orgmode?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Org Mode for Vim</a>  </li>
</ul>

<p></li><br>
<li>Will</p>

<ul>
<li><a href="https://www.audible.com/pd/Business/Algorithms-to-Live-By-Audiobook/B01D24NLWO?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Algorithms to Live By</a></li>
<li><a href="https://en.wikipedia.org/wiki/The_Structure_of_Scientific_Revolutions?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Structure of Scientific Revolutions</a></li>
<li><a href="https://play.google.com/music/m/T2dg4fdal7vhqn7spay4kc45oba?t=Preem_-_Super_Flu&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A song I can&#8217;t stop nodding my head to</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.donkeycar.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Donkey Car</a></li>
<li><a href="https://diyrobocars.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DIY Robocars</a></li>
<li><a href="http://www.tornadoweb.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a></li>
<li>[Tornado on Podcast.<strong>init</strong>](https://www.pythonpodcast.com/episode-40-ben-darnell-on-tornado/?utm_source=rss&utm_medium=rss</li>
<li><a href="https://www.raspberrypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TensorFlow</a></li>
<li><a href="https://en.wikipedia.org/wiki/Convolutional_neural_network?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Convolutional Neural Network</a></li>
<li><a href="https://www.adafruit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adafruit</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lidar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LIDAR</a></li>
<li><a href="http://www.ros.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ROS (Robot Operating System)</a></li>
<li><a href="https://unity3d.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unity</a></li>
<li><a href="https://www.udacity.com/course/self-driving-car-engineer-nanodegree--nd013?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Udacity self driving car nano-degree</a></li>
<li><a href="https://www.sparkfun.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SparkFun</a></li>
<li><a href="http://beagleboard.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beagleboard</a></li>
<li><a href="https://www.linkedin.com/in/adammconway/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adam Conway</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdonkey-with-will-roscoe-episode-132%2F&amp;action_name=Donkey%3A+Building+Self+Driving+Cars+with+Will+Roscoe+-+Episode+132&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-10-21t00:32:02+00:00-ecc95974a113893</guid>
      <link>https://www.pythonpodcast.com/donkey-with-will-roscoe-episode-132</link>
      <pubDate>Sun, 22 Oct 2017 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="124.33" duration="38.17">I actually ran for the local sort of subway director seats with the, San Francisco subway system is the BART system, and I thought it was really crummy and so I wanted to, modernize it and replace it with self driving buses which I think would increase the capacity and let people get places faster. And what I learned was people didn't believe that the technology existed to make it happen and I didn't win the race and so I wanted to prove just on a small scale that the technology actually exists.</podcast:soundbite>
      <podcast:soundbite startTime="1088.40" duration="50.78">So I'm wondering if there's any possibility of being able to save those different training runs and either recall them for when you're reusing the same track or be able to sort of create some hybridized model based on past experiences of different tracks and be able to then build some sort of evolutionary capability of the network based on past training sets. So I were just starting to do that, and actually the next race in Oakland is is this weekend, and I'm gonna stay home behind my desktop because I'm just way more productive here as opposed to the races. And I'm offering anyone at the race that I'll train models for them. And so, hopefully, I'll be able to aggregate, everyone every donkey's data from the race and use it to train a better model as a whole rather than each individual person having to collect enough data to make a robust model.</podcast:soundbite>
      <podcast:soundbite startTime="476.93" duration="47.11">Current answer, yes. But, just, about 3 months into this project, we were we realized that everyone was solving the same problems relating to hardware. And so we we put in a good, sort of months work months worth of weekends just documenting how to get these things assembled so that people didn't have to solve those same hardware problems and the first version of the software, it was not possible to add any sensors or anything because it was just hard coded for throttle steering and camera. But we we did a refactor and now everything is organized into parts. So borrowing a lot of inspiration from the way ROS was designed but, this is sort of native Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:33:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Donkey: Building Self Driving Cars with Will Roscoe</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>132</itunes:episode>
      <podcast:episode>132</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525308066929514bd7410e6-555a-4416-803f-90f6f88aee08v1.mp3" length="21843674" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525308066929514bd7410e6-555a-4416-803f-90f6f88aee08v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_bd7410e6-555a-4416-803f-90f6f88aee08638558823426664890.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bd7410e6-555a-4416-803f-90f6f88aee08638558823424786516.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bd7410e6-555a-4416-803f-90f6f88aee08638558823420023513.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Event Sourcing with John Bywater</title>
      <description><![CDATA[<h3>Summary</h3>

<p>The way that your application handles data and the way that it is represented in your database don&#8217;t always match, leading to a lot of brittle abstractions to reconcile the two. In order to reduce that friction, instead of overwriting the state of your application on every change you can log all of the events that take place and then render the current state from that sequence of events. John Bywater joins me this week to discuss his work on the Event Sourcing library, why you might want to use it in your applications, and how it can change the way that you think about your data.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports the show on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">podastinit.com/linode</a> 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.</li>
<li>If you&#8217;re tired of cobbling together your deployment pipeline then it&#8217;s time to try out GoCD, the open source continuous delivery platform built by the people at ThoughtWorks who wrote <a href="http://amzn.to/2z9pVvl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">the book</a> about it. With GoCD you get complete visibility into the life-cycle of your software from one location. To download it now go to <a href="https://www.pythonpodcast.com/gocd?utm_source=rss&utm_medium=rss">podcatinit.com/gocd</a>. Professional support and enterprise plugins are available for added piece of mind.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> 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 <a href="https://twtiter.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Podcast&#95;&#95;init&#95;&#95;</a> or email <a href="mailto:hosts@podcastinit.com">hosts@podcastinit.com</a></li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing John Bywater about event sourcing, an architectural approach to make your data layer easier to scale and maintain.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing the concept of event sourcing and the benefits that it provides?</li>
<li>What is the event sourcing library and what was your reason for starting it?</li>
<li>What are some of the reasons that someone might not want to implement an event sourcing approach in their persistence layer?</li>
<li>Given that you are storing a record for each event that occurs on a domain object, how does that affect the amount of storage necessary to support an event sourced application?</li>
<li>What is the impact on performance and latency from an end user perspective when the application is using event sourcing to render the current state of the system?</li>
<li>What does the internal architecture and design of your library look like and how has that evolved over time?</li>
<li>In the case where events are delivered out of order, how can you ensure that the present view of an object is reflected accurately?</li>
<li>For someone who wants to incorporate an event sourcing design into an existing application, how would they do that?</li>
<li>How do you manage schema changes in your domain model when you need to reconstruct present state from the beginning of an objects event sequence?</li>
<li>What are some of the most interesting uses of event sourcing that you have seen?</li>
<li>What are some of the features or improvements that you have planned for the future of you event sourcing library?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>John
<ul>
<li><a href="https://github.com/johnbywater?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">johnbywater</a> on GitHub</li>
<li><a href="https://twitter.com/johnbywater?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@johnbywater</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.youtube.com/watch?v=RB6MvSEaMKI&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heresy In The Church Of Docker</a></li>
</ul>

<p></li><br>
<li>John</p>

<ul>
<li><a href="https://github.com/johnbywater/quantdsl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QuantDSL</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://ckan.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CKAN</a></li>
<li><a href="https://www.data.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data.gov</a></li>
<li><a href="https://martinfowler.com/eaaCatalog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Patterns of Enterprise Application Architecture</a></li>
<li><a href="https://en.wikipedia.org/wiki/Object-relational_impedance_mismatch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Object Relational Impedance Mismatch</a></li>
<li><a href="https://martinfowler.com/eaaDev/EventSourcing.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Event Sourcing (Pattern)</a></li>
<li><a href="https://github.com/johnbywater/eventsourcing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Event Sourcing (Library)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Multitier_architecture?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">N-Tiered Architecture</a></li>
<li><a href="https://en.wikipedia.org/wiki/Domain-driven_design#Building_blocks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Domain Driven Design</a></li>
<li><a href="https://techbeacon.com/introduction-event-storming-easy-way-achieve-domain-driven-design?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Event Storming</a></li>
<li><a href="http://blogs.tedneward.com/post/the-vietnam-of-computer-science/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ORM, The Vietnam of Computer Science</a></li>
<li><a href="https://vaughnvernon.co/?page_id=168#iddd&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vaughn Vernon, Implementing Domain Driven Design</a></li>
<li><a href="https://www.martinfowler.com/eaaCatalog/activeRecord.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Active Record Pattern</a></li>
<li><a href="https://en.wikipedia.org/wiki/Optimistic_concurrency_control?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Optimistic Concurrency Control</a></li>
<li><a href="http://www.cs.utexas.edu/users/lorenzo/corsi/cs380d/past/03F/notes/paxos-simple.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Paxos</a></li>
<li><a href="https://aws.amazon.com/dynamodb/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DynamoDB</a></li>
<li><a href="https://martinfowler.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Martin Fowler</a></li>
<li><a href="https://domainlanguage.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eric Evans</a></li>
<li><a href="http://files.movereem.nl/2017saner-eventsourcing.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Dark Side of Event Sourcing</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fevent-sourcing-with-john-bywater-episode-131%2F&amp;action_name=Event+Sourcing+with+John+Bywater+-+Episode+131&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-10-15t06:57:08+00:00-abcf9c703ad5359</guid>
      <link>https://www.pythonpodcast.com/event-sourcing-with-john-bywater-episode-131</link>
      <pubDate>Sun, 15 Oct 2017 07:00:00 +0000</pubDate>
      <podcast:soundbite startTime="341.49" duration="61.48">And what from my understanding of reading about the sort of architectural pattern of event sourcing is that it also allows for fixing sort of logical errors in the way that you're processing the events such that if you find a bug in your system and you want to resolve the way in which you are interpreting it, you can just replay those series of events to create a new view on the data while the actual data itself, the, you know, the individual events remain immutable as well as, I mean, 1 of the other benefits of the overall approach is that it can potentially give the give you the ability to time travel in your data so that rather than saying, you know, as a for instance, what is this person's address today? You can say, what was their address 5 years ago Where in a traditional RDBMS system or relational database system, you can only ask for the present state of information unless you explicitly create a new table of the history of the, you know, changes to that person's address or state.</podcast:soundbite>
      <podcast:soundbite startTime="238.88" duration="34.32">And can you describe briefly what event sourcing is and some of the benefits that it provides to people who are using it? 1 definition of event sourcing suggests the state of an event sourced application is determined by a sequence of events. Another definition has event sourcing as a persistence mechanism for domain driven design. It is common for the state of a software application to be distributed or partitioned across a set of entities or aggregates in a domain model. So the application sequence of events is really a set of sequences, 1 for each entity or aggregate. It's a different approach.</podcast:soundbite>
      <podcast:soundbite startTime="2570.96" duration="47.47">For somebody who wants to incorporate event sourcing into an existing application, is that something that would be feasible? And if so, how would they go about doing that? And, alternatively, is it something that would be more beneficial to incorporate into a greenfield project that you're starting and then use that from the beginning? Yeah. It's a really good question. I mean, there's a choice there. Do you do you just do event sourcing at the beginning of a project? If the project started without event sourcing, do you just forget about event sourcing? And to keep things simple, then perhaps the answer is yes. But often the answer is, that we do want to change an existing application to use event sourcing for some reason. And there's lots of ways of doing that.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:08:26</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Event Sourcing with John Bywater</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>131</itunes:episode>
      <podcast:episode>131</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531737468722054833f8b-6a52-414b-b1b2-c6112a300c47v1.mp3" length="51630136" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531737468722054833f8b-6a52-414b-b1b2-c6112a300c47v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_54833f8b-6a52-414b-b1b2-c6112a300c47638558835687491912.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/54833f8b-6a52-414b-b1b2-c6112a300c47638558835684173601.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/54833f8b-6a52-414b-b1b2-c6112a300c47638558835682292255.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Kalliope with Nicolas Marcq and Thibaud Buffet</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Wouldn&#8217;t it be nice to have a personal assistant to answer your questions, help you remember important tasks, and control your environment? Meet Kalliope, a Python powered, modular, voice controlled automation platform. This week Nicolas Marcq and Thibaud Buffet explain how they started the project, what makes it stand out from other open source and commercial options, and how you can start using it today.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to <a href="https://www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss">www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss</a> to start your free trial today.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in <a href="https://www.pythonpodcast.com/odsc-eu-2017?utm_source=rss&utm_medium=rss">London</a> in October and <a href="https://www.pythonpodcast.com/odsc-west-2017?utm_source=rss&utm_medium=rss">San Francisco</a> in November. Follow the links in the show notes to register and help support the show in the process.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nicolas Marcq and Thibaud Buffet about Kalliope, a modular always-on voice controlled personal assistant designed for home automation.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is the Kalliope project and how did it get started?</li>
<li>How does Kalliope compare to commercial options such as Amazon Alexa and Google Home, as well as other open source projects such as Mycroft or Jasper?</li>
<li>The majority of voice assistant projects that I have seen default to interacting in English, whereas Kalliope is multi-lingual. What led you to that design choice and how is that implemented?</li>
<li>One of the perennial questions around voice assistants is privacy, so how does Kalliope work to mitigate the issues associated with having an always on device listening in people&#8217;s homes?</li>
<li>How is Kalliope architected internally and how has the design evolved over time?</li>
<li>What are some of the most difficult or challenging aspects of building Kalliope and its associated projects?</li>
<li>What are some of the most interesting uses of Kalliope that you are aware of?</li>
<li>What are some of the most notable features or improvements that you have planned for the future of Kalliope?</li>
<li>How has the choice of Python as the implementation worked for you, and if you were to start over today do you think you would make the same decision?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Nicolas
<ul>
<li><a href="https://twitter.com/sispheor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Sispheor</a> on Twitter</li>
<li><a href="https://github.com/sispheor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sispheor</a> on GitHub</li>
<li><a href="https://mespotesgeek.fr/fr/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
<li>Thibaud</p>

<ul>
<li><a href="https://twitter.com/Tib_Tac?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@Tib_Tac</a> on Twitter</li>
<li><a href="https://github.com/LaMonF?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LaMonF</a> on GitHub</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.kiwico.com/Refer?i=TobiasM1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kiwi Crate</a></li>
</ul>

<p></li><br>
<li>Nicolas</p>

<ul>
<li><a href="https://learn.adafruit.com/adafruit-speaker-bonnet-for-raspberry-pi/overview?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi Speaker</a></li>
</ul>

<p></li><br>
<li>Thibaud</p>

<ul>
<li><a href="https://github.com/ReactiveX/RxPY?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReactiveX in Python</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://snowboy.kitt.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowboy</a></li>
<li><a href="https://mycroft.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mycroft</a></li>
<li><a href="https://www.pythonpodcast.com/episode-82-mycroft-with-steve-penrod/?utm_source=rss&utm_medium=rss">Mycroft Interview</a></li>
<li><a href="http://amzn.to/2fT2Aq0?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon Alexa</a></li>
<li><a href="https://store.google.com/us/product/google_home_mini?gclid=Cj0KCQjw9uHOBRDtARIsALtCa96zFpBob4DAz0U4YJiy52pdzS8ETKWcGGCJfBmroJbUkTm2s_Z-49caAq8JEALw_wcB&amp;dclid=CNezobWn3tYCFUkKNwodU_kDPQ&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Home</a></li>
<li><a href="https://jasperproject.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jasper</a></li>
<li><a href="https://kalliope-project.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kalliope</a></li>
<li><a href="https://en.wikipedia.org/wiki/Speech_synthesis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TTS</a></li>
<li><a href="https://en.wikipedia.org/wiki/Speech_recognition?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">STT</a></li>
<li><a href="https://cmusphinx.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CMU Sphinx</a></li>
<li><a href="https://docs.python.org/3/library/abc.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Abstract Base Class</a></li>
<li><a href="http://mqtt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MQTT</a></li>
<li><a href="https://www.pythonpodcast.com/episode-26-dag-brattli-on-rxpy/?utm_source=rss&utm_medium=rss">RxPy Interview</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fkalliope-with-nicolas-marq-and-thibaud-buffet-episode-130%2F&amp;action_name=Kalliope+with+Nicolas+Marcq+and+Thibaud+Buffet+-+Episode+130&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-10-07t10:55:15+00:00-340d66222d8e69f</guid>
      <link>https://www.pythonpodcast.com/kalliope-with-nicolas-marq-and-thibaud-buffet-episode-130</link>
      <pubDate>Sun, 8 Oct 2017 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="614.80" duration="30.34">And with any of the voice assistants, 1 of the major questions that always comes up is the idea of privacy because of the fact that you have this device in your home that is potentially always listening. And, so I'm just curious how Calliope works to mitigate some of the issues and and perceptions associated with having that device always listening and, to try and respect people's privacy, particularly given that it's an open source project. Yeah. Well, privacy privacy was first feature asked by the community.</podcast:soundbite>
      <podcast:soundbite startTime="181.25" duration="25.99">Yes. So at the beginning, we felt, on, an article on the Internet that was talking about a little library called Snowboy. Snowboy, it's a is a smaller engine, which is always listening for an artwork, and, it run a script once the the world is recognized. So we directly source about, the journey's like program. We started looking around for existing project.</podcast:soundbite>
      <podcast:soundbite startTime="474.84" duration="32.85">So I'm wondering why was that an important feature from the outset, and what are some of the challenges and architecture that you've built around it that, enabled you to provide that capability? A little bit pretty long well. Yes. At the beginning, we just wanted to have something where we are free to select what we say to robots and, what's about to us. And, from that came, the. But it was not a more main target at the beginning, to be honest.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:32:33</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Kalliope with Nicolas Marcq and Thibaud Buffet</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>130</itunes:episode>
      <podcast:episode>130</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530273809078194324fa5-58ff-4514-a000-3ff218dbea28v1.mp3" length="21101275" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530273809078194324fa5-58ff-4514-a000-3ff218dbea28v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_94324fa5-58ff-4514-a000-3ff218dbea28638558801351334126.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/94324fa5-58ff-4514-a000-3ff218dbea28638558801349350145.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/94324fa5-58ff-4514-a000-3ff218dbea28638558801347524020.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Modoboa with Antoine Nguyen</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Email has long been the most commonly used means of communication on the internet. This week Antoine Nguyen talks about his work on the Modoboa project to make hosting your own mail server easier to manage. He discusses how the project got started, the tools that it ties together, and how he used Django to build a webmail and admin interface to make it more approachable.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to <a href="https://www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss">www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss</a> to start your free trial today.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in <a href="https://www.pythonpodcast.com/odsc-eu-2017?utm_source=rss&utm_medium=rss">London</a> in October and <a href="https://www.pythonpodcast.com/odsc-west-2017?utm_source=rss&utm_medium=rss">San Francisco</a> in November. Follow the links in the show notes to register and help support the show in the process.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Antoine Nguyen about Modoboa, a project to make mail hosting simple.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Modoboa and what is the problem that you were trying to solve when you started it?
<ul>
<li>Where does the name come from?</li>
</ul>

<p></li><br>
<li>Self-hosting an email server was a common activity during the early stages of the internet, what are some of the reasons that someone should consider running their own mail server now that there are so many options for third-party hosting such as Gmail and Outlook?</li><br>
<li>Email hosting has become more complicated in recent years with the need to jump through a lot of hoops to maintain a sufficient reputation to keep your messages from being flagged as spam. Are there any utilities in Modoboa to assist with that process?</li><br>
<li>There are a lot of components that you have brought together for running an email server. Can you describe how the different pieces fit together and what layers you have built on top to help make the overall system more manageable?</li><br>
<li>What does the scaling strategy look like for Modoboa?</li><br>
<li>What is the most challenging aspect of building and maintaining Modoboa?</li><br>
<li>What are some of the features that you have planned for the future of Modoboa?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="mailto:tonio@ngyn.org">Email</a></li>
<li><a href="https://twitter.com/antngu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@antngu</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.dropbox.com/paper?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dropbox Paper</a></li>
</ul>

<p></li><br>
<li>Antoine</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Capoeira?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Capoeira</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://bitbucket.org/norok2/pytk/wiki/Home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTk</a></li>
<li><a href="https://en.wikipedia.org/wiki/Postfix_(software)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Postfix</a></li>
<li><a href="https://www.dovecot.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dovecot</a></li>
<li><a href="https://nextcloud.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nextcloud</a></li>
<li><a href="https://owncloud.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Owncloud</a></li>
<li><a href="http://www.openspf.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SPF Records</a></li>
<li><a href="http://www.dkim.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DKIM</a></li>
<li><a href="https://dmarc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DMARC</a></li>
<li><a href="https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SMTP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IMAP</a></li>
<li><a href="http://libcloud.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Libcloud</a></li>
<li><a href="https://en.wikipedia.org/wiki/Amavis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amavis</a></li>
<li><a href="https://en.wikipedia.org/wiki/Message_transfer_agent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mail Transfer Agent</a></li>
<li><a href="http://radicale.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Radicale</a></li>
<li><a href="https://www.ansible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ansible</a></li>
<li><a href="https://www.docker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docker</a></li>
<li><a href="https://www.gentoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gentoo</a></li>
<li><a href="https://www.packer.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Packer</a></li>
<li><a href="https://www.synology.com/en-us?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Synology</a></li>
<li><a href="http://www.drobo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Drobo</a></li>
<li><a href="https://prosody.im/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prosody</a></li>
<li><a href="https://www.lua.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lua</a></li>
<li><a href="https://en.wikipedia.org/wiki/XMPP?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XMPP</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmodoboa-with-antoine-nguyen-episode-129%2F&amp;action_name=Modoboa+with+Antoine+Nguyen+-+Episode+129&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-10-01t03:20:02+00:00-5937e9cbd758105</guid>
      <link>https://www.pythonpodcast.com/modoboa-with-antoine-nguyen-episode-129</link>
      <pubDate>Sun, 1 Oct 2017 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="392.28" duration="36.25">And self hosting an email server is something that was fairly common during the early stages of the Internet even into the early 2000. But nowadays, most people just use, hosted options like Gmail or Outlook, even for corporate environments. So I'm wondering, what are some of the reasons from your perspective that somebody should consider running their own mail server now that there are so many other options available? That's a that's a good question, and, unfortunately, the the answer is is pretty simple. I I think it's it's a matter of of privacy.</podcast:soundbite>
      <podcast:soundbite startTime="77.18" duration="35.75">And today, I'm interviewing Antoine Ngoian about Modo Boa, a project to make mail hosting simple. So, Antoine, could you please introduce yourself? Yes. Thank you for for receiving me. So, I'm, I'm a French developer. I'm 36, this year. I work in information technology for almost 15 years now. I'm mostly a developer, but, I'm also a freelancer in France. I do many, many different things.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:33:18</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Modoboa with Antoine Nguyen</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>129</itunes:episode>
      <podcast:episode>129</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316605371912d5a738e9-e410-448f-9f34-ba56b4afd93cv1.mp3" length="21965192" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316605371912d5a738e9-e410-448f-9f34-ba56b4afd93cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d5a738e9-e410-448f-9f34-ba56b4afd93c638558832959887186.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d5a738e9-e410-448f-9f34-ba56b4afd93c638558832958015162.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d5a738e9-e410-448f-9f34-ba56b4afd93c638558832950016830.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>QuTiP with Paul Nation</title>
      <description><![CDATA[<h3>Summary</h3>

<p>The future of computation and our understanding of the world around us is driven by the quantum world. This week Paul Nation explains how the Quantum Toolbox in Python (QuTiP) is being used in research projects that are expanding our knowledge of the physical universe.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to <a href="https://www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss">www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss</a> to start your free trial today.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in <a href="https://www.pythonpodcast.com/odsc-eu-2017?utm_source=rss&utm_medium=rss">London</a> in October and <a href="https://www.pythonpodcast.com/odsc-west-2017?utm_source=rss&utm_medium=rss">San Francisco</a> in November. Follow the links in the show notes to register and help support the show in the process.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Paul Nation about QuTIP, the quantum toolbox in Python.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Before we start talking about QuTiP, can you provide us with a baseline definition of what quantum mechanics is?</li>
<li>What is QuTIP and how did the project get started?</li>
<li>Is QuTiP used purely in academics, or are there other users?</li>
<li>What are some of the practical innovations that have been created as a result of research into different areas of quantum optics?</li>
<li>How do you foresee the advent of practical quantum computers impacting the state of quantum mechanical research?</li>
<li>Given the inherent complexity of the subject matter that you are dealing with, how do you approach the challenge of trying to present a usable API to users of QuTiP while not inhibiting their ability to operate at a low level when necessary?</li>
<li>What is the process for incorporating new understandings of quantum mechanical theory into the QuTiP package?</li>
<li>What are some of the most difficult aspects of simulating quantum systems in a standard computational environment?</li>
<li>What is the most enjoyable aspect of working on QuTiP, what is the least enjoyable?</li>
<li>What are some of the most notable research results that you are aware of which used QuTiP as part of their studies?</li>
<li>What are some resources that you can recommend for anyone who wants to learn more about quantum mechanics?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://qutip.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QuTiP</a></li>
<li><a href="http://www.qustar.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QuSTaR</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.edx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">edx.org</a></li>
</ul>

<p></li><br>
<li>Paul</p>

<ul>
<li><a href="http://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a></li>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li>
<li><a href="http://www.cmzoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cheyenne Mountain Zoo</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Quantum_optics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Optics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Two-state_quantum_system?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">2 Level System</a></li>
<li><a href="https://en.wikipedia.org/wiki/Complex_number?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Complex Numbers</a></li>
<li><a href="https://en.wikipedia.org/wiki/Qubit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Qubit</a></li>
<li><a href="https://en.wikipedia.org/wiki/Quantum_computing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Computing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Harmonic_oscillator?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Harmonic Oscillator</a></li>
<li><a href="http://www.nature.com/nature/index.html?foxtrotcallback=true&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nature Scientific Journal</a></li>
<li><a href="https://www.research.ibm.com/ibm-q/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IBM Quantum Experience</a></li>
<li><a href="https://www.dwavesys.com/home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D-Wave</a></li>
<li><a href="http://rigetti.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rigetti Quantum Computing</a></li>
<li><a href="https://en.m.wikipedia.org/wiki/Quantum_supremacy?wprov=sfla1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantum Supremacy</a></li>
<li><a href="https://en.m.wikipedia.org/wiki/Hamiltonian_%28quantum_mechanics%29?wprov=sfla1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hamiltonian</a></li>
<li><a href="https://en.m.wikipedia.org/wiki/Sparse_matrix?wprov=sfla1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sparse Matrix</a></li>
<li><a href="http://www.feynman.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Richard Feynman</a></li>
<li><a href="https://dask.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a></li>
<li><a href="https://projectq.ch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Q</a></li>
<li><a href="here:https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.118.133601?utm_source=rss&utm_medium=rss">Quantum State Transfer via Noisy Photonic and Phononic Waveguides</a> paper by <a href="http://www.uquam.eu/research/group-peter-zoller/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Peter Zoller</a></li>
<li><a href="http://www.nature.com/nature/journal/v536/n7617/full/nature18949.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Extending the lifetime of a quantum bit with error correction in superconducting circuits</a> paper by <a href="http://rsl.yale.edu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rob Shoelkopf</a> (Yale)</li>
<li><a href="http://qutip.org/docs/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QuTiP Documentation</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fqutip-with-paul-nation-episode-128%2F&amp;action_name=QuTiP+with+Paul+Nation+-+Episode+128&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-09-24t02:23:51+00:00-0d3eab7493bcf90</guid>
      <link>https://www.pythonpodcast.com/modoboa-with-antoine-nguyen-episode-129qutip-with-paul-nation-episode-128</link>
      <pubDate>Sun, 24 Sep 2017 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="385.89" duration="33.15">So the project itself was started back in 2, 010. I was, finishing up my, PhD at the time, and this was up in New Hampshire. And it was too cold to go outside and do anything, and so I was sitting around probably drinking too much wine. And I just wanted to make my own, numerical package because I had used a a previous 1, which is called the the quantum toolbox or q q o toolbox, which was a MATLAB, toolbox. And, of course, I'm I'm not a big fan of MATLAB. So I was like, well, let's just write it myself.</podcast:soundbite>
      <podcast:soundbite startTime="164.25" duration="32.88">So quantum optics in a nutshell is the interaction between light, and, matter. And by matter, we mean things like atoms. And so there's 2 basic ingredients, versus the atom part, and the atom is is a simple thing to model. So just, think of the earth. Right? And picture the surface of the earth as being smooth. Right? There's no bumps on it. And you take an arrow that starts from the center of the earth and then points to the surface. Okay. And we'll just call that arrow has length 1. So it's 1 length.</podcast:soundbite>
      <podcast:soundbite startTime="701.03" duration="33.43">So, you know, there's I think right now we're living in kind of the quantum computing bubble because there's a there's a lot of hype, there's a lot of money flowing in from these same kind of companies I've mentioned earlier. But in if you actually ask someone what is a quantum computer good for, The it's we don't really know the answer for that. So a lot of these companies in the short term are are focused on just proving the idea of a quantum computer that, you know, it can outperform a classical computer, or are focused on really small scale, quantum chemistry type experiments.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:36:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>QuTiP with Paul Nation</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>128</itunes:episode>
      <podcast:episode>128</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302940105278589d7e11-146b-40cc-becf-429204501650v1.mp3" length="24941870" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302940105278589d7e11-146b-40cc-becf-429204501650v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_589d7e11-146b-40cc-becf-429204501650638558802036922217.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/589d7e11-146b-40cc-becf-429204501650638558802034150853.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/589d7e11-146b-40cc-becf-429204501650638558802031990265.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Lego Robotics with David Lechner and Denis Demidov</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Do you like Legos, robots, and Python? This week I am joined by David Lechner and Denis Demidov to talk about the ev3dev project and how you can program your Lego Mindstorms with Python!</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to <a href="https://www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss">www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss</a> to start your free trial today.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in <a href="https://www.pythonpodcast.com/odsc-eu-2017?utm_source=rss&utm_medium=rss">London</a> in October and <a href="https://www.pythonpodcast.com/odsc-west-2017?utm_source=rss&utm_medium=rss">San Francisco</a> in November. Follow the links in the show notes to register and help support the show in the process.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing David Lechner and Denis Demidov about using Python with the ev3dev platform for programming LEGO robots</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what the ev3dev project is and some of the story about how and why it got started?</li>
<li>What is LEGO&#8217;s opinion of the ev3dev project?</li>
<li>For anyone who isn&#8217;t familiar with the MINDSTORMS EV3 product from LEGO, can you give a brief overview of the hardware that they come with?</li>
<li>Other than allowing users to program in environments other than the block-based editor that LEGO provides, what capabilities does the ev3dev project add to the MINDSTORMS EV3 platform?</li>
<li>How are the language bindings generated and how do the different implementations compare to each other?</li>
<li>What are the most challenging aspects of building and maintaining the ev3dev distribution and various language bindings?</li>
<li>One of the things that my son is curious about is the possibility for integrating his MINDSTORMS with projects such as Kalliope or Mycroft to allow for voice controlled robots. Are you aware of anyone having done so or how you would approach something like that?</li>
<li>What are some of the most interesting or innovative projects that you have seen people make with the MINDSTORMS platform running ev3dev?</li>
<li>Why would someone want to use MINDSTORMS instead of any of the other robotics platforms that are available?</li>
<li>For someone who is interested in learning more about intermediate and advanced robotics, what are some resources that you would recommend?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Denis
<ul>
<li><a href="https://twitter.com/dennis_demidov?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@denis_demidov</a> on Twitter</li>
<li><a href="https://github.com/ddemidov?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ddemidov</a> on Github</li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li><a href="https://github.com/dlech?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dlech</a> on Github</li>
<li><a href="http://lechnology.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.raspberrypi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raspberry Pi</a></li>
<li><a href="https://kalliope-project.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kalliope</a></li>
</ul>

<p></li><br>
<li>Denis</p>

<ul>
<li><a href="https://github.com/pybind/pybind11?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pybind11</a></li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li>Local food</li>
<li><a href="https://www.localharvest.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LocalHarvest</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.ev3dev.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ev3dev</a></li>
<li><a href="https://mindstorms.lego.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lego MINDSTORMS</a></li>
<li><a href="https://beagleboard.org/bone?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BeagleBone</a></li>
<li><a href="https://www.facebook.com/groups/legomindstorms?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lego Mindstorms Community</a></li>
<li><a href="https://en.wikipedia.org/wiki/C%2B%2B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C++</a></li>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebooks</a></li>
<li><a href="https://www.linkedin.com/in/ralph-hempel-8003412/?ppe=1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ralph Hempel</a></li>
<li><a href="https://en.wikipedia.org/wiki/Forth_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forth</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lego_Mindstorms#RCX?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RCX</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lego_Mindstorms_NXT?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NXT</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lego_Mindstorms_EV3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EV3</a></li>
<li><a href="https://en.wikipedia.org/wiki/ARM_architecture?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ARMv5</a></li>
<li><a href="http://debian.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Debian</a></li>
<li><a href="http://www.mindsensors.com/content/78-pistorms-lego-interface?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PiStorms</a></li>
<li><a href="https://www.dexterindustries.com/brickpi/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BrickPi</a></li>
<li><a href="http://fatcatlab.com/product/evb/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EVB</a></li>
<li><a href="https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UART</a></li>
<li><a href="https://www.lego.com/en-us/mindstorms/downloads?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EV3 Schematics</a> Look for &#8220;EV3 Hardware Developer Kit&#8221; in &#8220;Advanced Users&#8221; section.</li>
<li><a href="https://en.wikipedia.org/wiki/I²C?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">I2C</a></li>
<li><a href="https://rpyc.readthedocs.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RPyC</a></li>
<li><a href="http://robotsquare.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Laurens Valk</a></li>
<li><a href="https://shopify.github.io/liquid/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Liquid Templates</a></li>
<li><a href="https://en.wikipedia.org/wiki/Delta_robot?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Delta Robot</a></li>
<li><a href="http://www.thequestinstitute.com/ISS/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quest For Space</a></li>
<li><a href="https://technic.lego.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lego Technic</a></li>
<li><a href="http://www.mindsensors.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mindsensors.com</a></li>
<li><a href="https://www.youtube.com/watch?v=0d0ktACCwT4&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cool robots built with ev3dev</a></li>
<li><a href="http://micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Micropython</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Flego-robotics-with-david-lechner-and-denis-demidov-episode-127%2F&amp;action_name=Lego+Robotics+with+David+Lechner+and+Denis+Demidov+-+Episode+127&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-09-17t03:58:54+00:00-88c86aabdb0570b</guid>
      <link>https://www.pythonpodcast.com/lego-robotics-with-david-lechner-and-denis-demidov-episode-127</link>
      <pubDate>Sun, 17 Sep 2017 04:00:00 +0000</pubDate>
      <podcast:soundbite startTime="139.33" duration="23.36">The biggest project I've had over the last year is working with a nonprofit company in California that has adapted the Lego Mindstorm software to the BeagleBone, and they're sending it up to the International Space Station. So they hired me to, do all the programming work of adapting the software to the new hardware.</podcast:soundbite>
      <podcast:soundbite startTime="616.91" duration="10.76">The approach we've taken is we've made, you know, Linux hardware drivers so you can install them on any Linux computer, not just e v 3 or Raspberry Pi.</podcast:soundbite>
      <podcast:soundbite startTime="77.15" duration="11.64">And today, I'm interviewing David Lechner and Dennis Demidov about using Python with the ev 3 dev platform for programming Lego robotics. So, David, could you please introduce yourself first?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Lego Robotics with David Lechner and Denis Demidov</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>127</itunes:episode>
      <podcast:episode>127</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531771262512264fe3297-43fe-41c6-b02f-cc2a062b83f6v1.mp3" length="32032549" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531771262512264fe3297-43fe-41c6-b02f-cc2a062b83f6v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_64fe3297-43fe-41c6-b02f-cc2a062b83f6638558836746154824.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/64fe3297-43fe-41c6-b02f-cc2a062b83f6638558836742074187.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/64fe3297-43fe-41c6-b02f-cc2a062b83f6638558836739824536.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Cloud-Init with Scott Moser</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Server administration is a complex endeavor, but there are some tools that can make life easier. If you are running your workload in a cloud environment then cloud-init is here to help. This week Scott Moser explains what cloud-init is, how it works, and how it became the de-facto tool for configuring your Linux servers at boot.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to <a href="https://www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss">www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss</a> to start your free trial today.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in <a href="https://www.pythonpodcast.com/odsc-eu-2017?utm_source=rss&utm_medium=rss">London</a> in October and <a href="https://www.pythonpodcast.com/odsc-west-2017?utm_source=rss&utm_medium=rss">San Francisco</a> in November. Follow the links in the show notes to register and help support the show in the process.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Scott Moser about cloud-init, a set of python scripts and utilities to make your cloud images be all they can be!</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is cloud-init and how did the project get started?</li>
<li>Why was Python chosen as the language for implementing cloud-init?</li>
<li>How has cloud-init come to be the de-facto utility for managing cloud instances across vendors and distributions?</li>
<li>Are there any viable competitors to cloud-init? coreos-cloudinit, some others.</li>
<li>How much overlap is there between cloud-init and configuration management tools such as SaltStack, Ansible, Chef, etc.</li>
<li>How have you architected cloud-init to allow for compatibility across operating system distributions?</li>
<li>What is the most difficult or complex aspect of building and maintaining cloud-init? [os integration, networking, goal of &#8220;do stuff without reboot&#8221;]</li>
<li>Given that it is used as a critical component of the production deployment mechanics for a large number of people, how do you ensure an appropriate level of stability and security while developing cloud-init?</li>
<li>How do you think the status of cloud-init as a Canonical project has affected the level of contributions that you receive?</li>
<li>How much of the support and roadmap is contributed by individual vs corporate users such as AWS and Azure?</li>
<li>What are some of the most unexpected or creative uses of cloud-init that you have seen? [https://wiki.ubuntu.com/OpenCompute?utm_source=rss&utm_medium=rss &#8220;disposable use os&#8221;]</li>
<li>In your experience, what has been the biggest stumbling block for new users of cloud-init?</li>
<li>Do you have any notable features or improvements planned for the future of cloud-init, or do you feel that it has reached a state of feature-completeness? </li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/smoser?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">smoser</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.djcbsoftware.nl/code/mu/mu4e.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mu4e</a></li>
<li><a href="http://isync.sourceforge.net/mbsync.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">isync</a></li>
</ul>

<p></li><br>
<li>Scott</p>

<ul>
<li><a href="https://linuxcontainers.org/lxd/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LXD</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www-03.ibm.com/linux/ltc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IBM &#8211; Linux Technology Center</a></li>
<li><a href="https://cloudinit.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloud-Init</a></li>
<li><a href="https://www.ubuntu.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ubuntu</a></li>
<li><a href="https://www.canonical.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Canonical</a></li>
<li><a href="https://coreos.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CoreOS</a></li>
<li><a href="https://aws.amazon.com/ec2/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EC2</a></li>
<li><a href="https://www.openstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack</a></li>
<li><a href="https://www.centos.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CentOS</a></li>
<li><a href="https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RHEL</a></li>
<li><a href="https://github.com/coreos/coreos-cloudinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">coreos-cloudinit</a></li>
<li><a href="https://jujucharms.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JuJu</a></li>
<li><a href="https://puppet.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Puppet</a></li>
<li><a href="https://en.wikipedia.org/wiki/Init#SysV-style?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SystemV</a></li>
<li><a href="http://upstart.ubuntu.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Upstart</a></li>
<li><a href="https://en.wikipedia.org/wiki/Systemd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SystemD</a></li>
<li><a href="https://www.joyent.com/smartos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joyent SmartOS</a></li>
<li><a href="https://www.digitalocean.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Digital Ocean</a></li>
<li><a href="https://en.wikipedia.org/wiki/IPv4?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPv4</a></li>
<li><a href="https://en.wikipedia.org/wiki/IPv6?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPv6</a></li>
<li><a href="https://maas.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Canonical MaaS</a>+</li>
<li><a href="http://json-schema.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON-Schema</a></li>
<li><a href="https://linuxcontainers.org/lxd/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LXD</a></li>
<li><a href="https://launchpad.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Launchpad</a></li>
<li><a href="http://bazaar.canonical.com/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bzr</a></li>
<li><a href="https://git-scm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git</a></li>
<li><a href="https://www.suse.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SUSE</a></li>
<li><a href="https://www.freebsd.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FreeBSD</a></li>
<li><a href="https://www.linux-kvm.org/page/Main_Page?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KVM</a></li>
<li><a href="https://golang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Go-lang</a></li>
<li><a href="https://code.google.com/archive/p/prettytable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pretty Table</a></li>
<li><a href="https://en.wikipedia.org/wiki/RAID?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RAID</a></li>
<li><a href="https://en.wikipedia.org/wiki/ZFS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ZFS</a></li>
<li><a href="https://wiki.ubuntu.com/Lvm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LVM</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcloud-init-with-scott-moser-episode-126%2F&amp;action_name=Cloud-Init+with+Scott+Moser+-+Episode+126&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-09-10t12:27:38+00:00-176ad002e97923a</guid>
      <link>https://www.pythonpodcast.com/cloud-init-with-scott-moser-episode-126</link>
      <pubDate>Sun, 10 Sep 2017 12:30:00 +0000</pubDate>
      <podcast:soundbite startTime="1341.26" duration="13.47">So are there any ways to short circuit that cycle where you can actually verify things locally with before you have to push it to the cloud? Yeah. So that that's a real pain, isn't it? And that is a 1 of the largest bits of feedback we've gotten.</podcast:soundbite>
      <podcast:soundbite startTime="77.18" duration="9.16">And today, I'm interviewing Scott Moser about CloudInnit, a set of Python scripts and utilities to make your cloud images be all they can be. So, Scott, could you please introduce yourself?</podcast:soundbite>
      <podcast:soundbite startTime="384.63" duration="21.32">So I'm wondering if you can share a bit about how that journey has progressed and how you think CloudInnit has come to become that de facto standard. So CloudInnit initially, the the shebang just executing user data server with shebang got got you so much for so little effort, and it was really just a a fabulous idea.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:50</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Cloud-Init with Scott Moser</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>126</itunes:episode>
      <podcast:episode>126</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297717749032858d77c7-9a8b-4eda-87d9-0ca0e7847696v1.mp3" length="34852056" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297717749032858d77c7-9a8b-4eda-87d9-0ca0e7847696v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_858d77c7-9a8b-4eda-87d9-0ca0e7847696638558789726106494.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/858d77c7-9a8b-4eda-87d9-0ca0e7847696638558789723595835.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/858d77c7-9a8b-4eda-87d9-0ca0e7847696638558789721407088.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Biopython with Peter Cock, Wibowo Arindrarto, and Tiago Antão</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Advances in the techniques used for genome sequencing are providing us with more information to unlock the secrets of biology. But how does that data get processed and analyzed? With Python of course! This week I am joined by some of the core maintainers of Biopython to discuss what bioinformatics is, how Python is used to help power the research in the field, and how Biopython helps to tie everything together.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to <a href="https://www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss">www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss</a> to start your free trial today.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in <a href="https://www.pythonpodcast.com/odsc-eu-2017?utm_source=rss&utm_medium=rss">London</a> in October and <a href="https://www.pythonpodcast.com/odsc-west-2017?utm_source=rss&utm_medium=rss">San Francisco</a> in November. Follow the links in the show notes to register and help support the show in the process.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Peter Cock, Wibowo Arindrarto, and Tiago Antão about biopython, a suite of python tools for computational molecular biology.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what bioinformatics is and highlight some of the different areas of research?</li>
<li>What is biopython and how did it get started?</li>
<li>Biopython has a long history behind it. How has the project evolved over that time to meet the changing needs in terms of both research amd computation?</li>
<li>How does Biopython compare to the sibling Bio* projects in other programming languages?</li>
<li>What does a common workflow look like for someone who is working with biological data?</li>
<li>What are some of the most interesting or innovative uses of Biopython that you are aware of?</li>
<li>What are some of the most challenging aspects of developing and supporting Biopython?</li>
<li>What are some of the most exciting developments in bioinformatics, either recently or coming up?</li>
<li>How much domain knowledge is necessary for someone who wants to contribute to the project?</li>
<li>What are some of the most problematic limitations of Biopython and how do you work around them?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Peter
<ul>
<li><a href="http://www.hutton.ac.uk/staff/peter-cock?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
<li>Wibowo</p>

<ul>
<li><a href="http://bow.web.id/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="http://twitter.com/_bow_?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@&#95;bow&#95;</a> on Twitter</li>
</ul>

<p></li><br>
<li>Tiago</p>

<ul>
<li><a href="http://tiago.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/tiagoantao?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tiagoantao</a> on Twitter</li>
</ul>

<p></li><br>
<li>Biopython</p>

<ul>
<li><a href="https://github.com/biopython/biopython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://keepitlowconf.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keep it Low Conf</a></li>
</ul>

<p></li><br>
<li>Peter</p>

<ul>
<li><a href="https://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebooks</a> (formerly IPython) for producing notebooks combining code, graphical output and descriptive code. Can be seen as a modern take on Donald Knuth&#8217;s Literate programming?</li>
</ul>

<p></li><br>
<li>Wibowo</p>

<ul>
<li><a href="https://conda.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Conda</a> for installing software, including <a href="https://bioconda.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BioConda</a> for community packaged software in bioinformatics.</li>
</ul>

<p></li><br>
<li>Tiago</p>

<ul>
<li><a href="http://brython.info/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brython project</a> for writing Python 3 in your browser using JavaScript</li>
<li><a href="https://www.nps.gov/glac/index.htm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Glacier National Park</a> in North West Montana</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.biojava.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BioJava</a></li>
<li><a href="http://www.bioruby.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BioRuby</a></li>
<li><a href="http://www.bioperl.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BioPerl</a></li>
<li><a href="https://biojs.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BioJS</a></li>
<li><a href="http://www.open-bio.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Bioinformatics Foundation</a></li>
<li><a href="http://spi-inc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Software In The Public Interest</a></li>
<li><a href="https://nanoporetech.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Oxford Nanopore Technology</a> (for sequencing in the field etc)</li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fbiopython-with-peter-cock-wibowo-andrarto-and-tiago-antao-episode-125%2F&amp;action_name=Biopython+with+Peter+Cock%2C+Wibowo+Arindrarto%2C+and+Tiago+Ant%C3%A3o+-+Episode+125&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-09-03t00:27:58+00:00-2c572cbef4c77ba</guid>
      <link>https://www.pythonpodcast.com/biopython-with-peter-cock-wibowo-andrarto-and-tiago-antao-episode-125</link>
      <pubDate>Sun, 3 Sep 2017 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="937.67" duration="50.20">I can actually give you some examples of of applications that I've worked with and some very, very practical applications? For example, we have used biopython and Python, to help in, in Yellowstone National Park to make decisions about, about, bison and about culling off bison, for example. Obvious there is a big part, that that is slightly it's in in the Python world, but not biopython per se. It's about simulate simulate simulating genetics and trying to have measures of viability of populations as a function of their size, and then you you can make management decisions on populations and and very very practical decisions were made with regards to the sizes of the population of Yellowstone bison.</podcast:soundbite>
      <podcast:soundbite startTime="1774.14" duration="37.09">So for people wanting to contribute to the project, I would normally ask them what area of biophanics are they working on and try and match them up to a particular bit of biophan that matches those strengths. But we have people with very little or no biological background, and there are still plenty of things that they can do. If they have, for example, knowledge of c, they may be able to help improve that c bindings or even, what you might call housekeeping work like, style improvements to better match the PEP 8 style guidelines or docstrings improving the the documentation and code. There's plenty of things that people can do without necessarily having any biological or technical domain knowledge. So a variety of of contributors is great.</podcast:soundbite>
      <podcast:soundbite startTime="186.07" duration="30.08">So a lot of us joke that bioinformatics is 90% file format conversion. We have lots and lots of computational tools that are designed to solve biological problems, but there tends to be, an in venture own file format mentality. And there are rival file formats doing similar things but slightly differently. So a lot of day to day work in bioinformatics is is file format manipulation, and things like biopython can help with file format passing. So that's 1 of the strengths and 1 of the reasons many of our users use Biopython and related tools.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Biopython with Peter Cock, Wibowo Arindrarto, and Tiago Antão</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>125</itunes:episode>
      <podcast:episode>125</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297174979345c5b5b9e8-646c-40bc-bf9b-07bc0d45b376v1.mp3" length="32303215" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297174979345c5b5b9e8-646c-40bc-bf9b-07bc0d45b376v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c5b5b9e8-646c-40bc-bf9b-07bc0d45b376638558787841303012.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c5b5b9e8-646c-40bc-bf9b-07bc0d45b376638558787838144186.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c5b5b9e8-646c-40bc-bf9b-07bc0d45b376638558787835982337.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>opsdroid with Jacob Tomlinson</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Server administration is an activity that often happens in an isolated context in a terminal. ChatOps is a way of bringing that work into a shared environment and unlocking more collaboration. This week Jacob Tomlinson talks about the work he has done on opsdroid, a new bot framework targeted at tying together the various services and environments that modern production systems rely on.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to <a href="https://www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss">www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss</a> to start your free trial today.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in <a href="https://www.pythonpodcast.com/odsc-eu-2017?utm_source=rss&utm_medium=rss">London</a> in October and <a href="https://www.pythonpodcast.com/odsc-west-2017?utm_source=rss&utm_medium=rss">San Francisco</a> in November. Follow the links in the show notes to register and help support the show in the process.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jacob Tomlinson about opsdroid</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is opsdroid and what was the problem that you were trying to solve when you started the project?</li>
<li>What led you to choose Python as the language for implementing opsdroid?</li>
<li>What did you find lacking in the multitude of other chat bots that necessitated starting a new project? (e.g. <a href="https://hubot.github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hubot</a>, <a href="http://errbot.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Errbot</a>, <a href="https://www.lita.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lita</a>)</li>
<li>One of the main features that you list in the documentation is the ease of installation. Why is that such an important aspect of the project and how is that implemented?</li>
<li>What has been the most interesting and the most challenging aspect of implementing opsdroid?</li>
<li>On the opsdroid organisation on GitHub there are many repositories for plugin modules. Do you see this being a management issue in the long term?</li>
<li>How is opsdroid architected and what were the system requirements that led to the current system design?</li>
<li>How do you manage authorization and authentication for performing commands against your production infrastructure in a group chat environment?
<ul>
<li>What are some of the other security implications that users should be aware of when deploying a bot for interfacing with their deployment environment?</li>
</ul>

<p></li><br>
<li>How does a chat-oriented bot framework differ from those that are being created for voice-oriented interaction?</li><br>
<li>What do you have planned for the future of opsdroid?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://www.jacobtomlinson.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="http://www.twitter.com/_jacobtomlinson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@_JacobTomlinson</a> on Twitter</li>
<li><a href="https://github.com/jacobtomlinson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jacobtomlinson</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.npr.org/podcasts/510324/rough-translation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rough Translation Podcast</a></li>
</ul>

<p></li><br>
<li>Jacob</p>

<ul>
<li><a href="https://hasspodcast.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Assistant Podcast</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.imdb.com/title/tt0371746/?ref_=nv_sr_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Iron Man Movie</a></li>
<li><a href="https://puppet.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Puppet</a></li>
<li><a href="https://hubot.github.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hubot</a></li>
<li><a href="https://victorops.com/blog/getting-started-chatops-step-step-guide/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ChatOps</a></li>
<li><a href="https://docs.python.org/3/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">asyncio</a></li>
<li><a href="https://home-assistant.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Assistant</a>
<ul>
<li><a href="https://www.pythonpodcast.com/episode-94-home-assistant-with-paulus-schoutsen/?utm_source=rss&utm_medium=rss">Podcast.<strong>init</strong> Interview</a></li>
</ul>

<p></li><br>
<li><a href="https://api.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">api.ai</a></li><br>
<li><a href="https://www.luis.ai/home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luis</a></li><br>
<li><a href="https://aws.amazon.com/lex/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lex</a></li><br>
<li><a href="https://slack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slack</a></li><br>
<li><a href="https://mycroft.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mycroft</a></li><br>
<li><a href="https://kalliope-project.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kalliope</a></li><br>
<li><a href="http://amzn.to/2ge48y7?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon Alexa</a></li><br>
<li><a href="https://github.com/opsdroid/opsdroid-audio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">opsdroid audio</a></li><br>
<li><a href="https://snowboy.kitt.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snowboy</a></li><br>
<li><a href="https://madeby.google.com/home/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Home</a></li><br>
<li><a href="https://wit.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wit.ai</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fopsdroid-with-jacob-tomlinson-episode-124%2F&amp;action_name=opsdroid+with+Jacob+Tomlinson+-+Episode+124&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-08-26t11:47:19+00:00-e3427f401017b37</guid>
      <link>https://www.pythonpodcast.com/opsdroid-with-jacob-tomlinson-episode-124</link>
      <pubDate>Sat, 26 Aug 2017 11:00:00 +0000</pubDate>
      <podcast:soundbite startTime="712.38" duration="35.08">And before we go too much further, I'd like to take a bit of a diversion and just have you define how you think of the term chat ops and why you think it's a valuable approach to doing development and systems administration? Yeah. Sure. So, I did actually I found a definition I quite liked for for chat ops. I ended up putting, at the top of the readme on the project. And the the definition, kind of covers using a chat client to do operational work that you very often within a team of administrators, you do on your own.</podcast:soundbite>
      <podcast:soundbite startTime="305.70" duration="28.50">So wondering if you can briefly describe what Obstroid is and the problem that you were trying to solve when you first started the project. Yeah. So Obscroids kind of grown out of partly just an obsession with chat bots. I guess, I got really interested just after watching the first Ironman film when that came out and, you know, Jarvis. And I think that's if you talk to a lot of people that are quite into chatbots, that seems to be 1 of the main examples that they say. And I was always quite interested in writing something along those lines.</podcast:soundbite>
      <podcast:soundbite startTime="1666.91" duration="23.42">So in terms of the way we use it at the moment, we just, make the assumption that the bot can do a certain number of things. We're quite, you know, when we get the bot API keys to do things, we make sure that those keys can only do the things that that we we want the bot to be able to do. So if it's rebooting an instance, it can only reboot an instance. It can't also launch instances just in case somebody manages to get those keys out in any way.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:41</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>opsdroid with Jacob Tomlinson</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>124</itunes:episode>
      <podcast:episode>124</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253051142613605c5b93a7-c6bc-4757-8c14-663a3fc14c5ev1.mp3" length="43870600" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253051142613605c5b93a7-c6bc-4757-8c14-663a3fc14c5ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_5c5b93a7-c6bc-4757-8c14-663a3fc14c5e638558812104339027.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5c5b93a7-c6bc-4757-8c14-663a3fc14c5e638558812102053703.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5c5b93a7-c6bc-4757-8c14-663a3fc14c5e638558812099911323.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Ergonomica with Liam Schumm</title>
      <description><![CDATA[<h3>Summary</h3>

<p>As developers we spend a lot of our work day in a terminal window, using shells that were designed 30 years ago. This week Liam Schumm joins me to explain why he decided to write a new, more ergonomic shell environment to simplify his workflow.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Need to learn more about how to scale your apps or learn new techniques for building them? Pluralsight has the training and mentoring you need to level up your skills. Go to <a href="https://www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss">www.pythonpodcast.com/pluralsight?utm_source=rss&utm_medium=rss</a> to start your free trial today.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>If you work with data for your job or want to learn more about how open source is powering the latest innovations in data science then make your way to the Open Data Science Conference, happening in <a href="https://www.pythonpodcast.com/odsc-eu-2017?utm_source=rss&utm_medium=rss">London</a> in October and <a href="https://www.pythonpodcast.com/odsc-west-2017?utm_source=rss&utm_medium=rss">San Francisco</a> in November. Follow the links in the show notes to register and help support the show in the process.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Liam Schumm about Ergonomica</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Ergonomica and what was your reason for creating it?</li>
<li>What are some of the most difficult aspects of the project that you have experienced?</li>
<li>How is Ergonomica implemented?</li>
<li>What was your reason for using a dialect of Lisp as the interface for a terminal environment as opposed to iterating on the idioms in shells such as Bash?</li>
<li>How does Ergonomica&#8217;s implementation differ from traditional shells such as Bash, Csh, and Powershell?</li>
<li>How does Ergonomica&#8217;s implementation differ from other alternative shells such as Xonsh, ZSH, and Fish?</li>
<li>Why did you choose to implement Ergonomica in Python?</li>
<li>What&#8217;s your target group for Ergonomica?</li>
<li>What do you have planned for the future of Ergonomica?</li>
<li>Reading through your website you are fairly well accomplished. How does your age factor into the kinds of projects that you are engaged in?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/lschumm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Liam&#8217;s GitHub</a></li>
<li><a href="mailto:liamschumm@icloud.com">Email</a></li>
<li><a href="https://twitter.com/liamschumm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@liamschumm</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2wcMO2N?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magic The Gathering: Arena of the Planeswalkers</a></li>
</ul>

<p></li><br>
<li>Liam</p>

<ul>
<li><a href="https://gitlab.com/gitlab-org/gitlab-ce?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitLab CE</a></li>
<li><a href="https://github.com/jonathanslenders/python-prompt-toolkit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python-prompt-toolkit</a></li>
<li><a href="http://www.anrdoezrs.net/qb98vpyvpxCKLIDKMICEFIEIMFM?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thriftbooks</a> &#8211; 15% off your first order</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.pygame.org/news?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyGame</a></li>
<li><a href="https://minecraft.net/en-us/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Minecraft</a></li>
<li><a href="https://pybee.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beeware</a></li>
<li><a href="http://www.chipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ChiPy</a></li>
<li><a href="https://chihacknight.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chi Hack Night</a></li>
<li><a href="https://xkcd.com/1168/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XKCD Tar Comic</a></li>
<li><a href="https://en.wikipedia.org/wiki/POSIX?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">POSIX</a></li>
<li><a href="https://github.com/tartley/colorama?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Colorama</a></li>
<li><a href="http://www.dabeaz.com/ply/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PLY</a></li>
<li><a href="http://norvig.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Peter Norvig</a></li>
<li><a href="http://norvig.com/lispy.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How to write a lisp interpreter in python</a></li>
<li><a href="http://www.zsh.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ZSH</a></li>
<li><a href="http://fishshell.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fish</a></li>
<li><a href="http://xon.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Xonsh</a></li>
<li><a href="https://github.com/jonathanslenders/pyvim?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyVim</a></li>
<li><a href="https://github.com/amoffat/sh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sh</a></li>
<li><a href="https://brew.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Homebrew</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fergonomica-with-liam-schumm-episode-123%2F&amp;action_name=Ergonomica+with+Liam+Schumm+-+Episode+123&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-08-20t01:37:09+00:00-cd9d10f895b7966</guid>
      <link>https://www.pythonpodcast.com/ergonomica-with-liam-schumm-episode-123</link>
      <pubDate>Sun, 20 Aug 2017 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="329.65" duration="33.45">So essentially, what Ergonomica is is the shell language we designed from the ground up in Python. And what inspired me to do this is I, when I first started getting into bash scripting, I found it really cool that I could just navigate my file systems with commands, and it was so much faster than, finder on the Mac. And I I found it pretty cool. And eventually, once I started getting into more advanced stuff, once I got past just like simple simple editing and like emacs, I wanted to build scripts to, like, manage my files.</podcast:soundbite>
      <podcast:soundbite startTime="2096.57" duration="31.30">So, my my age has actually driven me to open source development in the fact that sort of when you're initially getting started with making software, you're not doing it for a company. You're just tinkering around. At least that's what I what I experienced. And, once I started making tools a little bit more and collaborating with a few friends on projects, on Python projects, I discovered GitHub and realized that version control was a lot better than just sending files back and forth.</podcast:soundbite>
      <podcast:soundbite startTime="596.14" duration="29.07">So I mean, just just really trial and error. I remember my first, command line application. I kind of like kind of like making command line applications. It, it took a command's arguments and split them, and it had a separate case, if elif, for each, like, length of arguments. Like, if I had 1 argument, 2 arguments, 3 arguments. And just over time, I've sort of sort of through trial and error figured out the best way to approach those kinds of things.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:04</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Ergonomica with Liam Schumm</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>123</itunes:episode>
      <podcast:episode>123</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304901064702c26fe5f4-1d44-4d44-bcb4-64384bdc081fv1.mp3" length="33307668" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304901064702c26fe5f4-1d44-4d44-bcb4-64384bdc081fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c26fe5f4-1d44-4d44-bcb4-64384bdc081f638558811012181782.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c26fe5f4-1d44-4d44-bcb4-64384bdc081f638558811009304586.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c26fe5f4-1d44-4d44-bcb4-64384bdc081f638558811006764940.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Data Retriever with Henry Senyondo</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Analyzing and interpreting data is a large portion of the work involved in scientific research. Getting to that point can be a lot of work on its own because of all of the steps required to download, clean, and organize the data prior to analysis. This week Henry Senyondo talks about the work he is doing with Data Retriever to make data preparation as easy as <code>retriever install</code>.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Henry Senyondo about Data Retriever, the package manager for public data sets.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what data retriever is and the problem that it was built to solve?</li>
<li>Are there limitations as to the types of data that can be managed by data retriever?</li>
<li>What kinds of data sets are currently available and who are the target users?</li>
<li>What is involved in preparing a new dataset to be available for installation?</li>
<li>How much of the logic for installing the data is shared between the R and Python implementations of Data Retriever and how do you ensure that the two packages evolve in parallel?</li>
<li>How is the project designed and what are some of the most difficult technical aspects of building it?</li>
<li>What is in store for the future of data retriever?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/henrykironde?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
<li><a href="https://twitter.com/henrykironde?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@henrykironde</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2hV7J4B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Otium Bluetooth Receiver</a></li>
<li><a href="https://www.amazon.com/gp/product/B00E4LGVUO/ref=od_aui_detailpages00?ie=UTF8&amp;psc=1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Panasonic Ergofit Headphones</a></li>
<li><a href="http://amzn.to/2vtpFrW?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nitize Adhesive Pocket Clip</a></li>
</ul>

<p></li><br>
<li>Henry</p>

<ul>
<li><a href="http://www.imdb.com/title/tt1187043/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Three Idiots</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://weecology.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Weecology Lab</a></li>
<li><a href="http://www.ufl.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Florida</a></li>
<li><a href="http://www.data-retriever.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Retriever</a></li>
<li><a href="http://www.lg.com/us?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LG</a></li>
<li><a href="https://www.r-project.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R</a></li>
<li><a href="https://julialang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Julia</a></li>
<li><a href="https://okfn.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Knowledge Foundation</a></li>
<li><a href="http://frictionlessdata.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Frictionless Data Format</a></li>
<li><a href="https://github.com/weecology/weaver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Weaver</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fdata-retriever-with-henry-senyondo-episode-122%2F&amp;action_name=Data+Retriever+with+Henry+Senyondo+-+Episode+122&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-08-12t23:56:40+00:00-87643f37c8721bd</guid>
      <link>https://www.pythonpodcast.com/data-retriever-with-henry-senyondo-episode-122</link>
      <pubDate>Sat, 12 Aug 2017 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="110.78" duration="29.61">The data retriever is a data management platform. It enhances research productivity. Researchers go through a lot of time. They use a lot of time trying to clean up, standardize, and collect, sometimes even search for datasets. If we could reduce the amount of time scientists get to clean up this data and standardize it, they could use more time to focus on research so as to come up with the cool solutions to most of the problems that we have.</podcast:soundbite>
      <podcast:soundbite startTime="484.55" duration="27.91">So the concept of standardization is very crucial in this aspect of, using datasets. If we have 2 researchers who use different standards of labeling or categorizing or defining their datasets, then we shall have a difficulty when it comes to reusing these datasets. Luckily, the Open Knowledge Foundation have created a data specification specification for data packages. This helps us to standardize how you describe your data.</podcast:soundbite>
      <podcast:soundbite startTime="940.12" duration="28.97">So Python is 1 of those very, very important languages when it comes to data science. It's 1 of those languages that processes data very fast. So there are other options when developing this tool, but given the given the environment that we're trying to solve, Python is really, really important. And, we we I think that's the best choice that we made.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:17:55</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Data Retriever with Henry Senyondo</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>122</itunes:episode>
      <podcast:episode>122</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321182364719324e211e-8928-4373-8bbb-eb4183ba1878v1.mp3" length="17217859" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321182364719324e211e-8928-4373-8bbb-eb4183ba1878v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_324e211e-8928-4373-8bbb-eb4183ba1878638558842912857652.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/324e211e-8928-4373-8bbb-eb4183ba1878638558842910940364.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/324e211e-8928-4373-8bbb-eb4183ba1878638558842909097696.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Coverage.py with Ned Batchelder</title>
      <description><![CDATA[<h3>Summary</h3>

<p>We write tests to make sure that our code is correct, but how do you make sure the tests are correct? This week Ned Batchelder explains how coverage.py fills that need, how he became the maintainer, and how it works under the hood.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ned Batchelder about coverage.py, the ubiquitous tool for measuring your test coverage.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is coverage.py and how did you get involved with the project?</li>
<li>The coverage project has become the de facto standard for measuring test coverage in Python. Why do you think that is?</li>
<li>What is the utility of measuring test coverage?</li>
<li>What are the downsides to measuring test coverage?</li>
<li>One of the notable capabilities that was introduced recently was the plugin for measuring coverage of Django templates. Why is that an important capability and how did you manage to make that work?</li>
<li>How does coverage conduct its measurements and how has that algorithm evolved since you first started work on it?</li>
<li>What are the most challenging aspects of building and maintaining coverage.py?</li>
<li>While I was looking at the bug tracker I was struck by the vast array of contexts in which coverage is used. Do you find it overwhelming trying to support so many operating systems and Python implementations?</li>
<li>What might be added to coverage in the future?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/nedbat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@nedbat</a> on Twitter</li>
<li><a href="https://nedbatchelder.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/bastibe/org-journal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Org-Journal</a></li>
</ul>

<p></li><br>
<li>Ned</p>

<ul>
<li><a href="https://hypothesis.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypothesis</a></li>
<li><a href="http://www.bbc.co.uk/programmes/b00snr0w?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Infinite Monkey Cage</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.edx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">edX</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lotus_Software?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lotus Notes</a></li>
<li><a href="http://www.zope.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://coverage.readthedocs.io/en/coverage-4.4.1/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coverage.py</a></li>
<li><a href="http://garethrees.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gareth Rees</a></li>
<li><a href="https://docs.python.org/3/library/trace.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trace in stdlib</a></li>
<li><a href="http://darcs.idyll.org/~t/projects/figleaf/doc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fig Leaf</a></li>
<li><a href="https://en.wikipedia.org/wiki/Finite-state_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">State Machines</a></li>
<li><a href="https://codecov.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeCov</a></li>
<li><a href="https://coveralls.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coveralls</a></li>
<li><a href="http://cobertura.github.io/cobertura/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cobertura</a></li>
<li><a href="https://en.wikipedia.org/wiki/Turing_completeness?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Turing Completeness</a></li>
<li><a href="https://docs.djangoproject.com/en/1.11/topics/templates/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Templates</a></li>
<li><a href="http://jinja.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jinja2</a></li>
<li><a href="http://www.makotemplates.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mako</a></li>
<li><a href="http://docs.hylang.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hy-lang</a></li>
<li><a href="https://en.wikipedia.org/wiki/Gcov?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GCov</a></li>
<li><a href="http://www.jython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jython</a></li>
<li><a href="https://www.codetriage.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code Triage Service</a></li>
<li><a href="https://nedbatchelder.com/blog/201612/who_tests_what.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Who Tests What</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fcoverage-py-with-ned-batchelder-episode-121%2F&amp;action_name=Coverage.py+with+Ned+Batchelder+-+Episode+121&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-08-05t10:48:52+00:00-482887cee3abc3f</guid>
      <link>https://www.pythonpodcast.com/coverage-py-with-ned-batchelder-episode-121</link>
      <pubDate>Sun, 6 Aug 2017 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="724.59" duration="26.63">Right. And testing is a fascinating subject to me, and how to write them better and make them more useful and tell you more about your code is fascinating to me, which is part of the reason why I got into coverage in the 1st place. And not only tweaked it to do the 1 thing I wanted it to do, but also sort of kept with it because it's a fascinating domain in which to work. How can we understand code? How can tools help us understand code?</podcast:soundbite>
      <podcast:soundbite startTime="2758.07" duration="38.23">I don't have an idea of another topic to cover. I think people should think about open source as a thing they can participate in, either by asking for features or digging into bug triaging. For instance, I don't get many code contributions for coverage, perhaps because historically for historic reasons, it's a Mercurial repo on Bitbucket, which I'd love to switch, but I'd lose all the history of all the bug tickets that are there. Or perhaps I don't get code contributions because it's kind of an intricate project with lots of complexities. People should keep in mind that they can contribute to a project in other ways.</podcast:soundbite>
      <podcast:soundbite startTime="146.55" duration="23.81">Sure. So first, good on you for knowing that I didn't write it to begin with. That's something that most people don't understand. So I because coverage dot py, to begin with, is a tool which can observe your program being run, usually a test runner, and then it can tell you what parts of your code got executed and what parts of your code didn't get executed. That's it in a nutshell.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Coverage.py with Ned Batchelder</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>121</itunes:episode>
      <podcast:episode>121</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320307216387d66166ba-fbf2-4542-8b71-d6336af9ad7ev1.mp3" length="49843319" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320307216387d66166ba-fbf2-4542-8b71-d6336af9ad7ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d66166ba-fbf2-4542-8b71-d6336af9ad7e638558839379002111.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d66166ba-fbf2-4542-8b71-d6336af9ad7e638558839375976296.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d66166ba-fbf2-4542-8b71-d6336af9ad7e638558839374088121.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Yosai with Darin Gordon</title>
      <description><![CDATA[<h3>Summary</h3>

<p>For any program that is used by more than one person you need a way to control identity and permissions. There are myriad solutions to that problem, but most of them are tied to a specific framework. Yosai is a flexible, general purpose framework for managing role-based access to your applications that has been decoupled from the underlying platform. This week the author of Yosai, Darin Gordon, joins us to talk about why he started it, his experience porting it from Java, and where he hopes to take it in the future.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing<br />
Darin Gordon about Yosai, a security framework for Python applications</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Yosai and what is the problem that you were trying to solve when you started it?</li>
<li>How does Yosai compare to existing libraries for web frameworks such as Flask-Security or Django Guardian and why might someone choose Yosai instead?</li>
<li>In the documentation it mentions that Yosai is a port of the Apache Shiro framework from Java to Python. What was most difficult about exposing a Pythonic interface while maintaining the core principles of the original?</li>
<li>Authentication and authorization are difficult problem domains and can cause significant issues if they are not implemented in a secure fashion. How do you ensure an appropriate level of quality in Yosai to be confident having people use it?</li>
<li>To start can you describe how the framework is architected and what is involved in integrating it with a project?</li>
<li>Outside of the context of web applications, what are some situations where someone should consider integrating authentication and authorization into their project?</li>
<li>What have been some of the most challenging aspects of building the Yosai project?</li>
<li>Tell us about the Rust extension you wrote earlier this year</li>
<li>What do you have planned for the future of Yosai?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://daringordon.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/dowwie?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://twitter.com/darin_gordon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@darin_gordon</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.brainson.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brains On! podcast</a></li>
</ul>

<p></li><br>
<li>Darin</p>

<ul>
<li><a href="https://github.com/asphalt-framework/asphalt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Asphalt Framework</a>. Asphalt is an asyncio-based microframework for network oriented applications.</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://yosaiproject.github.io/yosai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yosai Project Web Page</a></li>
<li><a href="https://github.com/yosaiproject?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github Repo</a></li>
<li><a href="http://csrc.nist.gov/groups/SNS/rbac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RBAC</a></li>
<li><a href="https://shiro.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Shiro</a></li>
<li><a href="https://tools.ietf.org/html/rfc6238?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TOTP</a></li>
<li><a href="https://trypyramid.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyramid</a></li>
<li><a href="https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SOLID</a></li>
<li><a href="https://en.wikipedia.org/wiki/Builder_pattern?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Builder Pattern</a></li>
<li><a href="https://en.wikipedia.org/wiki/Plain_old_Java_object?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">POJO</a></li>
<li><a href="https://lukasa.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Corey Benfield</a></li>
<li><a href="http://hyper.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hyper HTTP/2 Library</a></li>
<li><a href="https://passlib.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Passlib</a></li>
<li><a href="http://gohugo.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hugo</a></li>
<li><a href="https://github.com/mkdocs/mkdocs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MKDocs</a></li>
<li><a href="http://www.yaml.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">YAML</a></li>
<li><a href="https://en.wikipedia.org/wiki/Middleware?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Middleware</a></li>
<li><a href="https://en.wikipedia.org/wiki/Internet_of_things?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IoT</a></li>
<li><a href="https://github.com/YosaiProject/yosai_libauthz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Authz in Rust</a></li>
<li><a href="https://github.com/PyO3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyO3</a></li>
<li><a href="https://github.com/mitsuhiko/snaek?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snaek</a></li>
<li><a href="https://2017.pycon.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Canada</a></li>
<li><a href="https://www.pycascades.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCascades</a></li>
<li><a href="https://blog.renaissancedev.com/jwt-distributed-auth.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON Web Tokens</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fyosai-with-darin-gordon-episode-120%2F&amp;action_name=Yosai+with+Darin+Gordon+-+Episode+120&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-07-30t02:23:17+00:00-48f34fd617d69cf</guid>
      <link>https://www.pythonpodcast.com/yosai-with-darin-gordon-episode-120</link>
      <pubDate>Sun, 30 Jul 2017 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="230.86" duration="35.21">YoSai is a security framework written in Python that is based on a version 2 alpha implementation of Apache Shiro, which is written in Java. It offers authentication, authorization, and session management from a common API. In other words, Eosai helps a developer verify who a user claims to be. It helps the developer control what the user can do in the system, and it helps you set time limits on how long a user may use the system or idle for before requiring that user to reverify its identity.</podcast:soundbite>
      <podcast:soundbite startTime="2143.73" duration="28.36">And what I found was that, unsurprisingly, the the rust ran approximately, let's say, 10 times faster than CPython, but here's the thing. Then I want to know, well, what happens if I run this through pypy? And so I did and the PyPy, the compiled Python actually ran faster than the Rust extension. And I I was like, my mind was just blown away when I saw it. I was like, wow, this is great. This is this code would actually benefit by using PyPI. You know, why would I do this in Rust?</podcast:soundbite>
      <podcast:soundbite startTime="124.34" duration="22.93">Js, and Python, and Python won, because basically with Python you can go further. It's a powerful general purpose language, I can use it to create services and I can use it for analysis. It's a really powerful analytical tool. It's got a great diverse ecosystem of open source projects that I could adopt for my work. I can optimize it and extend it to run quickly.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Yosai with Darin Gordon</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>120</itunes:episode>
      <podcast:episode>120</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315252029340b76d5a8d-d08b-44b4-b145-a250f82a8a90v1.mp3" length="40332498" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315252029340b76d5a8d-d08b-44b4-b145-a250f82a8a90v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b76d5a8d-d08b-44b4-b145-a250f82a8a90638558828393918448.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b76d5a8d-d08b-44b4-b145-a250f82a8a90638558828390087197.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b76d5a8d-d08b-44b4-b145-a250f82a8a90638558828381020946.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Moving to MongoDB with Michael Kennedy</title>
      <description><![CDATA[<h3>Summary</h3>

<p>There are dozens of decisions that need to be made when building an application. Sometimes this can lead to analysis paralysis and prevent you from making progress, so don&#8217;t let the perfect be the enemy of the good. This week Michael Kennedy shares his experience with evolving his application architecture when his business needs outgrew his initial designs.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Mike Kennedy about his work scaling his apps and his business</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>In some of your recent episodes you have mentioned the work that you did to migrate your applications to run on MongoDB. Can you start by describing the business case for these applications and how you arrived at the initial design?</li>
<li>What was the limiting factor that led you to consider such a drastic shift in how you store and manage your data and what benefits did you gain when the work was complete?
<ul>
<li>If the issue was with scaling, how did you identify the choke points?</li>
<li>Why go from relational (SQLite) to document (Mongo) instead of what would seem a more obvious choice of a production grade relational engine such as PostGreSQL or MySQL?</li>
</ul>

<p></li><br>
<li>Are there any particular synergies that arise from using a document as opposed to a relational store when working with Python and what are some of the main considerations when deciding between them?</li><br>
<li>What was happening in your business that precipitated the need for this work?</li><br>
<li>How are you talking to MongoDB from Python? Directly (via pymongo) or ORM-style?</p>

<ul>
<li>Why did you make that choice?</li>
<li>How well is that working out? Advantages / drawbacks?</li>
</ul>

<p></li><br>
<li>In addition to podcasting you have also been working to create a number of successful courses to teach people how to use Python. Is there anything specific to the language that translates into how you design the material?</li><br>
<li>For anyone who wants to learn more about the benefits and tradeoffs of using a document store with their Python applications, what are some resources that you recommend?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Michael
<ul>
<li><a href="https://twitter.com/mkennedy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@mkennedy</a> on Twitter</li>
<li>Websites
<ul>
<li><a href="https://talkpython.fm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Talk Python</a></li>
<li><a href="https://pythonbytes.fm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Bytes</a></li>
</ul>

<p></li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://orgmode.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Org Mode</a></li>
<li><a href="https://art19.com/shows/levar-burton-reads?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Levar Burton Reads</a></li>
</ul>

<p></li><br>
<li>Mike</p>

<ul>
<li><a href="https://newspaper.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Newspaper</a></li>
<li><a href="https://robomongo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robomongo (now Robo 3T)</a></li>
<li><a href="https://www.technologyreview.com/s/604087/the-dark-secret-at-the-heart-of-ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Dark Secret at the Heart of AI</a></li>
<li><a href="http://www.haibike.com/en-US/US/bikes/344/2017-sduro-cross-4-0?variant=3848009748&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Haibike SDURO Cross 4.0</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="https://www.sqlite.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLIte</a></li>
<li><a href="https://www.mysql.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostGreSQL</a></li>
<li><a href="http://nosql-database.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NoSQL</a></li>
<li><a href="https://www.mongodb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoDB</a></li>
<li><a href="https://en.wikipedia.org/wiki/Database_normalization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Database Normalization</a></li>
<li><a href="https://en.wikipedia.org/wiki/Foreign_key?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Foreign Keys</a></li>
<li><a href="https://en.wikipedia.org/wiki/Document-oriented_database?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Document Database</a></li>
<li><a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rollbar</a></li>
<li><a href="http://mongoengine.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoEngine</a></li>
<li><a href="https://docs.mongodb.com/manual/administration/security-checklist/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mongo Security Checkup</a></li>
<li><a href="https://mlab.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MLab</a></li>
<li><a href="https://www.mongodb.com/cloud/atlas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoDB Atlas</a></li>
<li><a href="https://www.mongodb.com/world17?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoDB World</a></li>
<li><a href="http://amzn.to/2un8V3r?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">O&#8217;Reilly Python Mongo Book</a></li>
<li><a href="https://training.talkpython.fm/courses/details/mongodb-for-python-for-developers-featuring-orm-odm-mongoengine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MongoDB For Python Developers</a></li>
<li><a href="https://momentumdash.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Momentum Dash</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fmoving-to-mongodb-with-michael-kennedy-episode-119%2F&amp;action_name=Moving+to+MongoDB+with+Michael+Kennedy+-+Episode+119&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-07-22t23:53:02+00:00-604457ccff17096</guid>
      <link>https://www.pythonpodcast.com/moving-to-mongodb-with-michael-kennedy-episode-119</link>
      <pubDate>Sat, 22 Jul 2017 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="97.90" duration="20.21">So I'm a huge believer of don't let the perfect be the enemy of the good. And so I'm always about, like, how can we get something started quickly? How can we get something that is super simple in place? And then if we need to, if the thing is successful or takes off or whatever, we can design it a different way.</podcast:soundbite>
      <podcast:soundbite startTime="321.40" duration="23.09">You know, like, these NoSQL databases, people talk about them for their performance and their scalability, excuse me, for their performance and scalability and things like that. Right? And while that can be true, I think what's really pretty excellent about MongoDB and some of these types of databases, especially document databases, is they're they are very simple to evolve.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:58</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Moving to MongoDB with Michael Kennedy</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>119</itunes:episode>
      <podcast:episode>119</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253222769107075e5a66fa-d3c7-41be-b216-f8ec8db7216ev1.mp3" length="46071681" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253222769107075e5a66fa-d3c7-41be-b216-f8ec8db7216ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_5e5a66fa-d3c7-41be-b216-f8ec8db7216e638558847909245432.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5e5a66fa-d3c7-41be-b216-f8ec8db7216e638558847906399393.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5e5a66fa-d3c7-41be-b216-f8ec8db7216e638558847904463132.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Zulip Chat with Tim Abbott</title>
      <description><![CDATA[<h3>Summary</h3>

<p>In modern work environments the email is being edged out by group chat as the preferred method of communication. The majority of the platforms used are commercial and closed source, but there is one project that is working to change that. Zulip is a project that aims to redefine how effective teams communicate and it is already gaining ground. This week Tim Abbott shares the story of how Zulip got started, how it is built, and why you might want to start using it.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tim Abbott about Zulip, a powerful open source group chat platform</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Zulip and what was the initial inspiration for creating it?
<ul>
<li>Where does the name come from?</li>
</ul>

<p></li><br>
<li>My understanding is that the project was initally intended to be a commercial product. Can you share some of the history of the acquisition by Dropbox and the journey to open sourcing it?</li><br>
<li>How has your experience at Dropbox influenced the evolution and implementation of the Zulip project?</li><br>
<li>There are a large number of group chat platforms available, both commercial and open source. How does Zulip differentiate itself from other options such as Slack or Mattermost?</li><br>
<li>Typically real-time communication is difficult to achieve in a WSGI application. How is Zulip architected to allow for interactive communication?</li><br>
<li>What have been the most challenging aspects of building and maintaining the Zulip project?</li><br>
<li>What is involved in installing and running a Zulip server?</p>

<ul>
<li>For a large installation, what are the options for scaling it out to handle greater load?</li>
</ul>

<p></li><br>
<li>There is a large and healthy community that has built up around the Zulip project. What are some of the methods that you and others have used to foster that growth and engagement?</li><br>
<li>What has been the most unexpected aspect of working on Zulip, whether technically or in terms of the community around it?</li><br>
<li>What do you have planned for the future of Zulip?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Zulip
<ul>
<li><a href="https://chat.zulip.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chat</a></li>
<li><a href="https://twitter.com/zuliposs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@zuliposs</a> on Twitter</li>
</ul>

<p></li><br>
<li>Tim</p>

<ul>
<li><a href="https://twitter.com/tabbott3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tabbott3</a> on Twitter</li>
<li><a href="http://web.mit.edu/tabbott/www/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2upp1vB?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lego Mindstorms EV3</a></li>
</ul>

<p></li><br>
<li>Tim</p>

<ul>
<li><a href="http://amzn.to/2uudqMv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Checklist Manifesto</a></li>
<li><a href="http://recipes.timandalya.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tim&#8217;s Recipe Wiki</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://zulip.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zulip</a></li>
<li><a href="http://www.ksplice.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ksplice</a></li>
<li><a href="https://electron.atom.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Electron</a></li>
<li><a href="https://facebook.github.io/react-native/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React Native</a></li>
<li><a href="https://ifttt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IFTTT</a></li>
<li><a href="https://zapier.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zapier</a></li>
<li><a href="https://www.getzephyr.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zephyr</a></li>
<li><a href="http://www.barnowl.co.za/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Barn Owl</a></li>
<li><a href="http://www.mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a></li>
<li><a href="http://www.tornadoweb.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tornado</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="http://zulip.readthedocs.io/en/latest/events-system.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zulip Tornado Documentation</a></li>
<li><a href="https://www.mysql.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MySQL</a></li>
<li><a href="https://www.postgresql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostGreSQL</a></li>
<li><a href="https://www.elastic.co/products/elasticsearch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ElasticSearch</a></li>
<li><a href="https://www.codetriage.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code Triage</a></li>
<li><a href="https://en.wikipedia.org/wiki/Emoji?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Emoji</a></li>
<li><a href="https://chat.podcastinit.com/register/podcastinit/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast.&#95;&#95;init&#95;&#95; Zulip Chat</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fzulip-chat-with-tim-abbott-episode-118%2F&amp;action_name=Zulip+Chat+with+Tim+Abbott+-+Episode+118&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-07-16t01:39:25+00:00-799bbd2e958c04d</guid>
      <link>https://www.pythonpodcast.com/zulip-chat-with-tim-abbott-episode-118</link>
      <pubDate>Sun, 16 Jul 2017 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="87.31" duration="10.26">A little bit of sort of background, you know, I've previously sort of spent a lot of time doing startups. So I was, the CTO of Ksplice, which was technology for, updating and running Linux kernel without rebooting.</podcast:soundbite>
      <podcast:soundbite startTime="2163.09" duration="20.84">So, you know, I think this is a really important topic and and there's probably like 10 topics in this space that I could sort of talk about for for for, like, an hour. So, but but sort of at a high level, I I think, you know, if you're you're you're building an open source project and you want it to be like a a real healthy, you know, open source community, you really need to optimize the project for the ease of contribution.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:00:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Zulip Chat with Tim Abbott</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>118</itunes:episode>
      <podcast:episode>118</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252995242453072f76fb59-c3d6-4099-b3f8-2b3b471800dav1.mp3" length="58253346" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252995242453072f76fb59-c3d6-4099-b3f8-2b3b471800dav1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_2f76fb59-c3d6-4099-b3f8-2b3b471800da638558796302220635.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2f76fb59-c3d6-4099-b3f8-2b3b471800da638558796299152095.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2f76fb59-c3d6-4099-b3f8-2b3b471800da638558796297453769.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>NAPALM with David Barroso and Mircea Ulinic</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Routers and switches are the stitches in the invisible fabric of the internet which we all rely on. Managing that hardware has traditionally been a very manual process, but the NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support) is helping to change that. This week David Barroso and Mircea Ulinic explain how Python is being used to make sure that you can watch those cat videos.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing David Barroso and Mircea Ulinic about NAPALM (Network Automation and Programmability Abstraction Layer with Multivendor support), the library for managing programmable network devices</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?
<ul>
<li>[david] 2012 trying to use django 1.4 to store data I had on confluence.</li>
<li>[mircea] August 2008, when I bought the Learning Python, Mark Lutz, 2nd edition</li>
</ul>

<p></li><br>
<li>Can you start by explaining what NAPALM is and the problem that you were solving when you started working on it?</p>

<ul>
<li>[david] trying to remove all the if vendor_a do this, elif vendor_b do this other thing instead</li>
<li>[mircea] only if I will feel there&#8217;s anything to add</li>
</ul>

<p></li><br>
<li>What led you to choose Python as the language for implementing it?</p>

<ul>
<li>[david] it&#8217;s what I knew best and vendors were starting to provide libraries to interact with their platforms so python seemed like a natural evolution as we could just provide an abstraction on top of those libraries that already existed.</li>
<li>[mircea] I didn&#8217;t implement NAPALM, I was fistly a user then contributor, now I&#8217;m one of the maintainers.</li>
</ul>

<p></li><br>
<li>When working with network equipment it is easy to apply the wrong settings and bring down a large number of systems or lock yourself out entirely. Are there any tools in NAPALM to help prevent this from happening?</p>

<ul>
<li>[david] We provide mechanisms to ensure proper peer reviewing; we let operators propose a configuration and get a diff. We have a rollback mechanism so if you detect an issue you can immediately rollback and we also added support to the autorollback feature some vendors have.</li>
</ul>

<p></li><br>
<li>How have you architected the library to allow for easy integration of new classes of network devices?</p>

<ul>
<li>[david] very simple architecture. Trying to avoid complex features like abstract classes, metaprogramming or decorators. Main reason is that I figured my main user base wasn&#8217;t going to be very python savvy so I wanted something simple. What I ended doing was simulating interfaces with with a base class that described the supported methods and how they were supposed to behave and an extensive testing framework that ensure the method signatures and the behaviors matched the expectations.</li>
</ul>

<p></li><br>
<li>Designing and building a consistent API for such a wide variety of hardware and software platforms is a daunting task. How do you determine the lowest common set of functionality that you are going to expose as part of the core library vs delegating to the underlying dependencies?</p>

<ul>
<li>[david] We don&#8217;t necessarily go with the lowest common denominator. Sometimes we try to emulate features. For example, if a platform doesn&#8217;t support atomic changes we might simulate it by trying to send the configuration as a block and rollback immediately. Obviously a feature likes this is clearly documented so people is aware that this might happen. What we try to avoid though is implementing things that are very specific to a single vendor. In any case the way it has worked so far falls into two categories:</li>
</ul>

<ol>
<li>configuration management. These are primitives like loading a candidate configuration for merging or replacing into the device, getting a diff back, commiting, discarding or rolling back configuration. These primitives were designed at the very begining of the project based on the netconf protocol and they have changed very little since then. When a primitive is not natively supported by a device we try to emulate it as with the atomicity example I gave before or we don&#8217;t implement it at all if it&#8217;s not possible.</li>
<li>The second category is what we call getters which are methods that retrieve information from the devices. Things like interface counters, bgp neighbors, etc. These are basically community driven. Someone opens an issue on github explaining the data that he or she needs, we discuss it, we define a model and then we work on it. Not all getters are supported on all platforms. People mostly implements them as they need.<br />
Now there is a third category though. It is actually funny but I presented napalm for the first time a couple of years ago at NANOG64. It turns out the day after, at the same venue, Google was presenting Openconfig. Openconfig is an effort to design a common set of models to operate the network. So, for example, they have models for BGP neighbors, for interfaces, vlans, etc&#8230; Those models try to be vendor agnostic and you should, in theory, be able to use them to configure or to retrieve consistently information from any device. Problem is that, of course, vendors are slow implementing them, they don&#8217;t even have plans for all of them or for all the platforms, etc&#8230; So the sad truth is that two years later support for Openconfig is extremely limited. However, in the last few months I have been working on integrating napalm with opencofig so now we have a beta version of napalm where you can use python bindings that can translate native data from a device into an Openconfig object and viceversa. That has two direct implications:</p>
<ol>
<li>Now we are not only operating all vendors with the same tool but we are also operating them with the same data structures. This means that I can get the configuration of a cisco device and translate it directly to junos configuration.</li>
<li>It also means that because now we are dealing with objects, I can do smart things like having an object that represents the candidate configuration, anotther object that represents a certain running state and simulate merges myself without having to rely on the device itself. I can even generate the exact commands to do the merge without having to rely on them doing the actual merge. I can also simulate the changes offline, I don&#8217;t even need access to the device anymore, I could be builting the objects from a backup or from the resulting configuration after merging different branches on github.</li>
</ol>

<p></li><br>
</ol><br>
</li><br>
<li>I have seen a few posts recently discussing the use of NAPALM in conjunction with configuration management platforms such as SaltStack and Ansible. What are the tradeoffs of using the library directly vs integrated with these other tools?</p>

<ul>
<li>[david] napalm is a library in the strict sense. There is no business logic, no workflows, very little tooling embedded. Instead we try to implement as many primitives and be as flexible as possible so other tools can leverage on napalm to implement their workflows. What this means is that using napalm directly is great if you are writing a script to do backups or to solve a specific issue but if you want to build a whole framework for event driven automation or a configuration management system you are probably better off leveraging on napalm integration with salt/ansible/st2.</li>
</ul>

<p></li><br>
<li>I noticed in the documentation that merging configuration is supported. How do you manage conflicts and priority of nested data structures?</p>

<ul>
<li>[david] we try to make changes atomic. So if you make a change and trigger a conflict or you are missing some datastructure or some configuration is invalid configuration won&#8217;t be applied and the user will get an error. For platforms where changes can&#8217;t be atomic we try to apply the configuration changes in bulk and revert immediately if there is an error.</li>
</ul>

<p></li><br>
<li>How does declarative modeling of network devices differ from general purpose operating systems and what unique challenges do they pose?</p>

<ul>
<li>[david] lack of tooling like sed/awk/etc. Lots of state. Configuration is state itself and in most cases you can&#8217;t even reload it. Which means you have to type the exact commands to go from state a to state b. Like trying to configure the network stack of linux with only the iproute2 tooling available.</li>
</ul>

<p></li><br>
<li>What are the most technically challenging aspects of managing different network hardware programmatically?</p>

<ul>
<li>[david] Inconsistencies and buggy code. Not even inconsistencies across different platforms but across minor revisions of the same platforms. Small API changes that are not backwards compatible, small differences on output commands that break regular expressions and APIs that break every second call.</li>
</ul>

<p></li><br>
<li>What are some of the most interesting or unusual uses of NAPALM that you have seen?</p>

<ul>
<li>[david]</li>
</ul>

<ol>
<li>I have seen people replacing their SNMP based monitoring system with napalm.</li>
<li>I have built myself what you could call &#8220;immutable infrastructure for the network&#8221;. So for example, when you have to do a configuration change you don&#8217;t apply that configuration change. What you do instead is compile a full configuration for the device and fully reload the state of the device. That ensures you are always into a known state. So if a user would connect to the device and do a change outside the change control system because you are fully deploying state you can be certain that the manual change will be wipeout. So there is no way out of the automation.</li>
<li>We also have this <code>validate</code> functionality integrated into napalm. With this functionality you can define a desired state, for example certain BGP neighbors have to be up and I must be receiving N prefixes from them. Napalm can then read those rules, figure out which data to retrieve and validate the data retrieved complies so I know some people using this state validation instead of using the traditional times series type of monitoring where you keep retrieving data constantly and alerting when you reach certain thresholds. I guess you could call this test driven monitoring?</li>
</ol>

<ul>
<li>[mircea]</li>
</ul>

<ol>
<li>SNMP thing</li>
</ol>

<p></li><br>
<li>For someone who is interested in learning more about network management, what resources do you recommend?</p>

<ul>
<li>[david]</li>
</ul>

<ol>
<li>networktocode.com has some resources, labs, the slack community behing the organization is very active as well.</li>
<li>ipspace.com has some good resources as well.</li>
<li>pynet.twb-tech.com is also another great place to check for courses</li>
<li>o&#8217;reilly has a book on Network Programmability and Automation which I haven&#8217;t read but I know the authors are very good so I am confident the content will be of high quality.</li>
</ol>

<ul>
<li>[mircea]</li>
</ul>

<ol>
<li>I blog about NAPALM &amp; generally networking and network automation on my personal space: mirceaulinic.net</li>
<li>packetpushers.net</li>
</ol>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>David
<ul>
<li>@dbarrosop on <a href="https://linkedin.com/in/dbarrosop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a>, <a href="https://github.com/dbarrosop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a> and <a href="https://twitter.com/dbarrosop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://www.dravetech.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>

<p></li><br>
<li>Mircea</p>

<ul>
<li><a href="https://www.mirceaulinic.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li>@mirceaulinic on <a href="https://linkedin.com/in/mirceaulinic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a>, <a href="https://github.com/mirceaulinic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a> and <a href="https://twitter.com/mirceaulinic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
<li>NAPALM</p>

<ul>
<li><a href="https://twitter.com/napalm_auto?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@napalm_auto</a> on Twitter</li>
<li><a href="https://napalm.readthedocs.io/en/latest/index.html#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Documentation</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.ietf.org/rfc/rfc1925.txt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Twelve Networking Truths</a></li>
<li><a href="http://blog.erratasec.com/2012/06/falsehoods-programmers-believe-about.html#.WVt2x3WQxhE?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Falsehoods Programmers Believe About Networking</a></li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li><a href="http://www.thefearsaga.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The fear saga</a></li>
<li><a href="https://en.wikipedia.org/wiki/Virtual_reality?utm_source=rss&utm_medium=rss" target="_blank"…]]></description>
      <guid isPermaLink="false">podlove-2017-07-09t02:33:48+00:00-15e985815b18f09</guid>
      <link>https://www.pythonpodcast.com/napalm-with-david-barosso-and-mircea-ulinic-episode-117</link>
      <pubDate>Sun, 9 Jul 2017 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="415.95" duration="53.50">And I imagine that there is also networking devices in your infrastructure that don't have any sort of programmability aspect to them. So does that pose a challenge when you're sort of architecting the overall network and trying to integrate the sort of Juniper and Arista switches and things like that with the more traditional just hardware based networking systems? Yeah. So there is a lot of, equipment out there, especially Cisco Ios. It's notorious for that, where the only thing you have is SSH and just plain text, which means that you end up with a lot of regular expressions everywhere. But the problem is not that you have to deal with regular expressions. The problem is that they may have, like, a minor release where they are supposedly just patching some minor bug and it turns out that some output may change as well and all of a sudden all your regular expression just broke.</podcast:soundbite>
      <podcast:soundbite startTime="221.35" duration="36.73">And so let's start by explaining what napalm is and the problem that you were solving when you first started working on it. So, David, I believe that, you were the original author. Is that correct? Or the original coauthor, at least? Yeah. That's that's correct. So if you take a look to most networks out there, like, they're usually comprised of multiple types of devices, like firewalls, load balancers, routers, switches. They also run, like, many different operating systems, depending on the vendor, depending on the platform. They may even have, different versions of that operating system.</podcast:soundbite>
      <podcast:soundbite startTime="1808.39" duration="38.51">So you can actually get the configuration from from, let's say, from Cisco and translate it into native configuration of something that Juniper or Arista may understand. That's actually quite quite powerful as you can start just replacing devices without that much complexity. Yeah. I imagine that would be interesting use case to be able to have 1 network switch or a piece of network hardware that you want to then replicate in either a new data center or just redundancy within your existing network and be able to say, just pull the configuration from 1 and load it onto the other, irrespective of what the actual underlying hardware and software systems are on it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:10</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>NAPALM with David Barroso and Mircea Ulinic</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>117</itunes:episode>
      <podcast:episode>117</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525318193942602c713c1b9-3eb5-4e19-8d02-d137cb589ac5v1.mp3" length="55877612" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525318193942602c713c1b9-3eb5-4e19-8d02-d137cb589ac5v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c713c1b9-3eb5-4e19-8d02-d137cb589ac5638558838443144374.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c713c1b9-3eb5-4e19-8d02-d137cb589ac5638558838437239748.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c713c1b9-3eb5-4e19-8d02-d137cb589ac5638558838435435159.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Automat State Machines with Glyph Lefkowitz</title>
      <description><![CDATA[<h3>Summary</h3>

<p>The venerable &#8216;if&#8217; statement is a cornerstone of program flow and busines logic, but sometimes it can grow unwieldy and lead to unmaintainable software. One alternative that can result in cleaner and easier to understand code is a state machine. This week Glyph explains how Automat was created and how it has been used to upgrade portions of the Twisted project.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Glyph about Automat, a library that provides self-service finite-state machines for the programmer on the go.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is a state machine and when might you want to use one?</li>
<li>There are a number of libraries available on PyPI that facilitate the creation of state machines. Why did you feel the need to build a new option and how does it differ from what was already available?</li>
<li>Why do you think developers fall into the trap of complicated conditional structures rather than reaching for a state machine?</li>
<li>For someone who wants to integrate Automat into their project how would they go about that and what are some of the gotchas that they should keep in mind?</li>
<li>What do the internals of Automat look like and how did you approach the overall design of the project?</li>
<li>What are some of the more difficult aspects of designing and implementing state machines properly?</li>
<li>What are some of the technical hurdles that you have been faced with in the process of building a library for implementing state machines?</li>
<li>What do you have planned for the future of Automat?</li>
<li>What are some of the most interesting use cases of Automat that you have seen?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="mailto:glyph@twistedmatrix.com">Email</a></li>
<li><a href="https://twitter.com/glyph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@glyph</a> on Twitter</li>
<li><a href="https://github.com/glyph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Glyph</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.homedepot.com/p/Commercial-Electric-3-Light-LED-White-RGB-Color-Changing-Puck-Light-Kit-21383NKIT-WH/206837266?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Commercial Electric color changing LED puck lights</a></li>
</ul>

<p></li><br>
<li>Glyph</p>

<ul>
<li><a href="https://www.omnigroup.com/omnifocus?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OmniFocus</a></li>
<li><a href="http://gettingthingsdone.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GTD</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://github.com/glyph/automat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automat</a></li>
<li><a href="https://www.pythonpodcast.com/episode-17-glyph-on-ethics-in-software/?utm_source=rss&utm_medium=rss">Glyph Interview About Software Ethics</a></li>
<li><a href="https://en.wikipedia.org/wiki/Finite-state_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Finite State Automaton</a></li>
<li><a href="https://en.wikipedia.org/wiki/Yacc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yacc</a></li>
<li><a href="https://www.gnu.org/software/bison/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bison</a></li>
<li><a href="https://github.com/westes/flex?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flex Parser Generator</a></li>
<li><a href="https://pypi.org/search/?q=state%20machine&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPI State Machine</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mealy_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pure Mealy Machine</a></li>
<li><a href="https://en.wikipedia.org/wiki/Moore_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moore Machine</a></li>
<li><a href="https://www.youtube.com/watch?v=S352lyPZP00&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mealy vs. Moore Machines</a></li>
<li><a href="https://en.wikipedia.org/wiki/Leaky_abstraction?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Leaky Abstraction</a>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Leaky_abstraction?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Law of Leaky Abstraction</a></li>
</ul>

<p></li><br>
<li><a href="http://twistedmatrix.com/trac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twisted</a></li><br>
<li><a href="https://docs.python.org/3/howto/descriptor.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Descriptor</a></li><br>
<li><a href="http://www.graphviz.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphViz</a></li><br>
<li><a href="https://hypothesis.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypothesis</a></li><br>
<li><a href="https://www.youtube.com/watch?v=MtHscXjWbVs&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Talk &#8211; TLS State Machine</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fautomat-state-machines-with-glyph-lefkowitz-episode-116%2F&amp;action_name=Automat+State+Machines+with+Glyph+Lefkowitz+-+Episode+116&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-07-02t02:47:46+00:00-dde955e4f451d3e</guid>
      <link>https://www.pythonpodcast.com/automat-state-machines-with-glyph-lefkowitz-episode-116</link>
      <pubDate>Sun, 2 Jul 2017 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="284.26" duration="19.80">So these different sort of types of state machines, deterministic finite state automata, are objects that have a state that have transitions between different states, inputs that can cause them to potentially change states, and outputs that are things that happen as a result of them changing states.</podcast:soundbite>
      <podcast:soundbite startTime="618.97" duration="19.43">Yeah. I can definitely see where being able to expose the internals of the state machine would very quickly lead to a leaky abstraction and cause people to take shortcuts and then, like you said, thereby sort of short circuit the capabilities that you're asking for in the state machine in the first place.</podcast:soundbite>
      <podcast:soundbite startTime="2164.54" duration="17.63">The first thing I should say is there's so much interesting stuff you can do in the area of testing and state machines that it's very easy to get intimidated and to think that it's this crazy rocket sciency domain. So the first thing that I would tell anyone who's gonna try to adopt automata and what they're gonna do for testing is just write regular unit tests.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Automat State Machines with Glyph Lefkowitz</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>116</itunes:episode>
      <podcast:episode>116</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304316970337b65affe5-dd7b-4cc6-8765-5ba9fedb0a9av1.mp3" length="47503914" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304316970337b65affe5-dd7b-4cc6-8765-5ba9fedb0a9av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b65affe5-dd7b-4cc6-8765-5ba9fedb0a9a638558808454332818.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b65affe5-dd7b-4cc6-8765-5ba9fedb0a9a638558808451760537.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b65affe5-dd7b-4cc6-8765-5ba9fedb0a9a638558808448956574.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Nuclear Engineering with Dr. Katy Huff</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Access to affordable and consistent electricity is one of the big challenges facing our modern society. Nuclear energy is one answer because of its reliable output and carbon-free operation. To make this energy accessible to a larger portion of the global population further reasearch and innovation in reactor design and fuel sources is necessary, and that is where Python can help. This week Dr. Katy Huff talks about the research that she is doing, the problems facing the nuclear industry, and how she uses Python to make it happen.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Dr. Katy Huff about using Python for nuclear engineering</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what nuclear engineering is and give some examples of current research in the field?</li>
<li>The most widely used and recognized form of nuclear plant is the light water reactor, which, to my understanding, is also the most susceptible to melt-downs and release of radioactive material carried by escaped steam. What are some of the reactor types that are currently being researched to improve safety and efficiency?</li>
<li>One of the major policy and logistics issues regarding nuclear power plants is the problem of how to handle spent fuel rods. What are some of the methods that are being researched to solve this problem?</li>
<li>In your PyCon presentation you mentioned the Cyclus and PyNE projects as tools that you use in your research. Can you provide a brief overview of each and explain how you use them?</li>
<li>What are some of the most pressing issues in nuclear engineering and how are you leveraging Python to help with addressing them?</li>
<li>How does open source software relate to open science, and how do they impact the impact the ways that research is performed?</li>
<li>What are some of the current or future developments in nuclear engineering that you are most excited about?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://katyhuff.github.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="http://twitter.com/katyhuff?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://arfc.npre.illinois.edu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Research</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.ryobitools.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ryobi Tools</a></li>
</ul>

<p></li><br>
<li>Katy</p>

<ul>
<li><a href="http://amzn.to/2s0VoR6?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Atomic Awakening</a></li>
<li><a href="http://amzn.to/2t0YhR3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Atomic Accidents</a></li>
<li><a href="http://amzn.to/2s5mFgv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Atomic Adventures</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Plasma_(physics)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plasma</a></li>
<li><a href="https://en.wikipedia.org/wiki/Nuclear_power?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nuclear Energy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Thorium?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thorium</a></li>
<li><a href="https://en.wikipedia.org/wiki/Uranium?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uranium</a></li>
<li><a href="https://en.wikipedia.org/wiki/Molten_salt_reactor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Molten Salt Reactor</a></li>
<li><a href="https://en.wikipedia.org/wiki/Spent_nuclear_fuel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spent fuel rods</a></li>
<li><a href="https://en.wikipedia.org/wiki/Yucca_Mountain_nuclear_waste_repository?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yucca Mountain</a></li>
<li><a href="https://en.wikipedia.org/wiki/Nuclear_reprocessing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nuclear Fuel Reprocessing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Sodium-cooled_fast_reactor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sodium Cooled Fast Reactor</a></li>
<li><a href="https://www.youtube.com/watch?v=kaGS4YXwciQ&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Keynote</a></li>
<li><a href="http://pyne.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyNE</a></li>
<li><a href="http://fuelcycle.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cyclus</a></li>
<li><a href="http://scopatz.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anthony Scopatz</a></li>
<li><a href="http://mooseframework.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moose Framework</a></li>
<li><a href="https://en.wikipedia.org/wiki/Partial_differential_equation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Partial Differential Equations</a></li>
<li><a href="https://en.wikipedia.org/wiki/Read–eval–print_loop?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">REPL (Read Eval Print Loop)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Stellarator?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stellarator</a></li>
<li><a href="https://en.wikipedia.org/wiki/Tokamak?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toroidal Fusion Device</a></li>
<li><a href="http://joss.theoj.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Journal of Open Source Software (JOSS)</a></li>
<li><a href="http://www.ans.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">American Nuclear Society</a></li>
<li><a href="https://www.nei.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NEI</a></li>
<li><a href="https://www.iaea.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IAEA</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-115-nuclear-engineering-with-katy-huff%2F&amp;action_name=Nuclear+Engineering+with+Dr.+Katy+Huff+-+Episode+115&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-06-24t14:25:15+00:00-d9cd81e1821f20c</guid>
      <link>https://www.pythonpodcast.com/episode-115-nuclear-engineering-with-katy-huff</link>
      <pubDate>Sat, 24 Jun 2017 14:00:00 +0000</pubDate>
      <podcast:soundbite startTime="433.91" duration="39.75">So there's this concern that, current reactors are aging out of their expected lifespan. And I love the way you said that because it's quite accurate. They are aging out of their expected lifespan. The lifespan, which is 60 years, the license is 60 years for a nuclear reactor. That life lifespan was determined well before we understood 60 years. There was no safety basis for I mean, there's no significant safety basis for that 60 years because we had no no running and operating experience with reactors when we set that limit. And so actually life lifetime extensions are entirely based on the appropriateness.</podcast:soundbite>
      <podcast:soundbite startTime="87.50" duration="45.17">So, nuclear engineering is generally the study of, nuclear fission and nuclear fusion. These have applications all over the map. Both energy, obviously, some weapons. There's some plasma applications. So in the context of more fusion type devices, there's applications related to plasma energy. And with plasmas, you can do a lot of things that are not just energy production, including etching materials or, many other things. That's not my area, but, you know, nuclear engineering sort of broadly includes all of these things. My focus is on nuclear energy, which, constitutes about 20% of the energy in the States.</podcast:soundbite>
      <podcast:soundbite startTime="1116.32" duration="34.55">So open science is really important in all science, just by nature of science needing to be transparent and peer reviewable. I feel this way and many people in nuclear feel this way. A lot of work in nuclear is performed computationally for obvious reasons. It's a complex process that requires like really detailed, a priori models, You know, and experiments can be expensive and difficult. So we try to validate experiments and do very high fidelity modeling simulation and in fact for this reason, nuclear is responsible for a lot of early computation.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:16</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Nuclear Engineering with Dr. Katy Huff</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>115</itunes:episode>
      <podcast:episode>115</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321449669077e89254cf-880b-4aa0-8756-edf6aa96a657v1.mp3" length="36750714" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321449669077e89254cf-880b-4aa0-8756-edf6aa96a657v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e89254cf-880b-4aa0-8756-edf6aa96a657638558844140978252.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e89254cf-880b-4aa0-8756-edf6aa96a657638558844138634601.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e89254cf-880b-4aa0-8756-edf6aa96a657638558844136431290.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Industrial Automation with Jonas Neubert</title>
      <description><![CDATA[<h3>Summary</h3>

<p>We all use items that are produced in factories, but do you ever stop to think about the code that powers that production? This week Jonas Neubert takes us behind the scenes and talks about the systems and software that power modern facilities, the development workflows, and how Python gets used to tie everything together.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jonas Neubert about using Python for industrial automation</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How did you get involved in factory automation?</li>
<li>What are some of the technical challenges that are unique to a factory environment and the physical computing needs associated with it?</li>
<li>When developing new capabilities for your factory, how do you manage proper testing of your software given the need to interoperate with the hardware?</li>
<li>Which languages are most frequently used for command and control of industrial systems and how does Python interface with them?</li>
<li>How do you manage the problem of interfacing with the various different protocols and data formats that are presented by the different hardware instruments?</li>
<li>In your PyCon presentation you commented on the fact that security in industrial automation systems is lacking. What are some of the most common issues that you have seen?
<ul>
<li>Why is it that security is such an issue in industrial systems?</li>
</ul>

<p></li><br>
<li>How are production releases of your software managed and how does it differ from other types of products such as web applications?</li><br>
<li>Aside from manufacturing facilities, what are some other types of environments or industries that require similar levels of hardware automation?</li><br>
<li>What are some of the most interesting or challenging projects that you have worked on?</li><br>
<li>What are some of the packages on PyPI that you find most useful in your day-to-day work?</li><br>
<li>For someone who wants to get involved in industrial automation what kind of experience should they have and what are some of the resources that you recommend?</li><br>
<li>What are some of the innovations in industrial automation that you are most excited about?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/jonemo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jonemo</a> on Twitter</li>
<li><a href="http://jonasneubert.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="http://www.tempoautomation.com/careers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jobs at Tempo Automation</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.opeth.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Opeth</a></li>
</ul>

<p></li><br>
<li>Jonas</p>

<ul>
<li><a href="https://youtube.com/pycon2017?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pycon 2017 Talks</a></li>
<li><a href="https://www.youtube.com/watch?v=3bZNhMcv4Y8&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eric Evenchick &#8211; Hacking Cars with Python</a></li>
<li><a href="https://www.youtube.com/watch?v=D-5V7s0GflU&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Building a wireless speedometer with MicroPython</a></li>
<li><a href="https://www.youtube.com/watch?v=rUUgLsspTZA&amp;t=4s&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python from space</a> by Katherine Scott</li>
<li><a href="https://www.youtube.com/watch?v=7m5JA3XaZ4k&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Łukasz Langa &#8211; Unicode what is the big deal</a></li>
<li><a href="https://www.youtube.com/watch?v=bx3NOoroV-M&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Morgan Wahl &#8211; Text is More Complicated Than You Think Comparing and Sorting Unicode</a></li>
<li><a href="https://theprepared.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Prepared Newsletter by Spencer Wright</a></li>
<li><a href="http://jonemo.github.io/neubertify/2017/04/16/california-zephyr/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Long Distance Amtrak rides!</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.tempoautomation.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tempo Automation</a></li>
<li><a href="https://en.wikipedia.org/wiki/WebOS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Palm webOS</a></li>
<li><a href="https://en.wikipedia.org/wiki/Infineon_Technologies?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Infinion Technologies</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dynamic_random-access_memory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DRAM</a></li>
<li><a href="https://en.wikipedia.org/wiki/Service-oriented_architecture?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Service Oriented Architecture</a></li>
<li><a href="https://en.wikipedia.org/wiki/Singleton_pattern?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Singleton</a></li>
<li><a href="https://en.wikipedia.org/wiki/Light_curtain?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Light Curtain</a></li>
<li><a href="http://www.kneat.com/2012/03/29/the-difference-between-a-fat-and-a-sat/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Factory Acceptance Testing</a></li>
<li><a href="http://www.kneat.com/2012/03/29/the-difference-between-a-fat-and-a-sat/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Site Acceptance Testing</a></li>
<li><a href="https://martinfowler.com/bliki/TestPyramid.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Testing Pyramid</a></li>
<li><a href="https://en.wikipedia.org/wiki/Protocol_analyzer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Protocol Analyzer</a></li>
<li><a href="https://en.wikipedia.org/wiki/Multimeter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Multimeter</a></li>
<li><a href="https://en.wikipedia.org/wiki/G-code?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GCode</a></li>
<li><a href="https://en.wikipedia.org/wiki/IEC_61131?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IEC-61131</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pascal</a></li>
<li><a href="https://en.wikipedia.org/wiki/Ladder_logic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ladder Logic</a></li>
<li><a href="https://en.wikipedia.org/wiki/OPC_Foundation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OPC Standards</a></li>
<li><a href="https://en.wikipedia.org/wiki/OPC_Data_Access?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OPC DA</a></li>
<li><a href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">C#</a></li>
<li><a href="https://en.wikipedia.org/wiki/Industrial_control_system?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Factory Control Systems</a></li>
<li><a href="https://en.wikipedia.org/wiki/Stuxnet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stuxnet</a></li>
<li><a href="https://www.welivesecurity.com/2017/06/12/industroyer-biggest-threat-industrial-control-systems-since-stuxnet/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Industroyer</a></li>
<li><a href="https://en.wikipedia.org/wiki/IEC_61850?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IEC 61850</a></li>
<li><a href="http://internetofthingsagenda.techtarget.com/definition/Industrial-Internet-of-Things-IIoT?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Industrial Internet of Things</a></li>
<li><a href="https://www.counsyl.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Counsyl</a></li>
<li><a href="https://pypi.python.org/pypi/pyserial?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PySerial</a></li>
<li><a href="https://pypi.python.org/pypi/factory_boy/2.8.1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FactoryBoy</a></li>
<li><a href="https://pypi.python.org/pypi/parameterized?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parameterized</a></li>
<li><a href="https://github.com/spulec/freezegun?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Freezegun</a></li>
<li><a href="https://docs.python.org/3/library/struct.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Struct</a></li>
<li><a href="https://docs.python.org/3/library/xmlrpc.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XMLRPC</a></li>
<li><a href="http://factorytoursusa.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Factory Tours</a></li>
<li><a href="https://www.sciencechannel.com/tv-shows/how-its-made/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How It&#8217;s Made</a></li>
<li><a href="https://www.mcmaster.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">McMaster.com</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mass_customization?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mass Customization</a></li>
<li><a href="https://en.wikipedia.org/wiki/List_of_life_sciences?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Life Sciences</a></li>
<li><a href="https://en.wikipedia.org/wiki/CRISPR?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CRISPR</a></li>
<li><a href="https://www.youtube.com/watch?v=9nN3ylYiHSw&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon &#8211; Reprogramming the human genome</a></li>
<li><a href="https://www.transcriptic.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transcriptic</a></li>
<li><a href="https://bionano.autodesk.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Autodesk Life Sciences</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-114-industrial-automation-with-jonas-neubert%2F&amp;action_name=Industrial+Automation+with+Jonas+Neubert+-+Episode+114&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-06-17t11:15:23+00:00-cf7e0e6b6b83582</guid>
      <link>https://www.pythonpodcast.com/episode-114-industrial-automation-with-jonas-neubert</link>
      <pubDate>Sun, 18 Jun 2017 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1515.38" duration="20.28">And in your Python presentation, you commented on the fact that security in industrial automation systems is generally fairly lacking, which particularly given the fact that a lot of these facilities are, as you mentioned, you know, potentially decades old in working with hardware and software that hasn't necessarily been updated since it was first installed.</podcast:soundbite>
      <podcast:soundbite startTime="53.20" duration="15.41">And today, I'm interviewing Jonas about using Python for industrial automation as a follow on from his talk at PyCon where he gave a wonderful presentation about using some Python libraries for being able to, control his mini factory that he brought on stage.</podcast:soundbite>
      <podcast:soundbite startTime="456.90" duration="18.95">Given that so many people who do work in software are dealing with these more ephemeral implementations of that software, what are some of the technical challenges that are unique to a factory in physical computing environment where you're actually interfacing directly with the hardware and the actions that it needs to take in three-dimensional space?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:02:07</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Industrial Automation with Jonas Neubert</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>114</itunes:episode>
      <podcast:episode>114</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530563550962300e32b06-bc1c-45c8-8ac9-6f5090d821d8v1.mp3" length="59660443" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530563550962300e32b06-bc1c-45c8-8ac9-6f5090d821d8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_00e32b06-bc1c-45c8-8ac9-6f5090d821d8638558814532660166.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00e32b06-bc1c-45c8-8ac9-6f5090d821d8638558814522101998.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00e32b06-bc1c-45c8-8ac9-6f5090d821d8638558814519700808.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Jedi Code Completion with David Halter</title>
      <description><![CDATA[<h3>Summary</h3>

<p>When you&#8217;re writing python code and your editor offers some suggestions, where does that suggestion come from? The most likely answer is Jedi! This week David Halter explains the history of how the Jedi auto completion library was created, how it works under the hood, and where he plans on taking it.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing David Halter about Jedi, an awesome autocompletion and static analysis library for Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what Jedi is and what problem you were trying to solve when you created it?
<ul>
<li>What is the story behind the name?</li>
</ul>

<p></li><br>
<li>While reading through the documentation I noticed that there is alpha support for linting with Jedi. Can you compare the linting approach and capabilities with those found in other tools such as pylint and flake8?</li><br>
<li>What does the internal architecture and design look like?</li><br>
<li>From the research that I did for the show it seems that, rather than use the AST to determine the structure of the code being completed you built your own parser and recursive evaluation of the other methods that you use for determining accurate completion?</p>

<ul>
<li>What was lacking in existing parsers that led you to build your own?</li>
<li>What are some of the difficulties that you have encountered building and maintaining the grammar definitions and higher level API for parsing multiple versions of Python, including the 2 vs 3 split?</li>
</ul>

<p></li><br>
<li>What are some of the biggest challenges associated with introspecting user code?</li><br>
<li>What are some of the ways that Jedi can be confounded by a user&#8217;s project?</li><br>
<li>What are some of the most difficult technical hurdles that you have been faced with while building Jedi?</li><br>
<li>What are some unusual or unexpected uses of Jedi that you have seen?</li><br>
<li>What do you have planned for the future of Jedi?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/davidhalter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">davidhalter</a> on GitHub</li>
<li><a href="https://twitter.com/jedidjah_ch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jedidjah_ch</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://linux.die.net/man/1/patch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Patch utility</a></li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li><a href="https://www.bearsdenmusic.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bears Den</a></li>
<li><a href="https://en.wikipedia.org/wiki/Association_football?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Soccer</a></li>
<li><a href="https://en.wikipedia.org/wiki/Singing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Singing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Dance?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dancing</a></li>
<li><a href="http://docopt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DocOpt</a></li>
<li><a href="https://www.openstack.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.cloudscale.ch/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloudscale.ch</a></li>
<li><a href="http://www.vim.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vim</a></li>
<li><a href="http://valloric.github.io/YouCompleteMe/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Youcompleteme</a></li>
<li><a href="https://github.com/Shougo/neocomplete.vim?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neocomplete</a></li>
<li><a href="https://github.com/PyCQA/pyflakes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyflakes</a></li>
<li><a href="https://github.com/PyCQA/pycodestyle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pycodestyle</a></li>
<li><a href="https://www.pylint.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pylint</a></li>
<li><a href="https://en.wikipedia.org/wiki/Compiler-compiler?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parser Generator</a></li>
<li><a href="https://www.tutorialspoint.com/compiler_design/compiler_design_error_recovery.htm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parser Error Recovery</a></li>
<li><a href="https://github.com/python/cpython/tree/master/Lib/lib2to3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">lib2to3</a></li>
<li><a href="https://docs.python.org/3/reference/grammar.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python grammar file</a></li>
<li><a href="https://en.wikipedia.org/wiki/Finite-state_machine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Finite state automata</a></li>
<li><a href="https://en.wikipedia.org/wiki/Type_inference?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Type inference</a></li>
<li><a href="https://github.com/google/yapf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">yapf</a></li>
<li><a href="https://docs.python.org/3/library/ast.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AST module</a></li>
<li><a href="http://www.mypy-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyPy</a></li>
<li><a href="https://ipython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-113-jedi-code-completion-with-david-halter%2F&amp;action_name=Jedi+Code+Completion+with+David+Halter+-+Episode+113&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-06-11t10:49:45+00:00-955a9a2a6cd2a8f</guid>
      <link>https://www.pythonpodcast.com/episode-113-jedi-code-completion-with-david-halter</link>
      <pubDate>Sun, 11 Jun 2017 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="160.81" duration="32.13">So how it started was very simple. When when I started working in in Python, I didn't really use an IDE. I used VIM and for VIM there wasn't really good auto completion. And I think still there, like, there's not a lot else in the Python world other than Jedi and PyCharm. And so I just thought, well, why wouldn't I kind of improve that state of the art?</podcast:soundbite>
      <podcast:soundbite startTime="1567.33" duration="55.63">I think there's a a small list of things that Cheddar just cannot understand at the moment and and some of it will not be possible in the future either. Like, some of some of the issues involve calls to locals and globals to those functions. Then there's like stuff like set, If you call set, there's obviously meta classes that are just impossible. Like set would be kind of possible maybe in the future, but it's really hard. And then there's a lot of binary code. I think that's of all of the things that I that I mentioned, like, that is the biggest issue that if you're using PyQ PyQ or I think or Pyside or whatever, like all those Python libraries that are that are written in c below, it's completions are just lacking because there's no way to really understand that code.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:56</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Jedi Code Completion with David Halter</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>113</itunes:episode>
      <podcast:episode>113</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532103645688200736dcb-4026-4d3f-b09b-e88b6b2aa8e9v1.mp3" length="41234396" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532103645688200736dcb-4026-4d3f-b09b-e88b6b2aa8e9v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_00736dcb-4026-4d3f-b09b-e88b6b2aa8e9638558842528296750.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00736dcb-4026-4d3f-b09b-e88b6b2aa8e9638558842525990697.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00736dcb-4026-4d3f-b09b-e88b6b2aa8e9638558842524109829.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Coconut with Evan Hubinger</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Functional programming is gaining in popularity as we move to an increasingly parallel world. Sometimes you want access to purely functional syntax and capabilities but you don&#8217;t want to have to learn an entirely new language. Coconut is here to help! This week Evan Hubinger explains how Coconut is a functional language that compiles to Python and can be mixed and matched with the rest of your program.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Evan Hubinger about Coconut, a functional language implemented as a superset of Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Coconut is and what problem you were trying to solve when you created it?
<ul>
<li>Where did the name come from?</li>
</ul>

<p></li><br>
<li>How is Coconut implemented and what does the compilation process for Coconut code look like?</li><br>
<li>How will I be able to debug my Python if I’m not the one writing it?</li><br>
<li>The documentation mentions that Coconut itself is compatible with both Python 2 and 3, are there any caveats to be aware of in terms of mixing in standard Python syntax?</li><br>
<li>Are there any performance optimizations that you have had to perform in order to make things like recursion and pattern matching work at reasonable speeds in the Python VM?</li><br>
<li>Which functional languages have you taken inspiration from during the creation of Coconut?</li><br>
<li>What are some of the most interesting or unexpected uses of Coconut that you have seen?</li><br>
<li>What are some resources that you recommend for people who are interested in learning more about functional programming?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Coconut
<ul>
<li><a href="http://coconut-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/evhub/coconut?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="http://coconut.readthedocs.io/en/master/HELP.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tutorial</a></li>
<li><a href="http://coconut.readthedocs.io/en/master/DOCS.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Documentation</a></li>
<li><a href="http://coconut.readthedocs.io/en/master/FAQ.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FAQ</a></li>
<li><a href="https://gitter.im/evhub/coconut?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chat room</a></li>
</ul>

<p></li><br>
<li>Evan</p>

<ul>
<li><a href="https://github.com/evhub?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://www.linkedin.com/in/ehubinger?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LinkedIn</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://docs.python.org/3.6/library/xml.etree.elementtree.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ElementTree</a></li>
</ul>

<p></li><br>
<li>Evan</p>

<ul>
<li><a href="http://pyparsing.wikispaces.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyparsing</a> is an awesome PyPI package you should check out</li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-112-coconut-with-evan-hubinger%2F&amp;action_name=Coconut+with+Evan+Hubinger+-+Episode+112&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-06-04t00:57:09+00:00-22e20b331e9eb14</guid>
      <link>https://www.pythonpodcast.com/episode-112-coconut-with-evan-hubinger</link>
      <pubDate>Sun, 4 Jun 2017 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="623.44" duration="35.76">And are there any sort of performance optimizations that you've had to make in the compilation step for things like tail call recursion and pattern matching because I know that in a lot of purely functional language implementations and run times, There are some pretty heavy optimizations in the actual compiler or in the VM that will account for those particularly functional capabilities that are necessarily present in Python. So I'm just curious, what the overall runtime performance and overhead looks like for those, and if there are any tweaks or tricks that you came across in order to make those run a bit faster in in the actual execution step.</podcast:soundbite>
      <podcast:soundbite startTime="129.06" duration="27.82">Coconut is a functional programming language that compiles to Python. So originally, like I was saying, you know, I got into functional programming and I wanted to be able to do functional programming in Python. There's a lot of stuff that you can do just straight away in Python. Python's got great support for higher order functions. Python's got great support for all of these functional programming concepts, it's got Lambda's, but there's a lot of stuff that's still, it doesn't quite work coming from something like Haskell.</podcast:soundbite>
      <podcast:soundbite startTime="1645.53" duration="24.63">And it's not every day that somebody decides to just start implementing their own language even if it is, targeting a sort of battle tested run time. So I'm wondering where you've got where where you got the background and the inspiration and motivation to decide to to go ahead and actually proceed with a project as ambitious as Coconut and implement your own language implement and write your own language implementation?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:33:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Coconut with Evan Hubinger</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>112</itunes:episode>
      <podcast:episode>112</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253225387152527e3a960b-0bb1-4cf7-b20a-ff79b99245fev1.mp3" length="32193462" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253225387152527e3a960b-0bb1-4cf7-b20a-ff79b99245fev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7e3a960b-0bb1-4cf7-b20a-ff79b99245fe638558848981449856.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7e3a960b-0bb1-4cf7-b20a-ff79b99245fe638558848978721041.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7e3a960b-0bb1-4cf7-b20a-ff79b99245fe638558848976654688.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Cauldron with Scott Ernst</title>
      <description><![CDATA[<h3>Summary</h3>

<p>The notebook format that has been exemplified by the IPython/Jupyter project has gained in popularity among data scientists. While the existing formats have proven their value, they are still susceptible with difficulties in collaboration and maintainability. Scott Ernst created the Cauldron notebook to be testable, production ready, and friendly to version control. This week we explore the capabilities, use cases, and architecture of Cauldron and how you can start using it today!</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Scott Ernst about Cauldron, a new notebook format built with software engineering best practices in mind.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining what Cauldron is and what problem you were trying to solve when you created it?</li>
<li>In the documentation it mentions that you can use any editor for creating the content of the notebook. Can you describe a typical workflow of authoring the various files and cells and viewing the output?</li>
<li>How does Cauldron compare to the Jupyter notebook format and what factors would lead someone to choose one over the other?</li>
<li>Does Cauldron support running languages other than Python? If not then what would be involved in adding that capability?</li>
<li>Cauldron notebooks support unit tests of individual cells. How does that process work and what are the limitations?</li>
<li>The option for running the notebook in the context of a task workflow tool appears to be a powerful capability. What are some of the considerations that are necessary when writing a notebook to be run in that manner?</li>
<li>What are some of the most interesting or unexpected projects that you have seen people using Cauldron for?</li>
<li>What do you have planned for the future of Cauldron?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/swernst?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@swernst</a> on Twitter</li>
<li><a href="http://www.scott-ernst.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2qrjvnf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tiffany Aching Adventures</a></li>
</ul>

<p></li><br>
<li>Scott</p>

<ul>
<li><a href="http://events.linuxfoundation.org/events/apache-big-data-north-america?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Big Data Conference</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://wheniwork.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">When I Work</a></li>
<li><a href="https://www.pythonpodcast.com/episode-10-brian-granger-and-fernando-perez-of-the-ipython-project/?utm_source=rss&utm_medium=rss">IPython Interview</a></li>
<li><a href="http://spark.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark</a></li>
<li><a href="https://rpy2.bitbucket.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">R2Py</a></li>
<li>Bokeh
<ul>
<li><a href="http://bokeh.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.pythonpodcast.com/episode-22-bryan-van-de-ven-on-bokeh/?utm_source=rss&utm_medium=rss">Podcast.<strong>init</strong> Interview</a></li>
</ul>

<p></li><br>
<li><a href="https://github.com/spotify/luigi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Luigi</a></li><br>
<li>Airflow</p>

<ul>
<li><a href="https://airflow.incubator.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://airflow.incubator.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast.<strong>init</strong> Interview</a></li>
</ul>

<p></li><br>
<li><a href="http://www.livescience.com/3467-digital-paleontology-reveals-dinosaur-details.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Digital Paleontology</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/A16_motorway_(Switzerland)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A16 Project</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-111-cauldron-notebook-with-scott-ernst%2F&amp;action_name=Cauldron+with+Scott+Ernst+-+Episode+111&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-05-28t02:55:34+00:00-2da68c56cf5beb8</guid>
      <link>https://www.pythonpodcast.com/episode-111-cauldron-notebook-with-scott-ernst</link>
      <pubDate>Sun, 28 May 2017 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="749.36" duration="33.91">I'm resistant to that at the moment. And the reason for that is I think when you try to generalize it to all languages, you spend a lot of time doing that generalization, and you give up a lot of the optimizations that you have if you focus on a single language. And so, like, I don't Calder doesn't even support Python 2. I didn't I didn't even wanna try to support the legacy aspect of that. I, like I'm I picked 35, and I said, okay. I'm gonna start 35, and I'm gonna support everything going forward. And I did that so that I could take advantage of, like, all of the stuff that Python 3 5 forward has to offer.</podcast:soundbite>
      <podcast:soundbite startTime="1602.45" duration="30.26">So I think that some of those things that change are you really wanna think about the kind of you think about your notebook in terms of it having inputs and outputs. And if you're working as part of a a Luigi Airflow kinda task data pipeline, then unless it's a self contained piece, it's gonna have to pull those inputs from somewhere, and it's gonna have to deliver those output somewhere else. Right? So it's it's not going to be a completely self contained notebook by itself. It it has to it has to probably interact with with both the input and the output.</podcast:soundbite>
      <podcast:soundbite startTime="185.57" duration="29.88">Yeah. So the way you do data science and data analysis, I mean, there's a lot of coding involved, but it it just doesn't have the same kind of process that you'd you'd have when you're trying to build an app. And so the idea of a notebook and kind of notebook style editing where you can kind of flexibly change things and rerun them and change them and rerun them in real time as you're going through kind of has taken off in the data science space. That's kind of what is is is a primary tool for that.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:37:52</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Cauldron with Scott Ernst</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>111</itunes:episode>
      <podcast:episode>111</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316236844676bd660ead-76f9-4b23-b3c7-b587d88c9e59v1.mp3" length="36364807" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316236844676bd660ead-76f9-4b23-b3c7-b587d88c9e59v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_bd660ead-76f9-4b23-b3c7-b587d88c9e59638558831671339977.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bd660ead-76f9-4b23-b3c7-b587d88c9e59638558831668022305.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bd660ead-76f9-4b23-b3c7-b587d88c9e59638558831665998736.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Tech Debt and Refactoring at Yelp! with Andrew Mason</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Healthy code makes for happy coders, and there are many ways to measure the health of a project. This week Andrew Mason talks about the Undebt project from Yelp!, as well as some of the other tools and practices that have been developed to make sure that the balance on their technical debt card stays low. Give it a listen to learn how and why to measure and address the painful parts of your software.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Andrew Mason about technical debt and refactoring with Undebt.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How do you define technical debt and why is it an important aspect of a project to keep track of?</li>
<li>How would you characterize refactoring in general and when you might want to do it?</li>
<li>What is Undebt and what was the problem that you were facing at Yelp when it was created?</li>
<li>For someone who wants to get started with using Undebt what does that process look like and how does it work under the covers?</li>
<li>What are some of the other tools and techniques available for refactoring Python code and how do they differ from what is possible in Undebt?</li>
<li>What are some of the other tools and methods that you use to maintain the overall health of your codebase?</li>
<li>What are some of the limitations and edge cases that you have experiemced working with Undebt?</li>
<li>It is often a difficult balancing act when working in a team to determine how much time to spend paying down technical debt and building tools that will act as force multipliers vs doing feature work that will be visible to end-users. In your experience, what are some ways to manage that tension?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Andrew
<ul>
<li><a href="https://github.com/ajm188?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://fixedpoint.xyz/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/andrew_mason1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@andrew_mason1</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2p9d1er?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuous Delivery</a> by Jez Humble and David Farley</li>
</ul>

<p></li><br>
<li>Andrew</p>

<ul>
<li><a href="https://github.com/google/xi-editor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XI Editor</a></li>
<li><a href="http://amzn.to/2rz86mj?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Circle</a> by David Eggers</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://martinfowler.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Martin Fowler</a></li>
<li><a href="https://sites.google.com/site/unclebobconsultingllc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">&#8220;Uncle&#8221; Bob Martin</a></li>
<li><a href="https://github.com/Yelp/git-code-debt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">git-code-debt</a></li>
<li><a href="https://github.com/Yelp/undebt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Undebt</a></li>
<li><a href="http://pyparsing.wikispaces.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyParsing</a></li>
<li><a href="https://www.pythonpodcast.com/episode-95-parsing-and-parsers-with-dave-beazley-and-erik-rose/?utm_source=rss&utm_medium=rss">Podcast.<strong>init</strong> Episode About Parsing</a></li>
<li><a href="https://github.com/python-rope/rope?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rope</a></li>
<li><a href="http://pre-commit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pre-Commit</a></li>
<li><a href="https://www.pylint.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyLint</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Ftech-debt-and-refactoring-at-yelp-with-andrew-mason-episode-110%2F&amp;action_name=Tech+Debt+and+Refactoring+at+Yelp%21+with+Andrew+Mason+-+Episode+110&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-05-19t14:10:10+00:00-e873705e6424d5a</guid>
      <link>https://www.pythonpodcast.com/tech-debt-and-refactoring-at-yelp-with-andrew-mason-episode-110</link>
      <pubDate>Sat, 20 May 2017 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="902.30" duration="37.78">And so beyond just doing things like replacing a print statement into a print function, is it also used occasionally for, changing method signatures, for instance? Mhmm. Yep. So you would you could you could do something like that. You would define 1 grammar to match the function definition and change it. Actually, I think it would be easier to just go in manually and change the actual function definition and then write a grammar to match every call to that function and update its its signature accordingly.</podcast:soundbite>
      <podcast:soundbite startTime="1840.25" duration="27.12">So we've covered a fair bit of ground in a few different areas of maintaining the health of a code base. Are there any other topics that you think we should cover before we start to close out the show? I think we're pretty much good. I wanted to talk about pre commit. It it could for other other tools about code health, we talked about pre commit. We talked about get code debt. Yeah. The those those are our bread and butter.</podcast:soundbite>
      <podcast:soundbite startTime="114.32" duration="56.52">So I would say that technical debt is any technical decision that you made in the past that is getting in the way of developing new things now. And I think that's different than what a lot of other common definitions are because you often see, like, oh, bad code or, like, poorly written code, code that's hard to understand. But that always implies some sort of malice or, like, incompetence, and I don't think that that is fair because you can make a perfectly correct decision given everything that you know now, and you can learn new things later, or, like, the world can change out from under you, and that would invalidate a previous decision and make a previously correct choice incorrect.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:34:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Tech Debt and Refactoring at Yelp! with Andrew Mason</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>110</itunes:episode>
      <podcast:episode>110</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300351072283f9f97de0-5790-4f5e-9d00-375d61ee1c34v1.mp3" length="25006320" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300351072283f9f97de0-5790-4f5e-9d00-375d61ee1c34v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f9f97de0-5790-4f5e-9d00-375d61ee1c34638558798968578134.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f9f97de0-5790-4f5e-9d00-375d61ee1c34638558798966236998.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f9f97de0-5790-4f5e-9d00-375d61ee1c34638558798961955987.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>LBRY with Jeremy Kauffman</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Content discovery and delivery and how it works in the digital realm is one of the most critical pieces of our modern economy. The blockchain is one of the most disruptive and transformative technologies to arrive in recent years. This week Jeremy Kauffman explains how the company and platform of LBRY are combining the two in an attempt to redefine how content creators and consumers interact by creating a new distributed marketplace for all kinds of media.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jeremy Kaufman about LBRY, a new marketplace for media built on peer to peer storage and blockchain technologies.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is LBRY and how did the idea for it get started?</li>
<li>What, if any, mechanisms are there for content owners to address piracy?</li>
<li>Is the LBRY blockchain purpose built for the protocol and application or is it using something like Ethereum under the covers?</li>
<li>In order to support a large scale distributed marketplace, the crypto coin that you are using will need to be able to support large transaction volumes so how have you architected it in order to achieve that capability?</li>
<li>What technologies are you leveraging to facilitate the content distribution mechanism?</li>
<li>One of the current problems with Bitcoin mining is that as the complexity of the proofs has increased and dedicated operations have moved to ASICs it has become less feasible for an individual to take part. Is there any provision for that situation built into the LBRY blockchain or does it not matter due to the capabilities for individual users to earn coins by participating as part of the storage network?</li>
<li>What led to the decision to use Python for the initial implementation?</li>
<li>For people who are participating in the LBRY network, what is the mechanism for them to convert their earned LBC into fiat currency?</li>
<li>How much of the overall LBRY stack is using Python and what other languages are you taking advantage of?</li>
<li>What is the business plan for LBRY the company and what do you have planned for the future of LBRY?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Jeremy
<ul>
<li><a href="https://twitter.com/jeremykauffman?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jeremykauffman</a> on Twitter</li>
<li><a href="mailto:jeremy@lbry.io">Email</a></li>
</ul>

<p></li><br>
<li>LBRY</p>

<ul>
<li><a href="https://lbry.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/LBRYio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@LBRYio</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2pKExMx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neurotribes</a></li>
</ul>

<p></li><br>
<li>Jeremy</p>

<ul>
<li><a href="http://digitalcommons.law.yale.edu/cgi/viewcontent.cgi?article=2825&amp;context=fss_papers&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Crystals and Mud in Property Law</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://lbry.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LBRY</a></li>
<li><a href="http://www.bittorrent.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BitTorrent</a></li>
<li><a href="https://bitcoin.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BitCoin</a></li>
<li><a href="https://en.wikipedia.org/wiki/Blockchain?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blockchain</a></li>
<li><a href="https://en.wikipedia.org/wiki/Distributed_hash_table?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Distributed Hash Tables</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-109-lbry-with-jeremy-kauffman%2F&amp;action_name=LBRY+with+Jeremy+Kauffman+-+Episode+109&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-05-14t03:59:39+00:00-d34b517c0f021d2</guid>
      <link>https://www.pythonpodcast.com/episode-109-lbry-with-jeremy-kauffman</link>
      <pubDate>Sun, 14 May 2017 04:00:00 +0000</pubDate>
      <podcast:soundbite startTime="222.98" duration="27.89">So the idea for it. The the idea that, you know, no 1 really has original ideas. Everyone just, like, combines ideas and tweaks them a little bit and so on and just it's just layers and layers of this stuff. It's very much that. Right? Like, so library is an original idea in the sense that this combination of things, I don't think, has existed before, at least not in this way. But I'd say, actually, I think definitely not in this way. But at the same time, it's basically a combination of a couple of different things. 1 of which was absolutely I I've been a fan of of peer to peer and distributed technologies for a long time.</podcast:soundbite>
      <podcast:soundbite startTime="96.58" duration="23.97">So Python is Python is the language that we use, to to provide our distributed network for, the daemon layer of library. I started using Python myself in probably I was thinking it's my either my junior or senior year of college, which would have been, like, 2006, 2007. I was a computer science and and physics student at RPI in upstate New York.</podcast:soundbite>
      <podcast:soundbite startTime="59.63" duration="28.99">So, Jeremy, could you please introduce yourself? That's right. I'm Jeremy Kaufman, the CEO of LBRY. And when forced to describe LBRY in 1 sentence, well, if I'm talking to my grandmother, I say it's like a community controlled YouTube. I guess my grandmother does know what YouTube is. But if I'm, gonna explain it to your audience, I would say it is an open source protocol providing decentralized digital content discovery, distribution, and access or purchase.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:40</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>LBRY with Jeremy Kauffman</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>109</itunes:episode>
      <podcast:episode>109</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530576700331598ff4f54-1392-409e-b970-72862570caf6v1.mp3" length="29275802" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530576700331598ff4f54-1392-409e-b970-72862570caf6v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_98ff4f54-1392-409e-b970-72862570caf6638558815014264191.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/98ff4f54-1392-409e-b970-72862570caf6638558815011783010.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/98ff4f54-1392-409e-b970-72862570caf6638558815009733616.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Python Goes To The Movies with Dhruv Govil</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Movies are magic, and Python is part of what makes that magic possible. We go behind the curtain this week with Dhruv Govil to learn about how Python gets used to bring a movie from concept to completion. He shares the story of how he got started in film, the tools that he uses day to day, and some resources for further learning.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and this week I am joined by Dhruv Govil to talk about how Python is used for making movies.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How did you get started in the film-making business?</li>
<li>What are some of the ways that Python is used in the process of bringing a movie to completion?</li>
<li>How much of the overall pipeline processing happens in Python vs just being used as a means of wiring together other programs.</li>
<li>How much of the code that gets written is reusable between different projects?</li>
<li>What is involved in testing data assets when they are submitted to the pipeline for the open format conversion process?</li>
<li>What are some of the libraries that you have found to be most useful in your day-to-day work?</li>
<li>Why do you think that Python is so widely used in the film industry and are there any other languages that you see being used in a similar manner?</li>
<li>What are some of the areas where Python is used that you were most surprised by?</li>
<li>Are there any portions of the process where you would like to be able to use Python but are unable due to performance or platform constraints?</li>
<li>What are some of the most interesting projects that you have worked on and which are you most proud of?</li>
<li>How does the work that is done by developers and technical contributors get reflected in the final credits?</li>
<li>For anyone who is interested in working in the film industry as a technical contributor what advice do you have?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Dhruv
<ul>
<li><a href="http://dgovil.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/DhruvGovil?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@DhruvGovil</a> on Twitter</li>
<li><a href="https://github.com/dgovil?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dgovil</a> on GitHub</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.mozilla.org/en-US/firefox/android/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Firefox on Android</a></li>
</ul>

<p></li><br>
<li>Dhruv</p>

<ul>
<li><a href="https://vr.google.com/earth/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Earth VR</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.udemy.com/python-for-maya/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Udemy: Python for MayaUdemy</a></li>
<li><a href="https://vfs.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vancouver Film School</a></li>
<li><a href="http://amzn.to/2pMYXWw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Guardians of the Galaxy</a></li>
<li><a href="http://amzn.to/2qz0dzI?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloudy w/ chance meatballs 2</a></li>
<li><a href="http://dgovil.com/blog/2016/11/30/python-for-feature-film/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog Post: Python For Feature Film</a></li>
<li><a href="https://www.riverbankcomputing.com/software/pyqt/intro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyQT</a></li>
<li><a href="https://wiki.qt.io/PySide?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PySide</a></li>
<li><a href="https://www.autodesk.com/products/maya/overview?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Autodesk Maya</a></li>
<li><a href="https://www.foundry.com/products/katana?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Katana</a></li>
<li><a href="https://www.foundry.com/products/nuke?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nuke</a></li>
<li><a href="http://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a></li>
<li><a href="https://github.com/nerdvegas/rez?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rez</a></li>
<li><a href="http://www.alembic.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alembic Geometry Storage Format</a></li>
<li><a href="https://graphics.pixar.com/usd/docs/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pixar Universal Scene Description</a></li>
<li><a href="http://pyblish.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyblish</a></li>
<li><a href="http://opencolorio.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Color IO</a></li>
<li><a href="http://amzn.to/2pMUseD?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Edge of Tomorrow</a></li>
<li><a href="http://pyopengl.sourceforge.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOpenGL</a></li>
<li><a href="http://fabric-engine.github.io/Kraken/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kraken</a></li>
<li><a href="http://fabricengine.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fabric Engine</a></li>
<li><a href="http://www.siggraph.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SIGGRAPH Convention</a></li>
<li><a href="http://amzn.to/2pNnY6d?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ray Tracing In A Weekend</a></li>
<li><a href="http://amzn.to/2pg0CTK?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mathematics for Computer Graphics</a></li>
<li><a href="https://www.blender.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blender</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-108-python-goes-to-the-movies-with-dhruv-govil%2F&amp;action_name=Python+Goes+To+The+Movies+with+Dhruv+Govil+-+Episode+108&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-05-05t09:42:43+00:00-4e4c5af9532fb8d</guid>
      <link>https://www.pythonpodcast.com/episode-108-python-goes-to-the-movies-with-dhruv-govil</link>
      <pubDate>Sat, 6 May 2017 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="268.46" duration="33.82">We use Python pretty much from start to finish on movies. We use it to import all the footage from the cameras, and every process in between uses Python. And when we deliver to the clients, we are still using Python to package everything up. The key part of the studio workflow is called the pipeline, where we take data from 1 department, like animation, and transfer it to the next department down, like lighting and then compositing, that's pretty much completely written in Python.</podcast:soundbite>
      <podcast:soundbite startTime="608.84" duration="43.27">We're finally seeing a lot of code review in the studios, which is something I'm really grateful for, as opposed to just people doing the wild west, like checking in the code, releasing it to the wild, and then hoping it doesn't break a few hundred artists' workflow. And we're finally moving towards having version packages so that each project can control its release cycle. We're using projects like Res, which I'm not sure a lot of Python users are familiar with, but it's gaining popularity in the visual effects industry because it allows you to control your development and deployment versioning very easily inside of 1 package manager.</podcast:soundbite>
      <podcast:soundbite startTime="2085.30" duration="55.01">There's, there's definitely a lot of innovation going on. I guess when I say it's a slow moving industry, we are slow moving on our base layer of technology because we don't wanna change too much down there. But at the high level, we have a lot of innovation going on. Right now, something that's very popular is machine learning. I'm reading about other studios using machine learning to speed up simulations. Whereas earlier, we'd brute force a simulation where every vertice in a mesh in a geometry mesh would be calculated colliding with every other point on that geometry. We're now able to say, okay, the artist changed this tiny parameter. How will this actually affect it, and how can we reuse the data we've already generated in the most efficient way possible?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:42</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Python Goes To The Movies with Dhruv Govil</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>108</itunes:episode>
      <podcast:episode>108</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315835429686e15ff518-dacf-4e55-a68b-acfd84c8d2a1v1.mp3" length="33260510" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315835429686e15ff518-dacf-4e55-a68b-acfd84c8d2a1v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e15ff518-dacf-4e55-a68b-acfd84c8d2a1638558830217687557.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e15ff518-dacf-4e55-a68b-acfd84c8d2a1638558830214731020.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e15ff518-dacf-4e55-a68b-acfd84c8d2a1638558830212051127.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Scapy with Guillaume Valadon</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Network protocols are often inscrutable, but if you have an effective way to experiment with them then they expose a lot of power. This week Guillaume Valadon explains how Scapy can be used to inspect your network traffic, test the security of your systems, and develop brand new protocols, all in Python!</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Get a shirt and support the show! Go to https://teespring.com/podcastinit?utm_source=rss&utm_medium=rss and get a mug to go with it.</li>
<li>Your host as usual is Tobias Macey and today I am interviewing Guillaume Valadon about Scapy, the swiss army knife for packet manipulation in Python</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what Scapy is and what problem it was created to solve?</li>
<li>How has the decision to build Scapy in Python benefited the project?</li>
<li>How has the 10 year history of the project affected your ability to maintain and evolve the code?</li>
<li>How has the project evolved from the initial prototypes by Philippe Biondi through to its current incarnation as Scapy 2?</li>
<li>I understand that the project was originally hosted on Bitbucket and then moved to Github. What prompted that decision and how has it played out?</li>
<li>Who is the target audience and what are some of the primary intended use cases for Scapy?</li>
<li>How is the implementation of packet layering architected in order to allow for such flexibility and composability?</li>
<li>What are some of the most interesting and unexpected ways that you have seen Scapy used?</li>
<li>What protocols have been the most problematic to implement and maintain?</li>
<li>What have been some of the most challenging aspects of developing Scapy?</li>
<li>What do you have planned for the future of Scapy?</li>
</ul>

<h3>Contact Info</h3>

<ul>
<li>Guillaume
<ul>
<li><a href="http://guillaume.valadon.net/research/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="guillaume.valadon@lip6.fr">Email</a></li>
<li><a href="https://twitter.com/guedou?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@guedou</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://en.wikipedia.org/wiki/Buckethead?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Buckethead</a></li>
</ul>

<p></li><br>
<li>Guillaume</p>

<ul>
<li><a href="https://www.rust-lang.org/en-US/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rust</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://pythonhosted.org/six/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Six</a></li>
<li><a href="http://www.secdev.org/projects/UTscapy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">UTScapy</a></li>
<li><a href="https://codecov.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeCov</a></li>
<li><a href="https://www.appveyor.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Appveyor</a></li>
<li><a href="http://www.jython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jython</a></li>
<li><a href="https://www.openbsd.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenBSD</a></li>
<li><a href="https://micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a></li>
<li><a href="https://www.nsa.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NSA</a></li>
<li><a href="http://securityaffairs.co/wordpress/50586/cyber-crime/nsa-extrabacon-exploit.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Extra Bacon</a></li>
<li><a href="https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SNMP</a></li>
<li><a href="https://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASN.1</a></li>
<li><a href="https://en.wikipedia.org/wiki/X.509?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">X509</a></li>
<li><a href="https://en.wikipedia.org/wiki/Transport_Layer_Security?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TLS</a></li>
<li><a href="https://en.wikipedia.org/wiki/IPsec?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPSec</a></li>
<li><a href="https://en.wikipedia.org/wiki/Domain_Name_System?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DNS</a></li>
<li><a href="https://en.wikipedia.org/wiki/HTTP/2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HTTP2</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0008/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP8</a></li>
<li><a href="https://bitbucket.org/secdev/scapy3-prototype2/overview?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scapy 3</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-107-scapy-with-guillaume-valadon%2F&amp;action_name=Scapy+with+Guillaume+Valadon+-+Episode+107&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-04-29t00:05:58+00:00-47ae71c5a8ed77a</guid>
      <link>https://www.pythonpodcast.com/episode-107-scapy-with-guillaume-valadon</link>
      <pubDate>Sat, 29 Apr 2017 15:00:00 +0000</pubDate>
      <podcast:soundbite startTime="152.08" duration="33.22">So first of all, I'm just 1 of them Scapy met now. The other 1 being, Pierre Lale. And Skeppy was designed and implemented by Philippe Lionli, another French guy, in 2003. And the main goal of Skype is to ease, people live when it comes to playing with the network, which is sending packets to network, receiving them, and also implementing new protocols. So Scapy is really good at helping you and people to easily and quickly, implement a new protocol.</podcast:soundbite>
      <podcast:soundbite startTime="586.30" duration="37.81">Yeah. But I I think we won't move to Python 3 only. So we we'll try to achieve some some way to run both Python 2 and Python 3 on Scapy or with Scapy. And, yeah, we have, like, some a lot of things we need to clean up. For example, we have a lot of map functions in Scapy. It's like, more than 100, and we need to rewrite them using, these comprehensions. And that takes a lot of time. Of course, 223, the tool, help us to do that. But for some time, we need to fix, let's say, weird syntax ourselves. So it takes time to just to clean up the Scapy code and make it, let's say, more recent.</podcast:soundbite>
      <podcast:soundbite startTime="1248.80" duration="38.46">Also, I'm aware that some people managing, the root DNS servers are using Scapy to do some network test testing to build specific packets in order to step test the architecture. And finally, this 1 is kind of funny. I don't know if you know, but, NSA, got some, code leaked last year from, people called Shadow Brokers. And you have 1 exploit in there called, extra bacon, and this 1 is using Scappy in order to send, SNMP packets to some Cisco router in order to exploit them. So this 1 is kind of funny even NSA is using Skippy.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:31:59</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Scapy with Guillaume Valadon</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>107</itunes:episode>
      <podcast:episode>107</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530378217123996c6e2bb-e86f-456e-86e9-523b3ffb8977v1.mp3" length="23722065" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530378217123996c6e2bb-e86f-456e-86e9-523b3ffb8977v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_96c6e2bb-e86f-456e-86e9-523b3ffb8977638558806102143407.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/96c6e2bb-e86f-456e-86e9-523b3ffb8977638558806099816756.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/96c6e2bb-e86f-456e-86e9-523b3ffb8977638558806097648406.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>yt-project with Nathan Goldbaum and John Zuhone</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Astrophysics and cosmology are fields that require working with complex multidimensional data to simulate the workings of our universe. The yt project was created to make working with this data and providing useful visualizations easy and fun. This week Nathan Goldbaum and John Zuhone share the story of how yt got started, how it works, and how it is being used right now.</p>

<h3>Announcements</h3>

<ul>
<li>The <a href="https://odsc.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Data Science Conference</a> is coming to Boston May 3rd-5th. Get your ticket now so you don&#8217;t miss out on your chance to learn more about the state of the art for data science and data engineering.</li>
<li>Now you can get T-shirts, sweatshirts, mugs, and a tote bag to let the world know about Podcast.<strong>init</strong>, and you can support the show at the same time! Go to <a href="https://teespring.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">teespring.com/podcastinit</a> and load up!</li>
</ul>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Nathan Goldbaum and John Zuhone about the YT project for multi-dimensional data analysis.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is yt and how did it get started?</li>
<li>Where does the name come from?</li>
<li>How does yt compare to other projects such as AstroPy for astronomical data analysis?</li>
<li>What are the domains in which yt is most widely used?</li>
<li>One of the main use cases of yt is for visualizing multidimensional data. What are some of the design challenges in trying to represent such complicated domains via a visual model?</li>
<li>Some of the sample datasets for the examples are rather large. What are some of the biggest challenges associated with running analyses on such substantial amounts of information?</li>
<li>How has the project evolved and what are some of the biggest challenges that it is facing going forward?</li>
</ul>

<h3>Contact</h3>

<ul>
<li>John
<ul>
<li><a href="https://twitter.com/njgoldbaum?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@njgoldbaum</a> on Twitter</li>
</ul>

<p></li><br>
<li>Nathan</p>

<ul>
<li><a href="https://twitter.com/astrojaz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@astrojaz</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/nccgroup/Scout2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scout2</a></li>
</ul>

<p></li><br>
<li>Nathan</p>

<ul>
<li><a href="http://amzn.to/2owf0Xw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Expanse Novels</a></li>
</ul>

<p></li><br>
<li>John</p>

<ul>
<li><a href="https://code.visualstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual Studio Code</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://github.com/MatthewTurk/h5py?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HDF5Py</a></li>
<li><a href="https://github.com/MatthewTurk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matt Turk</a></li>
<li><a href="https://bitbucket.org/seismodome/yt-seismodome?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seismodome</a></li>
<li><a href="https://en.wikipedia.org/wiki/Computational_fluid_dynamics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Computational Fluid Dynamics</a></li>
<li>AstroPy
<ul>
<li><a href="http://www.astropy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.pythonpodcast.com/episode-32-erik-tollerud-on-astropy/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>

<p></li><br>
<li>SymPy</p>

<ul>
<li><a href="http://www.sympy.org/en/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.pythonpodcast.com/episode-42-sympy-with-aaron-meurer/?utm_source=rss&utm_medium=rss">Podcast Interview</a></li>
</ul>

<p></li><br>
<li><a href="https://en.wikipedia.org/wiki/Magnetohydrodynamics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magnetohydrodynamics</a></li><br>
<li><a href="http://laplace.physics.ubc.ca/People/msnajdr/HYDRO/relat-hydro.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numerical Relativistic Hydrodynamics</a></li><br>
<li><a href="http://mpi4py.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MPI4Py</a></li><br>
<li><a href="https://matplotlib.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matplotlib</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-106-yt-project-with-nathan-goldbaum-and-john-zuhone%2F&amp;action_name=yt-project+with+Nathan+Goldbaum+and+John+Zuhone+-+Episode+106&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-04-22t09:56:15+00:00-26dd0d30e4dfc4a</guid>
      <link>https://www.pythonpodcast.com/episode-106-yt-project-with-nathan-goldbaum-and-john-zuhone</link>
      <pubDate>Sat, 22 Apr 2017 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1105.30" duration="32.21">So there's sort of so so the the repo is sort of split into the sort of core data structures, the thing that represents the dataset itself. So that's that's a thing in our documentation we refer to as ds usually. Ds equals yt.load some some path to some dataset so that this is like an op a Python object that conceptually represents the dataset and then you do things with that dataset object in order to to access the data that that it represents or or do things with it. So there's sort of that and then all the things that hang off of it and then there's then there's the the front ends.</podcast:soundbite>
      <podcast:soundbite startTime="409.24" duration="32.23">I'll make a comment about that. So in astronomy, there's a lot of roll your own type attitude where we've got this as Nathan was talking about, we have these complex datasets, and, you know, they're often in very common file formats. Like, 1, file format is hdf5 that's used a lot. And so there are some industry standards in terms of that, but when it get to when people decide how they want to read that data, it's very much, you know, they write something on their own, and they just kind of, you know, special purpose it for whatever purpose they were thinking of when they're like, okay.</podcast:soundbite>
      <podcast:soundbite startTime="185.72" duration="23.15">Oh, yeah. Sure. So, YT is a package that was, developed initially by, Matt Turk, who's also at the University of Illinois, and it's a Python package for analyzing, multidimensional volumetric data. So because I should sort of explain maybe those 2 terms and unpack them a little bit. So by multidimensional, at the moment, we mainly, mean three-dimensional data.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:09</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>yt-project with Nathan Goldbaum and John Zuhone</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>106</itunes:episode>
      <podcast:episode>106</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530350682156969a083d4-bfd3-49b6-b76e-4e68af21f1fdv1.mp3" length="36645077" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530350682156969a083d4-bfd3-49b6-b76e-4e68af21f1fdv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_69a083d4-bfd3-49b6-b76e-4e68af21f1fd638558804950242139.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/69a083d4-bfd3-49b6-b76e-4e68af21f1fd638558804947890305.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/69a083d4-bfd3-49b6-b76e-4e68af21f1fd638558804946163780.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Scikit-Image with Stefan van der Walt and Juan Nunez-Iglesias</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Computer vision is a complex field that spans industries with varying needs and implementations. Scikit-Image is a library that provides tools and techniques for people working in the sciences to process the visual data that is critical to their research. This week Stefan Van der Walt and Juan Nunez-Iglesias, co-authors of <a href="http://www.jdoqocy.com/m4115ar-xrzEMNKFMOKEGGHLFGON?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920038481.do%3Fcmp%3Daf-prog-books-videos-product_cj_9781491969625_%2525zp&amp;cjsku=SKU-KIT-9781491969625-early+release+ebook&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elegant SciPy</a>, talk about how the project got started, how it works, and how they are using it to power their experiments.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show please leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, tell your friends and co-workers, and share it on social media.</li>
<li>Your host as usual is Tobias Macey and today I am interviewing Stefan van der Walt and Juan Nunez-Iglesias, co-authors of <a href="http://www.jdoqocy.com/m4115ar-xrzEMNKFMOKEGGHLFGON?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920038481.do%3Fcmp%3Daf-prog-books-videos-product_cj_9781491969625_%2525zp&amp;cjsku=SKU-KIT-9781491969625-early+release+ebook&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elegant SciPy</a>, about scikit-image</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introduction</li>
<li>How did you get introduced to Python?</li>
<li>What is scikit-image and how did the project get started?</li>
<li>How does its focus differ from projects like SimpleCV/OpenCV or Pillow?</li>
<li>What are some of the common use cases for which the scikit-image package is typically employed?</li>
<li>What are some of the ways in which images can exhibit higher dimensionality and what are some of the kinds of operations that scikit-image can perform in those situations?</li>
<li>How is scikit designed and what are some of the biggest challenges associated with its development, whether in the past, present, or future?</li>
<li>What are some of the most interesting use cases for scikit-image that you have seen?</li>
<li>What do you have planned for the future of scikit-image?</li>
</ul>

<h3>Contact Information</h3>

<ul>
<li>Stefan
<ul>
<li><a href="mailto:stefanv@berkeley.edu">Email</a></li>
<li><a href="https://twitter.com/stefanvdwalt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@stefanvdwalt</a> on Twitter</li>
<li><a href="http://mentat.za.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
<li>Juan</p>

<ul>
<li><a href="mailto:jni.soma@gmail.com">Email</a></li>
<li><a href="https://twitter.com/jnuneziglesias?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jnuneziglesias</a> on Twitter</li>
<li><a href="http://ilovesymposia.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/jni?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jni</a> on GitHub</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2oLHyzo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Set</a></li>
</ul>

<p></li><br>
<li>Stefan</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Monkey_Island_(series)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monkey Island</a></li>
<li><a href="https://thimbleweedpark.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thimbleweed Park</a></li>
<li><a href="http://www.myaquanotes.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Aqua Notes</a></li>
</ul>

<p></li><br>
<li>Juan</p>

<ul>
<li><a href="http://matildathemusical.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matilda the Musical</a></li>
<li><a href="https://www.waterrower.com/row?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Water Rower Rowing Machine</a></li>
<li><a href="https://twitter.com/boredelonmusk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bored Elon Musk</a> OMG: &#8220;News app that connects to a blood pressure monitor and adjusts your feed accordingly.&#8221;</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://scikits.appspot.com/scikits?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scikits.appspot.com</a></li>
<li><a href="http://sphinx-gallery.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sphinx Gallery</a></li>
<li><a href="https://conference.scipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SciPy Conference</a></li>
<li><a href="http://tretherington.blogspot.com.au/2017/01/least-cost-modelling-with-python-using.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Minimum Cost Paths</a></li>
<li><a href="https://github.com/scikit-image/skimage-tutorials/blob/master/lectures/adv3_panorama-stitching.ipynb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Image Stitching Tutorial</a></li>
<li><a href="http://www.jdoqocy.com/m4115ar-xrzEMNKFMOKEGGHLFGON?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920038481.do%3Fcmp%3Daf-prog-books-videos-product_cj_9781491969625_%2525zp&amp;cjsku=SKU-KIT-9781491969625-early+release+ebook&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elegant SciPy</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-105-scikit-image-with-stefan-van-der-walt-and-juan-nunez-iglesias%2F&amp;action_name=Scikit-Image+with+Stefan+van+der+Walt+and+Juan+Nunez-Iglesias+-+Episode+105&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-04-17t10:53:38+00:00-140a0771416c119</guid>
      <link>https://www.pythonpodcast.com/episode-105-scikit-image-with-stefan-van-der-walt-and-juan-nunez-iglesias</link>
      <pubDate>Sun, 16 Apr 2017 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1447.37" duration="64.33">So what are some of the most interesting or unexpected uses of the scikit image package that either of you have seen? Early on when we first published the paper, 1 of the guiding papers was someone doing satellite reconnaissance, which is obviously far out of either of our wheelhouses, and and that was great. More recently, someone commented on the paper about their use. So so the paper is on on p o j, which allows and, like, many social platforms is relatively sparse, but but we got this 1 comment. I'm an ecologist who was using minimum cost paths, which is an algorithm that you use in images, for example, to find themes and images if you wanna stitch 2 images together. Stefan has a great tutorial on image stitching that uses it. And they were using it on maps where the cost was essentially like a movement cost, and they were using minimum cost paths as a way to predict species range using using some model for for how species can move. So, again, that's something that's completely different to what I think any of the previous contributors to 2nd image would have envisioned, which again is very, very gratifying to see when someone uses your project in a completely different way than you expected.</podcast:soundbite>
      <podcast:soundbite startTime="86.85" duration="38.04">And going in the same order again, how did you first get introduced to Python? So, yeah, I guess I've I've always been dabbling in all sorts of programming language, at school languages at school, and, I used Python way back for organizing my MP 3 collection. I really started learning it in all seriousness at a at a holiday job at a tech company. And that's also where where I was exposed for the first time to, extreme programming, for example. Scientific programming, I started doing sort of around 2, 001. I worked on the Octave project for a long time, and I was trying to switch our team over to an open source language for science for a long time.</podcast:soundbite>
      <podcast:soundbite startTime="212.36" duration="65.40">So for anybody who isn't already familiar with it, could you guys give a brief overview of what scikit image is and how the project first got started? Yes. So scikit image started off as a collection of image processing snippets. We early on, we just, I wrote a lot of code from my PhD, implement a lot of algorithms and, people would ask on the mailing list, oh, you know, does anyone have, anything that can do, x or y? So I would I would email the code snippets and lots of other people did that too. And eventually, it just became clear that, you know, we had we repeatedly sent the same code to the list over and over. So we should just package all of that up. Initially, the, the goal was sort of to fully duplicate or reimplement the MATLAB image processing toolbox. And we even had a little table of compatibility to sort of make sure that we have all the right features. That turned out to be a rather tedious process. The moment we moved away from that and decided we're rather just going to build a Pythonic library in the style that we really want to, the whole project became a lot more fun.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:53</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Scikit-Image with Stefan van der Walt and Juan Nunez-Iglesias</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>105</itunes:episode>
      <podcast:episode>105</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531470180686181d870ee-b6ea-4d7f-82b5-9ac7ab837529v1.mp3" length="28817334" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531470180686181d870ee-b6ea-4d7f-82b5-9ac7ab837529v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_81d870ee-b6ea-4d7f-82b5-9ac7ab837529638558826146230735.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/81d870ee-b6ea-4d7f-82b5-9ac7ab837529638558826143994588.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/81d870ee-b6ea-4d7f-82b5-9ac7ab837529638558826139622921.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Oscar Ecommerce with David Winterbottom and Michael van Tellingen</title>
      <description><![CDATA[<h3>Summary</h3>

<p>If you have a product to sell, whether it is a physical good or a subscription service, then you need a way to manage your transactions. The Oscar ecommerce framework for Django is a flexible, extensible, and well built way for you to add that functionality to your website. This week David Winterbottom and Michael van Tellingen talk about how the project got started, how it works under the covers, and how you can start using it today.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who supports us on <a href="https://www.pythonpodcast.com/podcastinit?utm_source=rss&utm_medium=rss">Patreon</a>. Your contributions help to make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="https://www.pythonpodcast.com/linode?utm_source=rss&utm_medium=rss">www.podastinit.com/linode?utm_source=rss&utm_medium=rss</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to the show, sign up for the newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Before we start the show I have a couple of announcements
<ul>
<li>I started a new Slack channel for guests and listeners of the show. Go to <a href="https://www.pythonpodcast.com/slack?utm_source=rss&utm_medium=rss">www.pythonpodcast.com/slack?utm_source=rss&utm_medium=rss</a> to join in the conversation!</li>
<li>If you are interested in how open source powers innovations in data then you should check out the <a href="https://odsc.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Source Data Science conference</a>. It is coming to Boston, Massachusetts on March 3rd through the 5th so don&#8217;t miss out on your chance to level up and meet some new friends!</li>
</ul>

<p></li><br>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing David Winterbottom and Michael van Tellingen about the Oscar framework for building ecommerce applications in Django.</li><br>
</ul></p>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Oscar and what problem were you trying to solve when you created it?</li>
<li>At face value ecommerce seems like a fairly straightforward problem domain but there is a lot of incidental complexity involved. What are some of the most challenging aspects of building and managing a web store?</li>
<li>The documentation states in a number of places that Oscar takes a &#8216;domain driven&#8217; approach to building ecommerce applications. Can you explain what you mean by that and how it manifests in the project?</li>
<li>What does the internal design of Oscar look like and how would someone get started with building a site with it?</li>
<li>There can be a benefit to having an opinionated approach when building a framework because it simplifies the implemenation for the user. What is the reasoning for choosing to expose and allow for complexity in Oscar?</li>
<li>What are some of the most interesting and unexpected projects that you have seen built with Oscar?</li>
<li>How has ecommerce changed in the time since Oscar was first created, and how has that impacted its evolution?</li>
<li>What is in store for the future of Oscar?</li>
</ul>

<h3>Contact</h3>

<ul>
<li>David
<ul>
<li><a href="http://codeinthehole.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/codeinthehole?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@codeinthehole</a> on Twitter</li>
<li><a href="https://github.com/codeinthehole?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
<li>Michael</p>

<ul>
<li><a href="https://www.mvantellingen.nl/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>David
<ul>
<li><a href="https://www.destroyallsoftware.com/screencasts?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Destroy All Software</a> by Gary Bernhardt</li>
</ul>

<p></li><br>
<li>Michael</p>

<ul>
<li><a href="https://www.pythonpodcast.com/pycharm?utm_source=rss&utm_medium=rss">PyCharm</a></li>
<li><a href="http://docs.python-zeep.org/en/master/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zeep</a> (SOAP Library)</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.shopify.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shopify</a></li>
<li><a href="http://www.tangentsolutions.co.za/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tangent</a></li>
<li><a href="http://amzn.to/2npj4MR?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Domain Driven Design</a> by Eric Evans (book)</li>
<li><a href="https://en.wikipedia.org/wiki/Entity–attribute–value_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Entity, Attribute, Value Pattern</a></li>
<li><a href="https://www.pythonpodcast.com/episode-94-home-assistant-with-paulus-schoutsen/?utm_source=rss&utm_medium=rss">Home Assistant Interview</a></li>
<li><a href="https://spreecommerce.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spree Commerce</a></li>
<li><a href="https://magento.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magento</a></li>
<li><a href="https://saleor.readthedocs.io/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Saleor</a></li>
<li><a href="https://wagtail.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wagtail</a></li>
<li><a href="https://www.pythonpodcast.com/episode-58-wagtail-with-tom-dyson/?utm_source=rss&utm_medium=rss">Wagtail Interview</a></li>
<li><a href="https://www.django-cms.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django CMS</a></li>
<li><a href="https://kivy.org/docs/api-kivy.garden.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy Garden</a></li>
<li><a href="https://github.com/springload/awesome-wagtail?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Awesome Wagtail</a></li>
<li><a href="https://github.com/saltstack-formulas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack Formulas</a></li>
<li><a href="https://github.com/getpelican/pelican-plugins?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pelican Plugins</a></li>
<li><a href="https://djangopackages.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DjangoPackages.org</a></li>
<li><a href="http://django-treebeard.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Treebeard</a></li>
<li><a href="https://en.wikipedia.org/wiki/Test-driven_development?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TDD (Test Driven Development)</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-104-oscar-ecommerce-with-david-winterbottom-and-michael-van-tellingen%2F&amp;action_name=Oscar+Ecommerce+with+David+Winterbottom+and+Michael+van+Tellingen+-+Episode+104&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-04-08t10:11:08+00:00-1eb9bdc2abf184e</guid>
      <link>https://www.pythonpodcast.com/episode-104-oscar-ecommerce-with-david-winterbottom-and-michael-van-tellingen</link>
      <pubDate>Sat, 8 Apr 2017 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1511.99" duration="31.09">So what does the internal design and architecture of Oscar look like? And for somebody who wanted to get started with building a site with it or integrate it into an existing Django application, what would that process look like? Michael, join. Yeah. Sure. So basically, what I always tell people is OSCAR is is just a collection of Django applications. So you have the baskets, the catalog, offers, you name it, voucher. So, if you're just starting, you just run Oscar, of course.</podcast:soundbite>
      <podcast:soundbite startTime="232.81" duration="27.41">So can you guys describe what Oscar is and the problem that you're trying to solve when it was first created? Sure. I think so to be clear, I mean, I started OSCO in around 2010. But since I've changed jobs a few times, I haven't been that active with the project probably for getting over 2 years now or something like that. So let let let me talk about the start. So we're working in 1 of these agencies in London where we do lots of ecommerce projects of various clients of different sizes.</podcast:soundbite>
      <podcast:soundbite startTime="508.64" duration="27.24">And you said that it was largely a port of an existing framework. I'm curious if the prior frameworks started out as a conscious attempt to build that core building block, or was it something that was just extracted from a number of different projects? Yeah. No. No. That 1 was built just I mean, to start, it was built just to solve the problem of a big UK bookstore, you know, with millions of products. And it, you know, had it is quite tight.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:38</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Oscar Ecommerce with David Winterbottom and Michael van Tellingen</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>104</itunes:episode>
      <podcast:episode>104</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252994829245760aefccb6-0e41-43d4-bbf5-2ae0880db7b4v1.mp3" length="33673735" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252994829245760aefccb6-0e41-43d4-bbf5-2ae0880db7b4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_0aefccb6-0e41-43d4-bbf5-2ae0880db7b4638558796015486881.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0aefccb6-0e41-43d4-bbf5-2ae0880db7b4638558796011753088.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0aefccb6-0e41-43d4-bbf5-2ae0880db7b4638558796009784636.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Duplicity with Kenneth Loafman</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Everyone who uses a computer on a regular basis knows the importance of backups. Duplicity is one of the most widely used backup technologies, and it&#8217;s written in Python! This week Kenneth Loafman shares how Duplicity got started, how it works, and why you should be using it every day.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Kenneth Loafman about Duplicity, the Python based backup tool</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introduction</li>
<li>How did you get introduced to Python?</li>
<li>Can you share some of the history of Duplicity?</li>
<li>What is duplicity and how does it differ from other available backup tools?</li>
<li>Many backup solutions are written in Java or lower level languages such as C, what is the motivation for using Python as the language for implementing Duplicity?</li>
<li>At face value backing up files seems like a straightforward task but there is a lot of incidental complexity. Can you describe the architecture and internals of Duplicity that allow for it to handle a wide variety of use cases?</li>
<li>It has been shown in a number of contexts that people will generally use the default settings, so by forcing people to opt out of encrypting their backups you are promoting security best practices in Duplicity. Why is it so important to have the archive encrypted, even if the storage medium is fully under the control of the person doing the backup?</li>
<li>Given that backups need to be highly reliable what are the steps that you take during the development process to ensure that there are no regressions?</li>
<li>What mechanisms are built into duplicity to prevent data corruption?</li>
<li>What are some of the most difficult or complex aspects of the problem space that Duplicity is dealing with?</li>
<li>I noticed that you have a proposal for a new archive format to replace Tar. Can you describe the motivation for that and the design choices that have been made?</li>
</ul>

<h3>Contact</h3>

<ul>
<li>Kenneth Loafman
<ul>
<li><a href="mailto:kenneth@loafman.com">Email</a></li>
<li><a href="https://twitter.com/FirstPrime?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@FirstPrime</a> on Twitter</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2nJn6MN?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Passengers</a></li>
</ul>

<p></li><br>
<li>Kenneth</p>

<ul>
<li><a href="http://www.imdb.com/title/tt0364845/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NCIS</a></li>
<li><a href="http://www.imdb.com/title/tt0052077/?ref_=nv_sr_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plan 9 From Outer Space</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Rsync?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rsync</a></li>
<li><a href="https://librsync.sourcefrog.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">librsync</a></li>
<li><a href="https://launchpad.net/deja-dup?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">deja-dup</a></li>
<li><a href="http://duply.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">duply</a></li>
<li><a href="https://en.wikipedia.org/wiki/ECC_memory?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ECC</a></li>
<li><a href="http://duplicity.nongnu.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">duplicity</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-103-duplicity-with-kenneth-loafman%2F&amp;action_name=Duplicity+with+Kenneth+Loafman+-+Episode+103&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-04-01t23:46:04+00:00-cfced27847b9048</guid>
      <link>https://www.pythonpodcast.com/episode-103-duplicity-with-kenneth-loafman</link>
      <pubDate>Sat, 1 Apr 2017 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1066.83" duration="40.74">If you're physically controlling the storage location, like you have a large array of disks or something like that, USB drives, something like that, and you have good physical security, then there is no reason for encryption. As soon as I can get to that collection of drives which you have, which has no encryption, I now own your data. So even if you are operating at home or in an office that is secured with security guards and so forth, encryption keeps anyone well, it doesn't keep anyone, but it keeps most people from getting a hold of your data even though you have you think you have physical control of it.</podcast:soundbite>
      <podcast:soundbite startTime="94.38" duration="26.16">Yeah. That is absolutely the truth. The funny part is that there seems to be a 10 year, roughly, 10, 12 year cycle on terminology. Some of the things I learned earlier, have been resurfaced and resubmitted or we bought out. I don't know what you want to call it, but under a different name.</podcast:soundbite>
      <podcast:soundbite startTime="209.25" duration="30.80">I took over duplicity in 2007 from, a man I mean, a man by the name of Ben Escoda. He was actually a student at the time going to Stanford, and he had written it. Had gotten tired of working on it and put out a note on, I've forgotten, running the mailing list. It may have even been a Usenet, list back then. But he asked for somebody to take over the maintenance, and I did.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:35:17</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Duplicity with Kenneth Loafman</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>103</itunes:episode>
      <podcast:episode>103</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317090819628082be105-7ee6-47dd-9023-c081cb156703v1.mp3" length="33886272" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317090819628082be105-7ee6-47dd-9023-c081cb156703v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_082be105-7ee6-47dd-9023-c081cb156703638558834629106514.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/082be105-7ee6-47dd-9023-c081cb156703638558834627126716.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/082be105-7ee6-47dd-9023-c081cb156703638558834624235262.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Digital Identity, Privacy, and Security with Brian Warner</title>
      <description><![CDATA[<h3>Summary</h3>

<p>As the internet and digital technologies continue to infiltrate our way of life, we are forced to consider how our concepts of identity and security are reflected in these spaces. Brian Warner joins me this week to discuss his work on privacy focused projects that he has worked on, including the Tahoe LAFS, Firefox Sync, and Magic Wormhole. He also has some intriguing ideas about how we can replace passwords and what it means to have an online identity.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Brian Warner about digital identity, privacy, and security</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Please introduce yourself</li>
<li>How did you get introduced to Python?</li>
<li>How did you get involved in the area of cryptography and digital privacy?</li>
<li>You have created or made significant contributions to a number of projects that are focused on making secure communications and storage more accessible, including Tahoe LAFS (Least Authority File System), Magic Wormhole, and Petmail. Can you provide a brief overview of these projects and any others that you would like to mention?</li>
<li>What problem were you trying to solve when you created or began contributing to each of them and how satisfied are you with their current state?</li>
<li>What have you found to be the biggest barriers to adoption for these projects?</li>
<li>How do Tahoe and Magic Wormhole benefit an average user and what are your plans for their future development?</li>
<li>One of the most ubiquitous issues with our modern security infrastructure leading to compromise is the humble password. What are some technologies that you foresee replacing the need for passwords?</li>
<li>As technologists we are fairly well aware of the weaknesses in the systems that we use day-to-day. How can we make digital privacy and security more accessible?</li>
</ul>

<h3>Contact Info</h3>

<p><a href="https://github.com/warner?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">warner</a> on GitHub<br />
<a href="https://twitter.com/lotharrr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@lotharrr</a> on Twitter</p>

<h3>Picks</h3>

<ul>
<li>Brian
<ul>
<li><a href="https://qntm.org/ra?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ra</a> on Things of Interest</li>
<li><a href="https://en.wikipedia.org/wiki/The_Golden_Age_(John_C._Wright_novel)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Golden Age</a> by John C. Wright</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.torproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tor</a></li>
<li><a href="http://petmail.lothar.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Petmail (v1, ca 2003)</a></li>
<li><a href="https://github.com/warner/petmail?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Petmail (new)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mojonation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mojo Nation</a></li>
<li><a href="https://tahoe-lafs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tahoe-LAFS</a></li>
<li><a href="http://magic-wormhole.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magic-Wormhole</a></li>
<li><a href="https://en.wikipedia.org/wiki/Erasure_code?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Erasure Coding</a></li>
<li><a href="https://www.mozilla.org/en-US/firefox/sync/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Firefox Sync</a></li>
<li><a href="https://wiki.mozilla.org/Services/Sync/SyncKey/J-PAKE?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JPAKE</a></li>
<li><a href="https://github.com/warner/python-spake2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SPAKE2</a></li>
<li><a href="https://youtu.be/oFrTqQw0_3c?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon 2016 Presentation on Magic Wormhole (video)</a></li>
<li><a href="http://www.lothar.com/%7Ewarner/MagicWormhole-PyCon2016.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">(slides)</a></li>
<li><a href="https://github.com/warner/python-versioneer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Versioneer</a></li>
<li><a href="https://keybase.io/docs/kbfs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keybase File System</a></li>
<li><a href="https://leastauthority.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Least Authority Enterprises</a></li>
<li><a href="https://foolscap.lothar.com/trac?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Foolscap</a></li>
<li><a href="https://spideroak.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpiderOak</a></li>
<li><a href="http://erights.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Object Capability Pattern</a></li>
<li><a href="https://en.wikipedia.org/wiki/Shamir&#039;s_Secret_Sharing?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shamir&#8217;s Secret Sharing</a></li>
<li><a href="https://autocrypt.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AutoCrypt</a></li>
<li><a href="https://whispersystems.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Signal</a></li>
<li><a href="https://www.whatsapp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WhatsApp</a></li>
<li><a href="https://simplysecure.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Simply Secure</a></li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-102-brian-warner%2F&amp;action_name=Digital+Identity%2C+Privacy%2C+and+Security+with+Brian+Warner+-+Episode+102&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-03-25t21:31:36+00:00-e79792e6651b890</guid>
      <link>https://www.pythonpodcast.com/episode-102-brian-warner</link>
      <pubDate>Sat, 25 Mar 2017 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="60.02" duration="17.79">I've been doing things in the privacy and security work for maybe 10, 15 years, pretty much entirely in Python. I started doing, started my career doing router firmware like boot proms and CLI commands and forwarding tables and stuff, but switched over to doing Python relatively quickly and have been doing that ever since.</podcast:soundbite>
      <podcast:soundbite startTime="1646.24" duration="33.79">So I'm wondering based on what I saw in your presentation from Pycon about magic wormhole is when you were positioning that as a possible way of introducing an idea of identity to an anonymous connection. What are some of the technologies that you foresee replacing the password as we continue to rely so heavily on digital infrastructure? Yeah. So, I would love passwords to just die. And in my mind, my my kind of vision for the future, some kind of science fiction version here, is is, you have a password manager. Really, you have your phone or you have some sort of agent that is working on your behalf.</podcast:soundbite>
      <podcast:soundbite startTime="309.15" duration="23.92">You mentioned pet mail. Wondering if you can just give a brief overview of some of the different projects that you've worked on, what their use cases are, and, you know, any other projects that I missed that, didn't come across while I was doing the research for the show as well. Yeah. So let's see. The first version of PetMail back in, in 2004 was mostly about anti spam, but I figured, well, you might as well encrypt everything anyway because that's just a smart thing to do.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:46:43</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Digital Identity, Privacy, and Security with Brian Warner</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>102</itunes:episode>
      <podcast:episode>102</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529926509467446fed0b2-61b2-4189-9983-27ac94e5c981v1.mp3" length="44871172" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529926509467446fed0b2-61b2-4189-9983-27ac94e5c981v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_46fed0b2-61b2-4189-9983-27ac94e5c981638558795179651304.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/46fed0b2-61b2-4189-9983-27ac94e5c981638558795177345457.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/46fed0b2-61b2-4189-9983-27ac94e5c981638558795175285056.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Crossbar.io with Tobias Oberstein and Alexander Gödde</title>
      <description><![CDATA[<h3>Summary</h3>

<p>As our system architectures and the Internet of Things continue to push us towards distributed logic we need a way to route the traffic between those various components. Crossbar.io is the original implementation of the Web Application Messaging Protocol (WAMP) which combines Remote Procedure Calls (RPC) with Publish/Subscribe (PubSub) communication patterns into a single communication layer. In this episode Tobias Oberstein describes the use cases and design patterns that become possible when you have event-based RPC in a high-throughput and low-latency system.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Tobias Oberstein and Alexander Gödde about Crossbar.io, a high throughput asynchronous router for the WAMP protocol</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Crossbar and what is the problem that you were trying to solve when you created it?</li>
<li>What is the status of the IETF WAMP protocol proposal?</li>
<li>Why have an open protocol &#8211; and how do you see the ecosystem?</li>
<li>Python isn&#8217;t typically considered to be a high-performance language so what led you to use it for building Crossbar?</li>
<li>How is Crossbar architected for proxying requests from a highly distributed set of clients with low latency and high throughput?</li>
<li>How do you handle authorization between the various clients of the router so that potentially sensitive messages don&#8217;t get published to the wrong component?</li>
<li>Does Crossbar encapsulate any business logic or is that all pushed to the edges of the system?</li>
<li>What are some of the typical kinds of applications that Crossbar is designed for?</li>
<li>What are some common design paradigms that would be better suited for a WAMP implementation?</li>
<li>What are some of the most interesting or surprising uses of Crossbar that you have seen?</li>
<li>What do you have planned for the future of Crossbar?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Mailing Lists
<ul>
<li><a href="https://groups.google.com/forum/#!forum/autobahnws?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://groups.google.com/forum/#!forum/autobahnws?utm_source=rss&utm_medium=rss</a></li>
<li><a href="https://groups.google.com/forum/#!forum/wampws?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://groups.google.com/forum/#!forum/wampws?utm_source=rss&utm_medium=rss</a></li>
<li><a href="https://groups.google.com/forum/#!forum/crossbario?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://groups.google.com/forum/#!forum/crossbario?utm_source=rss&utm_medium=rss</a></li>
</ul>

<p></li><br>
<li>#autobahn on IRC</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2lKtRQI?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logan</a></li>
</ul>

<p></li><br>
<li>Alex</p>

<ul>
<li><a href="https://www.pivotaltracker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pivotal Tracker</a></li>
</ul>

<p></li><br>
<li>Tobias</p>

<ul>
<li><a href="https://pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="https://github.com/warner?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brian Warner</a></li>
<li><a href="http://click.pocoo.org/5/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Click</a></li>
<li><a href="http://python-prompt-toolkit.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">prompt-toolkit</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://crossbar.io/autobahn/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Autobahn</a></li>
<li><a href="http://wamp-proto.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WAMP</a></li>
<li><a href="https://pypy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy</a></li>
<li><a href="http://microservices.io/patterns/apigateway.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">API Gateway</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-101-crossbar-io-with-tobias-oberstein-and-alexander-goedde%2F&amp;action_name=Crossbar.io+with+Tobias+Oberstein+and+Alexander+G%C3%B6dde+-+Episode+101&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-03-18t14:19:39+00:00-8b13f6675e2ca9d</guid>
      <link>https://www.pythonpodcast.com/episode-101-crossbar-io-with-tobias-oberstein-and-alexander-goedde</link>
      <pubDate>Sat, 18 Mar 2017 21:15:00 +0000</pubDate>
      <podcast:soundbite startTime="224.44" duration="31.65">Crossbar nowadays is positioned as a multi protocol application router. So what's that? So the idea is, you have a distributed application consisting of components, or you have, application built around the microservice microservices approach. Approach, then then you have a need for how do those components services communicate. And, crossbar provides, infrastructure for the communication between application components and, and microservices.</podcast:soundbite>
      <podcast:soundbite startTime="1091.43" duration="34.76">The commercial offering of crossbar has, has native code acceleration, which which is, yeah. Well, adding, another level of performance. But if you if you'd ask me if, now in in looking back, would we rewrite crossbar in like another language? And, I was asked at, at 1 point by some guy and the answer is I would only consider 1 other language and that's rust. So, but that's not on the on our road map. So and we don't have a need right now.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:47</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Crossbar.io with Tobias Oberstein and Alexander Gödde</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>101</itunes:episode>
      <podcast:episode>101</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529766503575071260074-7e53-4729-80f3-0bbfe1590f33v1.mp3" length="50692253" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529766503575071260074-7e53-4729-80f3-0bbfe1590f33v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_71260074-7e53-4729-80f3-0bbfe1590f33638558789485022590.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/71260074-7e53-4729-80f3-0bbfe1590f33638558789481348712.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/71260074-7e53-4729-80f3-0bbfe1590f33638558789477012268.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>MetPy: Taming The Weather With Python</title>
      <description><![CDATA[<h3>Summary</h3>

<p>What&#8217;s the weather tomorrow? That&#8217;s the question that meteorologists are always trying to get better at answering. This week the developers of MetPy discuss how their project is used in that quest and the challenges that are inherent in atmospheric and weather research. It is a fascinating look at dealing with uncertainty and using messy, multidimensional data to model a massively complex system.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Ryan May, Sean Arms, and John Leeman about MetPy, a collection of tools and notebooks for analyzing meteorological data in Python.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is MetPy and what is the problem that prompted you to create it?</li>
<li>Can you explain the problem domain for Meteorology and how it compares to other domains such as the physical sciences? </li>
<li>How do you deal with the inherent uncertainty of atmospheric and weather data?</li>
<li>What are some of the data sources and data formats that a meteorologist works with?</li>
<li>To what degree is machine learning or artificial intelligence employed when modelling climate and local weather patterns?</li>
<li>The MetPy documentation has a number of examples of how to use the library and a number of them produce some fairly complex plots and graphs. How prevalent is the need to interact with meteorological data visually to properly understand what it is trying to tell you?</li>
<li>I read through your developer guide and watched your SciPy talk about development automation in MetPy. My understanding is that individuals with a pure science background tend to eschew formal code styles and software engineering practices so I&#8217;m curious what your experience has been when interacting with your user community.</li>
<li>What are some of the interesting innovations in weather science that you are looking forward to?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>MetPy
<ul>
<li><a href="https://twitter.com/MetPy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@MetPy</a> on Twitter</li>
<li><a href="https://unidata.github.io/MetPy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Documentation</a></li>
<li><a href="https://github.com/Unidata/MetPy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
<li>Ryan</p>

<ul>
<li><a href="https://twitter.com/dopplershift?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@dopplershift</a> on Twitter</li>
<li><a href="https://github.com/dopplershift?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dopplershift</a> on GitHub</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.drilltodetail.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Drill To Detail Podcast</a></li>
<li><a href="https://www.drilltodetail.com/drill-to-detail/2016/10/30/data-capital-competitive-strategy-and-the-economics-of-big-datadrill-to-detail-podcast-ep6-with-paul-sonderegger?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Capital Episode</a></li>
</ul>

<p></li><br>
<li>Ryan</p>

<ul>
<li><a href="https://github.com/matplotlib/pytest-mpl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pytest-mpl</a></li>
</ul>

<p></li><br>
<li>Sean</p>

<ul>
<li><a href="http://amzn.to/2m2ikL2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trolls</a></li>
</ul>

<p></li><br>
<li>John</p>

<ul>
<li><a href="http://embedded.fm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Embedded.fm</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.unidata.ucar.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Unidata</a></li>
<li><a href="http://www.ou.edu/ags.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University of Oklahoma &#8211; College of Atmospheric and Geographic Sciences</a></li>
<li><a href="https://www2.ucar.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">University Corporation for Atmospheric Research</a></li>
<li><a href="http://www.unidata.ucar.edu/software/netcdf/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetCDF</a></li>
<li><a href="https://www.unidata.ucar.edu/software/gempak/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GEMPACK</a></li>
<li><a href="http://xarray.pydata.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XArray</a></li>
<li><a href="https://www.climate.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Climate Corporation</a></li>
<li><a href="https://www.nesdis.noaa.gov/GOES-16?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GOES-16</a></li>
<li><a href="http://www.unidata.ucar.edu/software/ldm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LDM</a></li>
<li><a href="https://twitter.com/hashtag/GOES16?src=hash&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Goes16 on Twitter</a></li>
<li><a href="http://www.dontpanicgeocast.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Don&#8217;t Panic Geocast</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-100-metpy-with-ryan-may-sean-arms-and-john-leeman%2F&amp;action_name=MetPy%3A+Taming+The+Weather+With+Python+-+Episode+100&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-03-10t11:23:29+00:00-f782611833184da</guid>
      <link>https://www.pythonpodcast.com/episode-100-metpy-with-ryan-may-sean-arms-and-john-leeman</link>
      <pubDate>Sat, 11 Mar 2017 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="526.39" duration="22.27">Yeah. There's definitely quite an extensive suite of offerings for being able to manipulate data once you have it into a sort of, standardized format. So it seems that the primary goal of met py is just to serve as an interface to the variegated different types of data sources that are used within, meteorology and atmospheric sciences. Does that sound like an accurate synopsis?</podcast:soundbite>
      <podcast:soundbite startTime="374.32" duration="26.35">Sure. So met py is a collection of tools in general for working with weather data. So that goes from reading in data, which we in the atmospheric sciences have a wide variety of archaic formats of data or different types of data. So in meteorology, we work with surface based instruments. You know, you have a temperature and humidity sensor app out somewhere to take measurements, as well as wind.</podcast:soundbite>
      <podcast:soundbite startTime="1588.49" duration="29.65">I'd say both those areas are active areas of research. So I think, again, within the last 5 years, we'll say, roughly, that's when you really started to see more papers on doing machine learning, especially in the the public sector. I think there are private corporations who kind of been on the early side of that wave in terms of planning machine learning to weather data companies like the Climate Corporation that have, you know, a vested interest in trying to provide these useful analyses to try and help predict, say, crop yields or insurance losses and things like that.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:23</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>MetPy: Taming The Weather With Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>100</itunes:episode>
      <podcast:episode>100</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307626238427445c9938-0ebd-46c2-a091-8b07aebd26d8v1.mp3" length="50305667" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307626238427445c9938-0ebd-46c2-a091-8b07aebd26d8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_445c9938-0ebd-46c2-a091-8b07aebd26d8638558821910724277.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/445c9938-0ebd-46c2-a091-8b07aebd26d8638558821907830027.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/445c9938-0ebd-46c2-a091-8b07aebd26d8638558821905764221.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The Update Framework: Securing Your Software Updates with Justin Cappos</title>
      <description><![CDATA[<h3>Summary</h3>

<p>If you write software then there&#8217;s a good probability that you have had to deal with installing dependencies, but did you stop to ask whether you&#8217;re installing what you think you are? My guest this week is Professor Justin Cappos from the Secure Systems Lab at New York University and he joined me to discuss his work on The Update Framework which was built to guarantee that you never install a compromised package in your systems.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Justin Cappos about The Update Framework, an open spec and reference implementation for mitigating attacks on software update systems.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introduction</li>
<li>How did you first get introduced to Python?</li>
<li>Please start by explaining what The Update Framework (TUF) is and the problem that you were trying to solve when you created it.</li>
<li>How is TUF architected and what led you to choose Python for the reference implementation?</li>
<li>TUF addresses the problem of ensuring that the packages that get installed are created by the right developers, but how do you properly establish trust in the first place?</li>
<li>Why are consistent and auditable dependencies important for the security of a system and how does TUF help with that goal?</li>
<li>What are some of the known attack vectors for a software update system and how do Python and other systems attempt to mitigate these vulnerabilities? </li>
<li>One of the perennial problems with any dependency management system is that of transitive dependencies. How does TUF handle this extra complexity of ensuring that all of the secondary, tertiary, etc. dependencies are also properly pinned and trusted?</li>
<li>For someone who wants to start using TUF what are the steps to get it set up with pip?</li>
<li>How would a project that wants to use TUF, do so?</li>
<li>Who is using TUF and when will it be used with PyPI?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://ssl.engineering.nyu.edu/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://ssl.engineering.nyu.edu/?utm_source=rss&utm_medium=rss</a></li>
<li><a href="https://ssl.engineering.nyu.edu/personalpages/jcappos/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://ssl.engineering.nyu.edu/personalpages/jcappos/?utm_source=rss&utm_medium=rss</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2llGOAe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Enchanted Forest Chronicles</a></li>
</ul>

<p></li><br>
<li>Justin</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Lamian?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hand Pulled Noodles</a></li>
<li><a href="http://www.lamzhou.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lam Zhou</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.youtube.com/watch?v=fDvO9jwXCV4&amp;t=6s&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">When the Going Gets Tough, Get TUF Going</a> &#8211; PyCon 2016</li>
<li><a href="https://en.wikipedia.org/wiki/RPM_Package_Manager?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RPM</a></li>
<li><a href="https://en.wikipedia.org/wiki/Advanced_Packaging_Tool?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apt</a></li>
<li><a href="https://github.com/JustinCappos/stork?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stork Package Manager</a></li>
<li><a href="https://www.yubico.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yubikey</a></li>
<li><a href="https://statuscode.ch/2016/02/distribution-packages-considered-insecure/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Distribution Packages Considered Insecure</a></li>
<li><a href="https://github.com/docker/notary?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Notary</a></li>
<li><a href="https://flynn.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flynn</a></li>
<li><a href="https://uptane.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uptane</a></li>
<li><a href="https://in-toto.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">in-toto</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-99-the-update-framework-with-justin-cappos%2F&amp;action_name=The+Update+Framework%3A+Securing+Your+Software+Updates+with+Justin+Cappos+-+Episode+99&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-03-03t11:26:11+00:00-ffdae6e5ff581c5</guid>
      <link>https://www.pythonpodcast.com/episode-99-the-update-framework-with-justin-cappos</link>
      <pubDate>Sat, 4 Mar 2017 19:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1085.89" duration="36.92">It's just not possible anybody's gonna ever break in and and, you know, or ever be able to get a signing key or ever find a weakness in the algorithm that we use to, generate our signing key as Debian had or, you know, be able to get into our CA chain and, and create certificates that that, validate as correct as happened with Microsoft. You know, there's there's, historically, just problems over and over and over again when people don't design these systems to have the potential for revoking a key, and that is really essential here is is that tough is designed to make it so that you can securely revoke a key.</podcast:soundbite>
      <podcast:soundbite startTime="383.48" duration="33.64">So the real problem that Tuf tries to solve that store and, like, really, most most software updaters and package managers don't even try to address is we wanna make it so that even if a an attacker goes and breaks into a server or steals a signing key, that this isn't just a kind of fatal, game over event where they now can can root and compromise all your users. We want the system to tolerate key compromise in a way that means that, you know, that you have a secure way to recover from it in most situations.</podcast:soundbite>
      <podcast:soundbite startTime="68.73" duration="39.57">I was a graduate student, and I had been working for a while to try to build a package manager. This was actually in the very early days of, what we now call cloud computing. We kind of v servers and other kinds of virtualized environments like this had just come out. And I had this this big piece of spaghetti code that I had written in c, and it was it was messy, and it it relied on RPM, but it it did, you know, it basically let you install packages in these, you know, in these virtualized, distributed environments in a way that saves space and had interesting security concerns, like, interesting security issues handled correctly.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:37:21</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The Update Framework: Securing Your Software Updates with Justin Cappos</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>99</itunes:episode>
      <podcast:episode>99</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304100638939f73df7ed-c31a-455d-ab1b-5782d1ff84efv1.mp3" length="35879035" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304100638939f73df7ed-c31a-455d-ab1b-5782d1ff84efv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f73df7ed-c31a-455d-ab1b-5782d1ff84ef638558807472158298.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f73df7ed-c31a-455d-ab1b-5782d1ff84ef638558807469885295.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f73df7ed-c31a-455d-ab1b-5782d1ff84ef638558807467458977.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Pandas with Jeff Reback</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Pandas is one of the most versatile and widely used tools for data manipulation and analysis in the Python ecosystem. This week Jeff Reback explains why that is, how you can use it to make your life easier, and what you can look forward to in the months to come.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>When you&#8217;re writing Python you need a powerful editor to automate routine tasks, maintain effective development practices, and simplify challenging things like refactoring. Our sponsor JetBrains delivers the perfect solution for you in the form of PyCharm, providing a complete set of tools for productive Python, Web, Data Analysis and Scientific development, available in 2 editions. The free and open-source PyCharm Community Edition is perfect for pure Python coding. PyCharm Professional Edition is a full-fledged tool, designed for professional Python, Web and Data Analysis developers. Today JetBrains is offering a <em>3-month free</em> PyCharm Professional Edition individual subscription. Don’t miss this chance to use the best-in-class tool with intelligent code completion, automated testing, and integration with modern tools like Docker &#8211; go to &lt;www.pythonpodcast.com/pycharm?utm_source=rss&utm_medium=rss> and use the promo code <em>podcastinit</em> during checkout.</li>
<li>Visit the <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jeff Reback about <a href="http://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a>, the swiss army knife of data analysis in Python.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>To start off, what is Pandas and what is its origin story?
<ul>
<li>How did you get involved in the project&#8217;s development?</li>
</ul>

<p></li><br>
<li>For someone who is just getting started with Pandas what are the fundamental ideas and abstractions in the library that are necessary to understand how to use it for working with data?</li><br>
<li>Pandas has quite an extensive API and I noticed that the most recent release includes a nice cheat sheet. How do you balance the power and flexibility of such an expressive API with the usability issues that can be introduced by having so many options of how to manipulate the data?</li><br>
<li>There is a strong focus for use in science and data analytics, but there are a number of other areas where Pandas is useful as well. What are some of the most interesting or unexpected uses that you have seen or heard of?</li><br>
<li>What are some of the biggest challenges that you have encountered while working on Pandas?</li><br>
<li>Do you find the constraint of only supporting two dimensional arrays to be limiting, or has it proven to be beneficial for the success of pandas?</li><br>
<li>What&#8217;s coming for pandas? Pandas 2.0!</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/jreback?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jreback</a> on Twitter</li>
<li><a href="https://github.com/jreback?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jreback</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://standards.mousepawgames.com/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">http://standards.mousepawgames.com/index.html?utm_source=rss&utm_medium=rss</a></li>
</ul>

<p></li><br>
<li>Jeff</p>

<ul>
<li><a href="https://travis-ci.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Travis CI</a></li>
<li><a href="https://www.appveyor.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Appveyor</a></li>
<li><a href="http://circleci.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Circle CI</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.continuum.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuum Analytics</a></li>
<li><a href="http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Myths Programmers Believe About Time</a></li>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Notebook</a></li>
<li><a href="http://xarray.pydata.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XArray</a></li>
<li>Dask
<ul>
<li><a href="http://dask.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://www.dataengineeringpodcast.com/episode-2-dask-with-matthew-rocklin/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Interview</a></li>
</ul>

<p></li><br>
<li><a href="http://www.numfocus.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumFocus</a></li><br>
<li><a href="https://www.pythonpodcast.com/episode-35-sylvain-thenault-on-astroid/?utm_source=rss&utm_medium=rss">PyLint Interview</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-98-pandas-with-jeff-reback%2F&amp;action_name=Pandas+with+Jeff+Reback+-+Episode+98&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-02-26t03:05:21+00:00-83c1ebea8c89a22</guid>
      <link>https://www.pythonpodcast.com/episode-98-pandas-with-jeff-reback</link>
      <pubDate>Sun, 26 Feb 2017 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1021.02" duration="25.66">It's funny. When you're managing an API, you always want a new function name to allow people to say, oh, you know, I wanna do xyz. Okay. So we'll give you xyz. But at the same time, if you look at the number of functions, the number of methods that are available in the data frame, it's like over a100. So already, this is too many. So I think in the last few years, we've been very, very careful about adding other top level methods.</podcast:soundbite>
      <podcast:soundbite startTime="297.90" duration="31.08">So it was originally started in 2008 by Wes McKinney, who was at AQR at the time. This is a a big hedge fund. Yeah. And so he needed a a way to marry the disparate systems that, existed. And, you know, as anybody who, you know, has to deal with messy data, you know, some some data you have in CSV files or some data you have in SQL, some, you know, some data is in a binary format sitting out there. And what you want to do is read it all in and marry this data together, and then the key thing is make this data line up with each other.</podcast:soundbite>
      <podcast:soundbite startTime="189.44" duration="14.40">Yeah. It's interesting how a number of people coming from Perl either go to Python because it's pretty significantly different from it, or they go to Ruby because of how much of Ruby was influenced by Perl to begin with. So interesting to see where people lie on that continuum.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:23</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Pandas with Jeff Reback</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>98</itunes:episode>
      <podcast:episode>98</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253044289635652bb70687-4117-4435-83c4-5f7f8eb75e92v1.mp3" length="47422184" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253044289635652bb70687-4117-4435-83c4-5f7f8eb75e92v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_2bb70687-4117-4435-83c4-5f7f8eb75e92638558809023235832.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2bb70687-4117-4435-83c4-5f7f8eb75e92638558809020285311.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2bb70687-4117-4435-83c4-5f7f8eb75e92638558809018230022.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>PyTables with Francesc Alted</title>
      <description><![CDATA[<h3>Summary</h3>

<p>HDF5 is a file format that supports fast and space efficient analysis of large datasets. PyTables is a project that wraps and expands on the capabilities of HDF5 to make it easy to integrate with the larger Python data ecosystem. Francesc Alted explains how the project got started, how it works, and how it can be used for creating sharable and archivable data sets.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app. Linode will has announced new plans, including 1GB for $5 plan, high memory plans starting at 16GB for $60/mo and an upgrade in storage from 24GB to 30GB on our 2GB for $10 plan. </li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Francesc Alted about PyTables</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>To start with, what is HDF5 and what was the problem that motivated you to wrap Python around it to create PyTables?</li>
<li>Which are the most relevant contributors for PyTables?  How you interacted?</li>
<li>How is the project architected and what are some of the design decisions that you are most proud of?</li>
<li>What are some of the typical use cases for PyTables and how does it tie into the broader Python data ecosystem?</li>
<li>How common is it to use an HDF5 file as a data interchange format to be shared between researchers or between languages?</li>
<li>Given the ability to create custom node types, does that inhibit the ability to interact with the stored data using other libraries?</li>
<li>What are some of the capabilities of HDF5 and PyTables that can&#8217;t be reasonably replicated in other data storage systems?</li>
<li>One of the more intriguing capabilities that I noticed while reading the documentation is the ability to perform undo and redo operations on the data. How might that be leveraged in a real-world use case?</li>
<li>What are some of the most interesting or unexpected uses of PyTables that you are aware of?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/FrancescAlted?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@FrancescAlted</a> on Twitter</li>
<li><a href="https://github.com/FrancescAlted?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FrancescAlted</a> on GitHub</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2kJ0kli?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Accountant</a></li>
</ul>

<p></li><br>
<li>Francesc</p>

<ul>
<li><a href="http://blosc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blosc</a> a high speed compressor, specially meant for binary data</li>
<li><a href="http://www.imdb.com/title/tt4116284/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Lego Batman Movie</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.pytables.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTables</a></li>
<li><a href="http://www.pytables.org/usersguide/optimization.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyTables &#8211; Optimization</a></li>
<li><a href="http://www.pytables.org/other_material.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Presentations and Videos about PyTables</a></li>
<li><a href="http://blosc.org/blog/compress-me-stupid.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Part of the story behind PyTables</a></li>
<li><a href="https://support.hdfgroup.org/HDF5/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HDF5</a></li>
<li><a href="http://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="https://en.wikipedia.org/wiki/SIMD?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SIMD</a></li>
<li><a href="http://www.numfocus.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumFOCUS</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-97-pytables-with-francesc-alted%2F&amp;action_name=PyTables+with+Francesc+Alted+-+Episode+97&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-02-18t11:53:08+00:00-d80533d8b2d8979</guid>
      <link>https://www.pythonpodcast.com/episode-97-pytables-with-francesc-alted</link>
      <pubDate>Sat, 18 Feb 2017 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="969.31" duration="22.03">And on the subject of open source, I know that it's always a challenge to attract enough attention to a given project to be able to increase the bus factor of the maintainers. So I'm wondering what the level of contributions you've seen for PI tables looks like and what your interaction patterns look like for being able to develop the project in a cohesive manner.</podcast:soundbite>
      <podcast:soundbite startTime="146.90" duration="28.87">Sure. So HDF5, it's, it's a it's a format. It's a library and also a a format, a file format that allows you to store large amounts of data. So I was looking for a solution starting in the the at the beginning of 2000 for storing large amounts of data, multidimensional data, but also data like tables. And, I discovered HDF 5, which allows you to store multidimensional data, but in a hierarchical way.</podcast:soundbite>
      <podcast:soundbite startTime="2146.98" duration="26.00">And in recent years, in particular, there's been an explosion of new data formats and serialization formats as the overall industry of data analytics has, become more prevalent. So I'm wondering how the position of HDF5 and PI tables has changed in relation to those other capabilities and what are some of the features that PI Tables offers that aren't easily in the</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:16</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>PyTables with Francesc Alted</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>97</itunes:episode>
      <podcast:episode>97</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302998508461037df2cd-1737-4e53-8086-44b9632ae626v1.mp3" length="47310043" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302998508461037df2cd-1737-4e53-8086-44b9632ae626v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_037df2cd-1737-4e53-8086-44b9632ae626638558802378660951.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/037df2cd-1737-4e53-8086-44b9632ae626638558802375343307.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/037df2cd-1737-4e53-8086-44b9632ae626638558802373512728.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>SKIDL with Dave Vandenbout</title>
      <description><![CDATA[<h3>Summary</h3>

<p>As circuits and electronic components become more complex, visual circuit building tools are more difficult to use effectively. If you wish that you could just write your circuits in Python then you&#8217;re in luck! Dave Vandenbout created a library called SKIDL that brings the power and flexibility of Python to the realm of Electrical Engineering and he tells us all about it in this weeks show.</p>

<h3>Preamble</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Dave Vandenbout about <a href="https://xesscorp.github.io/skidl/docs/_site/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SKIDL</a>, a library for designing and validating circuit layouts.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you describe what SKIDL is and the problem that you were trying to solve when you first started it?</li>
<li>Most of my experience designing circuits has been done using a graphical tool. If you are using Python for the entire layout does it become difficult to understand the overall circuit without the visual representation?
<ul>
<li>Is there a way to generate a circuit diagram from the SKIDL code for a visual reference?</li>
</ul>

<p></li><br>
<li>It seems that there is a substantial amount of electrical knowledge required to be able to design and build schematics in code. For someone who is more of a hobbyist or is just starting to work with circuit design are there any facilities of SKIDL to assist with that understanding?</li><br>
<li>What does the testing and validation process of a generated circuit look like?</li><br>
<li>What does the internal architecture of SKIDL look like and what are some of the biggest challenges that you have faced while building it?</li><br>
<li>For the generated netlist does SKIDL take into account voltage losses due to the lengths of the traces in the final PCB and does it have any facilities to optimize the overall layout for space and efficiency?</li><br>
<li>Sometimes a circuit board is meant to be accessible for maintenance or even display purposes. Is it possible to specify the arrangement of components to make them more aesthetically pleasing or to space them so that they are easier to access physical interface ports (e.g. GPIO pins or I2C buses)?</li><br>
<li>What are some of the most interesting or surprising uses of SKIDL that you have seen?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://www.xess.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://xesscorp.github.io/skidl/docs/_site/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Documentation</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2kT6BMM?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Samsonite Tectonic Backpack</a></li>
</ul>

<p></li><br>
<li>Dave</p>

<ul>
<li><a href="http://amzn.to/2lBrpbp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ball 4</a> by Jim Bouton</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://kicad-pcb.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KiCad</a></li>
<li><a href="https://en.wikipedia.org/wiki/Gerber_format?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gerber Files</a></li>
<li><a href="https://en.wikipedia.org/wiki/Application-specific_integrated_circuit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASIC</a></li>
<li><a href="https://en.wikipedia.org/wiki/Field-programmable_gate_array?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FPGA</a></li>
<li><a href="https://sourceforge.net/p/phdl/wiki/Home/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHDL</a></li>
<li><a href="http://www.myhdl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MyHDL</a></li>
<li><a href="https://en.wikipedia.org/wiki/VHDL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VHDL</a></li>
<li><a href="https://en.wikipedia.org/wiki/SPICE?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SPICE Simulator</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-96-skidl-with-dave-vandenbout%2F&amp;action_name=SKIDL+with+Dave+Vandenbout+-+Episode+96&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-02-11t11:38:46+00:00-e51f75aff687b21</guid>
      <link>https://www.pythonpodcast.com/episode-96-skidl-with-dave-vandenbout</link>
      <pubDate>Sat, 11 Feb 2017 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="96.62" duration="38.01">So how did you first get introduced to the Python programming language? Back in 2011, I had a friend who was trying to build some boards with a little camera a little camera chip from a cell phone, and it wasn't documented at all. And he said maybe you could figure out how to talk to this chip and what the registers mean. So, I got 1 of the, little camera modules and and hooked it up to an FPGA. And then I talked to that FPGA through some c plus plus library that I had, but I wanted to put a GUI on the front of it. And I said, now, know, maybe I'll learn how to use Python to do that.</podcast:soundbite>
      <podcast:soundbite startTime="264.79" duration="39.18">So when you're building an electronic system, you typically have 4 phases in it, and it's kinda like writing a program. And the first phase is always planning. Define the goal, what functions you're gonna need, what their architecture is gonna look like for the electronic system. The next phase after you've done that is, designing a schematic. In that phase, you select the circuit components and you create interconnections that carry signals from 1 pin on 1 component to the pins of other components. The output from this phase is what they call a netlist, and that is just a list of each wire or as they call them, they call them nets, hence the name netlist.</podcast:soundbite>
      <podcast:soundbite startTime="844.48" duration="33.91">So I figured somebody already had done something like this because it seemed like an obvious good idea. So I went looking around and I found a program already that was called p phdl that was invented out at, Brigham Young University back in 2011 or so. And it's written in Java, and it has all these features for just wiring together chips using using, text language that they invented. It's also a little bit restricted to that particular problem domain. It has a special syntax. So in that aspect, it's kind of like, so many EDA tools. It's always gonna be a little bit quirky.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:40:50</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>SKIDL with Dave Vandenbout</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>96</itunes:episode>
      <podcast:episode>96</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300125103658f5bd74ef-78af-4260-b01e-3368c6864457v1.mp3" length="39210828" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300125103658f5bd74ef-78af-4260-b01e-3368c6864457v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f5bd74ef-78af-4260-b01e-3368c6864457638558798277782234.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f5bd74ef-78af-4260-b01e-3368c6864457638558798275609875.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f5bd74ef-78af-4260-b01e-3368c6864457638558798273649204.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Parsing and Parsers with Dave Beazley and Erik Rose</title>
      <description><![CDATA[<h3>Summary</h3>

<p>If you have ever found yourself frustrated by a complicated regular expression or wondered how you can build your own dialect of Python then you need a parser. Dave Beazley and Erik Rose talk about what parsers are, how some of them work, and what you can do with them in this episode.</p>

<h3>Preface</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Erik Rose and Dave Beazley about what parsing is, why you might want to use it, and how their respective libraries <a href="https://github.com/erikrose/parsimonious?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parsimonious</a> and <a href="http://www.dabeaz.com/ply/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PLY</a> make it easy.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you each start by talking a bit about your respective libraries and what problem you were trying to solve when they were first created?</li>
<li>In what ways does a full-fledged parser differ from what a regular expression engine is capable of?</li>
<li>What are some of the different high-level approaches to building a parser and when might you want to choose one over the others?</li>
<li>I&#8217;m sure that when most people hear the term parsing they associate it with reading in a data interchange format such as JSON or CSV. What are some of the more interesting or broadly applicable uses of parsing that might not be as obvious?</li>
<li>One term that kept coming up while I was doing research for this interview was &#8220;Grammars&#8221;. How would you explain that concept for someone who is unfamiliar with it?</li>
<li>Once an input has been parsed, what does the resulting data look like and how would a developer interact with it to do something useful?</li>
<li>For someone who wants to build their own domain specific language (DSL) what are some of the considerations that they should be aware of to create the grammar?</li>
<li>What are some of the most interesting or innovative uses of parsers that you have seen?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Dave Beazley
<ul>
<li><a href="https://twitter.com/dabeaz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@dabeaz</a> on Twitter</li>
<li><a href="http://www.dabeaz.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
<li>Erik Rose</p>

<ul>
<li><a href="https://twitter.com/ErikRose?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ErikRose</a> on Twitter</li>
<li><a href="https://www.grinchcentral.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://gnunn1.github.io/terminix-web/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Terminix</a></li>
</ul>

<p></li><br>
<li>Erik</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Riven?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Riven</a></li>
<li><a href="http://wiki.scummvm.org/index.php/Datafiles#Riven:_The_Sequel_to_Myst?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ScummVM</a></li>
</ul>

<p></li><br>
<li>Dave</p>

<ul>
<li><a href="https://www.iterm2.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTerm2</a></li>
<li><a href="https://kerbalspaceprogram.com/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kerbal Space Program</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.jdoqocy.com/el117gv30v2IQROJQSOIKKLPJKSR?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920027072.do%3Fcmp%3Daf-prog-books-videos-product_cj_9781449340377_%2525zp&amp;cjsku=SKU-KIT-0636920027072-IP-BUNDLE&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Cookbook</a></li>
<li><a href="http://www.dpbolvw.net/4o101lnwtnvAIJGBIKGACDEGDIEB?url=http%3A%2F%2Fwww.thriftbooks.com%2Fw%2Fpython-essential-reference-developers-library_david-m-beazley%2F444962%2F%23isbn%3D0672329786&amp;cjsku=6232362&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Essential Reference</a></li>
<li><a href="https://github.com/mozilla/fathom?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fathom</a></li>
<li><a href="http://www.swig.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SWIG</a></li>
<li><a href="https://en.wikipedia.org/wiki/Windows_Script_Host?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Windows Scripting Host</a></li>
<li><a href="https://en.wikipedia.org/wiki/Parsing_expression_grammar?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEG</a> (Brian Foord)</li>
<li><a href="http://amzn.to/2l8aeNI?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Parsing Techniques by Grune and Jacobs</a></li>
<li><a href="https://en.wikipedia.org/wiki/Principles_of_Compiler_Design?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Dragon Book</a></li>
<li><a href="http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stack Overflow HTML regex parsing</a></li>
<li><a href="https://en.wikipedia.org/wiki/Earley_parser?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Earley parsing</a></li>
<li><a href="https://pypi.python.org/pypi/spark_parser?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SPARK</a></li>
<li>Hy-lang
<ul>
<li><a href="http://docs.hylang.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docs</a></li>
<li><a href="https://www.pythonpodcast.com/episode-23-hylang-core-developers/?utm_source=rss&utm_medium=rss">Interview</a></li>
</ul>

<p></li><br>
<li><a href="http://blog.moertel.com/posts/2013-06-12-recursion-to-iteration-4-trampolines.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trampolining</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Lisp_(programming_language)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp</a></li><br>
<li><a href="http://www.nltk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLTK</a></li><br>
<li><a href="https://github.com/dabeaz/sly?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SLY</a></li><br>
<li><a href="https://dxr.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DXR</a></li><br>
<li><a href="http://llvm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LLVM</a></li><br>
<li><a href="http://numba.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numba</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-95-parsing-and-parsers-with-dave-beazley-and-erik-rose%2F&amp;action_name=Parsing+and+Parsers+with+Dave+Beazley+and+Erik+Rose+-+Episode+95&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-02-04t11:51:12+00:00-f9ef01f069a0daf</guid>
      <link>https://www.pythonpodcast.com/episode-95-parsing-and-parsers-with-dave-beazley-and-erik-rose</link>
      <pubDate>Sat, 4 Feb 2017 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="69.03" duration="15.58">And, Eric, how about yourself? Well, let's see. I'm Eric, and I sit in my glacially carved fortress in North Carolina where I work remotely as a language wonk for Mozilla. And, I'm really interested in the intersection of formal languages and human cognition and have been for some time.</podcast:soundbite>
      <podcast:soundbite startTime="56.81" duration="11.36">So could you each introduce yourself? How about Dave? You go first. Alright. Well, I'm Dave Beasley. I'm sitting here in Chicago. People probably know me from maybe the Python essential reference book and the Python cookbook.</podcast:soundbite>
      <podcast:soundbite startTime="2023.97" duration="23.79">I think parsers can often show up in really unusual places too. I had, had coffee with somebody, I guess, a year ago. I don't know. It was it was it was somebody who had I he had taken a course with me, and we'd done some parsing stuff. He he's like, Dave, I need to buy you coffee. So he had had a coffee, and he told me about how he how what he learned doing the parsing stuff helped him write code that was used to save the health care dot gov website.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Parsing and Parsers with Dave Beazley and Erik Rose</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>95</itunes:episode>
      <podcast:episode>95</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531782766631593273afd-87ab-471c-8b37-cdd7dd316287v1.mp3" length="48037824" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531782766631593273afd-87ab-471c-8b37-cdd7dd316287v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_93273afd-87ab-471c-8b37-cdd7dd316287638558837521622712.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/93273afd-87ab-471c-8b37-cdd7dd316287638558837519607828.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/93273afd-87ab-471c-8b37-cdd7dd316287638558837517701530.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Home Assistant with Paulus Schoutsen</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Don&#8217;t you wish you could make all of your devices talk to each other? Check out <a href="https://home-assistant.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Assistant</a>, the Python 3 platform for unified automation. Paulus Schoutsen shares the story of how the project got started, what makes it tick, and how you can use it today!</p>

<h3>Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Paulus Schoutsen about <a href="https://home-assistant.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Assistant</a>, the Python 3 platform for unifying your home automation.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Home Assistant and what was the initial frustration that inspired you to create it?</li>
<li>How useful would home assistant be for someone who doesn&#8217;t have a lot of the so-called &#8216;smart home&#8217; technology?</li>
<li>Given the fact that the intended context for Home Assistant is in the user&#8217;s house or apartment, how do you ensure that their data and privacy are safe?</li>
<li>Reading through the documenation for installing and configuring Home Assitant, it seems prohibitively complex for someone who is not technically inclined. Has any work been done to try to package the project in a way that is more friendly to a casual user?</li>
<li>What are some of the most difficult challenges that you have faced while building Home Assistant?</li>
<li>Why did you choose Python 3 as the technology for building this platform?</li>
<li>The list of supported services and integrations is quite impressive. How does the current architecture allow for that kind of growth?</li>
<li>How has the architecture of Home Assistant evolved from when you first started it?</li>
<li>What are some of the products or platforms that you consider to be competitors of Home Assistant and how do you differentiate yourself?</li>
<li>What are some of the most interesting or unexpected uses of Home Assistant that you have seen?</li>
<li>What do you see as some of the most promising and the most troubling trends in the future of home automation?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://gitter.im/home-assistant/home-assistant?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitter Chatroom</a></li>
<li><a href="https://community.home-assistant.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forum</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2j7SLnd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Miss Peregrine&#8217;s Home for Peculiar Children</a></li>
</ul>

<p></li><br>
<li>Paulus</p>

<ul>
<li>Read a Newspaper</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li>Mycroft
<ul>
<li><a href="https://www.pythonpodcast.com/episode-82-mycroft-with-steve-penrod/?utm_source=rss&utm_medium=rss">Interview</a></li>
<li><a href="https://mycroft.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Homepage</a></li>
</ul>

<p></li><br>
<li><a href="https://letsencrypt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Let&#8217;s Encrypt</a></li><br>
<li><a href="https://github.com/alecthomas/voluptuous?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Voluptuous</a></li><br>
<li><a href="http://json-schema.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON-Schema</a></li><br>
<li><a href="https://youtu.be/Cfasc9EgbMU?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Assistant PyCon Presentation</a></li><br>
<li><a href="https://docs.python.org/3.6/library/asyncio.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">asyncio</a></li><br>
<li><a href="http://www.openhab.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open HAB</a></li><br>
<li><a href="https://en.wikipedia.org/wiki/Mirai_(malware)?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Merai Botnet</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-94-home-assistant-with-paulus-schoutsen%2F&amp;action_name=Home+Assistant+with+Paulus+Schoutsen+-+Episode+94&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-01-28t12:31:13+00:00-3d1970ffdf55137</guid>
      <link>https://www.pythonpodcast.com/episode-94-home-assistant-with-paulus-schoutsen</link>
      <pubDate>Sat, 28 Jan 2017 19:00:00 +0000</pubDate>
      <podcast:soundbite startTime="54.18" duration="19.69">So, Paulus, could you please introduce yourself? Yeah. So my name is Paulus I'm a software engineer living in San Diego, and I'm the the lead of, the open source project Home Assistant, Python 3 project that is, all about home automation to observe, control, and automate your things in your house.</podcast:soundbite>
      <podcast:soundbite startTime="989.43" duration="41.19">I think the biggest challenge when it comes to home automation is that even if you think for something as simple as a switch, it's not simple when it comes to home automation. Because there will be different vendors that, have different, like, you know, implementations of a switch. So for example, there's the the WEMO inside switch, which can measure how much, voltage is being used by the product. And then it has, like, a different, like, threshold than if the device is using less than the threshold that it, like, is measuring. Then instead of saying that the switch is off or on, it will say the switch is in standby because the product that's attached to the switch is in standby. So now all of a sudden, the switch is not no longer a binary thing. It's something that has 3 states.</podcast:soundbite>
      <podcast:soundbite startTime="107.42" duration="19.12">So Home Assistant is a framework that can integrate anything. So it can integrate lights, switches, anything in your house. It's just like providing data, but it's not per se limited to anything in your house. It also can read data from Twitter, your calendar, just anything that has data, comes together with Home Assistant.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:41:47</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Home Assistant with Paulus Schoutsen</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>94</itunes:episode>
      <podcast:episode>94</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529882608325955ba7fe0-e8f4-4e49-9e7d-1f198ca7c136v1.mp3" length="40126294" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529882608325955ba7fe0-e8f4-4e49-9e7d-1f198ca7c136v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_55ba7fe0-e8f4-4e49-9e7d-1f198ca7c136638558793724834610.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/55ba7fe0-e8f4-4e49-9e7d-1f198ca7c136638558793722229572.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/55ba7fe0-e8f4-4e49-9e7d-1f198ca7c136638558793720150691.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Cryptography with Paul Kehrer</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Sooner or later you will need to encrypt or hash some data. Thankfully we have the Cryptography library, along with the other projects maintained by the Python Cryptographic Authority, to make sure that your crypto is done right. In this episode Paul Kehrer talks about how the PyCA got started, the projects that they maintain, and how you can start using cryptography in your programs today.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your app or experimenting with something you hear about in this episode.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Paul Kehrer about cryptography and encryption in Python</li>
</ul>

<h3>Interview with Paul Kehrer</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you share a bit of the background behind the <a href="https://github.com/PyCA/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Cryptographic Authority</a> and how you got involved?</li>
<li>There is an adage that you should never roll your own crypto because if there are bugs or exploits in your implementation then it can have potentially serious side effects. What problem was the Cryptography library created to solve that was important enough to proceed despite that risk?</li>
<li>Given the sensitive nature of the libraries that you are working on, what development practices are you relying on to prevent the introduction of vulnerabilities?</li>
<li>While reading through the documentation I noticed that <a href="https://cryptography.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cryptography</a> links against OpenSSL. Is it possible to swap that out for alternative implementations such as LibreSSL or S2N?</li>
<li>What are some of the testing techniques that you use to ensure the accuracy of the algorithms that you are using?</li>
<li>What are some of the factors that a developer should keep in mind when selecting which cryptographic library to use in their projects?</li>
<li>When might someone want to use the capabilities found in the cryptography library what do they need to be aware of while writing their application?</li>
<li>For someone who wants to incorporate the cryptography library into their project what are some of the potential pitfalls that they should be aware of and how much knowledge of encryption should they possess?</li>
<li>In what ways does the security landscape in Python differ from that of other languages that you are familiar with and what unique challenges do we face?</li>
<li>What are some of the fundamental aspects of encryption and cryptography that you feel every developer should at least be aware of?</li>
<li>If anyone wants to learn more about security and encryption, what resources do you recommend?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Twitter &#8211; <a href="https://twitter.com/reaperhulk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@reaperhulk</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://migadu.com?src=MBN10&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Migadu</a></li>
<li><a href="http://amzn.to/2jX896D?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Castle Panic</a></li>
</ul>

<p></li><br>
<li>Paul</p>

<ul>
<li><a href="https://frinkiac.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Frinkiac.com</a></li>
<li><a href="https://morbotron.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Morbotron</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://github.com/awslabs/s2n?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">S2N</a></li>
<li><a href="https://www.libressl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LibreSSL</a></li>
<li><a href="https://www.crypto101.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cryptography 101</a></li>
<li><a href="https://en.wikipedia.org/wiki/General_number_field_sieve?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">General Number Field Sieve</a></li>
<li><a href="https://en.wikipedia.org/wiki/Lattice-based_cryptography?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lattice Based Crypto</a></li>
<li><a href="https://security.googleblog.com/2016/07/experimenting-with-post-quantum.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google New Hope Cryptography</a></li>
<li><a href="https://hypothesis.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypothesis</a></li>
<li><a href="https://en.wikipedia.org/wiki/Mersenne_Twister?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mersenne Twister</a></li>
<li><a href="https://cryptopals.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CryptoPals Crypto Challenges</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-93-cryptography-with-paul-kehrer%2F&amp;action_name=Cryptography+with+Paul+Kehrer+-+Episode+93&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-01-19t03:19:08+00:00-10f30d130563feb</guid>
      <link>https://www.pythonpodcast.com/episode-93-cryptography-with-paul-kehrer</link>
      <pubDate>Sat, 21 Jan 2017 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="394.56" duration="46.75">So the reason ultimately that we've created the cryptography library was to solve actually both levels of this. On the first level, at the base level, was that, PyCrypto and, M2Crypto both had major issues when those were the the dominant ones at the time. PyOpenSSL as well, although we now actually possess PyOpenSSL under the umbrella of the Python cryptographic authority. But, PyCrypto is well, it's convenient to compile because it contains all the c code that you would actually need to write the or to be able to use the cryptographic primitives. It is all bespoke c. And what I mean by that is that it was all written just for Pycrypto, which means it had it's had limited attention. There have been quite a few CVEs even in the recent past all around the fact that, like, this is not looked at that extensively.</podcast:soundbite>
      <podcast:soundbite startTime="2114.66" duration="53.91">So the single biggest thing think developers should be aware of is what's good randomness. Right? It's very common for people, especially when they're picking up a language like Python, to think that the way that they should get their randomness is by typing import random. Unfortunately, random dot randrange and things of that nature are actually a Mersenne Twister instance that's a a global singleton. Now that's perfectly fine and, in fact, desirable in certain scenarios. Right? Rand range is great if you wanna see your Mersenne Twister instance so that you can get, like, randomly generated world. Right? So if you're making a game, it's great to be able to seed your random generator explicitly so that you can have reproducible, quote, randomness. However, it's really really bad for cryptographic purposes. So if there's 1 single thing I would tell developers to know it's when you're generating a key to be used for cryptography, that data should come from os.urandom. It should not come from anywhere else.</podcast:soundbite>
      <podcast:soundbite startTime="785.33" duration="52.13">So, fortunately, academia is very interested in the concepts of post quantum cryptography. So, like, that'll be that's PQ is the standard way they refer to that. So there are things like lattice based crypto. Actually, Google Chrome recently ran an experiment where they did a, TLS handshake doing the initial key exchange using a post quantum algorithm called New Hope. New Hope is a variant on a ring ring learning with errors based lattice. So there are lots of things currently in research for what we can do for post quantum. And the reason that people are interested in it right now actually is that if you assume that, wait, 20 to 30 3 years from now, we're gonna have functional quantum computers, then there are secrets being encrypted right now that we don't want to be decryptable 30 years from now. So we need to have PQCrypto available for certain at least some subset of use cases as soon as we can because we want to be able to protect those secrets when those machines come online.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Cryptography with Paul Kehrer</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>93</itunes:episode>
      <podcast:episode>93</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302907931735c73331a8-81ac-4c14-a94f-426314bda3e3v1.mp3" length="40435221" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525302907931735c73331a8-81ac-4c14-a94f-426314bda3e3v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c73331a8-81ac-4c14-a94f-426314bda3e3638558801885548311.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c73331a8-81ac-4c14-a94f-426314bda3e3638558801883095536.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c73331a8-81ac-4c14-a94f-426314bda3e3638558801881001291.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Translate House with Dwayne Bailey and Ryan Northey</title>
      <description><![CDATA[<h3>Summary</h3>

<p>What is internationalization, when should you add it to your program, and how do you get started? This week Dwayne Bailey and Ryan Northey tell us about their work with Translate House and the different projects that they have built to make translating your software easier.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Dwayne Bailey and Ryan Northey about Translate House and the process of internationalization and localization for software projects.</li>
</ul>

<h3>Interview with Dwayne Bailey and Ryan Northey</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Why did you get involved in localisation, what got you started?</li>
<li>How would you describe the difference between internationalization and localization? Are there cases where it makes sense to only do one of those things?</li>
<li>Why should people localise software into other languages?</li>
<li>Translate House is an organization focused on localizing and internationalizing software projects. To that end there are a collection of projects that you develop and maintain. Can you briefly introduce each of them and describe their purpose?</li>
<li>What was the first project that was created in that list and how did it lead to the creation of the other tools?</li>
<li>At what point did you decide that creating an organization to own and support the tools that you were building was the right choice to make?</li>
<li>You run a distributed organisation, how do you manage that?</li>
<li>I was recently speaking with Michal Čihař about the Weblate project and he mentioned that he uses the Translate Toolkit for handling the low level aspects of managing the translation files. What are some of the architectural and design challenges that arise from needing to support so many different systems for managing source text and translations?</li>
<li>How do Pootle and Virtaal compare to other tools for web or desktop based translation? Are they primarily used for translating software or do they get used for other sources of text as well?</li>
<li>Given that Virtaal is intended for use on desktop systems by people who aren&#8217;t necessarily technically adept how have you approached the packaging and deployment aspects of it? What are some of the challenges that you have had to overcome?</li>
<li>Given the fact that multi-lingual translation requires interacting with a large quantity of text in numerous alphabets, what kind of impact has the unicode handling in Python 3 had on your projects?</li>
<li>What do you have planned for the future of your projects?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/translate/pootle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
<li><a href="https://gitter.im/translate/pootle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitter</a></li>
<li>Ryan
<ul>
<li><a href="https://github.com/phlax?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://store.google.com/product/chromecast_2015?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Chromecast</a></li>
</ul>

<p></li><br>
<li>Dwayne</p>

<ul>
<li><a href="https://meet.jit.si/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jitsi Meet</a></li>
</ul>

<p></li><br>
<li>Ryan</p>

<ul>
<li><a href="https://gitter.im/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitter</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://en.wikipedia.org/wiki/XLIFF?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XLIFF</a></li>
<li><a href="https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gettext PO Format</a></li>
<li><a href="http://cldr.unicode.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CLDR (Common Locale Data Repository)</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-92-translate-house-with-dwayne-bailey-and-ryan-northey%2F&amp;action_name=Translate+House+with+Dwayne+Bailey+and+Ryan+Northey+-+Episode+92&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-01-14t18:32:38+00:00-9bfe49c1f635969</guid>
      <link>https://www.pythonpodcast.com/episode-92-translate-house-with-dwayne-bailey-and-ryan-northey</link>
      <pubDate>Sat, 14 Jan 2017 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="209.26" duration="29.13">So for people who aren't familiar with it, how would you describe the difference between internationalization and localization? And I'm also wondering if there are any cases where it would make sense to only do 1 of those things or if they're just different words for the same thing. Well, definitely not different words for the same thing. They are kind of in the industry part and so it's seen as 2 different things. The easiest way I found to to think about it is internationalization is the things that you need to do to your software to make it possible to localize it.</podcast:soundbite>
      <podcast:soundbite startTime="2169.46" duration="35.37">So picking up on the on the first question, when Dwayne first out developing PuSols, there really wasn't much in terms of other open source options for for localization, and and localization tend then tended therefore to be done by hand. So PUSO was kind of a really critical play at that point. And 1 thing that's been you know, we've actually found really healthy is that there's now more and more tools available for localization. Thankfully, quite a few of those are, also open source. In terms of features and so on, you know, there's quite a few different platforms, so it's it's kinda hard to go into specific features and platforms and so on.</podcast:soundbite>
      <podcast:soundbite startTime="626.88" duration="32.63">So you both work for an organization called Translate House that's focused on localizing and internationalizing software projects, and you have a number of projects that are contained under that organization. So I'm wondering if you can briefly introduce each of them and describe their purpose and how they relate to each other. So the tools that we've developed, really, each 1 of them is emerged out of the need that we had, within our own communities and that we saw in the localization space. The primary 1 is Appootle, which is a community based translation platform.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:53</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Translate House with Dwayne Bailey and Ryan Northey</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>92</itunes:episode>
      <podcast:episode>92</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531802777994633080803-3bcc-45b8-9341-ce90026a120fv1.mp3" length="56542349" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531802777994633080803-3bcc-45b8-9341-ce90026a120fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_33080803-3bcc-45b8-9341-ce90026a120f638558838019865659.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/33080803-3bcc-45b8-9341-ce90026a120f638558838016654361.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/33080803-3bcc-45b8-9341-ce90026a120f638558838014299870.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Morepath with Martijn Faassen</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Python has a wide and growing variety of web frameworks to choose from, but if you want one with super powers then you need Morepath. This week Martijn Faassen shares the story of how Morepath was created, how it differentiates itself from the other available options, and how you can use it to power your next project.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Martijn Faassen about the Morepath web framework.</li>
</ul>

<h3>Interview with Martijn Faassen</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Morepath and what problem were you trying to solve when you created it?</li>
<li>The tag line for the Morepath project is that it&#8217;s a web microframework with superpowers. What is special or different about it that sets it apart from the other options in the Python ecosystem?</li>
<li>It can be difficult to convince someone to migrate to a new framework, particularly if there is a lack of supporting ecosystem. What are some of the motivating factors for a developer to switch to Morepath if they already have experience with one of the more widely used frameworks?</li>
<li>What does the internal architecture for Morepath look like and what are some of the challenges that you have faced while building it?</li>
<li>One of the features is the automatic link generation for ensuring that you don&#8217;t end up with dead links. Is there any support for permalinks or redirects so that if you refactor your site people won&#8217;t end up at a path that no longer exists?</li>
<li>In the documentation you make a number of references to the fact that Morepath is a routing based framework. Can you explain what you mean by that and how it differs from a traversal based framework?</li>
<li>Part of the core elements of Morepath are your libraries Reg and Dectate. Can you describe each of them and explain some of how they came to be created?</li>
<li>Morepath has a different conception of models than most frameworks that I&#8217;ve dealt with in that they aren&#8217;t necessarily associated with any form of database. Can you explain why that is and some of the patterns that it allows for?</li>
<li>The method for extending and reusing applications built in Morepath is through subclassing the objects and overriding specific methods. What is it about this approach that you found to be more flexible than the alternatives exhibited by other frameworks?</li>
<li>What are some of the most interesting or unexpected uses of Morepath that you have seen?</li>
<li>What do you have planned for the future of Morepath?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://blog.startifact.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/faassen?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/faassen?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="mailto:faassen@startifact.com">Email</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.imdb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IMDB</a></li>
<li><a href="http://amzn.to/2iPHx8j?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gyroscopes</a></li>
</ul>

<p></li><br>
<li>Martijn</p>

<ul>
<li><a href="http://www.kenandrobintalkaboutstuff.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ken And Robin Talk About Stuff</a></li>
<li><a href="https://en.wikipedia.org/wiki/Viili?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Viili</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.13thagesrd.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">13th age</a></li>
<li><a href="http://jsonapi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON API</a></li>
<li><a href="http://json-ld.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON-LD</a></li>
<li><a href="http://www.hydra-cg.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hydra (REST standard)</a></li>
<li><a href="http://graphql.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GraphQL</a></li>
<li><a href="https://netflix.github.io/falcor/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Falcor</a></li>
<li><a href="http://aiohttp.readthedocs.io/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">aiohttp</a></li>
<li><a href="http://docs.zope.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://trypyramid.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyramid</a></li>
<li><a href="http://grok.zope.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grok</a></li>
<li><a href="https://github.com/OneGov?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OneGov</a></li>
<li><a href="https://blog.startifact.com/posts/my-exit-from-zope.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Martijn &#8211; My Exit From Zope</a></li>
<li><a href="http://lxml.de/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LXML</a></li>
<li><a href="https://docs.python.org/3.6/library/xml.etree.elementtree.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elementree</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-91-morepath-with-martijn-faassen%2F&amp;action_name=Morepath+with+Martijn+Faassen+-+Episode+91&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2017-01-19t03:18:48+00:00-49e3f4cfbb27c10</guid>
      <link>https://www.pythonpodcast.com/episode-91-morepath-with-martijn-faassen</link>
      <pubDate>Sat, 7 Jan 2017 17:45:00 +0000</pubDate>
      <podcast:soundbite startTime="55.61" duration="22.66">So, Martijn, could you please introduce yourself? Hello. I'm, Martin Vasser. I'm, I call myself a web developer. I'm from the Netherlands. And I've been doing Python for a while since 1998 and, yeah, I do various other things, like, garden and play role playing games and various other geeky and less geeky things.</podcast:soundbite>
      <podcast:soundbite startTime="848.23" duration="38.21">So the tagline on the documentation for Morpath is that it's a web microframework with superpowers. So I'm wondering if you can tell us a bit about what the superpowers are that it has and what makes it special or different that sets it apart from some of the other options in the Python ecosystem that people might already be using. Right. So Morpoth is, is a small web framework, but it tries to pack a lot of power in the small package. And things that set Morpoth apart are centered, I think, about around perhaps 3 topic areas, but maybe we can restrict that to to 2.</podcast:soundbite>
      <podcast:soundbite startTime="317.27" duration="33.45">So can you tell us a bit about what the Morpeth framework is and the problem that you were trying to solve when you created it? Yeah. MobilePASS is is a Python web framework, a server framework, like, so many other, like Flask or a Django or Pyramid. Besides trying to actually solve actual problem, it's also an actual problems, it's also an act of creativity, as much as actually solving a problem. I just sort of can't help myself creating new things once every while. I'd been using web frameworks and helping create them for so many years.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:05:51</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Morepath with Martijn Faassen</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>91</itunes:episode>
      <podcast:episode>91</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315979713570d4abcc08-9937-4ec5-9a18-b1021dc12bf2v1.mp3" length="63231799" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315979713570d4abcc08-9937-4ec5-9a18-b1021dc12bf2v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_d4abcc08-9937-4ec5-9a18-b1021dc12bf2638558830919662701.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d4abcc08-9937-4ec5-9a18-b1021dc12bf2638558830915938040.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/d4abcc08-9937-4ec5-9a18-b1021dc12bf2638558830913638085.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>ERPNext with Rushabh Mehta</title>
      <description><![CDATA[<h3>Summary</h3>

<p>If you need to track all of the pieces of a business and don&#8217;t want to use 15 different tools then you should probably be looking at an ERP (Enterprise Resource Planning) system. Unfortunately, a lot of them are big, clunky, and difficult to manage, so Rushabh Mehta decided to build one that isn&#8217;t. ERPNext is an open-source, web-based, easy to use ERP platform built with Python.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.&#95;&#95;init&#95;&#95;, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Rushabh Mehta about ERPNext</li>
</ul>

<h3>Interview with Rushabh Mehta</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What does ERP stand for and what kinds of busineesses require that kind of software?</li>
<li>What problem were you trying to solve when you created ERPNext and what factors led to the decision to write it in Python?</li>
<li>How is ERPNext architected and what are some of the biggest challenges that were faced during its creation?</li>
<li>While researching the project I noticed that you created your own framework which is used for building ERPNext. What was lacking in the existing options that made building a new framework appealing?</li>
<li>What are some of the projects that you consider to be your competitors and what are the features that would convince a user to choose ERPNext?</li>
<li>For someone who wants to self-host ERPNext what are the system requirements and what does the scaling strategy look like?</li>
<li>On the marketing site for ERPNext it is advertised as being for small and medium businesses. What are the characteristics of larger businesses that might not make them a good fit for the features or structure of ERPNext?</li>
<li>What are some of the most interesting or unexpected ways that you have seen ERPNext put to use?</li>
<li>Are there any interesting projects of features that you are working on for release in the near future?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Rushabh
<ul>
<li><a href="@rushabh_mehta">Twitter</a></li>
</ul>

<p></li><br>
<li>ERPNext</p>

<ul>
<li><a href="https://discuss.erpnext.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://github.com/frappe/erpnext?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://erpnext.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://wordpress.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WordPress</a></li>
</ul>

<p></li><br>
<li>Rushabh</p>

<ul>
<li><a href="http://amzn.to/2hBXvFO?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ready Player One</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://en.wikipedia.org/wiki/IBM_Personal_Computer_XT?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">8088 PC XT</a></li>
<li><a href="https://www.odoo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Odoo</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-90-erpnext-with-rushabh-mehta%2F&amp;action_name=ERPNext+with+Rushabh+Mehta+-+Episode+90&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-12-30t13:51:02+00:00-4ff7683bc43e164</guid>
      <link>https://www.pythonpodcast.com/episode-90-erpnext-with-rushabh-mehta</link>
      <pubDate>Sat, 31 Dec 2016 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="73.71" duration="24.94">So, Rishabh, could you introduce yourself, please? Yeah. Hi, Tobias. This is Rishabh. I'm the founder of ERP Next. ERP Next is, is an ERP system for small businesses. It helps businesses do accounting, inventory, sales, CRM, purchasing, projects, HR and payroll, and, and and a lot of other stuff. Yeah. So we're we're based in Mumbai, India, and we're a team of 15 people now.</podcast:soundbite>
      <podcast:soundbite startTime="1477.94" duration="40.84">And are there any interesting projects or features that you're working on for release in the near future that people might be interested in hearing about? So 1 of the biggest barriers for small businesses to use, such a thing, especially like I said, you know, these are end users who really don't understand the Linux command line is is the whole client server setup. And, I know you're talking about cloud and software as a service and all of that. But the vast majority of businesses, I think, are still offline in that sense. You know, if you're using an accounting application or a point of sale, you know, it really makes sense to build an offline first application. So so what we're, experimenting right now is to build a full offline version of ERP Next or at least a part of ERB next, we'll call it maybe a small accounting app, and then put it up for download.</podcast:soundbite>
      <podcast:soundbite startTime="159.58" duration="31.11">So the project that we're talking about today is an ERP system. So I'm wondering if you can explain what that anagram stands for and the kinds of businesses that generally require that kind of software. Yes, Shweta. ERP is basically an enterprise resource planning system. It's basically a system that helps organizations manage all their information. So basically a data ware data warehouse for an organization. It helps them do accounting, helps them, keeping, keep track of their orders, the shipments, invoices, payments.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:30:34</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>ERPNext with Rushabh Mehta</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>90</itunes:episode>
      <podcast:episode>90</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253037471980497bf26b83-0f56-4099-b2b5-51e74895759fv1.mp3" length="29357816" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253037471980497bf26b83-0f56-4099-b2b5-51e74895759fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7bf26b83-0f56-4099-b2b5-51e74895759f638558805952278549.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7bf26b83-0f56-4099-b2b5-51e74895759f638558805950180239.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7bf26b83-0f56-4099-b2b5-51e74895759f638558805948194112.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Jackie Kazil</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Jackie Kazil has led a distinguished and varied career with a strong focus on providing information and tools that empower others. This includes her work in data journalism, as a presidential innovation fellow, co-founding 18F, co-authoring a book, and being elected to the board of the Python Software Foundation. In this episode she shares these stories and more with us and how Python has helped her along the way.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your application.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com/?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> to join other listeners of the show and share ideas for how to make it better.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Jackie Kazil about her work with 18F, writing Data Wrangling with Python, and her career with Python.</li>
</ul>

<h3>Interview with Jackie Kazil</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Looking at your background it shows that you got your start in Journalism and that you are now working on an additional degree in Computational Social Science. Can you share a bit about that journey and what set you on that path?</li>
<li>What is computational social science and what has your particular focus been within that field?</li>
<li>How has your work in news media prepared you for your current role?</li>
<li>One of your many notable achievements is co-founding 18F. Can you start by explaining what that organization is and how you got involved in the efforts to build it?</li>
<li>What are some of the notable uses of Python at 18F?</li>
<li>In what ways did your experience working with 18F differ from the work you have done at companies outside of government?</li>
<li>You recently co-wrote and published Data Wrangling with Python through O&#8217;Reilly Media. What kind of subject matter do you cover in the book and who is the target audience?</li>
<li>There are a number of resources available to learn the various tools for working with data in Python. What is the gap that this book is aiming to fill and how did you get started with it?</li>
<li>What are some of the most interesting things that you learned while working on the book?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/jackiekazil?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://markdownlivepreview.com/jackiekazil@gmail.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Email</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2hldpnG?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jason Bourne Movies</a></li>
</ul>

<p></li><br>
<li>Jackie</p>

<ul>
<li><a href="http://easteuropeanfood.about.com/od/bohemianczechdumplings/r/Traditional-Czech-Bread-Dumplings-Recipe.htm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Czech Dumpling Dough</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://byteback.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Byteback</a></li>
<li><a href="https://github.com/networkx/networkx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetworkX</a></li>
<li><a href="https://github.com/projectmesa/mesa?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Mesa</a></li>
<li><a href="https://github.com/ngageoint/geoq?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GeoQ</a></li>
<li><a href="https://open.foia.gov/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">openFOIA</a></li>
<li><a href="https://api.open.fec.gov/developers/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenFEC API</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-89-jackie-kazil%2F&amp;action_name=Jackie+Kazil+-+Episode+89&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-12-24t01:07:12+00:00-759181712aa7f82</guid>
      <link>https://www.pythonpodcast.com/episode-89-jackie-kazil</link>
      <pubDate>Sat, 24 Dec 2016 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="355.64" duration="53.33">So I was at the, Washington Post, and I had a friend there who, was a little bit of a mentor of mine as well. His name was Ryan O'Neil. And so I got my master's in journalism, and Ryan decided to start his PhD in operations research. And, you know, I said to him that I was unfulfilled, that I wanted to do more. And he told me about operations research, and we talked about some of the problems he was working on. And I was like, yeah. That's great. But I think there I started to talk about problems that were too complex to solve with equations and talked about the sort of the human aspect of systems, which the operations research doesn't necessarily account for. And he pointed me towards this other program at the same university he was at in Virginia called computational social science.</podcast:soundbite>
      <podcast:soundbite startTime="701.56" duration="56.46">So after I left The Washington Post, I joined a contract at the Library of Congress, and I worked on a a couple of projects relating to old newspapers. I was an advisor on the remake of congress.gov, which was something that I was congressional data was something I was using as a journalist on the outside. For me, moving from journalism to government was it was a scary jump because it's a a complete industry shift. And if you have sort of 1 knowledge set of or sort of 1 safe area that you're comfortable with, it's difficult to, like, completely switch industries to another 1 and saying, well, you know, will I be happy doing this, you know, thing, and how is it different from where I'm coming from and so on and so forth. But, you know, the thing thing that connected journalism to government for me was the sort of civic I guess, in that particular case, you could say civic duty slash empowering citizens to be able to, make better decisions.</podcast:soundbite>
      <podcast:soundbite startTime="1290.04" duration="92.44">So you mentioned during your introduction that you have also cowritten a book called data wrangling with Python. So I'm wondering if you can describe a bit about what kind of subject matter you cover there and who you targeted for the audience of that book. Yeah. So the the book was originally written, with journalists becoming, journalists who want to get into data in mind. That was the sort of original I don't wanna say the original audience because it quickly shifted, and then it moved to just general people who want to learn more about using data. And what I had noticed as somebody who was self taught, what I had noticed was that there were a lot of great books out there, when it came to specific scientific libraries, but not any that sort of dealt with data and Python and what 80 or 90 percent of what you do with data is. And so I started writing the book. I think it was it took 2 or 3 years because it was also during the same time as the Presidential Innovation Fellowship and, 18 f. And so it was a little bit of a it was a a lot going on during that time. And, the idea being though that when somebody says to someone else, you should learn how to use Python to do data stuff, or you should use Pandas or something like that. If they pick up a book on pandas, that they're not confusing what is, like, what is Python versus what is pandas. And being able to give them the building blocks of, you know, basic data structures to parsing different data types to APIs to doing a little bit of larger data stuff.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:48</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Jackie Kazil</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>89</itunes:episode>
      <podcast:episode>89</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298084315682381d5579-af27-45c8-924b-0f5386b1ab49v1.mp3" length="38218608" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298084315682381d5579-af27-45c8-924b-0f5386b1ab49v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_381d5579-af27-45c8-924b-0f5386b1ab49638558790883363297.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/381d5579-af27-45c8-924b-0f5386b1ab49638558790880989632.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/381d5579-af27-45c8-924b-0f5386b1ab49638558790878881517.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Weblate with Michal Čihař</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Adding translations to our projects makes them usable in more places by more people which, ultimately, makes them more valuable. Managing the localization process can be difficult if you don&#8217;t have the right tools, so this week Michal čihař tells us about the Weblate project and how it simplifies the process of integrating your translations with your source code.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our <a href="https://www.pythonpodcast.com/?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com/?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Michal Čihař about Weblate</li>
</ul>

<h3>Interview with Michal Čihař</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what Weblate is and the problem that you were trying to solve by creating it?</li>
<li>What are the benefits of using Weblate over other tools for localization and internationalization?</li>
<li>One of the advertised features of Weblate is integration with git and mercurial. Can you explain how that works and what a typical translation workflow looks like both for a developer and a translator?</li>
<li>Given that part of the focus for the tool is to allow for community translation, how do you simplify the experience for first time contributors?</li>
<li>I understand that Weblate is written as a django application. Is it possible to use Weblate with other Web frameworks or non-web projects?
<ul>
<li>Can this be used with projects implemented in other programming laguages? Are there any capabilities that are lot in this scenario?</li>
</ul>

<p></li><br>
<li>Why should developers and product managers be concerned with localizing an application? How does Weblate help to reduce the level of investment necessary for such an undertaking?</li><br>
<li>What are some of the biggest difficulties that you have encountered while building and maintaining Weblate?</li><br>
<li>What are the most common problems that you see people encounter on both the translator and developer side when dealing with internationalization and localization?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://weblate.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Weblate.org</a></li>
<li><a href="https://www.facebook.com/WeblateOrg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Facebook</a></li>
<li><a href="https://twitter.com/WeblateOrg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/WeblateOrg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2hFsTSQ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">War Dogs</a></li>
</ul>

<p></li><br>
<li>Michal</p>

<ul>
<li><a href="https://jordis.cz/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jordi&#8217;s Chocolate</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://l20n.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">L20N</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-88-weblate-with-michal-cihar%2F&amp;action_name=Weblate+with+Michal+%C4%8Ciha%C5%99+-+Episode+88&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-12-17t12:08:17+00:00-58f525634c1842f</guid>
      <link>https://www.pythonpodcast.com/episode-88-weblate-with-michal-cihar</link>
      <pubDate>Sat, 17 Dec 2016 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="73.44" duration="15.96">So, Michal, could you please introduce yourself? Hello. I'm Michal Chehaj, and I'm currently freelancer on free software. So that means that I basically work on what I like, and 1 of the things is applied, which we'll be talking about today.</podcast:soundbite>
      <podcast:soundbite startTime="147.34" duration="26.71">WebLite is basically tool for adding translations online. And the main motivation behind it was to make this process as seamless as possible. We have used in some other open source projects where I've I'm involved with you used different tools for translating, and it always involved quite a lot of manual work. And, yeah, I hate to do that.</podcast:soundbite>
      <podcast:soundbite startTime="1194.34" duration="37.91">Yeah. I think most visible feature which is not always present is handling plural forms. It's like in English, you just add s to the end of the to the noun and it's done. But in other languages, it's more complex. You have like in Czech, we have 3 plurals, plural firms. In Arabic, they have, I think, 7. So it's something that the translation format should should understand. And it's done properly in Getex. It's done properly in translation system. It's done properly in Android, but I'm not sure about iOS.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:32:34</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Weblate with Michal Čihař</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>88</itunes:episode>
      <podcast:episode>88</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253052481745346c5cc0fe-e514-4a3a-8f7b-67c027e74411v1.mp3" length="31281460" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253052481745346c5cc0fe-e514-4a3a-8f7b-67c027e74411v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_6c5cc0fe-e514-4a3a-8f7b-67c027e74411638558812694563794.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6c5cc0fe-e514-4a3a-8f7b-67c027e74411638558812692314531.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6c5cc0fe-e514-4a3a-8f7b-67c027e74411638558812689992972.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>SpaCy with Matthew Honnibal</title>
      <description><![CDATA[<div id="container">
<div id="content" class="section">
<div id="preview" class="mode">
<div id="output" class="content markdown-body">
<h3>Summary</h3>
<p>As the amount of text available on the internet and in businesses continues to increase, the need for fast and accurate language analysis becomes more prominent. This week Matthew Honnibal, the creator of SpaCy, talks about his experiences researching natural language processing and creating a library to make his findings accessible to industry.</p>
<h3>Brief Introduction</h3>
<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our <a href="https://www.pythonpodcast.com/?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com/?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Matthew Honnibal about SpaCy and Explosion.AI</li>
</ul>
<h3>Interview with Matthew Honnibal</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by sharing what SpaCy is and what problem you were trying to solve when you created it?</li>
<li>Another project for natural language processing that has been part of the Python ecosystem for a number of years is the Natural Language Tool Kit (NLTK). How does SpaCy differ from the NLTK and are there any cases where that would be the better choice?</li>
<li>How much knowledge of NLP and computational linguistics is necessary to be able to use SpaCy?</li>
<li>What does the internal design and architecture of SpaCy look like and what are the biggest challenges associated with its development to date and into the future?</li>
<li>One of the projects that you have built around SpaCy which I think is really cool and caught my attention when I first found your project is the displaCy visualization tool. Can you explain what that is and why you think it is important?</li>
<li>What are some kinds of applications where SpaCy would be useful which might not be obvious candidates for it?</li>
<li>Why is speed such an important focus for an NLP library?</li>
<li>One of the ways that you have been able to gain a speed boost is through releasing the GIL and allowing for true parallelism via Cython. How have you managed to ensure that this doesn&#8217;t lead to data races and program failures?</li>
<li>Building on the success of SpaCy you founded a company called Explosion AI. Can you explain what your goals are for this endeavor and the kinds of services that you are offering?</li>
<li>What are some of the most interesting uses of SpaCy that you have seen?</li>
<li>What do you have planned for the future of SpaCy?</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li>Twitter
<ul>
<li><a href="https://twitter.com/honnibal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matthew</a></li>
<li><a href="https://twitter.com/spacy_io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpaCy</a></li>
<li><a href="https://twitter.com/explosion_ai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Explosion AI</a></li>
</ul>
</li>
<li><a href="https://spacy.us12.list-manage.com/subscribe/post?u=83b0498b1e7fa3c91ce68c3f1&amp;amp;id=89ad33e698&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
<li><a href="https://explosion.ai/request?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Explosion AI Contact Form</a></li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2hhvHWp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zoom H4N Pro</a></li>
<li><a href="http://amzn.to/2gqFfi6?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shure SM58</a></li>
</ul>
</li>
</ul>
<h3>Links</h3>
<ul>
<li><a href="https://demos.explosion.ai/sense2vec/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reddit sense2vec demo</a></li>
<li><a href="https://demos.explosion.ai/displacy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DisplaCy</a></li>
<li><a href="https://demos.explosion.ai/displacy-ent/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DisplaCy Entity Visualizer</a></li>
<li><a href="https://spacy.io/docs/usage/showcase?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpaCy Showcase</a></li>
<li><a href="http://www.nltk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLTK</a></li>
<li><a href="https://chartbeat.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chartbeat</a></li>
<li><a href="http://www.cytora.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cytora</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>
</div>

<p></div><br>
</div><br>
</div></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-87-spacy-with-matthew-honnibal%2F&amp;action_name=SpaCy+with+Matthew+Honnibal+-+Episode+87&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-12-11t02:03:36+00:00-84d056c80e9af3c</guid>
      <link>https://www.pythonpodcast.com/episode-87-spacy-with-matthew-honnibal</link>
      <pubDate>Sun, 11 Dec 2016 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="70.05" duration="25.72">So, Matthew, could you please introduce yourself? Hi. So first of all, thanks, Tobias. It's good to be here. So as you said, I've I'm the developer of spaCy. I've been doing natural language processing research for most of my career. And in 2014, I decided that instead of writing grant proposals and ascending in academia, I would leave and write a commercial open source, library, and this became spaCy.</podcast:soundbite>
      <podcast:soundbite startTime="1752.09" duration="49.85">So the goals are are really to help people take advanced natural language processing and put it into production. So really give people access to the latest, developments in research that they can build, you know, really great applications that couldn't be built yesterday. So that's, I guess, the the main goal of the company and what what we're really trying to achieve. So 1 way that we're achieving that at the moment is by working with clients on an individual basis. Unfortunately, this tends it tends to be to people. A lot of machine learning problems and natural language processing problems sort of start to look alike if you've solved them before and if you kinda have the right abstraction over these things. So we can quite efficiently help people solve a specific problem by working, with their problem directly in a way that would be difficult to, to do on them by giving them just a library. Because if you give them a library, they still have to understand how to wire together these primitives into something that really solves their problem.</podcast:soundbite>
      <podcast:soundbite startTime="139.23" duration="52.23">So spaCy is a library for doing natural language processing. In other words, the main thing that it's good for is if you want to understand a large volume of text or extract information from it or process it in some useful way, then, you usually want to first of all split the string up into sentences and words, then you want to understand how the words meanings relate to each other, how the sentences are structured, find, sort of proper nouns and numeric entities like people, locations, events. All of these are tasks which are common in language processing, and they're all nontrivial to write. They typically require statistical models to get accurate because a word might have multiple parts of speech, the word apple might sometimes refer to an apple, it might sometimes refer to a company, etcetera. So these are all areas of ongoing research, and this was the type of research that I was engaged in as an academic.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:36:48</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>SpaCy with Matthew Honnibal</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>87</itunes:episode>
      <podcast:episode>87</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305316352682c2c06cab-d7f8-47c7-bad3-683c7322329av1.mp3" length="35344162" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305316352682c2c06cab-d7f8-47c7-bad3-683c7322329av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c2c06cab-d7f8-47c7-bad3-683c7322329a638558812989521295.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c2c06cab-d7f8-47c7-bad3-683c7322329a638558812987199157.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c2c06cab-d7f8-47c7-bad3-683c7322329a638558812985351951.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Kinto with Alexis Metaireau and Mathieu Leplatre</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Are you looking for a backend as a service offering where you have full control of your data? Look no further than Kinto! This week Alexis Metaireau and Mathieu Leplatre share the story of how Kinto was created, how it works under the covers, and some of the ways that it is being used at Mozilla and around the web.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our <a href="https://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Alexis Metaireau and Mathieu Leplatre about Kinto</li>
</ul>

<h3>Interview with Alexis and Mathieu</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Kinto and how did it get started?</li>
<li>What does the internal architecture of Kinto look like?</li>
<li>Given that the primary data format being stored is JSON, why did you choose PostGreSQL as your storage backend instead of a NoSQL document database such as CouchDB?</li>
<li>Synchronization of transactions from multiple users, including offline first support, is a difficult problem. How have you approached that in Kinto and what are some of the alternate solutions that were considered?</li>
<li>Designing usable APIs is a complicated subject. What features did you prioritize while creating the interfaces to Kinto?</li>
<li>What are some of the most innovative uses of Kinto that you have seen?</li>
<li>What are some of the biggest challenges that you have faced while building Kinto?</li>
<li>What do you have planned for the future of Kinto?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Kinto
<ul>
<li><a href="https://github.com/Kinto/kinto?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
<li><a href="https://mail.mozilla.org/listinfo/kinto?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
</ul>

<p></li><br>
<li>Alexis</p>

<ul>
<li><a href="mailto:alexis@notmyidea.org">Email</a></li>
</ul>

<p></li><br>
<li>Mathieu</p>

<ul>
<li><a href="https://twitter.com/leplatrem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="mailto:mathieu@leplat.re">Email</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://discourse.pythonpodcast.com/t/what-are-you-working-on-this-week-with-python/184/4?utm_source=rss&utm_medium=rss">What are you working on this week with Python?</a></li>
</ul>

<p></li><br>
<li>Alexis</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Bitches_Brew?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Miles Davis &#8211; Bitches Brew</a></li>
</ul>

<p></li><br>
<li>Mathieu</p>

<ul>
<li><a href="http://sigal.saimon.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sigal</a></li>
<li><a href="http://subliminal.readthedocs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Subliminal</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://getpocket.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pocket</a></li>
<li><a href="http://couchdb.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CouchDB</a></li>
<li><a href="https://www.openapis.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenAPI</a></li>
<li><a href="https://www.w3.org/TR/WebCryptoAPI/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">WebCrypto</a></li>
<li><a href="https://github.com/Kinto/formbuilder?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Formbuilder</a></li>
<li><a href="https://www.firebase.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Firebase</a></li>
<li><a href="http://kinto.readthedocs.io/en/stable/faq.html#comparison?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kinto Comparison Table</a></li>
<li><a href="https://login.persona.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozilla Persona</a></li>
<li><a href="https://portier.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Portier</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-86-kinto-with-alexis-metaireau-and-mathieu-leplatre%2F&amp;action_name=Kinto+with+Alexis+Metaireau+and+Mathieu+Leplatre+-+Episode+86&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-12-03t22:12:39+00:00-270068fd5416874</guid>
      <link>https://www.pythonpodcast.com/episode-86-kinto-with-alexis-metaireau-and-mathieu-leplatre</link>
      <pubDate>Sun, 4 Dec 2016 00:30:00 +0000</pubDate>
      <podcast:soundbite startTime="1063.39" duration="48.36">So 1 of the core tenants of the project is the fact that it supports synchronization between different clients. And given that synchronization is such a difficult problem in computer science, I'm wondering how you've approached that and, what are some of the alternate solutions that you that were considered and ultimately discarded before you settled on the approach that you're using now. I can I can try to answer that? So, yeah, it's a very hard topic indeed. I mean, it's it's an academic, challenge, and I to but we made several concessions, of course. And the concession we've made is that, first, we, like, we don't store, the divergences, like the history of each record, like CouchDB would do. We only store the last version of a record, and we don't try to do magic.</podcast:soundbite>
      <podcast:soundbite startTime="202.24" duration="42.55">And so today, we're talking about the Kinto project, which you've both contributed to. And I'm wondering if you can describe what Kinto is and how the project got started. So Kinto is a is a service. It's a it's a web service. And, basically, it's a it's a generic JSON document store where you can store data and share and synchronize them across several devices. So, basically, it's a way for our application authors to store and and synchronize data for their application and let the users be in control of the location where they want to store their user data.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:56:02</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Kinto with Alexis Metaireau and Mathieu Leplatre</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>86</itunes:episode>
      <podcast:episode>86</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315094985407306bab3a-11bc-4c40-8e8a-a0c6e0b792dfv1.mp3" length="53802172" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315094985407306bab3a-11bc-4c40-8e8a-a0c6e0b792dfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_306bab3a-11bc-4c40-8e8a-a0c6e0b792df638558827698695911.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/306bab3a-11bc-4c40-8e8a-a0c6e0b792df638558827693478846.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/306bab3a-11bc-4c40-8e8a-a0c6e0b792df638558827691753222.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Plone with Eric Steele</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Plone is one of the first CMS projects to be built using Python and it is still being actively developed. This week Eric Steele, the release manager for Plone, tells us about how it got started, how it is architected, and how the community is one of its greatest strengths</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com/?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Eric Steele about the Plone CMS.</li>
</ul>

<h3>Interview with Eric Steele</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by explaining a bit about what Plone is and how you got involved with it?</li>
<li>How did the Plone project get started and how has it evolved over the years?</li>
<li>What makes Plone unique among the myriad CMS tools that are available and which of them do you consider to be direct competitors?</li>
<li>Plone has managed to keep an impressive track record of security. What are some of the key features that enable that?</li>
<li>I know that for much of its history, the default data storage for plone was the ZODB (Zope Object DataBase). How would you describe its benefits and drawbacks for someone who is familiar with a relational database?</li>
<li>Plone is one of the most long-lived Python projects that I am aware of. What are some of the most difficult maintenance challenges that you have encountered over the years of its existence?</li>
<li>What does the internal architecture of Plone look like?</li>
<li>One of the major tenets of the project is the ability to install extensions. What are some of the most interesting plugins that you are aware of?</li>
<li>What kinds of projects are Plone best suited for?</li>
<li>What does the workflow look like for a user of Plone?</li>
<li>What are some of the most interesting uses of Plone that you have seen?</li>
<li>What are the biggest challenges facing the Plone project and community as development and deployment paradigms continue to change?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Plone
<ul>
<li><a href="https://plone.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://community.plone.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forum</a></li>
<li>IRC: #plone on freenode.net</li>
</ul>

<p></li><br>
<li>Eric</p>

<ul>
<li><a href="https://twitter.com/esteele?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="mailto:esteele@plone.org">E-mail</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.bbc.co.uk/programmes/p029399x?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Inquiry (podcast)</a></li>
<li><a href="https://us.pycon.org/2017/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon US</a></li>
</ul>

<p></li><br>
<li>Eric</p>

<ul>
<li><a href="http://reallybadchess.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Really Bad Chess</a></li>
<li><a href="http://homeassistant.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Home Assistant</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://zope.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zope</a></li>
<li><a href="https://old.plone.org/documentation/manual/installing-plone/installing-on-linux-unix-bsd/to-zeo-or-not-to-zeo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ZEO</a></li>
<li><a href="http://docs.plone.org/develop/plone/forms/ploneformgen.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PloneFormGen</a></li>
<li><a href="https://github.com/collective/rapido.plone?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rapido</a></li>
<li><a href="https://castlecms.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CastleCMS</a></li>
<li><a href="http://blog.plumi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plumi</a></li>
<li><a href="https://www.bikalims.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bika LIMS</a></li>
<li><a href="http://quaive.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quaive (Plone Intranet)</a></li>
<li><a href="http://open-advice.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Advice</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></p>

<p>.<img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-85-plone-with-eric-steele%2F&amp;action_name=Plone+with+Eric+Steele+-+Episode+85&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-11-26t21:29:34+00:00-28772d70bbef41e</guid>
      <link>https://www.pythonpodcast.com/episode-85-plone-with-eric-steele</link>
      <pubDate>Sat, 26 Nov 2016 22:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2178.41" duration="40.33">So what are some of the most interesting uses of Plone that you've seen? Yeah. Well, I I should mention that we, the Brazilian Olympic sites, ran Plone. So that was 1 of our big hits from this year, Managed to hold up to that strain very easily. Although, I'm sure Hector, if he's listening, will correct me on how easy that was. Yeah. We have let's see. Like, I yeah. I mentioned a bunch of government agencies. We have a lot of universities using it as well. I've always been fascinated our, so Plone is owned by the Plone, the software, is owned by a foundation, and our our foundation's president, works for the Clean Close campaign.</podcast:soundbite>
      <podcast:soundbite startTime="298.11" duration="47.77">So you mentioned too a bit about the community. So I'm just curious about sort of how the how that community has evolved over time. And I guess what are some of the methods that you've used to make sure that the people stay engaged with Plone as newer offerings have come available? Right. Right. In the past few years, we've spent a lot of time talking about where Ploom will be in the next 5, 10 years, pretty quickly as we come up up on this birthday of ours. And we sat down and started really looking at, you know, what are the strengths of clone. And as developers, we kind of really wanna focus on the code. But the thing that came out from basically every single person submitting that was that the community was the strongest aspect of the the software system.</podcast:soundbite>
      <podcast:soundbite startTime="200.91" duration="38.94">So clone initially started as a, basically a theme and usability layer on top of the the Zope application server back in 1999, I believe. And that was, Alan Runyon and Alexander Leeny, were involved in that. And yeah. So they, kind of sat down and started building this add on product to Zope, but eventually, it was yeah. Eventually evolved into this entire application. Alan was more than happy to really take on the code based tasks, and Alex really kind of took on the community side of things.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:50:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Plone with Eric Steele</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>85</itunes:episode>
      <podcast:episode>85</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320358999688633a3429-1991-4048-a9d2-d971dc7e2371v1.mp3" length="48450103" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320358999688633a3429-1991-4048-a9d2-d971dc7e2371v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_633a3429-1991-4048-a9d2-d971dc7e2371638558839595006193.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/633a3429-1991-4048-a9d2-d971dc7e2371638558839591456619.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/633a3429-1991-4048-a9d2-d971dc7e2371638558839587857576.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Retrospective</title>
      <description><![CDATA[<h3>Summary</h3>

<p>In this episode Chris and I look back at the past 83 episodes of the show and talk about what we learned, what we&#8217;ve enjoyed, and some of the highlights.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;amp;uo=6&amp;amp;at=&amp;amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com/?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we&#8217;re interviewing each other about the past year and a half of the show.</li>
</ul>

<h3>Interview with Tobias and Chris</h3>

<ul>
<li>Introductions</li>
<li>What have been some of the most unexpected or surprising aspects of the show for you during the past year and a half? &#8211; Tobias</li>
<li>What are your top three favorite shows so far and why? &#8211; Chris</li>
<li>If you could have a longer conversation with any of the past guests, who would you pick? &#8211; Tobias</li>
<li>What has doing the show meant to you? &#8211; Chris</li>
<li>What have you learned while doing the show that you wish you had known at the start? &#8211; Tobias</li>
<li>How has the production process evolved since the beginning of the show? &#8211; Chris</li>
</ul>

<h3>Chris Leaving the Show &#8211; Chris</h3>

<ul>
<li>Tobias and I started new jobs (At MIT Office of Digital Learning and Amazon Web Services, respectively)</li>
<li>We&#8217;re much, much busier these days, making coordination difficult</li>
<li>Tobias is ready to take the show solo and I (Chris) support him in this</li>
<li>Chris still plans to support the show as an avid fan <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png?utm_source=rss&utm_medium=rss" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://about.me/feoh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chris&#8217;s Contact Info</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://locust.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Locust</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://github.com/ywangd/stash?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StaSh &#8211; Shell for Pythonista</a></li>
<li>Producing a Podcast</li>
<li>The Python Community</li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-84-retrospective%2F&amp;action_name=Retrospective+-+Episode+84&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-11-19t23:20:25+00:00-4754e527248f03d</guid>
      <link>https://www.pythonpodcast.com/episode-84-retrospective</link>
      <pubDate>Sat, 19 Nov 2016 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1170.48" duration="23.49">And there there was 1 gentleman who I spoke with who, as a result of listening to the some of the episodes that were focusing more on data science, ended up making a career shift because it was so interesting to him that he decided to put in the extra effort to study up on it and change the direction that he was taking with his work. So it's pretty remarkable how something that started off as such a small idea has grown into being something so much larger than myself.</podcast:soundbite>
      <podcast:soundbite startTime="241.07" duration="57.36">Well, you know, Python needs a podcast because as we discussed in our episode with Michael Kennedy a few weeks back, we both started out at a time when there wasn't any at all or at least not none that had been produced in any recent memory. I never would have thought that we would be talking to people who fought crime with Python or did neuropsychology experiments with Python or did astronomy with Python or, you know, it's just been such a wild ride in terms of the incredible variety of things that people are using this language for that it's been a real eye opener for me and has has definitely sort of deepened my appreciation for the language because, you know, there are plenty of other programming languages out there, but and I could be totally wrong, but I don't think any of them have such an incredibly wide variety of applications as Python does just by virtue of its success with, scientific and and embedded communities.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:37:30</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Retrospective</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>84</itunes:episode>
      <podcast:episode>84</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316994051550fde4a1b2-a07b-4897-b3bc-bfd80cf8a4f5v1.mp3" length="36007596" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316994051550fde4a1b2-a07b-4897-b3bc-bfd80cf8a4f5v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fde4a1b2-a07b-4897-b3bc-bfd80cf8a4f5638558834306679543.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fde4a1b2-a07b-4897-b3bc-bfd80cf8a4f5638558834304549976.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fde4a1b2-a07b-4897-b3bc-bfd80cf8a4f5638558834302052997.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>HouseCanary with Travis Jungroth</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Housing is something that we all have experience with, but many don&#8217;t understand the complexities of the market. This week Travis Jungroth talks about how HouseCanary uses data to make the business of real estate more transparent.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com/?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Travis Jungrot about HouseCanary, a company that is using Python and machine learning to help you make real estate decisions.</li>
</ul>

<h3>Interview with Travis Jungroth</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is HouseCanary and what problem is it trying to solve?</li>
<li>Who are your customers?</li>
<li>Is it possible to get data and predictions at the neighborhood level for individual homebuyers to use in their purchasing decisions?</li>
<li>What do you use for your data sources and how do you validate their accuracy?
<ul>
<li>What are some of the sources of bias that are present in your data and what strategies are you using to account for them?</li>
</ul>

<p></li><br>
<li>Can you describe where Python is leveraged in your environment?</li><br>
<li>What are some of the biggest software design and architecture challenges that you are facing while you continue to grow?</li><br>
<li>What are the areas where Python isn&#8217;t the right choice and which languages are used in its place?</li><br>
<li>What are the biggest predictors of future value for residential real estate?</li><br>
<li>Can your system be used to identify risks associated with the housing market, similar to those seen in the bubble that triggered the 2008 economic failure?</li><br>
<li>What are some of the most interesting details that you have discovered about real estate and housing markets while working with HouseCanary?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>HouseCanary
<ul>
<li><a href="https://housecanary.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/HouseCanary?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
<li>Travis</p>

<ul>
<li><a href="https://twitter.com/TravisJungroth?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/TravisJungroth?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2dUuHon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Railsea</a> by <a href="http://amzn.to/2f5GAe2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">China Miéville</a></li>
<li><a href="http://amzn.to/2dUuQbr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kraken</a> by <a href="http://amzn.to/2f5GAe2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">China Miéville</a></li>
</ul>

<p></li><br>
<li>Travis</p>

<ul>
<li><a href="http://ddt.readthedocs.io/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DDT</a></li>
<li><a href="http://amzn.to/2e8De50?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">On Writing Well</a> by <a href="http://amzn.to/2eOQRX4?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">William Zinser</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://inventwithpython.com/hacking/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hacking Secret Ciphers with Python</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-83-house-canary-with-travis-jungroth%2F&amp;action_name=HouseCanary+with+Travis+Jungroth+-+Episode+83&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-11-12t00:46:21+00:00-7a54a98bfa60ba8</guid>
      <link>https://www.pythonpodcast.com/episode-83-house-canary-with-travis-jungroth</link>
      <pubDate>Sat, 12 Nov 2016 14:00:00 +0000</pubDate>
      <podcast:soundbite startTime="481.58" duration="40.30">Well, the the AMC them talking about being between the appraiser and lenders, that's was born totally out of that crisis. Because you can see there's a really obvious conflict of interest here when you have a a lender that's trying to in in a lot of ways, they want the loan to go through, and they are hiring the person to tell you how much the the house is worth. And it's pretty obvious, that there's a little bit of a problem there. So at least putting this 1 organization in between that contracts it out has hopefully made it more objective. And then we think that the work that we're doing will take it even even the next step further, because we can show all the data behind how we came to that final valuation on that home.</podcast:soundbite>
      <podcast:soundbite startTime="1090.68" duration="27.12">Scale. I mean, definitely a big a big problem. You know, a lot of our products are just starting to get traction, but when you are offering service nationally, we need to have information on all those homes from the very start. So we do evaluation on a 100, 000, 000 homes across the United States every month, which is not a a huge number, but each of those homes has an, you know, property details on it with and property sources. So it starts multiplying itself out very quickly.</podcast:soundbite>
      <podcast:soundbite startTime="123.44" duration="20.74">Yeah. I had I mean, I had a super weird path. I didn't go to college, get a CS degree and would great for people who did, but kinda came in from a from a second career and learn from books. First book I did was, Al Swigert's book Hacking Secret Ciphers, I think in Python, meant for kids or adults. Adults who is already doing software, but I still liked it a lot.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:39:45</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>HouseCanary with Travis Jungroth</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>83</itunes:episode>
      <podcast:episode>83</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253175136521185b35c38f-33b6-4bb8-804d-c7f205f4d046v1.mp3" length="38180584" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253175136521185b35c38f-33b6-4bb8-804d-c7f205f4d046v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_5b35c38f-33b6-4bb8-804d-c7f205f4d046638558836127214002.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5b35c38f-33b6-4bb8-804d-c7f205f4d046638558836124348503.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/5b35c38f-33b6-4bb8-804d-c7f205f4d046638558836122566382.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Mycroft with Steve Penrod</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Speech is the most natural interface for communication, and yet we force ourselves to conform to the limitations of our tools in our daily tasks. As computation becomes cheaper and more ubiquitous and artificial intelligence becomes more capable, voice becomes a more practical means of controlling our environments. This week Steve Penrod shares the work that is being done on the Mycroft project and the company of the same name. He explains how he met the other members of the team, how the project got started, what it can do right now, and where they are headed in the future.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you&#8217;re ready to launch your next project you&#8217;ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You&#8217;ll want to make sure that your users don&#8217;t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our <a href="https://pythonpodcast.com/?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com/?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> to talk to previous guests and other listeners of the show.</li>
<li>Your host as usual is Tobias Macey and today I&#8217;m interviewing Steve Penrod about the company and project Mycroft, a voice controlled, AI powered personal assistant written in Python.</li>
</ul>

<h3>Interview with Steve Penrod</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Mycroft is and how the project and business got started?</li>
<li>How is Mycroft architected and what are the biggest challenges that you have encountered while building this project?</li>
<li>What are some of the possible applications of Mycroft?</li>
<li>Why would someone choose to use Mycroft in place of other platforms such as Amazon&#8217;s Alexa or Google&#8217;s personal assistant?</li>
<li>What kinds of machine learning approaches are being used in Mycroft and do they require a remote system for execution or can they be run locally?</li>
<li>What kind of hardware is needed for someone who wants to build their own Mycroft and what does the install process look like?</li>
<li>It can be difficult to run a business based on open source. What benefits and challenges are introduced by making the software that powers Mycroft freely available?</li>
<li>What are the mechanisms for extending Mycroft to add new capabilities?</li>
<li>What are some of the most surprising and innovative uses of Mycroft that you have seen?</li>
<li>What are the long term goals for the Mycroft project and the business that you have formed around it?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://markdownlivepreview.com/mycroft.ai?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/balzss/yip?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">yip</a></li>
<li><a href="https://www.mythpodcast.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Myths and Legends Podcast</a></li>
</ul>

<p></li><br>
<li>Steve</p>

<ul>
<li>Ethiopian Cuisine
<ul>
<li><a href="http://www.bluenilekc.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blue Nile in KC</a></li>
</ul>

<p></li><br>
<li>Kansas City Barbecue</p>

<ul>
<li><a href="https://www.joeskc.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joe&#8217;s KC</a></li>
</ul>

<p></li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://madeby.google.com/home/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Home</a></li>
<li><a href="https://en.wikipedia.org/wiki/Heartattack_and_Vine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tom Waits &#8211; Heart Attack &amp; Vine</a></li>
<li><a href="https://mycroft.ai/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mycroft.ai</a></li>
<li><a href="http://www.speech.cs.cmu.edu/flite/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">FLITE</a></li>
<li><a href="https://www.vocalid.co/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vocalid</a></li>
<li><a href="http://www.ted.com/talks/rupal_patel_synthetic_voices_as_unique_as_fingerprints?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vocalid TED Talk</a></li>
<li><a href="https://github.com/cmusphinx/pocketsphinx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PocketSphinx</a></li>
<li><a href="https://firstbuild.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GE FirstBuild</a></li>
<li><a href="http://sonargnulinux.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sonar GNU Linux</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-82-mycroft-with-steve-penrod%2F&amp;action_name=Mycroft+with+Steve+Penrod+-+Episode+82&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-10-26t01:30:02+00:00-f737835f9e38586</guid>
      <link>https://www.pythonpodcast.com/episode-82-mycroft-with-steve-penrod</link>
      <pubDate>Sat, 5 Nov 2016 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1326.67" duration="25.80">So I'll add a link to that in the show notes. And, as an aside for anybody who has a few moments to spare, they actually have a space where you can go and donate your voice to contribute for them to be able to build new voices for people who do require, assistive technology for being able to speak so that they can have more of an individualized voice than what is generally available to them. Sort of thing that just makes you feel good about yourself.</podcast:soundbite>
      <podcast:soundbite startTime="192.28" duration="43.15">That, that was still a thing of of science fiction. So, when basically after looking around for this, nothing came up. It was decided, alright. Well, we're gonna try it. So, this is where there's a little bit of strange, strange history. I actually was doing the exact same thing, in Kansas City about 30 miles away, not knowing these guys were doing it. And so we didn't join together until earlier this year in our efforts, But we both recognized the need for this sort of technology, and wanted us and we started building it a couple of years ago to allow, you know, like I said, the the Star Trek computer.</podcast:soundbite>
      <podcast:soundbite startTime="3368.90" duration="37.16">And so what we ended up building was an inductive surface stove that had Mycroft incorporated into it, so along with some sensor systems. So as you walked up to the stove, a proximity sensor from TI would trigger and the Mycroft unit would recognize it. It would warn you if it was active. It would speak up and say, be careful. There are hot pans on the stove. And you could inquire about which burners are occupied. You could set things like, you know, set the temperature. Those touch surfaces are great if you can see the lights indicating what's going on. But if you're blind, that doesn't really do you that much good. And so being able to interact with that using your voice was pretty cool.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:05:13</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Mycroft with Steve Penrod</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>82</itunes:episode>
      <podcast:episode>82</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530579825671911d475d7-5737-44fa-b83b-72b4349da697v1.mp3" length="62623467" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530579825671911d475d7-5737-44fa-b83b-72b4349da697v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_11d475d7-5737-44fa-b83b-72b4349da697638558815262466234.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/11d475d7-5737-44fa-b83b-72b4349da697638558815257077116.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/11d475d7-5737-44fa-b83b-72b4349da697638558815255149722.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Annapoornima Koppad</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Annapoornima Koppad is a director of the PSF, founder of the Bangalore chapter of PyLadies, and is a Python instructor at the Indian Institute of Science. In this week&#8217;s episode she talks about how she got started with Python, her experience running the PyLadies meetup, and working with the PSF.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You’ll want to make sure that your users don’t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com/?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Annapoornima Koppad about her career with Python and her experiences running the PyLadies chapter in Bangalore, India and being a director for the Python Software Foundation.</li>
</ul>

<h3>Interview with Annapoornima Koppad</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Tobias</li>
<li>I noticed that you have been freelancing for several years now. How much of that has been in Python and how has that fed back into your other activities? &#8211; Tobias</li>
<li>While preparing for this interview I came across the book that you self-published on Amazon. What was your motivation for writing it and who is the target audience? &#8211; Tobias</li>
<li>Can you tell us about your experience with starting the PyLadies group in Bangalore? What were some of the biggest challenges that you encountered and how have you approached the task of growing awareness and membership of the group? &#8211; Tobias</li>
<li>You recently started teaching Python at the Indian Institute of Science. What kinds of subject matter do you cover in your lessons? &#8211; Tobias</li>
<li>What is it about Python and its community that has inspired you to dedicate so much of your time to contributing back to it? &#8211; Tobias</li>
<li>In what ways would you like to see the Python ecosystem improve? &#8211; Tobias</li>
<li>You were voted in as a director of the Python Software Foundation in the most recent election. Can you share what responsibilities that entails? &#8211; Tobias</li>
<li>What would you like to achieve with your time in the PSF? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://www.meetup.com/PyLadies-Bangalore/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyLadies Bangalore Meetup</a></li>
<li><a href="http://akoppad.blogspot.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="mailto:annakoppad@gmail.com">Email</a></li>
<li><a href="https://www.twitter.com/annakoppad?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.fluentd.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fluentd</a></li>
</ul>

<p></li><br>
<li>Annapoornina</p>

<ul>
<li><a href="http://amzn.to/2f35ZA5?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Lord of The Rings</a> by J.R.R. Tolkien</li>
<li><a href="http://amzn.to/2fqVsTA?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Storks</a></li>
<li><a href="https://www.tripadvisor.com/Restaurant_Review-g297628-d1050099-Reviews-Food_Street-Bengaluru_Karnataka.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Food Street</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-81-annapoornima-koppad%2F&amp;action_name=Annapoornima+Koppad+-+Episode+81&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">podlove-2016-10-29t16:37:39+00:00-2e14c1beaefb3c5</guid>
      <link>https://www.pythonpodcast.com/episode-81-annapoornima-koppad</link>
      <pubDate>Sat, 29 Oct 2016 17:00:00 +0000</pubDate>
      <podcast:soundbite startTime="717.60" duration="21.50">Yeah. 1 of the things that actually inspired by Python is that it's open source in the sense, like, you're free to, modify code, and then you're free to, distribute in, public licenses. And, you basically it's like you have a product and you're able to reengineer it to suit suit your needs. That's 1 of the things that, that got me, hooked on to Python.</podcast:soundbite>
      <podcast:soundbite startTime="253.15" duration="16.50">Yeah. That's something that I would definitely love to talk about. It's been a long journey. Like, when I started out programming in Python, I actually joined the meetup group, Bangalore Python users group. I went to the, group Meetup group, and found that they will be very less members.</podcast:soundbite>
      <podcast:soundbite startTime="72.73" duration="8.93">And today, I'm interviewing Anapurnima Kopad about her career with Python and her experiences running the PyLadies chapter in Bangalore, India and being a director for the Python Software Foundation.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:19:23</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Annapoornima Koppad</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>81</itunes:episode>
      <podcast:episode>81</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253155712602417278ae34-7d40-4c97-979f-a8c0758ccaf9v1.mp3" length="18625019" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253155712602417278ae34-7d40-4c97-979f-a8c0758ccaf9v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7278ae34-7d40-4c97-979f-a8c0758ccaf9638558829327589825.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7278ae34-7d40-4c97-979f-a8c0758ccaf9638558829325575083.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7278ae34-7d40-4c97-979f-a8c0758ccaf9638558829323465563.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Python for GIS with Sean Gillies</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Location is an increasingly relevant aspect of software systems as we have more internet connected devices with GPS capabilities. GIS (Geographic Information Systems) are used for processing and analyzing this data, and fortunately Python has a suite of libraries to facilitate these endeavors. This week Sean Gillies, an author and contributor of many of these tools, shares the story of his career and contributions, and the work that he is doing at MapBox.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>When you’re ready to launch your next project you’ll need somewhere to deploy it. Check out Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for running your awesome app.</li>
<li>You’ll want to make sure that your users don’t have to put up with bugs, so you should use Rollbar for tracking and aggregating your application errors to find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey</li>
<li>Today I’m interviewing Sean Gillies about writing Geographic Information Systems in Python.</li>
</ul>

<h3>Interview with Sean Gillies</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you start by describing what Geographic Information Systems are and what kinds of projects might take advantage of them?</li>
<li>How did you first get involved in the area of GIS and location-based computation?</li>
<li>What was the state of the Python ecosystem like for writing these kinds of applications?</li>
<li>You have created and contributed to a number of the canonical tools for building GIS systems in Python. Can you list at least some of them and describe how they fit together for different applications?</li>
<li>What are some of the unique challenges associated with trying to model geographical features in a manner that allows for effective computation?
<ul>
<li>How does the complexity of modeling and computation scale with increasing land area?</li>
</ul>

<p></li><br>
<li>Mapping and cartography have an incredibly long history with an ever-evolving set of tools. What does our digital age bring to this time-honored discipline that was previously impossible or impractical?</li><br>
<li>To build accurate and effective representations of our physical world there are a number of domains involved, such as geometry and geography. What advice do you have for someone who is interested in getting started in this particular niche?</li><br>
<li>What level of expertise would you advise for someone who simply wants to add some location-aware features to their application?</li><br>
<li>I know that you joined Mapbox a little while ago. Which parts of their stack are written in Python?</li><br>
<li>What are the areas where Python still falls short and which languages or tools do you turn to in those cases?</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="mailto:sean.gillies@gmail.com">Email</a></li>
<li><a href="https://twitter.com/sgillies?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2ehZiNs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Roku Streaming Stick</a></li>
</ul>

<p></li><br>
<li>Sean</p>

<ul>
<li><a href="http://amzn.to/2f3wysS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Tacopedia</a></li>
<li><a href="https://en.wikipedia.org/wiki/Stromae?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stromae</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.gdal.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GDAL</a></li>
<li><a href="http://www.swig.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SWIG</a></li>
<li><a href="http://www.qgis.org/en/site/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QGIS</a></li>
<li><a href="https://en.wikipedia.org/wiki/Shapefile?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shapefiles</a></li>
<li><a href="http://toblerity.org/shapely/manual.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shapely</a></li>
<li><a href="http://toblerity.org/fiona/manual.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fiona</a></li>
<li><a href="https://en.wikipedia.org/wiki/GIS_file_formats#Raster_formats?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raster File</a></li>
<li><a href="https://trac.osgeo.org/geos/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GEOS</a></li>
<li><a href="https://mapbox.github.io/rasterio/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rasterio</a></li>
<li><a href="http://www.postgis.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PostGIS</a></li>
<li><a href="http://toblerity.org/rtree/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RTree</a></li>
<li><a href="http://geopandas.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GeoPandas</a></li>
<li><a href="http://geojson.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GeoJSON</a></li>
<li><a href="https://trac.osgeo.org/ossim/wiki/orthorectification?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Orthorectification</a></li>
<li><a href="https://www.mapbox.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mapbox</a></li>
<li><a href="http://scons.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SCONS</a></li>
<li><a href="http://mapnik.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mapnik</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-80-python-for-gis-with-sean-gillies%2F&amp;action_name=Python+for+GIS+with+Sean+Gillies+-+Episode+80&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-80-gis-with-sean-gillies/</guid>
      <link>https://www.pythonpodcast.com/episode-80-python-for-gis-with-sean-gillies</link>
      <pubDate>Sat, 22 Oct 2016 22:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1399.39" duration="45.85">These are the kind of pictures that we had from orbit and from satellites. And be able to, say, then browse to the other side of the Earth and zoom back in. I mean, this was not possible before we had computers. And I think that's probably 1 of the biggest changes. I remember seeing the program that became Google Earth when I worked at, at iCube in about 2, 002. So So we got this demo from a company that was called Keyhole at the time and they brought it and we looked at our computers. We loaded it on our computers and were just astounded by the kind of vision you got of the globe. And we didn't really have enough data to, make it super compelling everywhere, but we had a few global imagery datasets. And it was just mind blowing to just pan around the planet and zoom in and out. Kind of an incredible thing that, I think we're starting to take for granted these days in some ways.</podcast:soundbite>
      <podcast:soundbite startTime="248.14" duration="50.79">Yeah. I think my first introduction to really doing much with GIS is I was working at a company that had a number of sensors deployed at various locations throughout a couple of cities. And so I imagine that 1 of the things that's probably growing some of the current advancements in GIS technologies and applications is the fact that there are so many more connected sensors being used as the sort of Internet of Things continues to grow? Yeah. Certainly. And, additionally, how would I phrase it? I would say consumer consumer GPS devices and, and programs to use them have also changed the amount of, GIS data that's available to us as well. I mean, since I've started in the GIS field, it's changed from a state where really only large enterprises could collect and use GIS information.</podcast:soundbite>
      <podcast:soundbite startTime="69.30" duration="39.49">Your host as usual is Tobias Macy. And today, I'm interviewing Sean Gillies about writing geographic information systems in Python. So, Sean, could you please introduce yourself? Yeah. Hi. I'm Sean, and I work at Mapbox building a mapping platform for public and private enterprise. And I've been a, a member of the open source GIS community 1, 001. And, not formally trained as a GIS practitioner but came from a background in science and remote sensing and kind of taught myself how to use the software and python kind of as the field grew.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:37:50</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Python for GIS with Sean Gillies</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>80</itunes:episode>
      <podcast:episode>80</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530589164722250988579-f753-4e77-9afc-73db6ff1ca20v1.mp3" length="36331720" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530589164722250988579-f753-4e77-9afc-73db6ff1ca20v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_50988579-f753-4e77-9afc-73db6ff1ca20638558815436754505.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/50988579-f753-4e77-9afc-73db6ff1ca20638558815429093586.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/50988579-f753-4e77-9afc-73db6ff1ca20638558815424847735.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>K Lars Lohn</title>
      <description><![CDATA[<h3>Summary</h3>

<p>K Lars Lohn has had a long and varied career, spending his most recent years at Mozilla. This week he shares some of his stories about getting involved with Python, his work with Mozilla, and his inspiration for the closing keynote at PyCon US 2016. He also elaborates on the intricate mazes that he draws and his life as an organic farmer in Oregon.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We also have a new sponsor this week. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey</li>
<li>Today we’re interviewing K Lars Lohn about his career, his art, and his work with Mozilla</li>
</ul>

<h3>Interview with K Lars Lohn</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>You have an interesting pair of articles on your website that attempt to detail how you perceive code and why you think that formatting should be configured in a manner analogous to CSS. Can you explain a bit about how your particular perception affects the way that you program?</li>
<li>On your website you have some images of incredibly detailed artwork that are actually mazes. Can you describe some of your creation process for those?</li>
<li>What is it about mazes that keeps you interested in them and how did you first start using them as a form of visual art?</li>
<li>At Mozilla you have helped to create a project called Socorro which utilizes complexity analysis for correlating stacktraces. How did you conceive of that approach to error monitoring?</li>
<li>Can you describe how Socorro is architected and how it works under the covers?</li>
<li>At this year’s PyCon US you presented the closing keynote and it was one of the most engaging talks that I’ve seen. Where did you get the inspiration for the content and the mixed media approach?</li>
<li>For anyone who hasn’t seen it, you managed to weave together a very personal story with a musical performance, and some applications of complexity analysis into a seamless experience. How much did you have to practice before you felt comfortable delivering that in front of an audience?</li>
<li>In addition to your technical career you are also very focused on living in a manner that is sustainable and in tune with your environment. What kinds of synergies and conflicts exist between your professional and personal philosophies?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://www.twobraids.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://twitter.com/2braids?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.terrypratchettbooks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Terry Pratchett</a></li>
</ul>

<p></li><br>
<li>Lars</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Toccata_and_Fugue_in_D_minor,_BWV_565?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bach’s Tocatta &amp; Fugue in D Minor</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.functionalgeekery.com/episode-65-morten-kromberg/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Functional Geekery Episode 65 &#8211; Morten Kromberg</a> talks about APL</li>
<li><a href="http://www.twobraids.com/search/label/Portfolio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">K Lars Lohn’s Portfolio</a></li>
<li><a href="https://www.youtube.com/watch?v=9koJOCL8Bms&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Well Tempered API</a></li>
<li><a href="http://www.templegrandin.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Temple Grandin</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-79-k-lars-lohn%2F&amp;action_name=K+Lars+Lohn+-+Episode+79&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-79-k-lars-lohn/</guid>
      <link>https://www.pythonpodcast.com/episode-79-k-lars-lohn</link>
      <pubDate>Sat, 15 Oct 2016 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2203.58" duration="26.31">We run our farm here as essentially an incubator for people who wish to organically farm learn to organically farm. We lease the property out for 2 or 3 year blocks to optimistic people, and they use our property to learn to farm. At the end of that 3 year period, they either graduate and go off and buy their own properties and become farmers, or they walk away glad they didn't spend more money learning they're not farmers.</podcast:soundbite>
      <podcast:soundbite startTime="382.94" duration="28.37">I have a minor form what is called a synesthesia. A synesthesia is when, certain perceptions are mixed up in the brain. People taste colors and things like that. Well, I see complicated twisted lines in colors Even if they're not actually done in colors. To me, code is the same sort of idea. I see it in colors and that became first apparent to me when I was in graduate school.</podcast:soundbite>
      <podcast:soundbite startTime="277.48" duration="28.43">I discovered this language called Python, which looked like a very good language to rapidly rewrite the entire software for the business. I chose the Postgres database and Linux and in 2 months, I entirely wrote the entire suite of software that ran the business from the greenhouse management all the way through the website generation. So like I say, I must thank Microsoft for introducing me to Python and open source software.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:22</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>K Lars Lohn</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>79</itunes:episode>
      <podcast:episode>79</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316050448540a3bffeca-f8bf-4106-bf79-b30b885ff009v1.mp3" length="40685662" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525316050448540a3bffeca-f8bf-4106-bf79-b30b885ff009v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a3bffeca-f8bf-4106-bf79-b30b885ff009638558831055848669.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a3bffeca-f8bf-4106-bf79-b30b885ff009638558831053478097.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a3bffeca-f8bf-4106-bf79-b30b885ff009638558831047962085.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Lorena Mesa</title>
      <description><![CDATA[<h3>Summary</h3>

<p>One of the great strengths of the Python community is the diversity of backgrounds that our practitioners come from. This week Lorena Mesa talks about how her focus on political science and civic engagement led her to a career in software engineering and data analysis. In addition to her professional career she founded the Chicago chapter of PyLadies, helps teach women and kids how to program, and was voted onto the board of the PSF.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>Check out our sponsor Linode for running your awesome new Python apps. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>You want to make sure your apps are error-free so give our other sponsor, Rollbar, a look. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>By leaving a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a> it becomes easier for other people to find us.</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> to help us grow and connect our wonderful audience.</li>
<li>Your host as usual is Tobias Macey</li>
<li>Today we’re interviewing Lorena Mesa about what inspires her in her work as a software engineer and data analyst.</li>
</ul>

<h3>Interview with Lorena Mesa</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How did your original interests in political science and community outreach lead to your current role as a software engineer?</li>
<li>You dedicate a lot of your time to organizations that help teach programming to women and kids. What are some of the most meaningful experiences that you have been able to facilitate?</li>
<li>Can you talk a bit about your work getting the PyLadies chapter in Chicago off the ground and what the reaction has been like?</li>
<li>Now that you are a member of the board for the PSF, what are your goals in that position?</li>
<li>What is it about software development that made you want to change your career path?</li>
<li>What are some of the most interesting projects that you have worked on, whether for your employer or for fun?</li>
<li>Do you think that the bootcamp you attended did a good job of preparing you for a position in industry?</li>
<li>What is your view on the concept that software development is the modern form of literacy? Do you think that everyone should learn how to program?</li>
</ul>

<h3>Keep In Touch</h3>

<p><a href="https://twitter.com/loooorenanicole?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://zencastr.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zencastr</a></li>
</ul>

<p></li><br>
<li>Lorena</p>

<ul>
<li><a href="http://amzn.to/2dZOktG?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Weapons of Math Destruction</a></li>
<li><a href="http://amzn.to/2dA3wQ7?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">What I Talk About When I talk About Running</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.idealist.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">idealist.org</a></li>
<li><a href="https://www.youtube.com/watch?v=PYYfVqtcWQY&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Schemas For The Real World</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-78-lorena-mesa%2F&amp;action_name=Lorena+Mesa+-+Episode+78&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-78-lorena-mesa/</guid>
      <link>https://www.pythonpodcast.com/episode-78-lorena-mesa</link>
      <pubDate>Sat, 8 Oct 2016 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="247.72" duration="44.57">Yeah. And I think things like the Code for America campaign has also helped sort of bring together a lot of that civic duty and civic responsibility along with the capabilities that software development brings to the table and how it can really be a force multiplier for causes like that? Yeah. Definitely. The code for America chapter here is pretty strong, and it's, still maintained in and has a offshoot, which every week there is a weekly meeting for Shy Hack Night, which is run by some of the, folks who brought Code for America and the Code for America Brigade here in Chicago. So I think really Chicago has been in some context at the forefront of thinking about the intersectionality of what code can do in the civic space. So I was always really interested in that, and that really is what whetted my appetite for wanting to go deeper into it.</podcast:soundbite>
      <podcast:soundbite startTime="2075.11" duration="85.46">And as somebody who spends a lot of your time teaching other people how to program, whether it's just for solving, you know, day to day issues or also people who are interested in doing it as a career. I'm wondering what your view is on the idea that software development is the modern day form of basic literacy and whether you think that everybody should learn how to program. Oh, goodness. I you know, I think I've already I think I've already made the punch and I'm serving it to other folks where I believe it is to do literacy. Just because I think so, Isaac Walt, Isaac Walterson who actually wrote Steve Jobs autobiography, he has a book out called, it's like oh, goodness. The name is kinda quirky. It's something like Geeks the Digi Geeks Freaks the Digital Revolution, something to that effect. But he he tells us beautiful story about it's kinda like the not stem steam kind of thing where it's like when we think about the the personal computer and what it is, it it really it really is an outlet for human creativity and is a tool that's meant to amplify our creative process. And I think that's really kind of an interesting way to look at it. So for me, if, if I think of the personal computer in that way and how it has inspired a renaissance, so to speak, in the ways that we communicate, I mean, look at Netflix. Like how that's, you know, Netflix and chill, that whole thing. You know, that that has completely changed and disrupted traditional, traditional spaces like, you know, how we how we consume media, what that looks like.</podcast:soundbite>
      <podcast:soundbite startTime="68.72" duration="30.97">And today, I'm interviewing Lorena Mesa about what inspires her and her work as a software engineer and data analyst. So Lorena, could you please introduce yourself? Yeah. My name's Lorena Mesa, and I'm hailing from Chicago. So I think the best part of how I like to introduce myself a little bit is I like to preface by saying I am a career changer and Python is actually a huge reason why I moved from in the space I was in before, which is social science applied research, into actually working day to day as a software engineer. So very excited to be here.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:23</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Lorena Mesa</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>78</itunes:episode>
      <podcast:episode>78</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253148158426194aaa3970-cd35-4bb3-9726-9c461ed39960v1.mp3" length="40696271" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253148158426194aaa3970-cd35-4bb3-9726-9c461ed39960v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4aaa3970-cd35-4bb3-9726-9c461ed39960638558826728146508.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4aaa3970-cd35-4bb3-9726-9c461ed39960638558826724820661.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4aaa3970-cd35-4bb3-9726-9c461ed39960638558826722909239.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Podbuzzz with Kyle Martin</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Podcasts are becoming more popular now than they ever have been. Podbuzzz is a service for helping podcasters to track their reviews and imporove SEO to reach a wider audience. In this episode we spoke with Kyle Martin about his experience using Python to build Podbuzzz and manage it in production.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>You need a place to run your awesome new Python apps, so check out our sponsor Linode at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project.</li>
<li>You want to make sure your apps are error-free so give our next sponsor, Rollbar, a look. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>By leaving a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a> it becomes easier for other people to find us.</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> to help us grow and connect our wonderful audience.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Kyle Martin about <a href="https://podbuzzz.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podbuzzz</a></li>
</ul>

<h3>Interview with Kyle Martin</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you start by explaining what Podbuzz is? &#8211; Tobias</li>
<li>Why did you end up choosing Python as the language for building thx#is service? &#8211; Tobias</li>
<li>What have been the biggest engineering challenges in building Podbuzzz? &#8211; Tobias</li>
<li>How did you conceive of the idea to build Podbuzzz and what inspired you to provide it as a service? &#8211; Tobias</li>
<li>Part of the service that you are building is a widget that encourages listeners to rate a podcast on iTunes. Why is that important and what are some of the techniques that you have leveraged to determine the most effective messaging? &#8211; Tobias</li>
<li>What are some of the features that you plan on adding to your service? &#8211; Tobias</li>
<li>Do you intend to run Podbuzzz as a side project or do you envision it becoming a company with its own staff? &#8211; Tobias</li>
<li>In addition to your work with Podbuzzz as a way for podcasters to gain visibility for their shows, you’re also working on an analytics platform for the same target audience. Can you explain a bit about that and the problems that you’ve had to overcome? &#8211; Tobias</li>
<li>What is it about podcasting that makes it hard to gain useful metrics and what is your strategy for overcoming some of those obstacles? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/podbuzzz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="mailto:kyle@podbuzzz.com">Email</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.thankyouscientist.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thank You Scientist</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://www.rottentomatoes.com/m/hell_or_high_water/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hell or High Water</a></li>
</ul>

<p></li><br>
<li>Kyle</p>

<ul>
<li><a href="https://www.udacity.com/drive?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=brand&amp;gclid=Cj0KEQjwjem-BRC_isGJlJ-0h-MBEiQAbCimWA3FeoD7C4c5sveQ1h0DS5ywctZ1A3hCPGgZFizUs4oaAtm78P8HAQ&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Udacity Self-Driving Car Engineering Nanodegree</a></li>
<li><a href="http://www.startupsfortherestofus.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Startups For The Rest of Us</a></li>
<li><a href="http://zerotoscale.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zero To Scale</a></li>
<li><a href="https://www.speechmatics.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Speechmatics</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.canva.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Canva</a></li>
<li><a href="http://www.internetbusinessmastery.com/podcast/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Internet Business Mastery Podcast</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-77-podbuzzz-with-kyle-martin%2F&amp;action_name=Podbuzzz+with+Kyle+Martin+-+Episode+77&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-77-podbuzzz-with-kyle-martin/</guid>
      <link>https://www.pythonpodcast.com/episode-77-podbuzzz-with-kyle-martin</link>
      <pubDate>Sat, 1 Oct 2016 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="817.08" duration="50.38">And another part of the service that you're offering is a widget that people can place on their websites that encourages people visiting the page and listeners to rate the podcast in iTunes. So I'm wondering if you can dig into a bit why iTunes ratings are important for podcasts to be able to gain visibility and, some of the other goals that podcasters might be looking to attain with their show? Okay. Well, before I answer that, first thing you need to do is stop and go rate this podcast right now. It's that important. And the reason is is iTunes uses the, amount of reviews and the, the rate, the acceleration at which you're, getting reviews in order to determine your ranking. So if you get a lot of reviews at once, that's very good for your for your visibility inside of Itunes.</podcast:soundbite>
      <podcast:soundbite startTime="74.52" duration="21.31">And today, we're interviewing Kyle Martin about his project Podbuzz. So Kyle, could you please introduce yourself? Hey. Sure. So I'm an iOS software engineer at a company called SuperShuttle. It's a service that's been around a lot longer than Uber, but we specialize in scheduled rides to the airport and back. I'm the lead iOS engineer on the driver operations app.</podcast:soundbite>
      <podcast:soundbite startTime="282.82" duration="36.29">And so you ended up using Python to start a side project that you called pod Buzz. So could you explain a bit about what that is? Sure. Yeah. So Pod Buzz is essentially a iTunes review aggregator. 1 thing that I found really interesting about, you know, podcasting and iTunes is when you're when you're looking at your reviews on the iTunes page, you really you actually only see your reviews in the country that iTunes is configured in. So if you're in the US, you only see US reviews about your podcast.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:38:36</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Podbuzzz with Kyle Martin</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>77</itunes:episode>
      <podcast:episode>77</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304826369220a2134f4b-b1b5-4bae-8105-642e2e8cf70ev1.mp3" length="37074921" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304826369220a2134f4b-b1b5-4bae-8105-642e2e8cf70ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a2134f4b-b1b5-4bae-8105-642e2e8cf70e638558810751610124.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a2134f4b-b1b5-4bae-8105-642e2e8cf70e638558810749262051.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a2134f4b-b1b5-4bae-8105-642e2e8cf70e638558810747164104.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>PsychoPy with Jonathan Peirce</title>
      <description><![CDATA[<h3>Summary</h3>

<p>We’re delving into the complex workings of your mind this week on Podcast.<strong>init</strong> with Jonathan Peirce. He tells us about how he started the PsychoPy project and how it has grown in utility and popularity over the years. We discussed the ways that it has been put to use in myriad psychological experiments, the inner workings of how to design and execute those experiments, and what is in store for its future.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>Hired is sponsoring us this week. If you’re looking for a job as a developer or designer then Hired will bring the opportunities to you. Sign up at <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Once you land a job you can check out our other sponsor Linode for running your awesome new Python apps. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>You want to make sure your apps are error-free so give our last sponsor, Rollbar, a look. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>By leaving a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a> it becomes easier for other people to find us.</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> to help us grow and connect our wonderful audience.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Jonathan Peirce about PsychoPy, an open source application for the presentation and collection of stimuli for psychological experimentation</li>
</ul>

<div class="well"></div>

<div class="well"></div>

<div class="well"></div>

<h3>Interview with Jonathan Peirce</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you start by telling us what PsychoPy is and how the project got started? &#8211; Tobias</li>
<li>How does PsychoPy compare feature wise against some of the proprietary alternatives? &#8211; Chris</li>
<li>In the documentation you mention that this project is useful for the fields of psychophysics, cognitive neuroscience and experimental psychology. Can you provide some insight into how those disciplines differ and what constitutes an experiment? &#8211; Tobias</li>
<li>Do you find that your users who have no previous formal programming training come up to speed with PsychoPy quickly? What are some of the challenges there? -Chris</li>
<li>Can you describe the internal architecture of PsychoPy and how you approached the design? &#8211; Tobias</li>
<li>How easy is it to extend PsychoPy with new types of stimulus? &#8211; Chris</li>
<li>What are some interesting challenges you faced when implementing PsychoPy? &#8211; Chris</li>
<li>I noticed that you support a number of output data formats, including pickle. What are some of the most popular analysis tools for users of PsychoPy? &#8211; Tobias
<ul>
<li>Have you investigated the use of the new Feather library? &#8211; Tobias</li>
</ul>

<p></li><br>
<li>How is data input typically managed? Does PsychoPy support automated readings from test equipment or is that the responsibility of those conducting the experiment? &#8211; Tobias</li><br>
<li>What are some of the most interesting experiments that you are aware of having been conducted using PsychoPy? &#8211; Chris</li><br>
<li>While reading the docs I found the page describing the integration with the OSF (Open Science Framework) for sharing and validating an experiment and the collected data with other members of the field. Can you explain why that is beneficial to the researchers and compare it with other options such as GitHub for use within the sciences? &#8211; Tobias</li><br>
<li>Do you have a roadmap of features that you would like to add to PsychoPy or is it largely driven by contributions from practitioners who are extending it to suit their needs? &#8211; Tobias</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://discourse.psychopy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PsychoPy Discourse Forum</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.stevenlevy.com/index.php/books/hackers?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hackers: Heroes of the Computer Revolution</a> by Steven Levy</li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://supertop.co/castro/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Castro 2</a></li>
</ul>

<p></li><br>
<li>Jon</p>

<ul>
<li><a href="discourse.org">Discourse</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://blog.rstudio.org/2016/03/29/feather/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feather</a></li>
<li><a href="https://bitbucket.org/pyglet/pyglet/wiki/Home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyglet</a></li>
<li><a href="http://hortonworks.com/apache/hdfs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HDF5</a></li>
<li><a href="https://osf.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Science Framework</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-76-psychopy-with-jonathan-peirce%2F&amp;action_name=PsychoPy+with+Jonathan+Peirce+-+Episode+76&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-76-psychopy-with-jonathan-peirce/</guid>
      <link>https://www.pythonpodcast.com/episode-76-psychopy-with-jonathan-peirce</link>
      <pubDate>Sun, 25 Sep 2016 00:15:00 +0000</pubDate>
      <podcast:soundbite startTime="231.71" duration="23.47">And can you start off by telling us what PsychoPy is and how the project got started? So in 2003, I then moved to the UK and and got my own faculty position, and I was starting up my own lab. And PsychoPy then began so it started off as a proof of concept where I was trying to show other people, look. This is what I could do in trying to get other people to write it, to be honest.</podcast:soundbite>
      <podcast:soundbite startTime="1980.71" duration="37.73">And I imagine that by being able to target the browsers using the same builder interface, would potentially drastically increase the size of experiments that can be conducted because of the fact that you can just publish them to a website and have people interact with the experiment without necessarily having to be in a lab environment. Exactly. Yeah. It's a it's a game changer for 2 reasons, actually. 1 is because you can send an email around and get people to participate that you've never met, that you didn't have to bring into a lab and individually get them to sign off the forms and sit them down and explain the you know, you just send them an email.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:12:10</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>PsychoPy with Jonathan Peirce</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>76</itunes:episode>
      <podcast:episode>76</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315356954218952ce047-e57c-486b-b3c5-a50aed4dff27v1.mp3" length="69301705" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315356954218952ce047-e57c-486b-b3c5-a50aed4dff27v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_952ce047-e57c-486b-b3c5-a50aed4dff27638558828783621438.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/952ce047-e57c-486b-b3c5-a50aed4dff27638558828779339630.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/952ce047-e57c-486b-b3c5-a50aed4dff27638558828777213949.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Sandstorm.io with Asheesh Laroia</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Sandstorm.io is an innovative platform that aims to make self-hosting applications easier and more maintainable for the average individual. This week we spoke with Asheesh Laroia about why running your own services is desirable, how they have made security a first priority, how Sandstorm is architected, and what the installation process looks like.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Rollbar. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Hired has also returned as a sponsor this week. If you’re looking for a job as a developer or designer then Hired will bring the opportunities to you. Sign up at <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would also like to mention that the organizers of PyCon Zimbabwe are looking to the global Python community for help in supporting their event. If you would like to donate the <a href="https://onepercentclub.com/en/projects/pyzim/plan?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">link</a> will be in the show notes.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Asheesh Laroia about Sandstorm.io, a project that is trying to make self-hosted applications easy and secure for everyone.</li>
</ul>

<div class="well"></div>

<div class="well"></div>

<div class="well"></div>

<h3>Interview with Asheesh Laroia</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Tobias</li>
<li>Can you start by telling everyone about the Sandstorm project and how you got involved with it? &#8211; Tobias</li>
<li>What are some of the reasons that an individual would want to self-host their own applications rather than using comparable services available through third parties? &#8211; Tobias</li>
<li>How does Sandstorm try to make the experience of hosting these various applications simple and enjoyable for the broadest variety of people? &#8211; Tobias</li>
<li>What does the system architecture for Sandstorm look like? &#8211; Tobias</li>
<li>I notice that Sandstorm requires a very recent Linux kernel version. What motivated that choice and how does it affect adoption? &#8211; Chris</li>
<li>One of the notable aspects of Sandstorm is the security model that it uses. Can you explain the capability-based authorization model and how it enables Sandstorm to ensure privacy for your users? &#8211; Tobias</li>
<li>What are some of the most difficult challenges facing you in terms of software architecture and design? &#8211; Tobias</li>
<li>What is involved in setting up your own server to run Sandstorm and what kinds of resources are required for different use cases? &#8211; Tobias</li>
<li>You have a number of different applications available for users to install. What is involved in making a project compatible with the Sandstorm runtime environment? Are there any limitations in terms of languages or application architecture for people who are targeting your platform? &#8211; Tobias</li>
<li>How much of Sandstorm is written in Python and what other languages does it use? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/asheeshlaroia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://www.asheesh.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="asheesh@sandstorm.io">Email</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.opsgenie.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpsGenie</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://amzn.to/2cS8V3x?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Viking Godfather Safety Razor</a></li>
<li><a href="http://amzn.to/2cTefGA?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Who Killed Sherlock Holmes?</a> by Paul Cornell</li>
<li><a href="http://petrussourbeer.com/en?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Petrus Aged Red</a></li>
</ul>

<p></li><br>
<li>Asheesh</p>

<ul>
<li><a href="https://www.amtrak.com/home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amtrak</a></li>
<li><a href="http://amzn.to/2d97PT7?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Master Switch</a> by Tim Wu</li>
<li><a href="https://rocket.chat/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rocket Chat</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://nstarpost.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">North Star Post</a></li>
<li><a href="https://www.contactotter.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Contact Otter</a></li>
<li><a href="https://github.com/jacksingleton/hacker-slides?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hacker Slides</a></li>
<li><a href="https://github.com/keybits/permanote?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Permanote</a></li>
<li><a href="http://radicale.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Radicale</a></li>
<li><a href="http://mediagoblin.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Media Goblin</a></li>
<li><a href="http://jupyter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPython Notebook</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-75-sandstorm-io-with-asheesh-laroia%2F&amp;action_name=Sandstorm.io+with+Asheesh+Laroia+-+Episode+75&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-75-sandstormio-with-asheesh-laroia/</guid>
      <link>https://www.pythonpodcast.com/episode-75-sandstorm-io-with-asheesh-laroia</link>
      <pubDate>Sat, 17 Sep 2016 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1992.18" duration="41.94">For people who are looking to install Sandstorm on their own servers, what's involved in getting that set up, and what kind of are some of the different use cases particularly in terms of different scales? You you can't see, but I'm grinning ear to ear because I maintain the install script, and, the install script runs on any Linux computer with a suitable Linux kernel version, for example, a Linux virtual machine with Ubuntu 1404 or 1604. And, it asks you a couple of questions. And it also asks you if it's okay if you get a free from us subdomain of sandcats dot I o. And you say, sure. I want example dot sandcast dot I o.</podcast:soundbite>
      <podcast:soundbite startTime="149.61" duration="19.71">And it was a it was really eye opening for me because I remember I remember when I was in middle school I guess I'm doing that thing where people who've been programming for a long time make other people feel small for not having programmed for a long time. So let me just say, I just enjoy thinking about when I was, like, 12. It's not that you had to start programming when you were 12. Far from it. Yeah.</podcast:soundbite>
      <podcast:soundbite startTime="386.26" duration="23.53">So can you describe some of the reasons that an individual would want to self host their own applications rather than using some of the comparable services that are available through third parties? So the short answer is control. And that means a few things. It means, the user gets to choose what apps they use. It means the apps don't go away. And, if the app is running in Sandstorm, it means security also.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:35</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Sandstorm.io with Asheesh Laroia</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>75</itunes:episode>
      <podcast:episode>75</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530608108269207719ebb-6a31-478c-80fb-76dc46c6881ev1.mp3" length="57226894" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530608108269207719ebb-6a31-478c-80fb-76dc46c6881ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_07719ebb-6a31-478c-80fb-76dc46c6881e638558816363099641.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/07719ebb-6a31-478c-80fb-76dc46c6881e638558816360410531.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/07719ebb-6a31-478c-80fb-76dc46c6881e638558816358560399.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Python at Zalando</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Open source has proven its value in many ways over the years. In many companies that value is purely in terms of consuming available projects and platforms. In this episode Zalando describes their recent move to creating and releasing a number of their internal projects as open source and how that has benefited their business. We also discussed how they are leveraging Python and a couple of the libraries that they have published.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>Rollbar is also sponsoring us this week. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Hired has also returned as a sponsor this week. If you’re looking for a job as a developer or designer then Hired will bring the opportunities to you. Sign up at <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Jie Bao and João Santos about their use of Python at Zalando</li>
</ul>

<div class="well"></div>

<div class="well"></div>

<h3>Interview with Zalando</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Tobias</li>
<li>Can you start by telling us a bit about what Zalando does and some of the technologies that you use? &#8211; Tobias</li>
<li>What role does Python play in your environment? &#8211; Tobias</li>
<li>Is the use of Python for a particular project governed by any particular operational guidelines or is it largely a matter of developer choice? &#8211; Tobias</li>
<li>Given that you have such a variety of platforms to support, how do you architect your systems to keep them easy to maintain and reason about? &#8211; Tobias</li>
<li>One of the projects that you have open sourced is Connexion. Can you explain a bit about what that is and what it is used for at Zalando? &#8211; Tobias</li>
<li>What made you choose to standardize on Swagger/OpenAPI vs RAML or some of the other API standards? &#8211; Tobias</li>
<li>Did Connexion start its life as open source or was it extracted from another project? &#8211; Tobias</li>
<li>ExpAn is another one of your projects that is written in Python. What do you use that for? &#8211; Tobias</li>
<li>Can you describe the internal implementation of ExpAn and what it takes to get it set up? &#8211; Tobias</li>
<li>Given the potential complexity of and the need for statistical significance in the data for proper A/B testing, how did you design ExpAn to satisfy those requirements? &#8211; Tobias</li>
<li>Given the laws in Germany around digital privacy, were there any special considerations that needed to be made in the collection strategy for the data that gets used in ExpAn? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>João
<ul>
<li><a href="https://twitter.com/joaomcsantos?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
<li>Jie</p>

<ul>
<li><a href="https://twitter.com/jiebao?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
<li>Laurie</p>

<ul>
<li><a href="https://twitter.com/LauritaApplez?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard&amp;hl=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hacker’s Keyboard</a></li>
</ul>

<p></li><br>
<li>Jie</p>

<ul>
<li><a href="http://amzn.to/2cmu7zI?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shah of Shahs</a> by Ryszard Kapuściński</li>
</ul>

<p></li><br>
<li>João</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Serendipity?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Serendipity</a></li>
</ul>

<p></li><br>
<li>Laurie</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Flow_(psychology?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flow</a>)</li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-74-python-at-zalando%2F&amp;action_name=Python+at+Zalando+-+Episode+74&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-74-python-at-zalando/</guid>
      <link>https://www.pythonpodcast.com/episode-74-python-at-zalando</link>
      <pubDate>Sat, 10 Sep 2016 23:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1511.85" duration="18.50">And so with autonomy and purpose, I kind of unleash this renaissance of sorts and open source activity because teams were free to develop, make their own decisions, release things on GitHub. We we said go go go ahead and do that.</podcast:soundbite>
      <podcast:soundbite startTime="1435.10" duration="11.33">So we have a spreadsheet where we can go to some technology should be adopted or not and, or both. So the usual redirecting. So and everyone and everyone can vote on it.</podcast:soundbite>
      <podcast:soundbite startTime="899.35" duration="11.93">So the idea the idea where we are trying to move now is that, whoever writes the services also runs them. We are creating tools to allow people to to manage their own services easily.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:40:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Python at Zalando</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>74</itunes:episode>
      <podcast:episode>74</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298301325864a83fe11a-5c34-4efd-b053-119fa02cb7f4v1.mp3" length="38843222" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298301325864a83fe11a-5c34-4efd-b053-119fa02cb7f4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a83fe11a-5c34-4efd-b053-119fa02cb7f4638558791702090598.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a83fe11a-5c34-4efd-b053-119fa02cb7f4638558791698233429.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a83fe11a-5c34-4efd-b053-119fa02cb7f4638558791695162670.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Alex Martelli</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Alex Martelli has dedicated a large part of his career to teaching others how to work with software. He has the highest number of Python questions answered on Stack Overflow, he has written and co-written a number of books on Python, and presented innumerable times at conferences in multiple countries. We spoke to him about how he got started in software, his work with Google, and the trends in development and design patterns that are shaping modern software engineering.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We also have a returning sponsor this week. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Hired is sponsoring us this week. If you’re looking for a job as a developer or designer then Hired will bring the opportunities to you. Sign up at <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers.</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Alex Martelli</li>
</ul>

<h3>Interview with Alex Martelli</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>You have achieved a number of honors and recognitions throughout your career for significant technical achievements. What kind of learning strategies do you use to enable you to achieve mastery of technical topics? &#8211; Tobias</li>
<li>How do you keep the Python In A Nutshell book current as aspects of the core language and its libraries change? &#8211; Chris</li>
<li>You are known for your prolific contributions to Stack Overflow, particularly on topics pertaining to Python. Was that a specific goal that you had set for yourself or did it happen organically? &#8211; Tobias</li>
<li>When answering Stack Overflow questions, do you usually already know the answers or do you treat it as a learning opportunity? &#8211; Tobias</li>
<li>What are some of the most difficult Python questions that you have been faced with? &#8211; Tobias</li>
<li>You have presented quite a number of times at various Python conferences. What are some of your favorite talks? &#8211; Tobias</li>
<li>Design patterns and idiomatic code are common themes in a number of your presentations. Why is it important for developers to understand these concepts and what are some of your favorite resources on the topic? &#8211; Tobias</li>
<li>What do you see as the most influential trends in software development and design, both currently and heading into the future? &#8211; Tobias</li>
<li>As a long-time computer engineer, are there any features or ideas from other languages that you would like to see incorporated into Python?</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2bKAwW9?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Great Gatsby Movie</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://www.beeradvocate.com/beer/profile/147/4083/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stone Ruination Double IPA</a></li>
<li><a href="https://smile.amazon.com/dp/B000FBJCJ4/ref=dp-kindle-redirect?_encoding=UTF8&amp;btkr=1#nav-subnav&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ghost Soldiers</a></li>
</ul>

<p></li><br>
<li>Alex</p>

<ul>
<li><a href="http://amzn.to/2bKAQUN?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alexander Hamilton</a> by Ron Chernow</li>
<li><a href="http://www.hamiltonbroadway.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hamilton Musical</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.youtube.com/watch?v=AZDWveIdqjY&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Permission or Forgiveness</a></li>
<li><a href="https://www.youtube.com/watch?v=gHG9FRSlPxw&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Good enough is good enough</a></li>
<li><a href="https://www.youtube.com/watch?v=LeuChRCByZc&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modern Python Patterns and Idioms</a></li>
<li><a href="https://www.youtube.com/watch?v=frZrBgWHJdY&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Handling Errors and Exceptions in Modern Python</a></li>
<li><a href="https://en.wikipedia.org/wiki/Microservices?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microservices</a></li>
<li><a href="http://www.anrdoezrs.net/6d103wktqks7FGD8FHD799AE89HG79CCGAHAA8H888?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920041528.do%3Fcmp%3Daf-velocity-books-videos-product_cj_9781491929124_%2525zp&amp;cjsku=SKU-KIT-0636920041528-IP-BUNDLE&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google SRE Book</a></li>
<li><a href="http://shop.oreilly.com/product/0636920012610.do?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python In A Nutshell</a> use code AUTHD for a discount</li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-73-alex-martelli%2F&amp;action_name=Alex+Martelli+-+Episode+73&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-73-alex-martelli/</guid>
      <link>https://www.pythonpodcast.com/episode-73-alex-martelli</link>
      <pubDate>Sat, 3 Sep 2016 17:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1099.15" duration="55.57">Interestingly, I found over the decades that work that what works best to change it with time. In my teens and very early twenties, I had an incredible memory. Not eidetic. Was never, I never could remember where on the page just something was written. I it wasn't images. But for text and formulas, I essentially could I I made a nuisance of myself because I didn't realize not everybody could. If somebody we were discussing and somebody said something and later said because I said the x and y, I said, no. You said x prime y prime. The exact words that said and that made a nuisance of myself thinking they were trying to somehow lie to me, which was silly. So it was so easy to memorize stuff that was 0 effort.</podcast:soundbite>
      <podcast:soundbite startTime="1593.13" duration="46.45">I had been in early in my Python career. I had been best known as the Marcelli bot being incredibly helpful on the Usenet group in mailing list, Complang Python. Unfortunately, Usenet has been essentially completely taken over by spam, so hanging out there became totally unproductive. When Joel Spolsky came to visit Google and explain his new project, which he was about to launch called Stack Overflow, I said, oh, assuming there's any interest there in Python, I could go back to the kind of fun I was having helping people on Complang Python back in the glory days of Usenet.</podcast:soundbite>
      <podcast:soundbite startTime="165.99" duration="56.24">In the year 1999, I had just completed the, copy of spare time project of which I'm still proudest. It was an analysis of probabilities in the game of contract bridge. I had submitted, s the results of this analysis to the most prestigious journal in the field called the Bridge World, where it was published, in January February, in issues in in 2000, with a forward saying, some will say this makes giant strides towards solving problems that theoreticians have been wondering about ever since before bridge was invented, and some will say it's not more significant than that.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:04:49</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Alex Martelli</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>73</itunes:episode>
      <podcast:episode>73</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253210897925928baedcd6-b45c-46b7-b0b3-ea717318ede0v1.mp3" length="62242331" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253210897925928baedcd6-b45c-46b7-b0b3-ea717318ede0v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8baedcd6-b45c-46b7-b0b3-ea717318ede0638558842753723887.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8baedcd6-b45c-46b7-b0b3-ea717318ede0638558842748942911.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8baedcd6-b45c-46b7-b0b3-ea717318ede0638558842747078669.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Dave Beazley</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Dave Beazley has been using and teaching Python since the early days of the language. He has also been instrumental in spreading the gospel of asynchronous programming and the many ways that it can improve the performance of your programs. This week I had the pleasure of speaking with him about his history with the language and some of his favorite presentations and projects.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&amp;code=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a> and use the code <strong>podcastinit</strong> at <a href="https://www.getsentry.com/signup/?code=podcastinit&amp;utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">signup</a> to get a $50 credit!</li>
<li>Hired has also returned as a sponsor this week. If you’re looking for a job as a developer or designer then Hired will bring the opportunities to you. Sign up at <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Dave Beazley about his career with Python</li>
</ul>

<div class="well"></div>

<div class="well"></div>

<h3>Interview with Dave Beazley</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Tobias</li>
<li>How has Python and its community helped to shape your career? &#8211; Tobias</li>
<li>What are some of the major themes that you have focused on in your work? &#8211; Tobias</li>
<li>One of the things that you are known for is doing live-coding presentations, many of which are fairly advanced. What is it about that format that appeals to you? &#8211; Tobias
<ul>
<li>What are some of your favorite stories about a presentation that didn’t quite go as planned? &#8211; Tobias</li>
</ul>

<p></li><br>
<li>You have given a large number of talks at various conferences. What are some of your favorites? &#8211; Tobias</li><br>
<li>What impact do you think that asynchronous programming will have on the future of the Python language and ecosystem? &#8211; Tobias</li><br>
<li>Are there any features that you see in other languages that you would like to have incorporated in Python? &#8211; Tobias</li><br>
<li>On the about page for your website you talk about some of the low-level code and hardware knowledge that you picked up by working with computers as a kid. Do you think that people who are getting started with programming now are missing out by not getting exposed to the kinds of hardware and software that was present before computing became mainstream?</li><br>
<li>You have had the opportunity to work on a large variety of projects, both on a hobby and professional level. What are some of your favorites? &#8211; Tobias</li><br>
<li>What is it about Python that has managed to hold your interest for so many years? &#8211; Tobias</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/dabeaz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2bW5He0?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Criminal</a></li>
</ul>

<p></li><br>
<li>Dave</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Category:Plays_by_Samuel_Beckett?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Samuel Beckett Plays</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.youtube.com/watch?v=MCs5OvhV9S4&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Concurrency From The Ground Up</a></li>
<li><a href="https://xkcd.com/303/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XKCD compiling</a></li>
<li><a href="https://en.wikipedia.org/wiki/Clifford_Stoll?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clifford Stoll</a></li>
<li><a href="https://www.youtube.com/watch?v=pB2t6xG2RzE&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Superboard talk</a></li>
<li><a href="https://github.com/dabeaz/curio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Curio</a></li>
<li><a href="https://www.youtube.com/watch?v=E-1Y4kSsAFc&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyOhio async talk</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-72-dave-beazley%2F&amp;action_name=Dave+Beazley+-+Episode+72&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-72-dave-beazley/</guid>
      <link>https://www.pythonpodcast.com/episode-72-dave-beazley</link>
      <pubDate>Sat, 27 Aug 2016 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="71.93" duration="32.60">So, Dave, could you please introduce yourself? Hi, I'm Dave. How are you doing? So how did you first get introduced to Python? Well, I I first read about it in Computers and Physics in 1996. And I think I just sort of I don't know. Just kinda came across it by accident. I was working on a lot of physics, scientific software at the time. Had actually written my own programming language, probably a questionable activity, and then and sort of discovered Python and decided that I don't need to be writing my own programming language at this point.</podcast:soundbite>
      <podcast:soundbite startTime="651.39" duration="26.38">Yeah. I remember watching your live presentation, from PyCon of 2015 last year where you were live coding generators and coroutines. And I was my mind was totally blown by that because, you know, as you said, doing live coding in a in a live presentation is generally frowned upon as a, a recipe for disaster. But you've managed to do it fairly seamlessly. All the while coding in emacs and from what I could tell, doing it all from memory. So it was quite impressive.</podcast:soundbite>
      <podcast:soundbite startTime="2357.33" duration="66.45">I think it's just fun. I think it's a really fun language to just kind of work in. I mean, you get, like, the, you know, the the instant gratification of just being able to do stuff and see it see it work. I also, I also like the fact that Python is so pragmatic both as a language and as a community. I mean, that might be kind of a might be kind of a weird thing to say, but, like, Python as a as a community has never really been that focused on, like, I guess, sort of, like, purism, if you said. You know? Like like like, you know, it's it's it's very easy, you know, in, like, certain areas, like object oriented programming or functional programming or these different areas to kinda get off in this in this mode of, like, well, that's, like, the only 1 way of thinking. Mhmm. And I've always found that, like, a little bit tiresome, to be to be honest. And, you know, 1 of the 1 of the things I like about Python is it's very it's much more pragmatic. You know? It's like you have different ways of doing things. The community as a whole is not really fixated on, you know, like, the 1 and only true way of doing things. And it's, you know, I I think people are more focused on actually just trying to solve their problems. You know, they've got practical things that they're trying to do.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:45:42</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Dave Beazley</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>72</itunes:episode>
      <podcast:episode>72</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307166360246fc0acae7-b5a7-4843-9ab2-86e323c0dd0cv1.mp3" length="43892815" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307166360246fc0acae7-b5a7-4843-9ab2-86e323c0dd0cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fc0acae7-b5a7-4843-9ab2-86e323c0dd0c638558820218791770.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fc0acae7-b5a7-4843-9ab2-86e323c0dd0c638558820216158571.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fc0acae7-b5a7-4843-9ab2-86e323c0dd0c638558820213961921.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>GenSim with Radim Řehůřek</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Being able to understand the context of a piece of text is generally thought to be the domain of human intelligence. However, topic modeling and semantic analysis can be used to allow a computer to determine whether different messages and articles are about the same thing. This week we spoke with Radim Řehůřek about his work on GenSim, which is a Python library for performing unsupervised analysis of unstructured text and applying machine learning models to the problem of natural language understanding.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a> and use the code <em>podcastinit</em> at <a href="https://getsentry.com/welcome/?utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&amp;code=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">signup</a> to get a $50 credit on your account.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Radim Řehůřek about Gensim, a library for topic modeling and semantic analysis of natural language.</li>
</ul>

<h3>Interview with Radim Řehůřek</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you start by giving us an explanation of topic modeling and semantic analysis? &#8211; Tobias</li>
<li>What is Gensim and what inspired you to create it? &#8211; Tobias</li>
<li>What facilities does Gensim provide to simplify the work of this kind of language analysis? &#8211; Tobias</li>
<li>Can you describe the features that set it apart from other projects such as the NLTK or Spacy? &#8211; Tobias</li>
<li>What are some of the practical applications that Gensim can be used for? &#8211; Tobias</li>
<li>One of the features that stuck out to me is the fact that Gensim can process corpora on disk that would be too large to fit into memory. Can you explain some of the algorithmic work that was necessary to allow for this streaming process to be possible? &#8211; Tobias
<ul>
<li>Given that it can handle streams of data, could it also be used in the context of something like Spark? &#8211; Tobias</li>
</ul>

<p></li><br>
<li>Gensim also supports unsupervised model building. What kinds of limitations does this have and when would you need a human in the loop? &#8211; Tobias</p>

<ul>
<li>Once a model has been trained, how does it get saved and reloaded for subsequent use? &#8211; Tobias</li>
</ul>

<p></li><br>
<li>What are some of the more unorthodox or interesting uses people have put Gensim to that you’ve heard about? &#8211; Chris</li><br>
<li>In addition to your work on Gensim, and partly due to its popularity, you have started a consultancy for customers who are interested in improving their data analysis capabilities. How does that feed back into Gensim? &#8211; Tobias</li><br>
<li>Are there any improvements in Gensim or other libraries that you have made available as a result of issues that have come up during client engagements? &#8211; Tobias</li><br>
<li>Is it difficult to find contributors to Gensim because of its advanced nature? &#8211; Tobias</li><br>
<li>Are there any resources you’d like to recommend our listeners explore to get a more in depth understanding of topic modeling and related techniques? &#8211; Chris</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://rare-technologies.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RaRe Technologies</a></li>
<li><a href="https://twitter.com/RadimRehurek?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="radim@rare-technologies.com">Email</a></li>
<li><a href="https://github.com/piskvorky?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
<li><a href="https://groups.google.com/group/gensim?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2bvESj1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dark Matter and the Dinosaurs</a> by Lisa Randall</li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://github.com/rgcr/m-cli?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">m-cli</a></li>
</ul>

<p></li><br>
<li>Radim</p>

<ul>
<li><a href="http://press.princeton.edu/titles/10185.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">1177 BC: The Year Civilization Collapsed</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://medium.com/@nayafia/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nadia Eghbal</a></li>
<li><a href="https://radimrehurek.com/gensim/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gensim</a></li>
<li><a href="http://sqladdict.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQL Addict</a></li>
<li><a href="http://www.nltk.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NLTK</a></li>
<li><a href="http://spacy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spacy</a></li>
<li><a href="https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Latent Dirichlet Allocation (LDA)</a></li>
<li><a href="https://www.researchgate.net/publication/298210256_LSI_Latent_Semantic_Inference_for_Natural_Image_Segmentation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">LSI</a></li>
<li><a title="" href="https://www.youtube.com/watch?v=Og1r5heUmOo&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keynote in Italy on distributed processing</a></li>
<li><a href="https://scholar.google.com/scholar?hl=en&amp;q=gensim&amp;btnG=&amp;as_sdt=1%2C22&amp;as_sdtp=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Scholar references for Gensim</a></li>
<li><a href="https://en.wikipedia.org/wiki/Stylometry?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stylometric analysis</a></li>
<li><a href="http://amzn.to/2b6tIlc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">On Writing Well</a></li>
<li><a href="https://rare-technologies.com/incubator/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Student Incubator</a></li>
<li><a href="https://en.wikipedia.org/wiki/Topic_model?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wikipedia on topic modeling</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-71-gensim-with-radim-rehurek%2F&amp;action_name=GenSim+with+Radim+%C5%98eh%C5%AF%C5%99ek+-+Episode+71&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-71-gensim-with-radim-rehurek/</guid>
      <link>https://www.pythonpodcast.com/episode-71-gensim-with-radim-rehurek</link>
      <pubDate>Sat, 20 Aug 2016 19:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2201.09" duration="22.85">And as you mentioned during our conversation, you started a consultancy as somewhat of an outgrowth of your work with Gensim. So I'm wondering how that feeds back into the Gensim project. Good question. I started consulting because I I like building stuff. It wasn't necessarily connected to Gensim, and it's it still isn't. We use a lot of different tools, Python and non Python and Gensim and non Gensim.</podcast:soundbite>
      <podcast:soundbite startTime="1103.39" duration="18.06">And so I imagine that having this built into something like a company knowledge base would also be useful for being able to surface information that isn't necessarily readily apparent, but might be useful to employees at different stages in their careers? Yeah. Yeah. That's a great point. Yeah. This this type of analysis.</podcast:soundbite>
      <podcast:soundbite startTime="257.40" duration="20.96">So can you start by giving us an explanation of what topic modeling and semantic analysis are? Sure. So they're a little different. So let me start with topic modeling. So topic modeling is a way of the motivation here is you have a bunch of documents and you wanna, gain some insight into them. So you don't wanna read all of them, obviously.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:53:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>GenSim with Radim Řehůřek</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>71</itunes:episode>
      <podcast:episode>71</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306390584997f13ad70d-1b27-4c12-a2b4-7c456c0c1a25v1.mp3" length="51356969" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306390584997f13ad70d-1b27-4c12-a2b4-7c456c0c1a25v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f13ad70d-1b27-4c12-a2b4-7c456c0c1a25638558817645251021.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f13ad70d-1b27-4c12-a2b4-7c456c0c1a25638558817642579216.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f13ad70d-1b27-4c12-a2b4-7c456c0c1a25638558817639662889.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Python on Windows with Steve Dower</title>
      <description><![CDATA[<h3>Summary</h3>

<p>In order for Python to continue to attract new users, we need to have an easy way for people to get started with it, and Windows is still the most widely used operating system among computers. Steve Dower is the build maintainer for the Windows installers of Python and this week we spoke with him about his work in that role. He told us about the changes that he has made to the installer to make it easier for new users to get started and how modern updates to the packaging ecosystem for libraries has simplified dependency management. He also told us about how the Visual Studio team is building a set of tools to make development of Python code more enjoyable and how Microsoft’s adoption of open source is making Windows a more attractive platform for developers.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable.</li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a> and use the code <em>podcastinit</em> at signup to get a $50 credit on your account!</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Steve Dower about Python on Windows</li>
</ul>

<div class="well"></div>

<div class="well"></div>

<h3>Interview with Steve Dower</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>You are currently the release manager for Python on Windows. How did you end up with that responsibility? &#8211; Tobias</li>
<li>While Python has supported Windows for a long time, the overall experience has historically been rather poor. Can you give a bit of the background of why that was and tell us about some of the work that you and others have been doing to make it better? &#8211; Tobias</li>
<li>Given that a large percentage of users are still on Windows, having a good story for getting started with Python on that platform is important for adoption of the language. What are some of the areas where the current situation needs to be improved? &#8211; Tobias</li>
<li>What is the most difficult part of building a distribution of Python for a Windows environment? Has it gotten easier in recent years? &#8211; Tobias</li>
<li>When we were speaking at PyCon you mentioned that the most frequently downloaded version of Python from the <a href="https://www.python.org/downloads/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">python.org</a> site is the 32 bit version for Windows. Do you think that is an accurate and useful metric? What other statistics do you wish you could capture or improve? &#8211; Tobias</li>
<li>How does Python Tools for Visual Studio compare with other Python IDEs like Pycharm? &#8211; Chris</li>
<li>What are some unique features that Python Tools for Visual Studio offers that other tools don’t? &#8211; Chris</li>
<li>Are there any compelling aspects of developing Python on Windows that could convince users on other platforms to make the switch? &#8211; Tobias</li>
<li>Could you give our listeners a whirlwind tour of the underlying implementation of PTVS? How does Visual Studio provide such in depth introspection for your Python code? &#8211; Chris</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/zooba?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li>Github
<ul>
<li><a href="https://github.com/microsoft?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft</a></li>
<li><a href="https://github.com/azure?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Azure</a></li>
</ul>

<p></li><br>
<li>steve.dower</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://kdiff3.sourceforge.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kdiff3</a></li>
<li><a href="http://amzn.to/2aPpGcm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SpyderCo Triangle Sharpmaker</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.audible.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Audible</a></li>
</ul>

<p></li><br>
<li>Steve</p>

<ul>
<li><a href="http://amzn.to/2bdtjgf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sandisk Extreme Portable SSD</a></li>
<li><a href="http://smbc-comics.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SMBC</a></li>
<li><a href="https://youtube.com/randomencountersent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Random Encounters</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li>Windows compilers
<ul>
<li><a href="http://landinghub.visualstudio.com/visual-cpp-build-tools?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual C++ Build Tools</a> (for Python 3.5 and later)</li>
<li><a href="http://aka.ms/vcpython27?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visual C++ Compiler for Python 2.7</a></li>
</ul>

<p></li><br>
<li><a href="https://www.python.org/dev/peps/pep-0514/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 514</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-70-python-on-windows-with-steve-dower%2F&amp;action_name=Python+on+Windows+with+Steve+Dower+-+Episode+70&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-70-python-on-windows-with-steve-dower/</guid>
      <link>https://www.pythonpodcast.com/episode-70-python-on-windows-with-steve-dower</link>
      <pubDate>Sat, 13 Aug 2016 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2387.13" duration="158.74">So are there any aspects of developing Python on and or for Windows that would be compelling enough to convince users on other platforms to make the switch, whether that's platform features or tools that are available, for instance, in Visual Studio? So, yeah, Visual Studio is definitely convincing to a lot of people. There's a number of comments on Reddit and Twitter that members of my team have screenshotted and repeatedly send up our management things like I reinstalled Windows just so I could use this. So so we're definitely seeing some of that. I think the most compelling feature coming up at the moment for people that are looking to switch, and especially people who are currently on, say, macOS because they like that there's a terminal that they're familiar with and there's good tools and and a good graphical interface, and it's gonna be compatible with a lot of other devices, but it's also got that sort of basic POSIX layer is in the next update coming for Windows 10. I believe it's coming out this month. I don't actually remember the exact date. I don't know if the exact date has been announced publicly either, is a Linux subsystem, which there's been some talk about. It was announced a little while back. There is now the ability in Windows to run a complete Linux kernel with within Windows. So it's not a virtual machine. It is it it's actually a device driver inside the kernel that is running a full Linux kernel. So you can run a complete Ubuntu session on there or potentially any distro that you want to be working with and not have to reboot the machine. It's not dual booting. You don't have switch into an isolated virtual machine. It's right there. It's integrated with the Windows file systems that you have so you can directly share files. Over time, the tooling is definitely going to get better for that. So my my hope my my sort of pie in the sky dream, which as soon as I can, I'm going to do, is the ability to be working in Visual Studio, working on Python code, developing it, and then when you hit f 5 to start debugging, it will run on Linux in this subsystem and be letting you debug code that's running literally on Linux without having to switch to another machine, without needing more hardware, without needing separate isolation magic with no extra steps. It's really Linux on Windows right there just so developers can be comfortable with the tools that they have, with the target platform that they're working on, so that packages can be installed. And and yes, when you're running this Linux subsystem, you have a c compiler because GCC is there. So you can certainly install whatever packages you need on that. But that's certainly 1 of the most compelling things, I think, for developers that's coming out soon.</podcast:soundbite>
      <podcast:soundbite startTime="1525.46" duration="139.89">So what is currently the most difficult part of building a distribution of Python for Windows and has that gotten easier in recent years? I believe it's gotten easier. I I am a compulsive automator, so when I hit a problem that I have to do more than once, I will find a way to script it. So I have a a collection of scripts, some floating around, some actually checked into the repository for CPython that that will do the build. So I have a script and a big bundle of files that will set up my build machines for me. And there's there's no there's no magic there. It's just simply I can't redistribute an entire copy of Visual Studio. So that's my private script that will I can pull up a clean VM and have everything installed very quickly. But then actually building the distribution of Python for Windows is it's 1 batch file. So it's 1 1 shell script that I can run that will do everything, with a few with only a few options and, again, I optimize them for my use cases. It will code sign all the binaries. It will run installation tests. It will do the 32 bit, the 64 bit versions of Python and I can kick that off and walk away for an hour and come back and it's all done. And then I have 1 more batch file to upload the official release. Those are both checked in and it's considerably easier now, I believe, than it used to be. But again, that's it's my automation. I understand it. So far, I'm aware of 1 other group that's made use of it and has made a few tweaks to the installer and run and and is using these batch files to produce their own distribution of Python 35. So it has helped other people. I believe it's easier. The most difficult part is getting hold of the tools but even that with the c plus plus build tools which it which are sufficient for building Python, I just did it recently on a new machine, it is easier than it's ever been in the past, I believe, to to get the tools you need onto a machine. I haven't tested this explicitly, but I believe all you need is a copy of subversion and a copy of the c plus plus build tools, and everything else will be installed as part of the build process. So that should be all that's required to get started building Python on Windows is Subversion and the c plus plus build tools.</podcast:soundbite>
      <podcast:soundbite startTime="102.34" duration="63.19">So how did you get introduced to Python? It was initially a, summer vacation job that I had in between, in between studies. So I had a few months off and had a friend, set me up with a job which he knew about. And this job was designing medical devices. They're actually a startup. They're in early stages of, setting up demonstrable prototypes of their what were they doing? They had these little cards that were sort of gonna be prefilled with all the the medical testing stuff you needed and you'd be able to inject, a sample into this card, stick it in device and it would pump everything around and eventually 1 part of it would change color and we could detect the color change and give you the results. So the idea was that you send, you know, an HIV test. You could send a 1, 000 cards, each of which is an individual HIV test and someone who's not a medical professional could do it. So I was working there for a couple of months. They were building a prototype system which was being automated with Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:54:24</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Python on Windows with Steve Dower</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>70</itunes:episode>
      <podcast:episode>70</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529801730245649e36dfd-895a-4d7f-9666-0f247e6d0367v1.mp3" length="52238815" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529801730245649e36dfd-895a-4d7f-9666-0f247e6d0367v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_49e36dfd-895a-4d7f-9666-0f247e6d0367638558790737447785.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/49e36dfd-895a-4d7f-9666-0f247e6d0367638558790735315852.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/49e36dfd-895a-4d7f-9666-0f247e6d0367638558790733580926.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>PyCon Canada with Francis Deslauriers and Peter McCormick</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Aside from the national Python conferences such as PyCon US and EuroPyCon there are a number of regional conferences that operate at a smaller scale to service their local communities. This week we interviewed Peter McCormick and Francis Deslauriers about their work organizing PyCon Canada to provide a venue for Canadians to talk about how they are using the language. If you happen to be near Toronto in November then you should get a ticket and help contribute to their success!</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&amp;code=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a> and use the code <strong>podcastinit</strong> at <a href="https://www.getsentry.com/signup/?code=podcastinit&amp;utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">signup</a> to get a $50 credit!</li>
<li>Hired has also returned as a sponsor this week. If you’re looking for a job as a developer or designer then Hired will bring the opportunities to you. Sign up at <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Peter McCormick and Francis Deslauriers about their experiences organizing PyCon Canada</li>
</ul>

<div class="well"></div>

<div class="well"></div>

<h3>Interview with Peter McCormick and Francis Deslauriers</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>How did you get involved as an organizer of PyCon Canada? &#8211; Tobias</li>
<li>How does PyCon Canada, and other regional conferences, differ from PyCon US, both in terms of scale and overall experience? &#8211; Tobias</li>
<li>How do the audience and presenters differ from the US conferences? Is there perhaps a differen mix of industry versus academia, or maybe different disciplines? Chris</li>
<li>Are you thinking of trying to hold the conference in different cities across Canada, similarly to how PyCon US moves venues every two years? &#8211; Tobias</li>
<li>In addition to the national and regional conferences, there are a number of special interest Python conferences that take place (e.g. SciPy, PyData, etc.). What kind of relationship do you have with organizers of those events and how do they impact the kinds of talk submissions that you are likely to receive? &#8211; Tobias</li>
<li>There has been a lot of focus in recent years on trying to increase the diversity of conference speakers. What are some of the methods that you have used to encourage speakers of various backgrounds to submit talks? &#8211; Tobias</li>
<li>Organizing a conference involves a lot of moving parts. How do you structure the process to ensure a safe and enjoyable experience for the attendees? &#8211; Tobias</li>
<li>What are some of the biggest logistical challenges you face as conference organizers? &#8211; Chris</li>
<li>Given that PyCon Canada is a regional conference, how has that affected your focus in terms of marketing and the general theme? &#8211; Tobias</li>
<li>Tell our listeners about your favorite PyCon Canada moments. &#8211; Chris</li>
<li>What has been the most surprising part of organizing the conference? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>PyCon Canada
<ul>
<li><a href="https://twitter.com/pyconca?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://pycon.ca/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="mailto:sponsorship@pycon.ca">Email</a> for sponsorship enquiries</li>
</ul>

<p></li><br>
<li>Peter</p>

<ul>
<li><a href="mailto:peter@pycon.ca">Email</a></li>
<li><a href="https://twitter.com/pdmccormick?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://pdmccormick.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
<li>Francis</p>

<ul>
<li><a href="mailto:francis@pycon.ca">Email</a></li>
<li><a href="https://twitter.com/francisDeslaur?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://juicessh.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Juice SSH</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.chinesemanrecords.com/index.php?option=com_content&amp;view=article&amp;id=36&amp;Itemid=19&amp;lang=fr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chinese Man</a></li>
<li><a href="http://amzn.to/2atZdRC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stiletto</a></li>
<li><a href="http://amzn.to/2aBakba?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Amazon Echo</a></li>
</ul>

<p></li><br>
<li>Peter</p>

<ul>
<li><a href="https://github.com/djangocon/djangocon-us-docs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DjangoCon US documentation</a></li>
</ul>

<p></li><br>
<li>Francis</p>

<ul>
<li><a href="http://amzn.to/2aptCVz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spam Nation</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.python.org/events/python-events/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PSF Calendar of Events</a></li>
<li><a href="https://github.com/pinax/symposion?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Symposion</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-69-pycon-canada-with-francis-deslauriers-and-peter-mccormick%2F&amp;action_name=PyCon+Canada+with+Francis+Deslauriers+and+Peter+McCormick+-+Episode+69&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-69-pycon-canada-with-francis-deslauriers-and-peter-mccormick/</guid>
      <link>https://www.pythonpodcast.com/episode-69-pycon-canada-with-francis-deslauriers-and-peter-mccormick</link>
      <pubDate>Sat, 6 Aug 2016 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="569.77" duration="66.54">So you're mentioning that it's being held in Toronto. Have you considered having it move around to different cities in Canada similarly to how the PyCon US conference shifts around every couple of years? We are absolutely, like, trying to just view the work related to the organization of the conference. So obviously some things related to the the organization don't really need to be in Toronto or in the city where it's held, like emails, Twitter, like, end of communication and stuff. So we're trying to to, find people outside of the city to help out on this. And and ex for example, right now, we this year, we are hoping to distribute the entire CFP process, try to find people in other cities wanting to wanting to help out on reviewing reviewing proposals, getting feedback to speakers, and just so that we are not really dependent on the crowd, in the city where it's held. Hopefully, we would like to to see it move around, but right now the knowledge is kind of concentrated in, in Toronto. So but we're trying to distribute this this task as we we organize.</podcast:soundbite>
      <podcast:soundbite startTime="491.09" duration="77.27">I can definitely say that, again, my my first PyCon US was the 2015 1 in Montreal. That really was for me, it was a very special experience. PyCon, I've not that I'm a long time member, but I definitely felt sort of embraced by the community. It's a very warm group of people, very friendly, very welcoming, and I I really found that to be kind of an inspiring experience. And that definitely, put me into the role or set me down the path. I would say I've never I've never regretted doing, being the chair in 2015, and I'm very excited about, reprising that role again this year. And and really that comes down to not just my own involvement, but it's the people that I've met through it. So working with people like Francis, we've got a great group of, core organizers here in Toronto, and others who are patched in remotely. And it's been a great group of people to get to know, to work closely with, and although sometimes, you know, in in the midst of juggling the rest of life, we're all volunteers. Midst of juggling work and academic studies and whatnot, it it can get a little bit busy and has gotten busy at times. But definitely 2015, the conference went well, and that was a a real very satisfying experience. I would definitely say I don't regret it. And I'm excited to actually to see it continue and and and, more people get involved with it.</podcast:soundbite>
      <podcast:soundbite startTime="139.07" duration="52.28">So, Francis, how did you get introduced to Python? So, actually, it started during my undergrad. So first first time I really used Python for a project was a during our undergrad class, CPU architecture class. And we were building a some part of a CPU and we had some part of the assignment was to to write a small program with opcodes that RCP were would interpret afterwards. And, basically, the last part of the assignment was to write a program for it. And it was really a long task. Like, you had to consider all the offset and everything. So what I did is just basically write a Python assembler. So we we had this pseudo assembly code that we would pipe into this this Python script that would create all the up codes for for our programs. So that was really the first, like, project for a really low level problem. And, yeah, really, that's that's the first time I really use Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:46:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>PyCon Canada with Francis Deslauriers and Peter McCormick</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>69</itunes:episode>
      <podcast:episode>69</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300077684883400d4873-6956-4d81-838c-32cf19fc91a2v1.mp3" length="44192873" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300077684883400d4873-6956-4d81-838c-32cf19fc91a2v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_400d4873-6956-4d81-838c-32cf19fc91a2638558798289753813.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/400d4873-6956-4d81-838c-32cf19fc91a2638558798286677232.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/400d4873-6956-4d81-838c-32cf19fc91a2638558798284705494.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Test Engineering with Cris Medina</title>
      <description><![CDATA[<h3>Summary</h3>

<p>We all know that testing is an important part of software and systems development. The problem is that as our systems and applications grow, the amount of testing necessary increases at an exponential rate. Cris Medina joins us this week to talk about some of the problems and approaches associated with testing these complex systems and some of the ways that Python can help.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a></li>
<li>Hired has also returned as a sponsor this week. If you’re looking for a job as a developer or designer then Hired will bring the opportunities to you. Sign up at <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>The O’Reilly Velocity conference is coming to New York this September and we have a free ticket to give away. If you would like the chance to win it then just sign up for our newsletter at pythonpodcast.com</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Cris Medina about test engineering for large and complex systems.</li>
</ul>

<h3>Interview with Cris Medina</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>To get us started can you share your definition of test engineering and how it differs from the types of testing that your average developer is used to? &#8211; Tobias</li>
<li>What are some common industries or situations where this kind of test engineering becomes necessary? &#8211; Tobias</li>
<li>How and where does Python fit into the kind of testing that becomes necessary when dealing with these complex systems? &#8211; Tobias</li>
<li>How do you determine which areas of a system to test and how can Python help in that discovery process? &#8211; Tobias</li>
<li>What are some of your favorite tools and libraries for this kind of work? &#8211; Tobias</li>
<li>What are some of the areas where the existing Python tooling falls short? &#8211; Tobias</li>
<li>Given the breadth of concerns that are encompassed with testing the various components of these large systems, what are some ways that a test engineer can get a high-level view of the overall state? &#8211; Tobias
<ul>
<li>How can that information be distilled for presentation to other areas of the business? &#8211; Tobias</li>
<li>Could that information be used to provide a compelling business case for the resources required to test properly? &#8211; Chris</li>
</ul>

<p></li><br>
<li>Given the low-level nature of this kind of work I imagine that proper visibility of the work being done can be difficult. How do you make sure that management can properly see and appreciate your efforts? &#8211; Tobias</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/tryexceptpass?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2achzGz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Samsung Galaxy Tab S2</a></li>
<li><a href="http://amzn.to/2achEtZ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anker SoundCore Bluetooth Speaker</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://smile.amazon.com/Writing-Well-30th-Anniversary-Nonfiction-ebook/dp/B0090RVGW0/ref=mt_kindle?_encoding=UTF8&amp;me=#navbar&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">On Writing Well</a></li>
<li><a href="https://www.youtube.com/watch?v=3p10knivMRg&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">This Episode Was Written by an AI</a></li>
<li><a href="http://feoh.org/the-three-rs.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Three Rs</a></li>
</ul>

<p></li><br>
<li>Cris</p>

<ul>
<li><a href="http://cherrypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CherryPy</a></li>
<li><a href="https://github.com/coreos/etcd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Etcd</a></li>
<li><a href="http://amzn.to/2aA92S1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thinking Fast And Slow</a> by Daniel Kahneman</li>
<li><a href="http://www.spain.info/en_US/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spain</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://pythonhosted.org/behave/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Behave</a></li>
<li><a href="https://github.com/pytest-dev/pytest-bdd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pytest BDD</a></li>
<li><a href="https://hypothesis.readthedocs.io/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hypothesis</a></li>
<li><a href="http://pythonpodcast.com/david-maciver-hypothesis.html?utm_source=rss&utm_medium=rss">Episode XX &#8211; Hypothesis</a></li>
<li><a href="http://flask.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask</a></li>
<li><a href="http://www.cherrypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CherryPy</a></li>
<li><a href="https://www.djangoproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django</a></li>
<li><a href="http://pandas.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pandas</a></li>
<li><a href="http://www.numpy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumPy</a></li>
<li><a href="http://www.celeryproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Celery</a></li>
<li><a href="http://bokeh.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bokeh</a></li>
<li><a href="https://vincent.readthedocs.io/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vincent</a></li>
<li><a href="http://pybee.org/project/projects/libraries/toga/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toga</a></li>
<li><a href="https://bl.ocks.org/kerryrodden/477c1bfb081b783f80ad?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D3 Sunburst</a></li>
<li><a href="https://github.com/d3/d3-chord?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D3 Chord Diagrams</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-68-test-engineering-with-cris-medina%2F&amp;action_name=Test+Engineering+with+Cris+Medina+-+Episode+68&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-68-test-engineering-with-cris-medina/</guid>
      <link>https://www.pythonpodcast.com/episode-68-test-engineering-with-cris-medina</link>
      <pubDate>Sat, 30 Jul 2016 19:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1109.35" duration="47.02">I've used, seen, or have heard of Python being involved in almost every aspect. Right? You know, you can everything from, you know, designing the systems. Right? If you're talking about, you know, a server or, you know, a game or something like that, you know, a lot of these, modeling tools have direct ties and pipelining through Python to move things around to come to, like, process the data, convert it from 1 thing to another. I know that given behavior driven development and test driven development, you know, Python will be a great asset for for, putting design definitions and specifications together.</podcast:soundbite>
      <podcast:soundbite startTime="2233.06" duration="60.21">So, most of the organizations that I worked in use some form of project manager to communicate up to the business, where things are at. And that's interesting because that person communicates what he the information gets filtered because you can't possibly, yeah, go through all the like you were just saying, through through all of the low level stuff. I think in the end, the the better solution which I've kinda gotten to that most recently is to just have all of the data. Have it always live in some application, may whether that's a website or not. And then, you gotta have different levels of abstraction. You're gonna have to design that website or that application so that you so that works for you. And that's where the trick is, right? Figuring out the data model that fits your your product or your organization such that you can collect your test results and be like, well, I had a, you know, a 1000 tests. So many passed, so many failed.</podcast:soundbite>
      <podcast:soundbite startTime="181.36" duration="48.52">So to get us started, can you share your definition of test engineering and how it differs from the types of testing that your average developer is used to? So testing in general is is a pretty wide field that encompasses a whole bunch of stuff, like all kinds of different methodologies and ideas. Everybody has a different way of going through everything. But, you know, if you think of things that you're at the very minimum where there's a a single developer that's focusing on a particular function, they've written, doing things like, say, unit testing, which for the most part is is going through and verifying, like, all the all the specific, methods or whatnot that they've developed. Things start getting more complicated once you move beyond that step and start looking at how that piece of code interacts or integrates with other pieces across your system.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:10</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Test Engineering with Cris Medina</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>68</itunes:episode>
      <podcast:episode>68</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529840265332845d9185b-c909-4652-a508-167d86a0a256v1.mp3" length="55854564" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529840265332845d9185b-c909-4652-a508-167d86a0a256v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_45d9185b-c909-4652-a508-167d86a0a256638558792294321371.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/45d9185b-c909-4652-a508-167d86a0a256638558792291012477.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/45d9185b-c909-4652-a508-167d86a0a256638558792288844394.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Crossing The Streams - Talk Python with Michael Kennedy</title>
      <description><![CDATA[<h3>Summary</h3>

<p>The same week that we released our first episode of Podcast.__init__, Michael Kennedy was publishing the very first episode of Talk Python To Me. The years long drought of podcasts about Python has been quenched with a veritable flood of quality content as we have both continued to deliver the stories of the wonderful people who make our community such a wonderful place. This week we interviewed Michael about what inspired him to get started, his process and experience as Talk Python continues to evolve, and how that has led him to create online training courses alongside the podcast. He also interviewed us, so check out this weeks episode of Talk Python To Me for a mirror image of this show!</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a></li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Michael Kennedy about his work with Talk Python to Me, another podcast about Python and its community, and on-demand Python trainings. Michael has also offered to give away one of each of his Python courses to our listeners. If you would like the chance to win, then sign up for our newsletter at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a>, or our forum at <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a>. If you want to double your chances, then sign up for both!</li>
</ul>

<h3>Interview with Michael Kennedy</h3>

<ul>
<li>Introductions</li>
<li>How did you get into programming?</li>
<li>How did you get introduced to Python? (Chris)</li>
<li>What is the craziest piece of software you’ve ever written? &#8211; Tobias</li>
<li>You’ve taken some pretty drastic steps around Python and your career lately. What inspired you to do that and how’s it going?(yes, quit my job, focus only on podcast and online courses). </li>
<li>You are basically self-taught as a developer, how did you get into this teaching / mentor role?</li>
<li>Why did you first get started with Talk Python to Me? &#8211; Tobias</li>
<li>Did you know when you started that it would turn into a full-time endeavor? &#8211; Tobias</li>
<li>For a while there weren’t any podcasts available that focused on Python and now we’re each producing one. What’s it like to run a successful podcast? &#8211; Tobias</li>
<li>What have been your most popular episodes? Tell us a bit about each &#8211; Tobias</li>
<li>In your excellent episode with Kate Heddleston you talked about how we tend to bash other programming languages. We’ve done a fair bit of Java bashing here. How can we help get ourselves and others in our community out of this bad habit? &#8211; Chris</li>
<li>How do you select the guests and topics for your show? &#8211; Tobias</li>
<li>What topics do you have planned for the next few episodes?</li>
<li>How do you prepare the questions for each episode? &#8211; Tobias</li>
<li>What is the most significant thing you’ve learned from the podcasting experience?</li>
<li>What do you wish you did differently and how are you looking to improve? &#8211; Tobias</li>
<li>I had a great time hanging out with you at PyCon this year. What was your impression of the conference? </li>
<li>What were your favorite sessions and do you have any shows scheduled to follow up on them? &#8211; Tobias</li>
<li>Your sites are 100% “hand-crafted” as they say. Can you give us a look inside? What are the moving parts in there?</li>
<li>So you stirred things up with Stitcher this week. What’s up with that?</li>
<li>Can you recommend some podcasts? What’s in your playlist?</li>
<li>Final call to action?</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/mkennedy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://talkpython.fm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Podcast</a></li>
<li><a href="https://michaelckennedy.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Web</a></li>
<li><a href="https://github.com/mikeckennedy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/2a3GD21?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Batman v Superman: Dawn of Justice</a></li>
<li><a href="http://amzn.to/2a8S6Sj?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lego Brickumentary</a></li>
<li><a href="https://www.consul.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hashicorp Consul</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.useyarn.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yarn</a></li>
<li><a href="http://www.apple.com/shop/product/MLA02LL/A/magic-mouse-2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apple Magic Mouse 2</a></li>
<li><a href="http://99percentinvisible.org/episode/remembering-stonewall/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Remembering Stonewall</a></li>
</ul>

<p></li><br>
<li>Michael</p>

<ul>
<li><a href="https://pypi.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPI</a></li>
<li><a href="https://pythonhosted.org/passlib/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">passlib</a></li>
<li><a href="https://youtube.com/pycon2016?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python 2016 Youtube Channel</a></li>
<li><a href="https://www.youtube.com/watch?v=bSfe5M_zG2s&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">K Lars Lohn &#8211; Closing Keynote</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://amzn.to/2a66Uxx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thinking Fast and Slow</a> by Daniel Kahneman</li>
<li><a href="https://trello.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trello</a></li>
<li>Recommended podcasts:
<ul>
<li><a href="http://pythontesting.net/test-podcast/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Test and Code Podcast</a></li>
<li><a href="http://partiallyderivative.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Partially Derivative</a></li>
<li><a href="http://exponent.fm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Exponent Podcast</a></li>
<li><a href="https://mixergy.com/interviews/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mixergy</a></li>
<li><a href="https://gimletmedia.com/show/startup/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Startup Podcast (season 1 &amp; 2)</a></li>
<li><a href="http://awayfromthekeyboard.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Away from the keyboard</a></li>
<li><a href="http://developeronfire.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Developer On Fire</a></li>
</ul>

<p></li><br>
<li>Michael’s courses:</p>

<ul>
<li><a href="https://talkpython.fm/course?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Jumpstart by Building 10 Apps</a></li>
<li><a href="https://talkpython.fm/pythonic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Write Pythonic Code Like a Seasoned Developer</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-67-crossing-the-streams-talk-python-with-michael-kennedy%2F&amp;action_name=Crossing+The+Streams+-+Talk+Python+with+Michael+Kennedy+-+Episode+67&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-67-crossing-the-streams-talk-python-with-michael-kennedy/</guid>
      <link>https://www.pythonpodcast.com/episode-67-crossing-the-streams-talk-python-with-michael-kennedy</link>
      <pubDate>Sat, 23 Jul 2016 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="431.59" duration="25.33">It does not know what you're thinking. It only knows you're, like, mentally that it's like a CPU unit for the brain, basically. Yeah. I've been listening to Thinking Fast and Slow by Daniel Kahneman, and he talks about that as well, how they discovered that in their studies, the dilation of the people will have a direct correlation with how much mental effort somebody is expending on a given problem. So for anybody who wants a bit more of the background, you should take a look at that book.</podcast:soundbite>
      <podcast:soundbite startTime="144.23" duration="44.16">The story about how I got into Python is is a little bit interesting. I was working at a training company called Developmentor, and it was mostly, you know, sorta dot net and c plus plus focused with some some web technologies thrown in as well, you know, JavaScripty type things. And, you know, the Microsoft space was sort of stagnating a little bit, let's say. And, personally, I had been doing that, dot net type programming for quite a while, and I was I was ready to look around it and sort of find something new and fresh and really wanted to to basically diversify. And so a couple of things came together, and they're like, why don't you research some other areas that we could go into and and figure out, you know, what's what's interesting and where we can add value, but also where there's demand.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:17:48</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Crossing The Streams - Talk Python with Michael Kennedy</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>67</itunes:episode>
      <podcast:episode>67</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304031351079403834c3-ba35-421a-87e2-56f1ac6447acv1.mp3" length="74711215" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304031351079403834c3-ba35-421a-87e2-56f1ac6447acv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_403834c3-ba35-421a-87e2-56f1ac6447ac638558807558692317.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/403834c3-ba35-421a-87e2-56f1ac6447ac638558807550708120.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/403834c3-ba35-421a-87e2-56f1ac6447ac638558807548071290.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Zorg with Gunther Cox and Kevin Brown</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Everyone loves to imagine what they would do if they had their own robot. This week we spoke with Gunther Cox and Kevin Brown about their work on Zorg, which is a Python library for building a robot of your own! We discussed how the project got started, what platforms it supports, and some of the projects that have been built with it. Give it a listen and then get building!</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a></li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey</li>
<li>Today we’re interviewing Gunther Cox and Kevin Brown about Zorg, a Python framework for robotics and physical computing</li>
</ul>

<h3>Interview with Gunther Cox and Kevin Brown</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Tobias</li>
<li>What is Zorg and what is its origin story? &#8211; Tobias</li>
<li>How would you define and differentiate the concepts of robotics, physical computing, and the internet of things? &#8211; Tobias</li>
<li>I noticed in the documentation that Zorg is based on the Cylon.js project. How closely does the implementation of Zorg stick to that of Cylon and how much needs to be changed due to differences in the language? &#8211; Tobias </li>
<li>Is Zorg useful for production applications or is it primarily intended for educational purposes and hobby projects? &#8211; Tobias</li>
<li>Zorg currently only supports the Intel Edison, with plans for Raspberry Pi and Arduino Firmata support in the works. What is involved in adding compatibility with other platforms? &#8211; Tobias</li>
<li>What are some of the most interesting projects that you have seen created using Zorg? &#8211; Tobias</li>
<li>How does Zorg compare to other Python robotics projects such as ROSPy? &#8211; Tobias</li>
<li>Robotics is a large and complex problem space. What are some of the other features and projects in Python that are often used when building robots? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/zorg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="http://zorg.github.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Newsletter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://padlock.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Padlock Password Manager</a></li>
<li><a href="https://www.vaultproject.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vault</a></li>
</ul>

<p></li><br>
<li>Gunther</p>

<ul>
<li><a href="http://amzn.to/2a00zs8?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Robot Builder’s Bonanza</a></li>
</ul>

<p></li><br>
<li>Kevin</p>

<ul>
<li><a href="http://www.pyimagesearch.com/2015/05/25/basic-motion-detection-and-tracking-with-python-and-opencv/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Facial Recognition with OpenCV in Python</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://en.wikipedia.org/wiki/RS-232?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RS232</a></li>
<li><a href="http://hybridgroup.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Hybrid Group</a></li>
<li><a href="https://gobot.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gobot</a></li>
<li><a href="http://artoo.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Artoo</a></li>
<li><a href="https://cylonjs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cylon.js</a></li>
<li><a href="http://salvius.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Salvius</a></li>
<li><a href="http://wiki.ros.org/rospy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ROSPy</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-66-zorg-with-gunther-cox-and-kevin-brown%2F&amp;action_name=Zorg+with+Gunther+Cox+and+Kevin+Brown+-+Episode+66&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-66-zorg-with-gunther-cox-and-kevin-brown/</guid>
      <link>https://www.pythonpodcast.com/episode-66-zorg-with-gunther-cox-and-kevin-brown</link>
      <pubDate>Sun, 17 Jul 2016 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="363.14" duration="25.90">Originally, a lot of the limitations of, you know, boards like the Arduino and, you know, basic stamp chips before that, a lot of the issues were, you know, coming down to the fact that you were limited to only so much memory. But now that memory and and processing power isn't such a huge issue, it's it's not holding back the ability for people to use high level languages that let them use more features and abstraction than they would have been able to use before.</podcast:soundbite>
      <podcast:soundbite startTime="1104.76" duration="28.62">When I was looking at your GitHub, I noticed that you've also got a voice adapter for plugging into Zorg for being able to do voice activated interaction with the actual robot? I don't believe that's, that we currently have that on the Zorg repository on GitHub. I have a similar 1 that I created for, for a different project. Yeah. It's, that is 1 of the, the libraries that I use with the robot. So on on a different on a different level, it it does get some sort of use for with Zorg.</podcast:soundbite>
      <podcast:soundbite startTime="131.43" duration="25.83">Sure. So, originally, the idea to create Zorg came around when we were participating at a hackathon at the hack UMass event at UMass Amherst. The idea initially came up after talking to a group of developers from Intel that had, come to the event as sponsors, and they had mentioned how they had a a lack of, a Python implementation to work on their Intel Edison boards.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:25:19</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Zorg with Gunther Cox and Kevin Brown</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>66</itunes:episode>
      <podcast:episode>66</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253030792418052985c2ea-550d-4f6c-ae9f-456f9366d460v1.mp3" length="24314150" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253030792418052985c2ea-550d-4f6c-ae9f-456f9366d460v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_2985c2ea-550d-4f6c-ae9f-456f9366d460638558802640161650.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2985c2ea-550d-4f6c-ae9f-456f9366d460638558802637901784.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/2985c2ea-550d-4f6c-ae9f-456f9366d460638558802635819433.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Mypy with David Fisher and Greg Price</title>
      <description><![CDATA[<h3>Summary</h3>

<p>As Python developers we are fond of the dynamic nature of the language. Sometimes, though, it can get a bit <em>too</em> dynamic and that’s where having some type information would come in handy. Mypy is a project that aims to add that missing level of detail to function and variable definitions so that you don’t have to go hunting 5 levels deep in the stack to understand what shape that data structure is supposed to be. This week we spoke with David Fisher and Greg Price about their work on Mypy and its use within Dropbox and the broader community. They explained how it got started, how it works under the covers, and why you should consider adding it to your projects.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a></li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing David Fisher and Greg Price about Mypy, a library for adding optional static types to your Python code.</li>
</ul>

<p>es</p>

<h3>Interview with David Fisher and Greg Price</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you explain a bit about what Mypy is and its origin story? &#8211; Tobias</li>
<li>What are the benefits of using Mypy for both new and existing projects? &#8211; Tobias</li>
<li>How does the Mypy compilation step work? &#8211; Tobias</li>
<li>What are the biggest technical challenges in implementing Mypy? &#8211; Chris</li>
<li>Are there any limitations imposed by the syntax of Python that prevented you from implementing any features or syntax that you would have liked to include in Mypy? &#8211; Tobias</li>
<li>In Guido’s keynote from this year’s PyCon he mentioned some tentative plans for adding variable type declarations to the Python syntax in one of the next major releases. How much of that idea was inspired by Mypy? &#8211; Tobias</li>
<li>Type theory is a large and complex problem domain. Can you explain where Mypy falls in this space? &#8211; Tobias</li>
<li>Which language(s) had the biggest influence on the particular syntax and semantics used in Mypy? &#8211; Tobias</li>
<li>What kinds of type definitions and guarantees can be encoded using Mypy? &#8211; Tobias</li>
<li>Can you talk a bit about user defined types as implemented in Mypy? &#8211; Chris</li>
<li>How has the inclusion of the typing module in the Python standard libary influenced the evolution of Mypy? &#8211; Tobias</li>
<li>Did the inclusion of multiple inheritance add any implementation complexity to Mypy? &#8211; Chris</li>
<li>Do you know of any formal studies that have been performed to research the ergonomics or efficiency gains of static or gradual type systems? &#8211; Tobias</li>
<li>What does the future roadmap for Mypy look like? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>David
<ul>
<li><a href="https://github.com/ddfisher?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
<li>Greg</p>

<ul>
<li><a href="http://web.mit.edu/price/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">web page</a></li>
<li><a href="https://github.com/gnprice?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
</ul></p>

<p>$ pip3 install mypy-lang</p>

<p>Bug reports, feature requests, questions welcome on issue tracker: github.com/python/mypy</p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.functionalgeekery.com/episode-55-andreas-stefik/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Functional Geekery &#8211; Andreas Stefik</a> episode about studies performed on the human factors of development</li>
<li><a href="https://twitter.com/softskillseng?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Soft Skills Engineering Podcast</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://grimmales.com/luckycloud/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grimm Artisenal Ales Lucky Cloud</a></li>
<li><a href="https://stedolan.github.io/jq/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jq &#8211; json swiss army knife</a></li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li><a href="https://github.com/junegunn/fzf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">fzf &#8211; a fuzzy finder</a></li>
<li><a href="http://amzn.to/28YHvYc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thinking, Fast And Slow</a> by Daniel Kahneman</li>
<li><a href="http://amzn.to/28YHi7c?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ringworld</a></li>
</ul>

<p></li><br>
<li>Greg</p>

<ul>
<li><a href="http://www.ams.org/journals/bull/1994-30-02/S0273-0979-1994-00502-6/S0273-0979-1994-00502-6.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">On Proof and Progress in Mathematics</a>, essay by Bill Thurston</li>
<li><a href="http://amzn.to/28Nr0x9?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Axiomatic</a> by Greg Egan</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li>GitHub <a href="https://github.com/python/mypy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">repo</a>, and <a href="https://github.com/python/mypy/blob/master/CONTRIBUTING.md?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CONTRIBUTING file</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0484/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 484</a></li>
<li><a href="https://dl.dropboxusercontent.com/content_link/CzGrw5JyeBy2m2yGXgYckx25C5F1SISDYueX8f7nXxEuDJO1aCmcNN6kfgHEdzUf/file?dl=1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon 2016 workshop slides</a></li>
<li><a href="https://github.com/python/typeshed?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Typeshed</a> shared repo for stubs</li>
<li><a href="https://github.com/python/typing/issues/200?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Other tools (PyCharm, pylint, pytype, …) using PEP 484 types</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-65-mypy-with-david-fisher-and-greg-price%2F&amp;action_name=Mypy+with+David+Fisher+and+Greg+Price+-+Episode+65&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-65-mypy-with-david-fisher-and-greg-price/</guid>
      <link>https://www.pythonpodcast.com/episode-65-mypy-with-david-fisher-and-greg-price</link>
      <pubDate>Sun, 10 Jul 2016 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="722.45" duration="24.70">I have a thought, actually, I'll add on the the benefits for for, like, small pieces of code, which is is amplifying the bit where 1 of the function of it is to find errors that are in your code. 1 of the more frustrating things that you can have happen with when you write, like, some little script, is often you write maybe a small enough code, just dozens or 100 lines of code for a script you're gonna run, and you're gonna go and run it on some data. Right? Or it's gonna go and, like, fetch some stuff from the the web or something. It's gonna do a bunch of processing.</podcast:soundbite>
      <podcast:soundbite startTime="2639.09" duration="31.58">So the first thing that's coming up here, which is something that I'm pretty excited about, is what we call strict none checking. And so this is kind of a work in progress feature that will hopefully come out in the next, say, month roughly. And, basically, what it does is it it lets you specify in the type system if something can ever be none or not. And if you're trying to use, like, say, a variable that can be none, my pie will warn you if you don't check for none before using it. And we this basically gives you the tools to eliminate, almost all none type errors, which I think is pretty exciting.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:00:20</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Mypy with David Fisher and Greg Price</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>65</itunes:episode>
      <podcast:episode>65</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305486517828c3e56b98-9031-4da0-987a-6d0b5a8e3d75v1.mp3" length="57944288" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305486517828c3e56b98-9031-4da0-987a-6d0b5a8e3d75v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c3e56b98-9031-4da0-987a-6d0b5a8e3d75638558813944314524.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c3e56b98-9031-4da0-987a-6d0b5a8e3d75638558813941305123.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c3e56b98-9031-4da0-987a-6d0b5a8e3d75638558813938561974.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>BeeWare with Russell Keith-Magee</title>
      <description><![CDATA[<h3>Summary</h3>

<p>When you have good tools it makes the work you do even more enjoyable. Russel Keith-Magee has been building up a set of tools that are aiming to let you write graphical interfaces in Python and run them across all of your target platforms. Most recently he has been working on a capstone project called Toga that targets the Android and iOS platforms with the same set of code. In this episode we explored his journey through programming and how he has built and designed the Beeware suite. Give it a listen and then try out some or all of his excellent projects!</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a> and use the code <em>podcastinit</em> to get a $50 credit!</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Russel Keith-Magee about the Beeware project, which is a collection of tools and libraries that are meant to be composed together for building up your Python development environment.</li>
</ul>

<h3>Interview with Firstname Lastname</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is the BeeWare project and what goals do you have for it? &#8211; Tobias</li>
<li>What kinds of projects are contained under the BeeWare umbrella and what inspired you to start creating these kinds of tools? &#8211; Tobias</li>
<li>Did each project arise from a particular need that you had at the time or has there been a logical progression from one tool to the next? &#8211; Tobias</li>
<li>At PyCon US of this year (2016) you made a <a href="https://www.youtube.com/watch?v=NqdpK9KjGgQ&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">presentation</a> about the work that you have been doing to bring Python to the iOS and Android platforms. Can you provide a high-level overview for anyone who hasn’t seen that talk yet? &#8211; Tobias</li>
<li>Let’s talk about Toga &#8211; how does Toga differ from some of the other cross platform UI framework efforts for various languages like Kivy or Shoes? &#8211; Chris</li>
<li>What are some of the biggest challenges that you had to overcome in order to get Python to run on both iOS and Android? &#8211; Tobias</li>
<li>How does runtime performance for applications written in Python compare with the same program running in the languages that are natively supported on those platforms? &#8211; Tobias</li>
<li>Can you walk us through the low level flow of a single toga API request? &#8211; Chris</li>
<li>Do you view your work on Toga and the associated libraries as a hobby project or do you think that it will turn into a production ready tool set that people will use for shipping applications? &#8211; Tobias</li>
<li>IDEs like Android Studio and XCode have a lot of features that simplify the development and UI creation process. Do you have to forego those niceties when developing a mobile app in Python? &#8211; Tobias</li>
<li>Shipping Python applications is a problem that tends to pose a host of issues for people, which you are addressing with the Briefcase project. What are some of the biggest hurdles and design choices that you have encountered while working on that? &#8211; Tobias</li>
<li>Do you think that there will ever be a release of iOS or Android, or even a brand new mobile platform, that will ship with native Python support? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/pybeeware?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://pybee.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="https://github.com/pybee?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1XqFcjc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Japanese cast iron tea set</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.bantamcider.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bantam Cider</a></li>
<li><a href="http://omz-software.com/pythonista/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pythonista 3</a></li>
</ul>

<p></li><br>
<li>Russell</p>

<ul>
<li><a href="http://mhprompt.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MHPrompt</a></li>
<li><a href="https://osmihelp.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Sourcing Mental Illness</a></li>
<li><a href="http://bluehackers.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blue Hackers</a></li>
<li><a href="https://www.beyondblue.org.au?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beyond Blue</a></li>
<li><a href="http://www.blackdoginstitute.org.au?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black Dog institute</a></li>
<li><a href="https://www.mentalhealth.gov?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mental Health.gov</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.youtube.com/watch?v=NqdpK9KjGgQ&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A Tale of Two Cellphones</a></li>
<li><a href="">Python interpreter in 500 lines of code</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-64-beeware-with-russell-keith-magee%2F&amp;action_name=BeeWare+with+Russell+Keith-Magee+-+Episode+64&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-64-beeware-with-russell-keith-magee/</guid>
      <link>https://www.pythonpodcast.com/episode-64-beeware-with-russell-keith-magee</link>
      <pubDate>Sat, 2 Jul 2016 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="206.85" duration="21.74">So you gave a brief overview of the bware project, but could you go a little deeper into what it is and what goals you have for it? Okay. So the BWO project actually started in a com almost a completely different space. About 3 years ago, I gave a keynote or no, actually, I gave a talk at, Python Australia talking about the tools that we as developers use to develop Python.</podcast:soundbite>
      <podcast:soundbite startTime="3984.45" duration="23.38">My my pick for today is actually a slightly, off top world instead of in a sense of Tobias' Japanese cast iron tea set, it's a slightly, slightly off piste. Something I've been I've been very open about over the last year. About a year ago, I had I I went through a very, very rough time, and and in on in on in sort of post inspection of what had been going on. It had probably been going on for somewhere between 18 months and 4 years.</podcast:soundbite>
      <podcast:soundbite startTime="1198.15" duration="29.81">So following on to this, PyCon US this year, you made a presentation about the work you've been doing to bring Python to the iOS and Android platforms. I'm wondering if you can provide a brief high level overview of that presentation for anybody who hasn't seen the talk yet. Sure. Okay. So the the end the end point or the the 5 second takeaway is that you can now, with the tooling that I've sort of put together, you can take pure Python code, you can run it on an iOS application, and you can run it on an Android application.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:10:36</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>BeeWare with Russell Keith-Magee</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>64</itunes:episode>
      <podcast:episode>64</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322417251775bd780fd3-09de-4f34-a285-fdf907b8d669v1.mp3" length="67787985" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525322417251775bd780fd3-09de-4f34-a285-fdf907b8d669v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_bd780fd3-09de-4f34-a285-fdf907b8d669638558848540344233.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bd780fd3-09de-4f34-a285-fdf907b8d669638558848537471442.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bd780fd3-09de-4f34-a285-fdf907b8d669638558848534537164.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Armin Ronacher</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Armin Ronacher is a prolific contributor to the Python software ecosystem, creating such widely used projects as Flask and Jinja2. This week we got the opportunity to talk to him about how he got his start with Python and what has inspired him to create the various tools that have made our lives easier. We also discussed his experiences working in Rust and how it can interface with Python.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a></li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Armin Ronacher about his contributions to the Python community.</li>
</ul>

<h3>Interview with Armin Ronacher</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What was the first open source project that you created in Python? &#8211; Tobias</li>
<li>What is your view of the responsibility for open source project maintainers and how do you manage a smooth handoff for projects that you no longer wish to be involved in? &#8211; Tobias</li>
<li>You have created a large number of successful open source libraries and tools during your career. What are some of the projects that may be less well known that you think people might find interesting? &#8211; Tobias (e.g. logbook)</li>
<li>I notice that you recently worked on the pipsi project. Please tell us about it! &#8211; Chris</li>
<li>Following on from the last question, where would you like to see the Python packaging infrastructure go in the future? &#8211; Chris</li>
<li>You have had some strong opinions of Python 2 vs Python 3. How has your position on that subject changed over time? &#8211; Tobias</li>
<li>Let’s talk about <a href="https://www.getlektor.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lektor</a> &#8211; what differentiates it from the pack, and what keeps you coming back to CMS projects? &#8211; Chris</li>
<li>How has your blogging contributed to the work that you do and the success you have achieved? &#8211; Tobias</li>
<li>Lately you have been doing a fair amount of work with Rust. What was your reasoning for learning that language and how has it influenced your work with Python? &#8211; Tobias</li>
<li>In addition to the code you have written, you also helped to form the Pocoo organization. Can you explain what Pocoo is and what it does? What has inspired the rebranding to the Pallets project? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/mitsuhiko?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.oreilly.com/learning/radical-candor-be-a-better-boss?imm_mid=0e36f7&amp;cmp=em-na-free-info-na_cultivate_nurture_em7_radical_candor&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Radical Candor</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.ratebeer.com/beer/loverbeer-beerbrugna/146145/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Loverbeer BeerBrugna</a></li>
<li><a href="https://tomorrowcorporation.com/humanresourcemachine?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Human Resource Machine</a></li>
</ul>

<p></li><br>
<li>Armin</p>

<ul>
<li><a href="http://www.loncium.at/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Biermanufaktur Loncium</a></li>
<li><a href="https://www.youtube.com/watch?v=x_tyK3Ea8fc&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Matakustix &#8211; Hai Hai Haibodn</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.phpbb.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PHPbb</a></li>
<li><a href="http://www.pocoo.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pocoo</a></li>
<li><a href="https://www.palletsprojects.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pallets Project</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-63-armin-ronacher%2F&amp;action_name=Armin+Ronacher+-+Episode+63&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-63-armin-ronacher/</guid>
      <link>https://www.pythonpodcast.com/episode-63-armin-ronacher</link>
      <pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="73.79" duration="34.45">So Armin, could you introduce yourself, please? Hello. My name is Armin Ronaha. I'm doing a lot of Python development for many years at this point. I'm sort of the creator behind a lot of Python libraries, including the Flask framework, the vector WCI library, change the template engine, Lecto CMS, and a bunch of other things. I'm doing sort of independent software development out of Austria now, and I'm spending most of my time contributing to the Sentry open source project, which also has an sort of attached software as a service business model, which actually is quite significant at this point.</podcast:soundbite>
      <podcast:soundbite startTime="668.38" duration="27.68">I think the build your own framework approach is, is sort of why it's got such a huge number of users. And I I totally believe in this approach to be honest, because I have never seen an installation of Django, which after some period of time did not start to replace lots and lots of Django internals with with your own things. And I I think it's just natural in how software develops. And because of that, I just like the idea of just taking this as a as a matter of fact and incorporating into the design of libraries.</podcast:soundbite>
      <podcast:soundbite startTime="252.52" duration="40.74">And what was the first open source project that you created in Python? So the the original goal was to have a PHPBB replacement called Puku, and that's sort of where, I guess, all of this Puku shenanigans comes from. And that might have been sort of the first project, but it was always super, like, early, and it never got a release or anything of that sort. But the support libraries for it, did. So there was, I think it was an early library called Kluberts, and there was another 1 called Chinga. And that is not the Chinga 2 now. That was sort of the the earliest version of it. That might have been the first open source project in a way, I guess.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:00:21</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Armin Ronacher</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>63</itunes:episode>
      <podcast:episode>63</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320500715041da9ab134-1164-4503-aa8a-dd1e9903ec91v1.mp3" length="57949563" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320500715041da9ab134-1164-4503-aa8a-dd1e9903ec91v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_da9ab134-1164-4503-aa8a-dd1e9903ec91638558840247276513.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/da9ab134-1164-4503-aa8a-dd1e9903ec91638558840244380830.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/da9ab134-1164-4503-aa8a-dd1e9903ec91638558840242746364.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Bandit with Tim Kelsey, Travis McPeak, and Eric Brown</title>
      <description><![CDATA[<h3>Summary</h3>

<p>Making sure that your code is secure is a difficult task. In this episode we spoke to Eric Brown, Travis McPeak, and Tim Kelsey about their work on the Bandit library, which is a static analysis engine to help you find potential vulnerabilities before your application reaches production. We discussed how it works, how to make it fit your use case, and why it was created. Give the show a listen and then go start scanning your projects!</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project. And they just doubled the RAM for their introductory level servers, so that $20 will get you even more performance.</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&amp;code=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a> and use the code <strong>podcastinit</strong> at <a href="https://www.getsentry.com/signup/?code=podcastinit&amp;utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">signup</a> to get a $50 credit!</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Tim Kelsey and Eric Brown about Bandit which is a static analysis engine for finding security vulnerabilities in your Python code.</li>
</ul>

<h3>Interview with Eric Brown, Travis McPeak and Tim Kelsey</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is Bandit and what was the inspiration for creating it? &#8211; Tobias</li>
<li>How did you each get involved with the Bandit project? &#8211; Tobias</li>
<li>At what stage of the development process would you want to use Bandit? &#8211; Tobias</li>
<li>What kinds of analysis does Bandit do on the source code that it is run against? &#8211; Tobias</li>
<li>How does it determine whether a particular segment of code is introducing a vulnerability and what means does it use to determine the severity? &#8211; Tobias</li>
<li>What does the generated report include and what can be done with that information? &#8211; Tobias</li>
<li>What are some of the biggest design and implementation difficulties that have been encountered in the process of creating Bandit? &#8211; Tobias</li>
<li>How does bandit compare to similar tools in other languages such as Ruby’s BrakeMan? &#8211; Tobias</li>
<li>What are some of the most interesting extensions that you have seen for Bandit? &#8211; Tobias</li>
<li>What is on the roadmap for the future of Bandit? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://wiki.openstack.org/wiki/Security#IRC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack Security IRC</a></li>
<li><a href="https://wiki.openstack.org/wiki/Security#IRC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenStack Security Weekly Meeting</a></li>
<li>Tim
<ul>
<li><a href="https://twitter.com/c4llidus?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
<li>Travis</p>

<ul>
<li><a href="https://twitter.com/travismcpeak?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://toggl.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toggl</a>
<ul>
<li><a href="https://thefreelanceeffect.com/toggl-review/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Listener Review of Toggl</a></li>
</ul>

<p></li><br>
<li><a href="http://www.any.do/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Any.do</a></li><br>
</ul><br>
</li><br>
<li>Tim</p>

<ul>
<li><a href="https://ifttt.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IFTTT</a> (If This Then That)</li>
</ul>

<p></li><br>
<li>Eric</p>

<ul>
<li><a href="https://slack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Slack</a></li>
</ul>

<p></li><br>
<li>Travis</p>

<ul>
<li><a href="http://amzn.to/269yGR1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brilliance Trilogy</a></li>
<li><a href="http://amzn.to/1Ufv8Ff?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Uncharted 4</a></li>
<li><a href="http://risky.biz/netcasts/risky-business?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Risky Business Podcast</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-62-bandit-with-tim-kelsey-travis-mcpeak-and-eric-brown%2F&amp;action_name=Bandit+with+Tim+Kelsey%2C+Travis+McPeak%2C+and+Eric+Brown+-+Episode+62&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-62-bandit-with-tim-kelsey-travis-mcpeak-and-eric-brown/</guid>
      <link>https://www.pythonpodcast.com/episode-62-bandit-with-tim-kelsey-travis-mcpeak-and-eric-brown</link>
      <pubDate>Sat, 18 Jun 2016 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="580.52" duration="76.58">And what kinds of analysis does Bandit do on the source code that it's run against, and what kind of vulnerabilities can it find? Yeah. I guess I'll take that. So the Bandwidth, scanner works basically by analyzing what's called an abstract syntax tree. It's it's a very typical technique to use for static analysis. And what it does is we we take the internal compiler mechanism from the Python virtual machine itself to produce this abstract syntax tree. Once we have that, and this is literally just a tree of nodes which represent various bits and pieces of code. So when we have that, we can run various, checkers and walls across this pattern of nodes, and we can interrogate the the sort of shape, if you'd like, the way these nodes are linked together, the pattern that's formed, as well as the contents of those nodes like, for example, function names or string literals and things of that nature. And we use this to match against various rules. We have a whole library of rules which are based on a kind of a plug in interface, so it's an extensible tool. And we can spot, all manner of things, really, SQL injection, hardcoded credentials. We've even got some stuff for looking at Mako and Jinja 2 templates and just there's loads of stuff. We've got a whole library of things.</podcast:soundbite>
      <podcast:soundbite startTime="368.07" duration="47.09">And how did you each get involved with the project? So back in, I think it was February of 2015, there just happened to be a security mid cycle in the Bay Area. So I was like, oh, cool. I'll go to check this out. And that's where I met Travis, Jamie, Tim, and Rob, and many of the others, and first got exposed to Bandit, and was, like, very interested from the start because I knew there wasn't many linters out there for security wise for Python, and so I thought it had real value. Yeah. This is actually the first security linter for Python that I've come across. I've seen some for a few other languages, but this is the first 1 for Python that I've found. I think there might have been an older 1, like, I think, rats was another 1, but I think it's unmaintained now.</podcast:soundbite>
      <podcast:soundbite startTime="317.10" duration="50.42">So could 1 or all of you describe what Bandit is and what the inspiration was for creating it? We do these OpenStack security mid cycles periodically, where the security project comes together. And 1 of the things we were trying to tackle is we saw that developers were consistently making the same kind of mistakes. And these mistakes were so simple that a lot of times you could find them with, like, a simple grip. You could just do a do a certain search pattern and find all the cases where somebody is setting, for example, overly permissive file permissions. And so we're sitting there at the mid cycle, and Jamie Finnegan, who's not on the call today, but extremely crafty guy and my ex boss and Tim's current boss, kinda just got quiet and we were we were sort of wondering, you know, what's going on with Jamie. I think at some point he left the room and came back and pulled an all nighter and came back with the initial version of Bandit, which instead of doing GREPS, was a much more elegant solution that we'll get into in a little bit.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:28:48</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Bandit with Tim Kelsey, Travis McPeak, and Eric Brown</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>62</itunes:episode>
      <podcast:episode>62</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253061517839204f0068b3-2a91-4961-a53a-77b5a75bdda4v1.mp3" length="27666772" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253061517839204f0068b3-2a91-4961-a53a-77b5a75bdda4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4f0068b3-2a91-4961-a53a-77b5a75bdda4638558816583255749.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4f0068b3-2a91-4961-a53a-77b5a75bdda4638558816581283184.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4f0068b3-2a91-4961-a53a-77b5a75bdda4638558816574684465.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Sentry with David Cramer</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>As developers we all have to deal with bugs sometimes, but we don’t have to make our users deal with them too. Sentry is a project that automatically detects errors in your applications and surfaces the necessary information to help you fix them quickly. In this episode we interviewed David Cramer about the history of Sentry and how he has built a team around it to provide a hosted offering of the open source project. We covered how the Sentry project got started, how it scales, and how to run a company based on open source.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show, subscribe, join our newsletter, check out the show notes, and get in touch you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&amp;code=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a> and use the code <strong>podcastinit</strong> at <a href="https://www.getsentry.com/signup/?code=podcastinit&amp;utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">signup</a> to get a $50 credit!- Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing David Cramer about Sentry which is an open source and hosted service for capturing and tracking exceptions in your applications.</li>
</ul>

<h3>Interview with Firstname Lastname</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is Sentry and how did it get started? &#8211; Tobias</li>
<li>What led you to choose Python for writing Sentry and would you make the same choice again? &#8211; Tobias</li>
<li>Error reporting needs to be super light weight in order to be useful. What were some implementation challenges you faced around this issue? &#8211; Chris</li>
<li>Why would a developer want to use a project like Sentry and what makes it stand out from other offerings? &#8211; Tobias</li>
<li>When would someone want to use a different error tracking service? &#8211; Tobias</li>
<li>Can you describe the architecture of the Sentry project both in terms of the software design and the infrastructure necessary to run it? &#8211; Tobias</li>
<li>What made you choose Django versus another Python web framework, and would you choose it today? &#8211; Chris</li>
<li>What languages and platforms does Sentry support and how does a developer integrate it into their application? &#8211; Tobias</li>
<li>One of the big discussions in open source these days is around maintainability and a common approach is to have a hosted offering to pay the bills for keeping the project moving forward. How has your experience been with managing the open source community around the project in conjunction with providing a stable and reliable hosted service for it? &#8211; Tobias</li>
<li>Are there any benefits to using the hosted offering beyond the fact of not having to manage the service on your own? &#8211; Tobias</li>
<li>Have you faced any performance challenges implementing Sentry’s server side? &#8211; Chris</li>
<li>What advice can you give to people who are trying to get the most utility out of their usage of Sentry? &#8211; Tobias</li>
<li>What kinds of challenges have you encountered in the process of adding support for such a wide variety of languages and runtimes? &#8211; Tobias</li>
<li>Capturing the context of an error can be immensely useful in finding and solving it effectively. Can you describe the facilities in Sentry and Raven that assist developers in providing that information? &#8211; Tobias</li>
<li>It’s challenging to create an effective method for aggregating incoming issues so that they are sufficiently visible and useful while not hiding or discarding important information. Can you explain how you do that and what the evolution of that system has been like? &#8211; Tobias</li>
<li>I notice a lot of from future import in Sentry. Does it support Python 3 and/or what’s the plan for getting there? &#8211; Chris</li>
<li>Looking back to the beginning of the project, what are some of the most interesting and surprising changes that have happened during its lifetime? How does it differ from its original vision? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/zeeg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.bpython-interpreter.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BPython</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://developeronfire.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Developer on Fire</a></li>
<li><a href="http://songexploder.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Song Exploder</a></li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li><a href="https://facebook.github.io/react/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">React</a></li>
<li><a href="https://webpack.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Webpack</a></li>
<li><a href="https://en.wikipedia.org/wiki/Alpine_style?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alpine Climbing</a></li>
<li><a href="https://percy.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Percy.io</a></li>
<li><a href="https://smile.amazon.com/Red-Rising-Trilogy-Book-ebook/dp/B00CVS2J80?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Red Rising Trilogy</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-61-sentry-with-david-cramer%2F&amp;action_name=Sentry+with+David+Cramer+-+Episode+61&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-61-sentry-with-david-cramer/</guid>
      <link>https://www.pythonpodcast.com/episode-61-sentry-with-david-cramer</link>
      <pubDate>Sun, 12 Jun 2016 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="456.53" duration="35.03">So we've talked a little bit about your implementation and language choice. But could you dig a little deeper into what Sentry is and a little bit more of its history? Yeah. For sure. So I actually think Sentry has a really compelling history. And while lately our space has gotten crowded, Century's kind of been this long time project. We're about, our 8th birthday is actually just around the corner. It's, Thursday, and, it's 8 years as an open source project. That's, like, when I made the first commits to, like, a public repository. And we built it, like, from day 1 as this open source thing, which is a really cool part of our history.</podcast:soundbite>
      <podcast:soundbite startTime="69.53" duration="20.08">Your hosts, as usual, are Tobias Macy and Chris Patti. And today, we're interviewing David Kramer about Sentry, which is an open source project as well as a hosted service for capturing and tracking exceptions in your applications. David, could you please introduce yourself? Yeah. Absolutely. Thanks, guys. So my name is David Kramer. I'm the founder and CEO and original author of Sentry.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:09:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Sentry with David Cramer</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>61</itunes:episode>
      <podcast:episode>61</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525308100302342e0ce6fb5-bf9c-47a0-8f86-92061f30f6e8v1.mp3" length="66705645" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525308100302342e0ce6fb5-bf9c-47a0-8f86-92061f30f6e8v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e0ce6fb5-bf9c-47a0-8f86-92061f30f6e8638558823696968377.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e0ce6fb5-bf9c-47a0-8f86-92061f30f6e8638558823693484693.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e0ce6fb5-bf9c-47a0-8f86-92061f30f6e8638558823691029522.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Mercurial with Augie Fackler</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>As developers, one of the most important tools that we use daily is our version control system. Mercurial is one such tool that is written in Python, making it eminently flexible, customizable, and incredibly powerful. This week we spoke with Augie Fackler to learn about the history, features, and future of Mercurial.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Sentry this week. Stop hoping your users will report bugs. Sentry’s real-time tracking gives you insight into production deployments and information to reproduce and fix crashes. Check them out at <a href="https://getsentry.com/welcome/?utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&amp;code=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">getsentry.com</a> and use the code <b>podcastinit</b> at <a href="https://www.getsentry.com/signup/?code=podcastinit&amp;utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_campaign=sponsored&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">signup</a> to get a $50 credit!</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we’re interviewing Augie Fackler about the Mercurial version control system</li>
</ul>

<h3>Interview with Augie Fackler</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you describe what Mercurial is and how the project got started? &#8211; Tobias</li>
<li>How did you get involved with working on Mercurial? &#8211; Tobias</li>
<li>What are some of the features that can be found in Mercurial which are lacking in similar tools such as Git or Bazaar? &#8211; Tobias</li>
<li>One  of the common complaints with Git is that its human interface could use  some work. How is Mercurial’s UX an improvement over Git? &#8211; Chris</li>
<li>For someone who is using Mercurial to work with a Git or other VCS repository, what are some of the edge cases that they should watch out for? Are there certain operations that could be performed in Mercurial which would break that compatibility layer? &#8211; Tobias</li>
<li>How is Mercurial architected and what are some of the design choices that allow for it to be so flexible and extensible? &#8211; Tobias</li>
<li>One of the core goals of Mercurial is for it to be safe. Can you explain what safety means in this context and how it is architected to achieve that goal? &#8211; Tobias</li>
<li>One of the noteworthy aspects of Mercurial is the strong focus on making extensions a first-class concern in the project, so much so that a number of the core functions are written as extensions. Can you describe why that is and how the extensions plug into the core execution engine? &#8211; Tobias</li>
<li>What are some of the most notable extensions that are available for use with Mercurial? &#8211; Tobias</li>
<li>For someone who is familiar with Git, what are some of the concepts that they would need to learn about in order to use Mercurial in an idiomatic way? &#8211; Tobias</li>
<li>A large part of the reason that Git has seen such large adoption is due to the prevalence of GitHub. There is the option of using BitBucket when using Mercurial. Are there any other noteworthy Mercurial hosting options? Do you think that the dearth of open source mercurial servers is partially due to the fact that Mercurial ships with a functional server built in? &#8211; Tobias</li>
<li>Can you share some of the most recent features that have been added to Mercurial? &#8211; Tobias</li>
<li>What do you have planned for the future of Mercurial? &#8211; Tobias</li>
<li>How do you think current day DVCS systems like Mercurial, Git and Darcs might evolve in the future? &#8211; Chris</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/durin42?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1ZabGwO?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sapiens: A Brief History of Humankind</a> by Yuval Noah Harrari</li>
<li><a href="https://www.youtube.com/watch?v=vr-qlXhj0HM&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cultures of Continuous Learning</a> Keynote by Vanessa Hurst</li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://shop.oreilly.com/product/0636920045533.do?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Intro to Django Video Series</a></li>
<li><a href="http://transistor.prx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transistor Podcast</a></li>
<li><a href="http://www.npr.org/podcasts/510311/embedded?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Embedded Podcast</a></li>
</ul>

<p></li><br>
<li>Augie</p>

<ul>
<li><a href="http://www.amazon.com/Leviathan-Wakes-James-S-Corey/dp/0316129089?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Leviathan Wakes</a></li>
<li><a href="http://www.amazon.com/Three-Body-Problem-Cixin-Liu/dp/0765382032?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Three Body Problem</a></li>
<li><a href="https://prometheus.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prometheus</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li>Mercurial: The Definitive Guide
<ul>
<li><a href="http://hgbook.red-bean.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Online</a></li>
<li><a href="http://www.anrdoezrs.net/rm72wktqks7FGD8FHD799AE89HG79CCGAHAA8H888?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F9780596801311.do%3Fcmp%3Daf-prog-books-videos-product_cj_9780596800673_%2525zp&amp;cjsku=SKU-KIT-9780596801311-IP-BUNDLE&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Print</a></li>
</ul>

<p></li><br>
<li><a href="https://selenic.com/hg/help/revsets?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Revsets</a></li><br>
<li><a href="http://www.philandstuff.com/2014/02/09/git-pickaxe.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Git Pickaxe</a></li><br>
<li><a href="https://code.facebook.com/posts/218678814984400/scaling-mercurial-at-facebook/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Facebook Mercurial Post</a></li><br>
<li><a href="https://bitbucket.org/facebook/remotefilelog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Remote File Log</a></li><br>
<li><a href="https://www.gerritcodereview.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gerrit</a></li><br>
<li><a href="https://kallithea-scm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kallithea</a></li><br>
<li><a href="https://www.reviewboard.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reviewboard</a></li><br>
<li><a href="https://reviewboard.mozilla.org/r/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mozilla Review Board</a></li><br>
<li><a href="http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/42942.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A Case of Computational Thinking: The Subtle Effect ofHidden Dependencies on the User Experience of VersionControl</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-60-mercurial-with-augie-fackler%2F&amp;action_name=Mercurial+with+Augie+Fackler+-+Episode+60&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-60-mercurial-with-augie-fackler/</guid>
      <link>https://www.pythonpodcast.com/episode-60-mercurial-with-augie-fackler</link>
      <pubDate>Sun, 5 Jun 2016 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="77.06" duration="9.00">So, Auggie, could you please introduce yourself? Yeah. I mean, I've worked on Mercurial for something like 8 years. Used to live in Chicago, and now I live outside Pittsburgh.</podcast:soundbite>
      <podcast:soundbite startTime="407.06" duration="41.05">And what are some of the features that can be found in Mercurial which are lacking in similar tools such as Git or Bazaar? Yeah. Bazaar is an interesting 1. I haven't actually used Bazaar at all. And they they have, to my knowledge, basically thrown in the towel and and said that no further development work is being done. Just kinda sad. Features, though. So we have a structured query language for revision history called revsets and a related 1 for file trees called file sets. That was the the kind of thing where Matt had the idea and crafted the initial implementation and showed it off, and everybody thought it was really neat when we first looked at it. And I think a day and a half later, it was like oxygen to everybody. We just couldn't live without it.</podcast:soundbite>
      <podcast:soundbite startTime="87.01" duration="25.68">So how did you get introduced to Python? While I was an undergrad, I got an internship, and, you know, I I knew Objective c and Java and kind of knew Perl. And they basically said, well, show up knowing Python. If you don't know Python, your internship could be real short. Here we're gonna mail you a couple of books. And so I rewrote some software that I was playing with in my spare time in Python, and that's how I got started in Python.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:55:12</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Mercurial with Augie Fackler</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>60</itunes:episode>
      <podcast:episode>60</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530276545880742edfd74-1602-489f-a68d-4035e07ad3cfv1.mp3" length="53013537" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530276545880742edfd74-1602-489f-a68d-4035e07ad3cfv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_42edfd74-1602-489f-a68d-4035e07ad3cf638558801694063766.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/42edfd74-1602-489f-a68d-4035e07ad3cf638558801691108840.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/42edfd74-1602-489f-a68d-4035e07ad3cf638558801689094664.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Pillow with Alex Clark</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>If you need to work with images the Pillow is the library to use. The Python Image Libary (PIL) has long been the gold standard for resizing, analyzing, and processing pictures in Python. Pillow is the modern fork that is bringing the PIL into the future so that we can all continue to use it moving forward. This week I spoke with Alex Clark about what first led him to fork the project and his experience maintaining it, including the migration to Python 3.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We also have a new sponsor this week. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your host as usual is Tobias Macey</li>
<li>Today we’re interviewing Alex Clark about the Pillow project</li>
</ul>

<h3>Interview with Alex Clark</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Tobias</li>
<li>What were you working on that led you to forking the Python Image Library (PIL)? &#8211; Tobias</li>
<li>What does Fredrik Lundh (author of PIL) think of Pillow?</li>
<li>When you first forked the PIL project did you think that you would still be maintaining and updating that fork by now? &#8211; Tobias</li>
<li>Who else works on the project with you and how did they get involved? &#8211; Tobias</li>
<li>What kinds of special knowledge or experience have you found to be necessary for understanding and extending the routines in the library and for adding new capabilities? &#8211; Tobias</li>
<li>Can you describe what PIL and now Pillow are and what kinds of use cases they support? &#8211; Tobias</li>
<li>How does Pillow compare to libraries with a similar purpose such as ImageMagick? &#8211; Tobias</li>
<li>I have seen Pillow used in computer vision contexts. What are some of the capabilities of the library that lend themselves to this purpose? &#8211; Tobias</li>
<li>What architectural patterns does Pillow use to make image operations fast and flexible? Have you found the need to do any significant refactorings of the original code to make it compatible with modern uses and execution environments? &#8211; Tobias</li>
<li>Have you kept up to date with newer image formats, such as webp? Are there any image formats that Pillow does not support that you would like to see added to the project? &#8211; Tobias</li>
<li>What are some of the most interesting or innovative uses of Pillow that you have seen? &#8211; Tobias</li>
<li>What do you have planned for the future of Pillow? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://aclark.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://minimalistbaker.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Minimalist Baker</a></li>
<li><a href="https://docs.python.org/3/library/bisect.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bisect module</a></li>
</ul>

<p></li><br>
<li>Alex</p>

<ul>
<li><a href="https://www.youtube.com/watch?v=w8KQmps-Sog&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Muse &#8211; Uprising</a></li>
<li><a href="http://www.fanstatic.org/en/1.0a5/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fanstatic</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://mail.python.org/pipermail/image-sig/2010-July/006423.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Image-SIG</a></li>
<li><a href="https://jeremykun.com/2012/01/01/random-psychedelic-art/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Random (Psychedelic) Art</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-59-pillow-with-alex-clark%2F&amp;action_name=Pillow+with+Alex+Clark+-+Episode+59&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-59-pillow-with-alex-clark/</guid>
      <link>https://www.pythonpodcast.com/episode-59-pillow-with-alex-clark</link>
      <pubDate>Sat, 28 May 2016 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="299.94" duration="29.78">My favorite story about Friedrich is his comment on a mailing list, on the Image Sig mailing list where he said something to the effect of a lot of people complain, at least someone's doing something about it. And you can look at Image Sig around August 2010 for the full story there. And so, basically, he just, I guess, begrudgingly acknowledged that, someone had done something more than just attacking him or just complaining, I guess.</podcast:soundbite>
      <podcast:soundbite startTime="101.39" duration="27.39">In the early 2000, I was working at the National Institutes of Health in Bethesda, Maryland, USA as a system administrator, and my group needed a website. A neighboring group was using clone, and I decided to copy their approach. Clone is written in Python and built on top of, Zope Technologies written in Python and c. And to customize Plone, you had to know a little Python. So that was my introduction.</podcast:soundbite>
      <podcast:soundbite startTime="175.19" duration="28.79">I forked a pill last night, and his reaction was basically yawn because no 1 knew what it would become including me. And, I created the fork because I was annoyed that I couldn't install pill from pypy and, the pill package on Pypi was hosted off-site, and it also had some flaws that no 1 was able to get incorporated into pill.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:20:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Pillow with Alex Clark</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>59</itunes:episode>
      <podcast:episode>59</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296666978718f9d9afb0-3ad2-49cc-8834-02603d1083adv1.mp3" length="19237069" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296666978718f9d9afb0-3ad2-49cc-8834-02603d1083adv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_f9d9afb0-3ad2-49cc-8834-02603d1083ad638558785763588994.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f9d9afb0-3ad2-49cc-8834-02603d1083ad638558785761519898.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/f9d9afb0-3ad2-49cc-8834-02603d1083ad638558785759785375.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Wagtail with Tom Dyson</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to sign up for the newsletter, explore past episodes, subscribe to the show, and help support our work.</p>

<h3>Summary</h3>

<p>If you are operating a website that needs to publish and manage content on a regular basis, a CMS (Content Management System) becomes the obvious choice for reducing your workload. There are a plethora of options available, but if you are looking for a solution that leverages the power of Python and exposes its flexibility then you should take a serious look at Wagtail. In this episode Tom Dyson explains how Wagtail came to be created, what sets it apart from other options, and when you should implement it for your projects.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We also have a new sponsor this week. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Tom Dyson about Wagtail, a modern and sophisticated CMS for Django.</li>
</ul>

<h3>Interview with Tom Dyson</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you start by explaining what a content management system is and why they are useful? &#8211; Tobias</li>
<li>How did the Wagtail project get started and what makes it stand out from other comparable offerings? &#8211; Tobias</li>
<li>What made you choose Django as the basis for the project as opposed to another framework or language such as Pyramid, Flask, or Rails? &#8211; Tobias</li>
<li>What is your target user and are there any situations in which you would encourage someone to use a different CMS? &#8211; Tobias</li>
<li>Can you explain the software design approach that was taken with Wagtail and describe the challenges that have been overcome along the way? &#8211; Tobias</li>
<li>How did you approach the project in a way to make the CMS feel well integrated into the other apps in a given Django project so that it doesn’t feel like an afterthought? &#8211; Tobias</li>
<li>For someone who wants to get started with using Wagtail, what does that experience look like? &#8211; Tobias</li>
<li>What are some of the features that are unique to Wagtail? &#8211; Tobias</li>
<li>Given that Wagtail is such a flexible tool, what are some of the gotchas that people should watch out for as they are working on a new site? &#8211; Tobias</li>
<li>Does Wagtail have any built-in support for multi-tenancy? &#8211; Tobias</li>
<li>Does Wagtail have a plugin system to allow developers to create extensions to the base CMS? &#8211; Tobias</li>
<li>Having built such a sizable plugin with deep integrations to Django, what are some of the shortcomings in the framework that you would like to see improved? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/wagtailcms?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://wagtail.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Site</a></li>
<li><a href="https://github.com/torchbox/wagtail?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li>Pumpkin Pie</li>
</ul>

<p></li><br>
<li>Tom</p>

<ul>
<li><a href="https://www.hasbean.co.uk/collections/africa-ethiopia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hasbean Ethiopian Coffee</a></li>
<li><a href="http://amzn.to/1XHG9UK?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hario V60</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.rca.ac.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Royal College of Arts</a></li>
<li><a href="http://blog.simonwillison.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Simon Willison’s Blog</a></li>
<li><a href="https://www.vagrantup.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vagrant</a></li>
<li><a href="http://www.willowprojectstl.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Willow project</a></li>
<li><a href="https://github.com/torchbox/django-modelcluster?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Model Cluster</a></li>
<li><a href="https://www.divio.com/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Divio</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-58-wagtail-with-tom-dyson%2F&amp;action_name=Wagtail+with+Tom+Dyson+-+Episode+58&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-58-wagtail-with-tom-dyson/</guid>
      <link>https://www.pythonpodcast.com/episode-58-wagtail-with-tom-dyson</link>
      <pubDate>Sat, 21 May 2016 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="216.85" duration="40.41">So we've been building content managed websites for, I guess, nearly 15 years, and we had our own content management system, something called Rational Media, which, we started in about 2003, 2004. And, and it was it ran some big sites, people like, University of Oxford, and and it was well liked by by its users, but, it it was an open source. And, increasingly, we realized that it wasn't sustainable for us to to carry on offering a piece of software that was critical to our clients' business that was only supported by 1 small company in the UK.</podcast:soundbite>
      <podcast:soundbite startTime="1537.53" duration="36.51">The first I'm gonna talk about is called Streamfield, and this is, again, it's not it's it's not a feature that's particularly easy to describe. And, if your job was selling commercial content management system, you might hope for something a bit more glamorous to be at the top of your list. But, as as people who've been building content managed sites for 15 years, Stream Fields answered a a problem we'd experienced, and then it's and then we've we've discovered it's it's solved that problem for us and may might not be right fit for everyone, but, we've had a lot of very, very positive feedback about it.</podcast:soundbite>
      <podcast:soundbite startTime="522.06" duration="34.21">And what made you choose Django as the basis for the project as opposed to another framework or language such as Pyramid, Flask, or Rails? I guess, primarily, it was a it was a pragmatic decision based on our familiarity with with Python compared to, PHP or or Ruby. Clearly, there were alternatives like Pyramid and Flask. I had, followed Simon Willison's blog pretty closely in the, early 2000. He, this is sort of in the days before Hacker News. He he had the the best listing of, new technologies, and he wrote in a very interesting way.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:32</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Wagtail with Tom Dyson</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>58</itunes:episode>
      <podcast:episode>58</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253000161480697a10cb4b-f170-4e8d-b34d-318f10e0c95fv1.mp3" length="50455061" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253000161480697a10cb4b-f170-4e8d-b34d-318f10e0c95fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7a10cb4b-f170-4e8d-b34d-318f10e0c95f638558798026212162.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7a10cb4b-f170-4e8d-b34d-318f10e0c95f638558798023620777.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7a10cb4b-f170-4e8d-b34d-318f10e0c95f638558798021791770.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Buildbot with Pierre Tardy</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>As technology professionals, we need to make sure that the software we write is reliably bug free and the best way to do that is with a continuous integration and continuous deployment pipeline. This week we spoke with Pierre Tardy about Buildbot, which is a Python framework for building and maintaining CI/CD workflows to keep our software projects on track.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show, subscribe, join our newsletter, check out the show notes, and get in touch you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Rollbar this week. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Pierre Tardy about the Buildbot continuous integration system.</li>
</ul>

<h3>Interview with Pierre Tardy</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>For anyone who isn’t familiar with it can you explain what Buildbot is? &#8211; Tobias</li>
<li>What was the original inspiration for creating the project? &#8211; Tobias</li>
<li>How did you get involved in the project? &#8211; Tobias</li>
<li>Can you describe the internal architecture of Buildbot and outline how a typical workflow would look? &#8211; Tobias</li>
<li>There are a number of packages out on PyPI for doing subprocess invocation and control, in addition to the functions in the standard library. Which does buildbot use and why? &#8211; Chris</li>
<li>What makes Buildbot stand out from other CI/CD options that are available today? &#8211; Tobias</li>
<li>Scaling a large CI/CD system can become a challenge. What are some of the limiting factors in the Buildbot architecture and in what ways have you seen people work to overcome them? &#8211; Tobias</li>
<li>Are there any design or architecture choices that you would change in the project if you were to start it over? &#8211; Tobias</li>
<li>If you were starting from scratch on implementing buildbot today, would you still use Python? Why? &#8211; Chris</li>
<li>What are some of the most difficult challenges that have been faced in the creation and evolution of the project? &#8211; Tobias</li>
<li>What are some of the most notable uses of Buildbot and how do they uniquely leverage the capabilities of the framework? &#8211; Tobias</li>
<li>What are some of the biggest challenges that people face when beginning to implement Buildbot in their architecture? &#8211; Tobias</li>
<li>Does buildbot support the use of docker or public clouds as a part of the build process? &#8211; Chris</li>
<li>I know that the execution engine for Buildbot is written in Twisted. What benefits does that provide and how has that influenced any efforts for providing Python 3 support? &#8211; Tobias</li>
<li>Does buildbot support build parallelization at all? For instance splitting one very long test run up into 3 instances each running a section of tests to cut build time? &#8211; Chris</li>
<li>What are some of the most requested features for the project and are there any that would be unreasonably difficult to implement due to the current design of the project? &#8211; Tobias</li>
<li>Does buildbot offer a plugin system like Jenkins does, or is there some other approach it uses for custom extensions to the base buildbot functionality? &#8211; Chris</li>
<li>Managing a reliable build pipeline can be operationally challenging. What are some of the thorniest problems for Buildbot in this regard and what are some of the mechanisms that are built in to simplify the operational characteristics? &#8211; Tobias</li>
<li>What were some of the challenges around supporting slaves running on platforms with very different environmental characteristics like Microsoft Windows? &#8211; Chris</li>
<li>What is on the roadmap for Buildbot? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://buildbot.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Buildbot Website</a></li>
<li><a href="https://github.com/buildbot?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1p0rjui?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Viking Safety Razor</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://3mingames.com/2015/04/lifeline/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lifeline</a></li>
<li><a href="http://www.gekkeikan-sake.com/?method=products.productDrilldown&amp;productID=6266EC82-C94E-DFD2-92AB-3DA7B622660C&amp;originalMarketingURL=product/Suzaku&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Suzaku Sake</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://crossbar.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Crossbar.io</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-57-buildbot-with-pierre-tardy%2F&amp;action_name=Buildbot+with+Pierre+Tardy+-+Episode+57&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-57-buildbot-with-pierre-tardy/</guid>
      <link>https://www.pythonpodcast.com/episode-57-buildbot-with-pierre-tardy</link>
      <pubDate>Sat, 14 May 2016 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="209.22" duration="40.22">So basically, Buildbot is a CI framework, and it's not a UI where you can just install it and then you point to your git tree and everything is building, you have to do a little bit more work before starting but then you've got a very important framework. And this framework allows you to build something that you really need, something that you really want to do compared to other CI tools, which are, which have their own workflow.</podcast:soundbite>
      <podcast:soundbite startTime="4081.85" duration="51.50">So we tried to really stay focused on our main orchestrator functionalities. And actually Dustin, who is the traditional maintainer for Buildbot, he's an IT and infrastructure guy managing IT for Mozilla and he knows that there are so much other tools that allow you to to manage your infrastructure that it shouldn't be up to, Bilbert or Jenkins to allow to to to to add some feature on that. So we prefer to concentrate on really the orchestration part rather than really administrating the infrastructure.</podcast:soundbite>
      <podcast:soundbite startTime="1975.44" duration="51.23">So the main scalability issues you can have with Filbot is what I've seen is the master. So in the typical, billboard environment, you have a single master and then a lot of workers. And you can see, obviously, that the master is the single point of failure in term of failure and also in term of scalability. And also the fact that Twisted is monospherded and Twistid is asynchronous, if on the master you are doing some processing, I mean at the end of steps, you process the logs, figuring out things, or you are doing additional integration with other REST API.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:25:08</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Buildbot with Pierre Tardy</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>57</itunes:episode>
      <podcast:episode>57</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296753979331b8557bdf-6bb6-4477-a614-037d9bd26991v1.mp3" length="81746020" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296753979331b8557bdf-6bb6-4477-a614-037d9bd26991v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b8557bdf-6bb6-4477-a614-037d9bd26991638558786333964595.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b8557bdf-6bb6-4477-a614-037d9bd26991638558786328215191.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b8557bdf-6bb6-4477-a614-037d9bd26991638558786326140299.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Onion IoT with Lazar and Zheng</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>One of the biggest new trends in technology is the Internet of Things and one of the driving forces is the wealth of new sensors and platforms that are being continually introduced. In this episode we spoke with the founder and head engineer of one such platform named Onion. The Omega board is a new hardware platform that runs OpenWRT and lets you configure it using a number of languages, not least of which is Python.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are also sponsored by Rollbar this week. Rollbar is a service for tracking and aggregating your application errors so that you can find and fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcastinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>Visit our site to subscribe to our show, sign up for our newsletter, read the show notes, and get in touch.</li>
<li>To help other people find the show you can leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, or <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Play Music</a>, and tell your friends and co-workers</li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>The Open Data Science Conference in Boston is happening on May 21st and 22nd. If you use the code EP during registration you will save 20% off of the ticket price. If you decide to attend then let us know, we’ll see you there!</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Lazar and Zheng about the Onion IoT platform</li>
</ul>

<h3>Interview with Lazar and Zheng</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is the Onion platform and how does it leverage Python? &#8211; Tobias</li>
<li>Can you compare and contrast the Python support you provide for Onion as compared with Raspberry Pi? &#8211; Chris</li>
<li>I noticed that you are using the OpenWRT distribution of Linux in order to provide support for multiple languages. What was the driving intent behind choosing it and why is multiple language support so important for an IoT product? &#8211; Tobias</li>
<li>Do you provide any libraries for using with the Omega to abstract away some of the hardware level tasks? What are some of the design considerations that were involved when developing that? &#8211; Tobias</li>
<li>What are some of the most interesting projects you have seen people build with Python on your platform? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://community.onion.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://twitter.com/onioniot?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.imdb.com/title/tt1670345/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Now You See Me</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://smile.amazon.com/gp/aw/d/B00X8YWHOM/ref=yo_ii_img?ie=UTF8&amp;psc=1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Portrait / Landscape Phone / Tablet Stand</a></li>
<li><a href="https://www.tombihn.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tom Bihn Bags</a></li>
</ul>

<p></li><br>
<li>Lazar</p>

<ul>
<li><a href="http://www.imdb.com/title/tt0470752/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ex Machina</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-56-onion-iot-with-lazar-and-zheng%2F&amp;action_name=Onion+IoT+with+Lazar+and+Zheng+-+Episode+56&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-56-onion-iot-with-lazar-and-zheng/</guid>
      <link>https://www.pythonpodcast.com/episode-56-onion-iot-with-lazar-and-zheng</link>
      <pubDate>Sat, 7 May 2016 21:00:00 +0000</pubDate>
      <podcast:soundbite startTime="567.28" duration="24.36">So the Omega comes with, 16 megabytes of flash storage, which is a little low, But you can expand the storage with USB. All of our docs have USB host ports. So you can, you can either expand the storage or you can completely move the file system of the Omega to the to the USB drive.</podcast:soundbite>
      <podcast:soundbite startTime="85.48" duration="26.73">So, I am 1 of the early founders of the company. So, the company was founded 2 years ago. The initial idea of Anew was, we want to build a platform so that people can easily create connected devices. So we started with this software platform, that allows you to connect hardwares to the cloud and to remotely access it from anywhere in the world.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:35:51</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Onion IoT with Lazar and Zheng</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>56</itunes:episode>
      <podcast:episode>56</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253216127063158a9e20bb-c245-4f6e-b92d-efa6d59c5519v1.mp3" length="34436195" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253216127063158a9e20bb-c245-4f6e-b92d-efa6d59c5519v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8a9e20bb-c245-4f6e-b92d-efa6d59c5519638558844785675891.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8a9e20bb-c245-4f6e-b92d-efa6d59c5519638558844783450719.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8a9e20bb-c245-4f6e-b92d-efa6d59c5519638558844781679624.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>LibCloud with Anthony Shaw</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>More and more of our applications are running in the cloud and there are increasingly more providers to choose from. The LibCloud project is a Python library to help us manage the complexity of our environments from a uniform and pleasant API. In this episode Anthony Shaw joins us to explain how LibCloud works, the community that builds and supports it, and the myriad ways in which it can be used. We also got a peek at some of the plans for the future of the project.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>The Open Data Science Conference in Boston is happening on May 21st and 22nd. If you use the code EP during registration you will save 20% off of the ticket price. If you decide to attend then let us know, we’ll see you there!</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Anthony Shaw about the Apache LibCloud project</li>
</ul>

<h3>Interview with Anthony Shaw</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is LibCloud and how did it get started? &#8211; Tobias</li>
<li>How much overhead does using libcloud impose versus native SDKs for performance sensitive APIs like block storage? &#8211; Chris</li>
<li>What are some of the design patterns and abstractions in the library that allow for supporting such a large number of cloud providers with a mostly uniform API? &#8211; Tobias</li>
<li>Given that there are such differing services provided by the different cloud platforms, do you face any difficulties in exposing those capabilities? &#8211; Tobias</li>
<li>How does LibCloud compare to similar projects such as the Fog gem in Ruby? &#8211; Tobias</li>
<li>What inspired the choice of Python as the language for creating the LibCloud project? Would you make the same choice again? &#8211; Tobias</li>
<li>Which versions of Python are supported and what challenges has that created? &#8211; Tobias</li>
<li>What is your opinion on the state of PyPI as a package maintainer? What statistics are most useful to you and what else do you wish you could track? &#8211; Tobias</li>
<li>Could you walk our listeners through the under the cover process details of instantiating a computer instance in say, Azure using libcloud? &#8211; Chris</li>
<li>Does LibCloud have any native support for parallelization, such as for the purpose of launching a large number of compute instances simultaneously? &#8211; Tobias</li>
<li>What does it mean to be an Apache project and what benefits does it provide? &#8211; Tobias</li>
<li>What are some of the most notable projects that leverage LibCloud for interacting with platform and infrastructure service providers? &#8211; Tobias</li>
<li>Could you describe how libcloud could be extended to abstract away a new type of service that’s not yet supported &#8211; e.g. a database? &#8211; Chris</li>
<li>Would you suggest that libcloud users extend libcloud to cover ‘native’ services they might use like AWS Lambda, or should they mix libcloud and ‘native’ SDKs in cases like this? &#8211; Chris</li>
<li>Could you talk a little bit about the cloud oriented network services that libcloud supports? Is it possible to create AWS VPCs, subnets, etc using libcloud? &#8211; Chris</li>
<li>Do you know if people use LibCloud for abstracting the APIs of a single cloud provider, even if they don’t have any intention of using a different platform? &#8211; Tobias</li>
<li>Do you think that people are more likely to use LibCloud for bridging across muliple public cloud platforms, or is it more commonly used in a hybrid cloud type of environment? &#8211; Tobias</li>
<li>What is on the roadmap for LibCloud that people should keep an eye out for? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/anthonypjshaw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/tonybalogne?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://github.com/apache/libcloud?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/26FAxhK?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blue Yeti Microphone</a></li>
<li><a href="http://www.diabloswing.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Diablo Swing Orchestra</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://amzn.to/1pTPHhy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rosewill RK Keycaps</a></li>
<li><a href="https://www.enki.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Enki</a></li>
<li><a href="http://amzn.to/1pTPKKr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Catch 22</a></li>
</ul>

<p></li><br>
<li>Anthony</p>

<ul>
<li><a href="http://www.npr.org/podcasts/510308/hidden-brain?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hidden Brain Podcast</a></li>
<li><a href="http://pykwalify.readthedocs.org/en/unstable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyKwalify</a></li>
<li>Doing Nothing</li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.dimensiondata.com/en-US/Pages/NewHomePage1.aspx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dimension Data</a></li>
<li><a href="https://www.pluralsight.com/courses/python-fundamentals?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Austin Bingham and Robert Smallshire Pluralsight Python Training</a></li>
<li><a href="https://www.rackspace.com/cloud/monitoring?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CloudKick</a></li>
<li><a href="http://pypi-ranking.info/alltime?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPI Ranking website</a></li>
<li><a href="https://jclouds.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache JClouds</a></li>
<li><a href="https://www.saltstack.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a></li>
<li><a href="http://www.scalr.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scalr</a></li>
<li><a href="http://www.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apache Software Foundation</a></li>
<li><a href="https://mist.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mist.io</a></li>
<li><a href="https://stackstorm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StackStorm</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-55-libcloud-with-anthony-shaw%2F&amp;action_name=LibCloud+with+Anthony+Shaw+-+Episode+55&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-55-libcloud-with-anthony-shaw/</guid>
      <link>https://www.pythonpodcast.com/episode-55-libcloud-with-anthony-shaw</link>
      <pubDate>Sun, 1 May 2016 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="274.26" duration="46.77">For anybody who's not familiar with it, can you explain what the libcloud project is, and if you're familiar with the history, how it got started? Yeah. Yeah. Sure. So libcloud is a Apache top level project. It's written in Python. It's a class library that includes there's a combination of things actually. It's a client library for multiple clouds. I send multiple there's on the compute side, so you've got the other things like Amazon and Azure, and the providers like Joynt and Digital Ocean. In total, it's about 52 different cloud providers. So it's a Python package that has the client libraries for those, and we don't depend on those we don't depend on each provider's own Python library.</podcast:soundbite>
      <podcast:soundbite startTime="3042.42" duration="56.54">So, yeah, but there's a number of advantages, to being an Apache project. Well, it's really kind of being a part of the software foundation. And that's if you kind of look at the core principles of Apache, 1 of them is community over code, which I think is the most powerful of all the principles. And that's kind of this idea that the intellectual property of a of a project, you know, exists not just solely. So if you could just look at the project and the worth of a project, actually, you think about how much the community is worth. And in our case, you know, we have contributions. You know, maybe we close it, maybe 10 PRs a week, I think, at the moment. And pretty much all of them are from different people. So individuals come forward and they improve a particular driver or they add a new driver. We added actually 3 drivers in the last week.</podcast:soundbite>
      <podcast:soundbite startTime="140.23" duration="50.51">It was a little abruptly, actually. I I come from more of a c c plus plus background. I've been a developer for about 10 years, 10 years now. Spent most of my time recently with c sharp, and late last it was mid last year, I was on a trip to in Seattle to visit Microsoft, and I was supposed to fly to New York for the weekend. And, I was actually ill. So I ended up, being stuck at the hotel for the whole weekend, with nothing to do, and there's not a whole lot to do in, on the East Lake. So, basically, I thought, okay. What am I gonna get up to? So I I figured I'd sit down and learn Python because it'd been on my to do list for a while. And I picked up the Apache libcloud project, because that looked like a great place to start.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:24:34</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>LibCloud with Anthony Shaw</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>55</itunes:episode>
      <podcast:episode>55</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253004487820737afd387d-47e7-4cde-9dd9-37f46a9e26fcv1.mp3" length="81210665" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253004487820737afd387d-47e7-4cde-9dd9-37f46a9e26fcv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7afd387d-47e7-4cde-9dd9-37f46a9e26fc638558799535184174.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7afd387d-47e7-4cde-9dd9-37f46a9e26fc638558799531066299.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7afd387d-47e7-4cde-9dd9-37f46a9e26fc638558799529097202.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Pip and the Python Package Authority with Donald Stufft</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>As Python developers we have all used pip to install the different libraries and projects that we need for our work, but have you ever wondered about who works on pip and how the package archive we all know and love is maintained? In this episode we interviewed Donald Stufft who is the primary maintainer of pip and the Python Package Index about how he got involved with the projects, what kind of work is involved, and what is on the roadmap. Give it a listen and then give him a big thank you for all of his hard work!</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Google Play Music just launched support for podcasts, so now you can check us out there and <a href="https://play.google.com/music/m/I7ogju4xv6adasgqz6545jndgsy?t=Podcastinit_-_Python_and_the_people_who_make_it_great&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">subscribe to the show</a>.</li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We also have a new sponsor this week. Rollbar is a service for tracking and aggregating your application errors so that you can fix the bugs in your application before your users notice they exist. Use the link <a href="https://rollbar.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rollbar.com/podcatinit</a> to get 90 days and 300,000 errors for free on their bootstrap plan.</li>
<li>The Open Data Science Conference in Boston is happening on May 21st and 22nd. If you use the code EP during registration you will save 20% off of the ticket price. If you decide to attend then let us know, we’ll see you there!</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Donald Stufft about Pip and the Python Packaging Authority</li>
</ul>

<h3>Interview with Donald Stufft</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>How did you get involved with the Pip project? &#8211; Tobias</li>
<li>What is the Python Packaging Authority and what does it do? &#8211; Tobias</li>
<li>How is PyPi / the Python Packaging Authority funded? &#8211; Chris</li>
<li>What is your opinion on the current state of Python packaging? Are there lessons from other languages and package managers that you think should be adopted by Python? &#8211; Tobias</li>
<li>What was involved in getting pip into the standard Python distribution? Was there any controversy around this? &#8211; Chris</li>
<li>Can you describe some of the mechanics of Pip and how it differs from the other packaging systems that Python has used in the past? &#8211; Tobias</li>
<li>Does pip interact at all with virtualenv, pyenv and the like? &#8211; Chris</li>
<li>The newest package format for Python is the wheel system. Can you describe what that is and what its benefits are? &#8211; Tobias</li>
<li>What are the biggest challenges that you have encountered while working on Pip? &#8211; Tobias</li>
<li>What does the infrastructure for the Python Package Index look like? &#8211; Tobias</li>
<li>What have been some of the challenges around scaling Pypi’s infrastructure to meet demand? &#8211; Chris</li>
<li>You’re currently working on a replacement for the PyPI site with the Warehouse project. Can you explain your motivation for that and how it improves on the current system? &#8211; Tobias</li>
<li>Where do you see the future of dependency management in Python headed? &#8211; Chris</li>
<li>A few days ago there was a big story about how an NPM library was removed from the index, breaking a large number of dependent projects and applications. Do you think that anything like that could happen in the Python ecosystem? &#8211; Tobias</li>
<li>What’s on the roadmap for Pip? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/pypa?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a>DistUtils Special Interest Group</a></li>
<li><a href="mailto:donald@stufft.io">Email</a></li>
<li><a href="https://twitter.com/dstufft?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@dstufft</a> on Twitter</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://xiki.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Xiki</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://agar.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Agar.io</a></li>
<li><a href="https://culprate.bandcamp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Culprate</a></li>
<li><a href="http://www.kohala.com/start/tcpipiv1.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TCP/IP Illustrated Volume I: The Protocols</a></li>
</ul>

<p></li><br>
<li>Donald</p>

<ul>
<li><a href="http://www.hanselman.com/blog/DevelopersCanRunBashShellAndUsermodeUbuntuLinuxBinariesOnWindows10.aspx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Linux on Windows 10</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li>Bandersnatch</li>
<li>Wheel</li>
<li>Warehouse pypa/warehouse</li>
<li><a href="https://warehouse.python.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPI Sponsors</a>56</li>
<li><a>DevPI</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-54-pip-and-the-python-package-authority-with-donald-stufft%2F&amp;action_name=Pip+and+the+Python+Package+Authority+with+Donald+Stufft+-+Episode+54&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-54-pip-and-the-python-package-authority-with-donald-stufft/</guid>
      <link>https://www.pythonpodcast.com/episode-54-pip-and-the-python-package-authority-with-donald-stufft</link>
      <pubDate>Sat, 23 Apr 2016 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="146.52" duration="27.31">Yeah. So back in, like, 2007 or so, I was using Drupal to try to make, web applications. And, you know, it's more of a CMS web rather than a web web framework. Someone, had mentioned to me that there was this new framework on the scene called Django, and Django as, you you know, is written in Python. So I went and bought a book, and I read through it and taught myself Python so that I could use Django.</podcast:soundbite>
      <podcast:soundbite startTime="1519.45" duration="31.37">So the wheel is very similar to an egg, just with some of the sort of missed features removed from it. It's I mean, under the coverage, it's just a zip file that, you know, a when you're building or installing a packaging, 1 of the things you do is you create the s test. And once you have the s the the source distribution, the s test. Once you have the s test, you download it. You run setup dot py install or KIP does that for you. And it does a number of things like building dotcfilesandthen.s0files, you know, compiling the the dotpyfilesandthen.pycfiles.</podcast:soundbite>
      <podcast:soundbite startTime="738.40" duration="27.48">So the answer is yes. PyPI does allow you to upload a signature, but it's not generally useful. Nothing outside of Deviant's u scan utility actually validates it to my knowledge, other than people manually downloading and running GPG. The problem is just signing packages doesn't buy you anything without a trust model behind it. And GPG's trust model was not sufficient because, it's focused around verifying identity.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:59</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Pip and the Python Package Authority with Donald Stufft</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>54</itunes:episode>
      <podcast:episode>54</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531676282619906211c58-06b5-4a1f-ace3-bb64fb21f83av1.mp3" length="50889013" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531676282619906211c58-06b5-4a1f-ace3-bb64fb21f83av1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_06211c58-06b5-4a1f-ace3-bb64fb21f83a638558833478521413.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/06211c58-06b5-4a1f-ace3-bb64fb21f83a638558833475069188.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/06211c58-06b5-4a1f-ace3-bb64fb21f83a638558833472986150.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>StackStorm with Tomaž Muraus and Patrick Hoolboom</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>If you are responsible for managing any amount of servers, then you know that automation is critical for maintaining your sanity. This week we spoke with Tomaž Muraus and Patrick Hoolboom about their work on StackStorm, which is a platform for tracking and reacting to events in your infrastructure. By allowing you to register actions with event triggers it frees you from having to worry about a whole class of concerns so that you can focus on building new capabilities rather than babysitting what you already have.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>ODSC East in Boston is happening on May 21st &#8211; 22nd. Use the discount code EP for 20% off when you <a href="https://odsceast.eventbrite.com/?discount=EP&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">register</a></li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Tomaž Muraus and Patrick Hoolboom about the StackStorm project, which is an event-driven system automation framework.</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is StackStorm and what problems does it solve? &#8211; Tobias</li>
<li>What was your inspiration for creating StackStorm and what were some of the biggest architectural and design challenges? &#8211; Tobias</li>
<li>What made you choose Python for StackStorm’s implementation rather than another language like Go? &#8211; Chris</li>
<li>Can you describe the architecture of StackStorm and what the setup looks like? &#8211; Tobias</li>
<li>Other than chat driven events, what types of event sources does StackStorm support, and what use cases do those alternate event streams enable? &#8211; Chris</li>
<li>The home page describes StackStorm as being an event-driven framework for automating the users infrastructure. What kinds of capabilities are made possible by this and do you think that it simplifies or complicates the work of operations engineers? &#8211; Tobias</li>
<li>Is there a minimum or maximum size of infrastructure for which it would make sense to use StackStorm? &#8211; Tobias</li>
<li>It looks like StackStorm is made up of a number of discrete components. What do the components use to communicate, and how did those choices influence the design of StackStorm’s overall architecture? &#8211; Chris</li>
<li>I use SaltStack in my work which is a tool that also focuses on event-driven architecture. Can you compare and contrast the capabilities and focus of StackStorm with the features of SaltStack? Would it make sense to use both frameworks in the same infrastructure? &#8211; Tobias</li>
<li>One of the advertised features of StackStorm is a strong focus on ChatOps. Can you explain that concept for people who might not be familiar with it and describe why it is such a useful paradigm? &#8211; Tobias</li>
<li>Extensibility is a critical capability for an operations platform due to the wide variety of environments that people are inclined to build. In StackStorm the unit of extensibility is a pack. Can you describe what a pack is and how you arrived at that abstraction? &#8211; Tobias
<ul>
<li>Have you encountered any situations in which the concept of a pack has been the wrong abstraction and made something more difficult than it may have been otherwise? &#8211; Tobias</li>
</ul>

<p></li><br>
<li>In very large scale environments like Netflix, how would one build a StackStorm cluster to handle the immense load. More specifically, how does one determine what kinds of machine resources each component needs? &#8211; Chris</li><br>
<li>Management of credentials is always a difficult problem in operations. Does StackStorm attempt to tackle that issue or does it defer that responsibility to other systems, such as the user’s configuration management platform? &#8211; Tobias</li><br>
<li>Does StackStorm interface with Kibana, Splunk or other log / metric aggregation packages? &#8211; Chris</li><br>
<li>What are some of the most surprising uses that you have heard of from people using the platform? &#8211; Tobias</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Tomaž
<ul>
<li><a href="https://twitter.com/kamislo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://www.tomaz.me/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">website/blog</a></li>
</ul>

<p></li><br>
<li>Patrick</p>

<ul>
<li><a href="https://twitter.com/doriftoshoes?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/donnemartin/saws?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SAWS</a></li>
<li><a href="http://amzn.to/1qOoz4B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bill Peet</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://grimmales.com/subliminal/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grimm Brewing Subliminal Message Sour Red Ale</a></li>
<li><a href="https://lobste.rs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lobste.rs</a></li>
<li><a href="https://medium.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Medium</a></li>
</ul>

<p></li><br>
<li>Tomaž</p>

<ul>
<li><a href="http://amzn.to/1r2WUxt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Understanding Air France 447</a></li>
<li><a href="http://avherald.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Aviation Herald</a></li>
</ul>

<p></li><br>
<li>Patrick</p>

<ul>
<li><a href="http://truenutrition.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">True Nutrition</a></li>
<li><a href="http://www.jpcycles.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JP Cycles</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-53-stackstorm-with-tomaz-muraus-and-patrick-hoolboom%2F&amp;action_name=StackStorm+with+Toma%C5%BE+Muraus+and+Patrick+Hoolboom+-+Episode+53&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-53-stackstorm-with-tomaz-muraus-and-patrick-hoolboom/</guid>
      <link>https://www.pythonpodcast.com/episode-53-stackstorm-with-tomaz-muraus-and-patrick-hoolboom</link>
      <pubDate>Sat, 16 Apr 2016 15:00:00 +0000</pubDate>
      <podcast:soundbite startTime="703.54" duration="65.79">What was the inspiration for creating StackStorm in the first place, and what are some of the biggest architectural and design challenges that were encountered during the process of building it? So I I can speak a little bit to inspiration, and then I'll kinda pass over the pass over the baton for challenges to to Maj. So, really, the inspiration for for StackStorm was that we saw there was a need for operations processes to be improved. Like I said, 1 of the biggest problems that we saw was that there's an outage that happens, and the ops guys get together in a war room, and they start working on an issue. And they go about their different ways, and they're doing things, and they're assuming their standard role. And at the end of the day, they come back and they report back what they did, so that the postmortem can happen. But that's not really transparent. Right? And so we saw that there's really a a place there where these things can be improved. And the other thing is that we realized that an engineer doing something like that is is not able to properly properly leverage himself across a number of different data centers or a number of different servers within the data center in order to be able to work as efficiently possible.</podcast:soundbite>
      <podcast:soundbite startTime="302.58" duration="37.61">So I would say a lot of people from our team come from, like, different backgrounds. They were, like we have experience with operating software as a service products and running those. And, also, we have experience, like, from large enterprises where you potentially have a lot of, like, legacy software. And the StackStorm kinda, like, allows you to glue all of these different environments and potentially all these different tools together and, like, automate them. So this could be, like, I would say, these new tools which are popular. This is Shaft Puppet and things like that, but it can also be, like, a a bunch of legacy tools enterprises have. So StackStorm allows you to, like, integrate all of that together in a easy manner and then do all kinds of call automation with that.</podcast:soundbite>
      <podcast:soundbite startTime="2316.17" duration="115.94">1 of the advertised features of StackStorm is a strong focus on chat ops. I'm wondering if you can explain that concept for people who might not be familiar with it and describe why it's such a useful paradigm. So chat ops is really neat, and chat ops is kind of the new hotness these days. What chat ops is is chat ops is being able to interact with your infrastructure and with your tools directly from your chat room. So instead of having a you know, spinning up a special war room, a channel in IRC, or a channel in Slack, where you're starting to deal with an issue and you need to jump out of Slack or jump out of your tool and you need to go hop on the box and run some commands, you're now interacting with your infrastructure directly from that chat room. And the way you do that is via bots. So a bot will sit in your room, just like back in the IRC days. A bot will sit in your room that is gonna report information to you about your infrastructure, about what's going on, and you're gonna be able to tell the bot to go take action against your infrastructure. So what StackStorm really allows you to do is all of that power of all those integrations and those workflows and everything else you've loaded into StackStorm is now exposed to you through that chat room with chat ops. So you can do something like reboot a server or you can push the latest version of your Puppet module up to the forge, or whatever information you need there, or whatever things you need to do, or information you may need to collect, you run that command directly from chat. The power of this is that you're now not losing your context when you're you're working with others. That that transparency and that collaboration stays it stays linear. You can now see directly within the flow of the conversation when it was that the other engineer went and restarted a service, or or when was that last time that we went and and checked the load on that server, things like that. It's all there. You have time stamps and everything for all of that data. So it's powerful in the moment when you're when you're troubleshooting an issue, but it's also incredibly helpful when you go to do your post mortem afterwards.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:22</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>StackStorm with Tomaž Muraus and Patrick Hoolboom</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>53</itunes:episode>
      <podcast:episode>53</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253208205128851567ba49-5835-458a-8225-e478bb51c33ev1.mp3" length="57017856" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253208205128851567ba49-5835-458a-8225-e478bb51c33ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1567ba49-5835-458a-8225-e478bb51c33e638558841756054189.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1567ba49-5835-458a-8225-e478bb51c33e638558841752510927.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1567ba49-5835-458a-8225-e478bb51c33e638558841750366895.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Hypothesis with David MacIver</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Writing tests is important for the stability of our projects and our confidence when making changes. One issue that we must all contend with when crafting these tests is whether or not we are properly exercising all of the edge cases. Property based testing is a method that attempts to find all of those edge cases by generating randomized inputs to your functions until a failing combination is found. This approach has been popularized by libraries such as Quickcheck in Haskell, but now Python has an offering in this space in the form of Hypothesis. This week, the creator and maintainer of Hypothesis, David MacIver, joins us to tell us about his work on it and how it works to improve our confidence in the stability of our code.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>Open Data Science Conference on May 21-22nd in Boston. 20%</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing David MacIver about the Hypothesis project which is an advanced Quickcheck implementation for Python.</li>
</ul>

<h3>Interview with David MacIver</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you provide some background on what Quickcheck is and what inspired you to write an implementation in Python? &#8211; Tobias</li>
<li>Are there any ways in which Hypothesis improves on the original design of Quickcheck? &#8211; Tobias</li>
<li>Can you walk us through the execution of a simple Hypothesis test to give our listeners a better sense for what Hypothesis does? &#8211; Chris</li>
<li>Have you had trouble getting people to use Hypothesis? How has adoption been? &#8211; David</li>
<li>What does this sort of testing get you that conventional testing doesn’t? &#8211; David</li>
<li>Why do you think this sort of testing hasn’t caught on in the Python world before? &#8211; David</li>
<li>Are there any facilities of the Python language that make your job easier? Are there aspects of the language that make this style of testing more difficult? &#8211; Tobias</li>
<li>What are some of the design challenges that you have been presented with while working on Hypothesis and how did you overcome them? &#8211; Tobias</li>
<li>Given that testing is an important part of the development process for ensuring the reliability and correctness of the system under test, how do you make sure that Hypothesis doesn’t introduce uncertainty into this step? &#8211; Tobias</li>
<li>Given the sophisticated nature of the internals of Hypothesis, do you find it difficult to attract contributors to the project? &#8211; Tobias</li>
<li>A few months ago you went through some public burnout with regards to open source and Hypothesis in particular, but circumstances have brought you back to it with a more focused plan for making it sustainable. Can you provide some background and detail about your experiences and reasoning? &#8211; Tobias</li>
<li>What’s next for Hypothesis? &#8211; Chris</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/drmaciver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://drmaciver.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="http://tinyletter.com/drmaciver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NewsLetter</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://typeform.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TypeForm</a></li>
<li><a href="https://podcastinit.typeform.com/to/gCdmf7?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Listener Survey</a></li>
<li><a href="https://tobiasmacey.typeform.com/to/kq6rwd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CI Survey</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://seashinegame.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seashine</a></li>
<li><a href="https://www.checkio.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CheckIO</a></li>
<li><a href="https://medium.com/@mscccc/jr-developers-0-hello-world-dd1d4a2a098c#.bual8m633?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mike Coutermarsh’s Jr. Developer series</a></li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li><a href="http://makeitstick.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Make It Stick by Peter Brown</a> </li>
<li><a href="https://www.beeminder.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beeminder</a></li>
<li><a href="https://en.wikipedia.org/wiki/Vorkosigan_Saga?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vorkosigan Saga by Lois McMaster Bujold </a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-52-hypothesis-with-david-maciver%2F&amp;action_name=Hypothesis+with+David+MacIver+-+Episode+52&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-52-hypothesis-with-david-maciver/</guid>
      <link>https://www.pythonpodcast.com/episode-52-hypothesis-with-david-maciver</link>
      <pubDate>Sat, 9 Apr 2016 09:00:00 +0000</pubDate>
      <podcast:soundbite startTime="155.08" duration="18.82">So what QuickCheck is, at a high level, it's basically randomized testing. It comes from a programming language called Haskell. And the original original version, it was less about or they thought about it less about as a form of testing and more a way of doing formal methods that was a lot less hard than doing formal methods.</podcast:soundbite>
      <podcast:soundbite startTime="1746.45" duration="19.41">So the reality is I'm still a bit burned out and I'm sort of working against my own best interests. Part of the problem is that shortly after doing public burnout, I had this really great idea that I just couldn't resist implementing. But fortunately, also around this time, I got a few contracts related to hypothesis, doing some training, doing some custom development.</podcast:soundbite>
      <podcast:soundbite startTime="557.17" duration="23.56">It almost seems like in addition to the randomized property testing aspect of the tool, it sort of performs some of the processes that a good QA tester would perform when sort of, like, ruggedizing a test suite anyway, in terms of finding the minimal possible, the the you know, the most minimal failure case for a given test.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:01</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Hypothesis with David MacIver</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>52</itunes:episode>
      <podcast:episode>52</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303580973650ab2d61e0-9434-4441-a388-4efa64c2141bv1.mp3" length="45161906" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303580973650ab2d61e0-9434-4441-a388-4efa64c2141bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ab2d61e0-9434-4441-a388-4efa64c2141b638558805169643495.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ab2d61e0-9434-4441-a388-4efa64c2141b638558805167131128.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ab2d61e0-9434-4441-a388-4efa64c2141b638558805165210013.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Pyjion with Dino Viehland and Brett Cannon</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>In an attempt to improve the performance characteristics of the CPython implementation, Dino Viehland began work on a patch to allow for a pluggable interface to a JIT (Just In Time) compiler. His employer, Microsoft, decided to sponsor his efforts and the result is the Pyjion project. In this episode we spoke with Dino Viehland and Brett Cannon about the goals of the project, the progress they have made so far, and the issues they have encountered along the way. We also made an interesting detour to discuss the general state of performance in the Python ecosystem and why the GIL isn’t the bogeyman it’s made out to be.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Open Data Science Conference, Boston MA May 21st &#8211; 22nd, use the discount code EP at <a href="https://odsceast.eventbrite.com/?discount=EP&utm_source=rss&utm_medium=rss" title="" target="_blank" rel="noopener">registration</a> for 20% off</li>
<li>Today we are interviewing Brett Cannon and Dino Viehland about their work on Pyjion, a CPython extension that provides an API to allow for plugging a JIT compilation engine into the CPython runtime.</li>
</ul>

<h3>Interview with Brett Cannon and Dino Viehland</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What was the inspiration for the Pyjion project and what are its goals? &#8211; Tobias</li>
<li>The FAQ mentions that Pyjion could easily be made cross platform, but this being a Microsoft project it was bootstrapped on Windows. Have any of the discrete tasks required to get Pyjion running under OSX or Linux been laid out even in outline form? &#8211; Chris</li>
<li>Given that this is a Microsoft backed project it makes sense that the first JIT engine to be implemented is for the CoreCLR. What would an alternative implementation provide and in what ways can a JIT framework be tuned for particular workloads? &#8211; Tobias</li>
<li>What kinds of use cases and problem domains that were previously impractical will be enabled by this? &#8211; Tobias</li>
<li>Does Microsoft’s recent acquisition of Xamarin and the Mono project change things for the Pyjion project at all? &#8211; Chris</li>
<li>What are the challenges associated with your work on Pyjion? Are there certain aspects of the Python language and the CPython implementation that make the work more difficult than it might be otherwise? &#8211; Tobias</li>
<li>When I think of Microsoft and programming languages I generally think of C++ and C#. Did your team have to go through an approval process in order to utilize Python, and further to open source your work on Pyjion? &#8211; Chris</li>
<li>How does Pyjion hook into the CPython runtime and what kinds of primitives does it expose to JIT engines for them to be able to work with? &#8211; Tobias</li>
<li>Would an entire project be run through the JIT engine during runtime or is it possible to target a subset of the code being executed? &#8211; Tobias</li>
<li>In what ways can a JIT compiler implementation be purpose-built for a given workload and how would someone go about creating one? &#8211; Tobias</li>
<li>Could a JIT plugin be designed with different trade-offs, like no C API compatibility, but that worked around the GIL to provide real concurrency in Python? &#8211; Chris</li>
<li>One of the most notable benefits of having a JIT implementation for the CPython runtime is the fact that modules with C extensions can be used, such as NumPy. Does that pose any difficulties in the compilation methods used for optimizing the Python portion of the code? &#8211; Tobias</li>
<li>What kinds of performance improvements have you seen in your experimentation? &#8211; Tobias</li>
<li>Which release of Python do you hope to have Pyjion incorporated into? &#8211; Tobias</li>
<li>Has any thought been given to making Python a first class citizen in Visual Studio Code? &#8211; Chris</li>
<li>What areas of the project could use some help from our listeners? &#8211; Chris</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Dino
<ul>
<li><a href="https://github.com/DinoV?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
<li>Brett</p>

<ul>
<li><a href="https://twitter.com/brettsky?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://snarky.ca?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://blogs.msdn.microsoft.com/pythonengineering/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Engineering @ Microsoft Blog</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1SEokE2?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logitech Wave MK550</a></li>
<li><a href="https://saltstack.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack</a></li>
<li><a href="http://testinfra.readthedocs.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TestInfra</a></li>
<li><a href="https://github.com/mitodl/saltstack-formula-cookiecutter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SaltStack Formula Cookiecutter</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://anchor.fm/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anchor &#8211; Public Radio for the People</a></li>
<li><a href="http://www.syfy.com/themagicians?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Magicians</a></li>
<li><a href="https://www.youtube.com/watch?v=JgnublE4dxU&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Portal is a Feminist Masterpiece &#8211; PBS Gameshow</a></li>
</ul>

<p></li><br>
<li>Brett</p>

<ul>
<li><a href="http://amzn.to/1SEorQe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Breville Tea Maker</a></li>
<li><a href="http://amzn.to/1TQu2UX?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bodom Mugs</a></li>
<li><a href="http://altosadventure.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alto’s Adventure</a></li>
</ul>

<p></li><br>
<li>Dino</p>

<ul>
<li><a href="http://www.channel4.com/programmes/come-dine-with-me?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Come Dine With Me</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a>  / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-51-pyjion-with-dino-viehland-and-brett-cannon%2F&amp;action_name=Pyjion+with+Dino+Viehland+and+Brett+Cannon+-+Episode+51&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-51-pyjion-with-dino-viehland-and-brett-cannon/</guid>
      <link>https://www.pythonpodcast.com/episode-51-pyjion-with-dino-viehland-and-brett-cannon</link>
      <pubDate>Fri, 1 Apr 2016 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2926.86" duration="31.99">Honestly, just touch on that real quick. A lot of work's actually going into Python 3.6 that I don't think people are aware of yet because it hasn't landed in, the Mercurial repository. But for instance, Victor Sinner of Red Hat, as part of his open stack work, has 3 PEPs open right now, all doing different things to try to improve performance. Yuri Slivenov, has taken 1 of Victor's PEPs and added some caching at the byte code level, and it's seen 5 to 10 with, in some cases, up to 20% speed improvements.</podcast:soundbite>
      <podcast:soundbite startTime="1456.35" duration="39.97">If you look at our repository, we actually have a patches directory that's literally just a set of diffs that we apply to CPython 3.5.1. And essentially, what we've done is we've extended code objects, which, represent code anywhere that gets executed. So even modules, for instance, are code objects, but mainly most people think functions and methods. And, we added a couple attributes on there. The key 1 is a pointer for a struct that we created to store JIT information mainly a c function that can be set that acts as a and, kind of a, scratch space which is just avoid pointer.</podcast:soundbite>
      <podcast:soundbite startTime="312.13" duration="36.18">So I was inspired when Larry Hastings got up, last year at PyCon and was talking about what it would take to help move people to Python 3. And he had a lot of interesting ideas. But the 1 that stood out in my mind was just making Python faster. And, you look at the JavaScript community, and you have a lot of competition going on amongst JavaScript implementations. And I think that has really spurred them on to be competitive and make better, faster, versions of JavaScript.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:10:26</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Pyjion with Dino Viehland and Brett Cannon</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>51</itunes:episode>
      <podcast:episode>51</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532218336699422e50b8f-9338-40f7-8e80-f87d4bef9742v1.mp3" length="67641005" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532218336699422e50b8f-9338-40f7-8e80-f87d4bef9742v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_22e50b8f-9338-40f7-8e80-f87d4bef9742638558847553813109.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/22e50b8f-9338-40f7-8e80-f87d4bef9742638558847550706039.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/22e50b8f-9338-40f7-8e80-f87d4bef9742638558847548629386.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Transcrypt with Jacques de Hooge</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Any programmer who has dealt with a website for any length of time knows that writing JavaScript isn’t always the most enjoyable. Wouldn’t you rather write that code in Python and just have it work on your website? In this episode we learn about <a href="http://transcrypt.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transcrypt</a> with its creator Jacques de Hooge. Transcrypt is a Python to JavaScript transpiler that embraces the JavaScript ecosystem while letting you use the familiar syntax of Python for writing your logic, rather than trying to shoehorn a Python runtime into your browser.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>ODSC East in Boston is happening on May 21st &#8211; 22nd. Use the discount code EP for 20% off when you <a href="https://odsceast.eventbrite.com/?discount=EP&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">register</a></li>
<li>Your host today is Tobias Macey</li>
<li>Today I am interviewing Jacques de Hooge about his work on the Transcrypt Project</li>
</ul>

<h3>Interview with Jacques de Hooge</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Tobias</li>
<li>What is Transcrypt and what inspired you to create it? &#8211; Tobias</li>
<li>As you mention in the documentation, there are a number of projects that attempt to shoehorn Python into the browser. What makes Transcrypt different? &#8211; Tobias</li>
<li>I like that you decided to embrace the web environment by calling into JavaScript libraries. What are some of the challenges that you encountered while creating that functionality? &#8211; Tobias</li>
<li>How is the transpilation performed and what are some of the methods that you used to get the build size as small as it is? &#8211; Tobias</li>
<li>Given the nature of JavaScripts prototypical inheritance and differences in class semantics, I imagine that adding support for multiple inheritance and reflecting the structure of Python classes must have been challenging. Can you describe that process and how you arrived at your current solution? &#8211; Tobias</li>
<li>Which aspects of the language were most difficult to translate to JavaScript? &#8211; Tobias</li>
<li>Is Transcrypt complete and stable enough to be used in production? &#8211; Tobias</li>
</ul>

<h3>Keep in Touch</h3>

<ul>
<li><a href="http://transcrypt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Transcrypt.org</a></li>
<li><a href="http://transcrypt.boards.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forum</a></li>
<li><a href="info@qquick.org">Email</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/audreyr/cookiecutter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cookiecutter</a></li>
</ul>

<p></li><br>
<li>Jacques</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Computer_programming?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Programming</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-50-transcrypt-with-jacques-de-hooge%2F&amp;action_name=Transcrypt+with+Jacques+de+Hooge+-+Episode+50&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-50-transcrypt-with-jacques-de-hooge/</guid>
      <link>https://www.pythonpodcast.com/episode-50-transcrypt-with-jacques-de-hooge</link>
      <pubDate>Sat, 26 Mar 2016 10:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1674.09" duration="20.74">So I just bypassed it, and, well, 1 good idea was at first at first, I thought a class should be an object. But since you can call a class to instantiate something, I discovered that a class must not be an object, but a function. That was 1 step. And another step was indeed to say, well, what do I need in Python for multiple inheritance?</podcast:soundbite>
      <podcast:soundbite startTime="745.06" duration="22.82">So I made another pragma. There are several of them so that you can locally switch between the JavaScript interpretation of keys or the Python interpretation of keys. So you can use these strict Python interpretations. You have to have quotes around the key, and a number is a number and never a string. But you can also use the loose, somewhat informal JavaScript way of working.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:10</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Transcrypt with Jacques de Hooge</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>50</itunes:episode>
      <podcast:episode>50</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253153285490318ed1d70b-1709-4f2c-9a84-a4b1f5886165v1.mp3" length="40498744" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253153285490318ed1d70b-1709-4f2c-9a84-a4b1f5886165v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_8ed1d70b-1709-4f2c-9a84-a4b1f5886165638558828542099308.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8ed1d70b-1709-4f2c-9a84-a4b1f5886165638558828537486586.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/8ed1d70b-1709-4f2c-9a84-a4b1f5886165638558828535647002.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>VPython with Ruth Chabay and Bruce Sherwood</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Wouldn’t it be nice to be able to generate interactive 3D visualizations of physical systems in a declarative manner with Python? In this episode we spoke with Ruth Chabay and Bruce Sherwood about the VPython project which does just that. They tell us about how the use VPython in their classrooms, how the project got started, and the work they have done to bring it into the browser.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Ruth Chabay and Bruce Sherwood about their work on VPython</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is VPython and how did it get started? &#8211; Tobias</li>
<li>What problems inspired you to create VPython? &#8211; Chris</li>
<li>How do you design an API that allows for such powerful 3D visualization while still making it accessible to students who are focusing on learning new concepts in mathematics and physics so that they don’t get overwhelmed by the tool? &#8211; Tobias</li>
<li>I know many schools have embraced the open curriculum idea, have any of your physics courses using VPython been made available to the non matriculating public? &#8211; Chris</li>
<li>How does VPython perform its rendering? If you were to reimplement it would you do anything differently? &#8211; Tobias</li>
<li>One of the remarkable points about VPython is its ability to execute the simulations in a browser environment. Can you explain the technologies involved to make that work? &#8211; Tobias</li>
<li>Given the real-time rendering capabilities in VPython I’m sure that performance is a core concern for the project. What are some of the methods that are used to ensure an appropriate level of speed and does the cross-platform nature of the package pose any additional challenges? &#8211; Tobias</li>
<li>How does collision detection work in VPython, and does it handle more complex assemblies of component objects? &#8211; Chris</li>
<li>Can you talk a little bit about VPython’s design, and perhaps walk us through how a simple scene is rendered, say the results of the sphere() call? &#8211; Chris</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://groups.google.com/forum/?fromgroups&amp;hl=en#!forum/vpython-users&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VPython Forum</a></li>
<li><a href="https://groups.google.com/forum/?fromgroups#!forum/glowscript-users&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Glowscript Forum</a></li>
<li><a href="https://github.com/BruceSherwood?tab=repositories&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.jdoqocy.com/l5115xdmjdl089618A60223712A9025593A331A111?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F9781593272814.do%3Fcmp%3Daf-na-books-videos-product_cj_9781593273491_%2525zp&amp;cjsku=SKU-KIT-9781593273491-EBOOK&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Land of Lisp</a> by Conrad Barsky M.D.</li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.syfy.com/themagicians?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Magicians</a></li>
<li><a href="http://www.apple.com/swift/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Swift</a></li>
<li><a href="https://en.wikipedia.org/wiki/Atari_Logo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Atari Logo</a></li>
</ul>

<p></li><br>
<li>Bruce</p>

<ul>
<li><a href="http://vpython.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">VPython.org</a></li>
<li><a href="http://glowscript.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Glowscript.org</a></li>
</ul>

<p></li><br>
<li>Ruth</p>

<ul>
<li><a href="http://matterandinteractions.org/student?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">matterandinteractions.org/student</a></li>
<li><a href="https://ccl.northwestern.edu/netlogo/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NetLogo</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://www.coursera.org/course/phys1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Coursera GATech Intro to Physics</a></li>
<li><a href="http://www.alice.org/index.php?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alice Project</a></li>
<li><a href="http://www.glowscript.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">glowscript.org</a></li>
<li><a href="https://github.com/BruceSherwood/vpython-jupyter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter VPython</a></li>
<li><a href="http://www.rapydscript.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RapydScript</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-49-vpython-with-ruth-chabay-and-bruce-sherwood%2F&amp;action_name=VPython+with+Ruth+Chabay+and+Bruce+Sherwood+-+Episode+49&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-49-vpython-with-ruth-chabay-and-bruce-sherwood/</guid>
      <link>https://www.pythonpodcast.com/episode-49-vpython-with-ruth-chabay-and-bruce-sherwood</link>
      <pubDate>Fri, 18 Mar 2016 10:00:00 +0000</pubDate>
      <podcast:soundbite startTime="178.61" duration="34.57">Well, v Python stands for visual plus Python. That is Python plus a module which was called visual. And it's an environment that lets ordinary mortals generate navigable real time 3 d animations as a side effect of computational models. And it's also included in the original classic package was a modified version of idled. It was originally the idea of David Scherer when he was an undergraduate at Carnegie Mellon.</podcast:soundbite>
      <podcast:soundbite startTime="269.25" duration="43.64">It really was originally a side effect of of trying to bring introductory physics courses into the 21st century, which is harder than it sounds. Most introductory physics courses are completely happy to stop around 18 60 or sometimes even 1700. So most introductory physics courses don't admit that the 20th century ever happened. A part of that was was introducing computational modeling so that students would have a chance to see, fundamental physics principles in action and to explore the range of possible behavior instead of settling for the the 2 problems that are easily solvable with introductory calculus, so constant acceleration or simple harmonic motion.</podcast:soundbite>
      <podcast:soundbite startTime="2926.47" duration="23.08">Yeah. That's a big piece of it. It's it's visually you can make something fairly easily that's visually engaging and and, and it actually can be visually engaging on its own or because it's the output of a scientific model that you've created. So you're actually seeing how is a real how your model of a system would behave, and you're able to compare it to the behavior of a real system.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:03:02</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>VPython with Ruth Chabay and Bruce Sherwood</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>49</itunes:episode>
      <podcast:episode>49</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296518827736c3964cf4-f9be-473c-a73b-002de4321c16v1.mp3" length="60535113" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296518827736c3964cf4-f9be-473c-a73b-002de4321c16v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c3964cf4-f9be-473c-a73b-002de4321c16638558785440019368.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c3964cf4-f9be-473c-a73b-002de4321c16638558785436074439.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c3964cf4-f9be-473c-a73b-002de4321c16638558785433545905.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>PyData London with Ian Ozsvald and Emlyn Clay</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Ian Ozsvald and Emlyn Clay are co-chairs of the London chapter of the PyData organization. In this episode we talked to them about their experience managing the PyData conference and meetup, what the PyData organization does, and their thoughts on using Python for data analytics in their work.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Ian Ozsvald and Emlyn Clay about their work with PyData London, a group within the PyData organization. PyData London represents the largest Python group in London at ~2850 members, they hold regular monthly meetups for ~200 members at AHL near Bank and a yearly conference for around ~300 members. Last year, they and their sponsors raised over £26,000 to sponsor the development of core numerical libraries in Python.</li>
</ul>

<div class="well"><a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/tdegpr/linode-banner-sponsor-large.png?w=1200&utm_source=rss&utm_medium=rss" alt="Linode Sponsor Banner" data-recalc-dims="1" /></a><br />
Use the promo code <strong>podcastinit20</strong> to get a $20 credit when you sign up!</p>
</div>

<div class="well">
<p><a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="Hired Logo" data-recalc-dims="1" /></a></p>
<p>On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<h3>Interview</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is the PyData organization, how does PyData London fit into it and what is your relationship with it? &#8211; Tobias</li>
<li>In what ways does a PyData conference differ from a PyCon? &#8211; Tobias</li>
<li>Does PyData do anything in particular to encourage users from disciplines that might not be aware of how much our community has to offer to choose the Python suite of data analysis tools? &#8211; Chris</li>
<li>You have both spent a good portion of your careers using Python for working with and analyzing data from various domains. How has that experience evolved over the past several years as newer tools have become available? &#8211; Tobias</li>
<li>For someone who is just getting started in the data analytics space, what advice can you give? &#8211; Tobias</li>
<li>How can conferences like PyData help strengthen the bonds and synergies between the Python software community and the sciences? &#8211; Chris</li>
<li>There are a number of different subtopics within the blanket categorization of data science. Is it difficult to balance the subject matter in PyData conferences and meetups to keep members of the audience from being alienated? &#8211; Tobias</li>
<li>Data science is a young field and we’ve yet to see lots of examples of the successful use of data. How are London-based companies using data with Python? &#8211; Ian</li>
<li>Is there a Python data science library you think needs a little love? &#8211; Emlyn</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Ian
<ul>
<li><a href="http://ianozsvald.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="https://twitter.com/ianozsvald?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
<li>Emlyn</p>

<ul>
<li><a href="https://twitter.com/emlynclay?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/alols/xcape?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">xcape</a></li>
<li><a href="https://keybase.io/docs/kbfs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keybase Filesystem</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://smile.amazon.com/gp/product/B002WM3HC2/ref=dp-kindle-redirect?ie=UTF8&amp;btkr=1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Player of Games</a></li>
<li><a href="http://store.steampowered.com/app/391540/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Undertale</a></li>
<li><a href="http://www.rottentomatoes.com/m/the_big_short/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Big Short</a></li>
</ul>

<p></li><br>
<li>Ian</p>

<ul>
<li><a href="http://stanford.edu/~mwaskom/software/seaborn/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seaborn: Python visualisation tool</a></li>
<li><a href="https://www.packtpub.com/application-development/mastering-predictive-analytics-r?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mastering Predictive Analytics with R: Rui Miguel Forte</a></li>
<li><a href="http://ianozsvald.com/2016/01/11/allergic-rhinitis-why-do-i-always-sneeze-research-project-using-machine-learning/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Allergect Rhinitis research using ML</a></li>
<li><a href="http://unrealcityaudio.co.uk/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">London Unreal City Audio Tour</a></li>
</ul>

<p></li><br>
<li>Emlyn</p>

<ul>
<li><a href="https://ipython.org/ipython-doc/1/interactive/nbconvert.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ipython nbconvert –template flag</a></li>
<li><a href="http://www.damian.oquanta.info/posts/make-your-slides-with-ipython.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Damian Avila’s Blog post on making slides with iPython Notebook</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-48-pydata-london-with-ian-ozsvald-and-emlyn-clay%2F&amp;action_name=PyData+London+with+Ian+Ozsvald+and+Emlyn+Clay+-+Episode+48&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-48-pydata-london-with-ian-ozsvald-and-emlyn-clay/</guid>
      <link>https://www.pythonpodcast.com/episode-48-pydata-london-with-ian-ozsvald-and-emlyn-clay</link>
      <pubDate>Sat, 12 Mar 2016 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2003.71" duration="59.61">Oh, sure. Well, I'm gonna dive in there because because I've given a couple of keynotes talking about this kind of thing. So, it was my honor to give a couple of keynotes, PyCon Ireland, PyCon Sweden, and the Budapest Business Intelligence Conference over the last year and a half. And 1 of the things I talked about was helping people, particularly engineers, move on with developing data science products and getting successful products shipped. And so 1 of the things that I think people get a bit hung up about, and forget is that you can go an awful long way with some really simple data science work. And by really simple, I mean, drawing graphs and doing a bit of filtering on your data. There's so much you could do. That's partly why Tableau is so powerful. You can do an awful lot just by drawing your data and cleaning it up. So you want clean data that you can visualize and explain, and then maybe you can do a bit of statistical modeling or some machine learning on it using tools like Pandas and scikit learn.</podcast:soundbite>
      <podcast:soundbite startTime="75.39" duration="23.97">Today, we are interviewing Ian Oswald and Emlyn Clay about their work with PIData London, a group within the PIData Organization. PyData London represents the largest Python group in London at about 2, 850 members. They hold regular monthly meetups for 200 members at AHL, near bank, and a yearly conference for around 300 members. Last year, they and their sponsors raised over £26, 000 to sponsor the development of core numerical libraries in Python.</podcast:soundbite>
      <podcast:soundbite startTime="530.91" duration="46.50">And taking a brief diversion, you guys mentioned that the meetup has grown to a pretty significant number of members. And I'm just wondering if you can give some insight into how you managed to build and expand that community and how you manage to sort of keep it together and keep people interested. So we have I'm just looking at the screen now, 2, 872 members. I'm really proud of that number. I'm proud every time it goes up, and I get very excited. I, I scraped, the growth numbers, and we generated a graph for the meetup. And then we have a graph that shows, I don't have to describe this. 2 lines, 1 goes up at a certain rate until Christmas, a year a year and a bit back, and then it grows linearly, but a faster rate. We don't know what changed. It just it grew faster.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:03:11</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>PyData London with Ian Ozsvald and Emlyn Clay</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>48</itunes:episode>
      <podcast:episode>48</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299319692223eb5d8917-22a0-480d-a1c5-27bb0452d105v1.mp3" length="60684099" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525299319692223eb5d8917-22a0-480d-a1c5-27bb0452d105v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_eb5d8917-22a0-480d-a1c5-27bb0452d105638558795445944879.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/eb5d8917-22a0-480d-a1c5-27bb0452d105638558795442741701.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/eb5d8917-22a0-480d-a1c5-27bb0452d105638558795440821797.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Efene with Mariano Guerra</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Efene is a language that runs on the Erlang Virtual Machine (BEAM) and is inspired by the Zen of Python. It is intended as a bridge language that serves to ease the transition into the Erlang ecosystem for people who are coming from languages like Python. In this episode I spoke with Mariano Guerra, the creator of Efene, about how Python influenced his design choices, why you might want to use it, and when Python is the better tool.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Your host today is Tobias Macey</li>
<li>Today we are interviewing Mariano Guerra about his work on the Efene language.</li>
</ul>

<h3>Interview with Mariano Guerra</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>So Efene is a language that runs on the BEAM VM which you say was at least partially inspired by the Zen of Python. Can you explain in greater detail in what form that inspiration manifested and some of the process involved in the creation of Efene? &#8211; Tobias</li>
<li>What inspired you to create Efene and what problems does it solve? &#8211; Tobias</li>
<li>How does Efene compare to other BEAM based languages such as Elixir? &#8211; Tobias</li>
<li>When would a Python developer want to consider using Efene? &#8211; Tobias</li>
<li>What benefits does the BEAM provide that can’t be easily replicated in the Python ecosystem? &#8211; Tobias</li>
<li>Does the Efene language ease the transition to a more functional mindset for developers who are already familiar with Python paradigms? &#8211; Tobias</li>
<li>I understand that you are experimenting with another language implementation that runs on the BEAM. Can you describe that project and compare it to Efene? What were your inspirations? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/warianoguerra?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/marianoguerra?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="http://marianoguerra.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="http://efene.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Efene</a></li>
<li><a href="http://blog.emesene.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Emesene</a></li>
<li><a href="http://python.org.ar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Argentina</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/dotphiles/dotphiles?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dotphiles</a></li>
<li><a href="https://vimeo.com/74354480?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Unreasonable Effectiveness of Dynamic Typing for Practical Programs</a></li>
</ul>

<p></li><br>
<li>Mariano</p>

<ul>
<li><a href="https://github.com/omcljs/om/wiki/Documentation-(om.next)#omnext-1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Om Next</a></li>
<li><a href="https://www.youtube.com/watch?v=ByNs9TG30E8&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">David Nolan on Om Next</a></li>
<li><a href="https://github.com/clojure/clojurescript?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clojurescript</a></li>
<li><a href="http://thethingsnetwork.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Things Network</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://erlang.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Erlang</a></li>
<li><a href="http://elixir-lang.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elixir</a></li>
<li><a href="http://lfe.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lisp Flavored Erlang</a></li>
<li><a href="http://joxa.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joxa</a></li>
<li><a href="http://rebar3.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rebar3</a></li>
<li><a href="http://erlang.mk?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Erlang MK</a></li>
<li><a href="https://hex.pm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hex</a></li>
<li><a href="https://github.com/marianoguerra/interfix?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Interfix</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-47-efene-with-mariano-guerra%2F&amp;action_name=Efene+with+Mariano+Guerra+-+Episode+47&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-47-efene-with-mariano-guerra/</guid>
      <link>https://www.pythonpodcast.com/episode-47-efene-with-mariano-guerra</link>
      <pubDate>Fri, 4 Mar 2016 01:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1091.83" duration="48.31">And that also brings up an interesting point because in my listening to some of the communications from the elixir community, I've seen some people mention how in some ways, it can be a bit of a disservice having the more familiar syntax because it can kind of hide some of the cognitive differences and how you actually approach a problem in Erlang based languages because of the more functional and distributed nature. Whereas in languages like Python or Ruby, you're generally more procedural or procedural or iterative in the approach and so that can actually cause some, some initial pain when you're trying to write something the same way as you would write it in Python, but it turns out that the way it is actually executed and the way you should be thinking of it is, somewhat different.</podcast:soundbite>
      <podcast:soundbite startTime="2166.91" duration="40.87">Yeah. The reason I came for is, as everyone may think, and that was actually the case concurrency. But when you get in for the concurrency, you stay for the fault tolerance. So there's some people that say I came for the concurrency and stayed for the fault tolerance because that's the most interesting part. Of course, the scalability and the concurrency is great, but default tolerance is the thing other than immutability, the thing that makes change that Erlang change your way of seeing the programming world.</podcast:soundbite>
      <podcast:soundbite startTime="224.29" duration="30.61">I guess it's a combination of, things. When I started with Linux, like, I don't know, 15 years ago, 2000, I installed Red Hat 6.1, I think. And Red Hat, I think they still do. They all of the scripts and automation they do, they do it in Python. And when I was playing around with Red Hat, because at that point, you had to play around a lot with the software with Linux, I saw like every single utility was written in this Python programming language.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:59:35</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Efene with Mariano Guerra</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>47</itunes:episode>
      <podcast:episode>47</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297450726940661dedbd-2f99-490d-980d-0ab3375fb7e4v1.mp3" length="57219843" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297450726940661dedbd-2f99-490d-980d-0ab3375fb7e4v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_661dedbd-2f99-490d-980d-0ab3375fb7e4638558788794101854.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/661dedbd-2f99-490d-980d-0ab3375fb7e4638558788791113800.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/661dedbd-2f99-490d-980d-0ab3375fb7e4638558788789309568.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Functional Python with Matthew Rocklin and Alexander Schepanovsky</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>What is functional programming, why would you want to use it, and how can you get started with it in Python? Our guests this week, Matthew Rocklin and Alexander Schepanovsky, help us understand all of that and more. Matthew and Alexander have each created their own Python libraries to make it easier to employ functional paradigms in your Python code. In this episode they help us understand the benefits that functional styles can have and the benefits that can be realized by trying them out for yourself.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Your host today is Tobias Macey</li>
<li>Today we are interviewing Matthew Rocklin and Alexander Schepanovski about their work on functional libraries for Python.</li>
</ul>

<h3>Interview with Alexander and Matthew</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you first explain what functional programming is and how it differs from the procedural or object oriented programming that most Pythonistas are familiar with? &#8211; Tobias</li>
<li>How did you get started with functional programming? &#8211; Tobias</li>
<li>What are the benefits of functional programming and when might someone want to use functional paradigms in their projects? &#8211; Tobias</li>
<li>What is it about functional programming that people find so intimidating and what do you think has led to its recent rise in popularity? &#8211; Tobias</li>
<li>What aspects of the Python language lend themselves to being used in a functional manner and where does it fall down? &#8211; Tobias</li>
<li>Can you each describe what your respective libraries provide in terms of functional capabilities and what their particular focus is? Are they distinct enough from each other that it would make sense to use them both in a single project? &#8211; Tobias</li>
<li>What inspired each of you to create your respective libraries? &#8211; Tobias</li>
<li>There is a functools module in the Python standard library that provides some methods that enable functional paradigms. Where does that module fall short and how do your respective libraries augment or replace the functionality in that module? &#8211; Tobias</li>
<li>There is also a library named fn.py which provides functional paradigms for use in Python. Can you each compare and contrast it with your own work? &#8211; Tobias</li>
<li>There are a number of concepts involved in functional programming such as currying, function composition, immutable data, and pure functions. Can you describe some of those concepts and then explain which of them you tried to incorporate into your libraries? &#8211; Tobias</li>
<li>What are some of the resources that you have found to be most helpful when trying to learn and apply functional principles to your programs? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Alexander
<ul>
<li><a href="https://twitter.com/hackflow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://hackflow.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>

<p></li><br>
<li>Matthew</p>

<ul>
<li><a href="http://matthewrocklin.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="http://toolz.readthedocs.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Toolz</a></li>
<li><a href="https://twitter.com/mrocklin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/mrocklin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.datadoghq.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DataDog</a></li>
</ul>

<p></li><br>
<li>Alexander</p>

<ul>
<li><a href="http://www.syfy.com/theexpanse?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Expanse</a></li>
<li><a href="https://revolut.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Revolut</a></li>
</ul>

<p></li><br>
<li>Matthew</p>

<ul>
<li><a href="http://riemann.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Riemann</a></li>
<li><a href="http://www.fivedancesthemovie.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Five Dances</a></li>
<li><a href="http://distributed.readthedocs.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Distributed</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://rosettacode.org/wiki/Rosetta_Code?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rosetta Code</a></li>
<li><a href="http://toolz.readthedocs.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyToolz</a></li>
<li><a href="http://funcy.readthedocs.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Funcy</a></li>
<li><a href="https://github.com/kachayev/fn.py?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fn.py</a></li>
<li><a href="https://github.com/lihaoyi/macropy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MacroPy</a></li>
<li><a href="https://github.com/llllllllll/codetransformer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code Transformer</a></li>
<li><a href="http://www.infoq.com/presentations/Simple-Made-Easy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Simple Made Easy by Rich Hickey</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-46-functional-python-with-matthew-rocklin-and-alexander-schepanovsky%2F&amp;action_name=Functional+Python+with+Matthew+Rocklin+and+Alexander+Schepanovsky+-+Episode+46&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-46-functional-python-with-matthew-rocklin-and-alexander-schepanovsky/</guid>
      <link>https://www.pythonpodcast.com/episode-46-functional-python-with-matthew-rocklin-and-alexander-schepanovsky</link>
      <pubDate>Mon, 29 Feb 2016 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1408.15" duration="51.54">Yeah. And I think too that part of it might be attributable to the recent rise in popularity of JavaScript because while it does have some object oriented capabilities, it's generally used more in a functional aspect of passing functions around as variables and as data. And also, you know, there's there's a new generation of developers coming up. And as you said, you know, a number of developers started with some variant of the c programming language, and therefore, so a lot of the functional principles are a little bit more foreign. But given that there has been a slight rise in function in the popularity of functional languages, like you said, because of the recent changes in CPU architectures, then the newer programmers who are getting started don't necessarily have that same shared history and are a little bit more willing to experiment.</podcast:soundbite>
      <podcast:soundbite startTime="335.64" duration="46.53">And can you guys first explain what functional programming is and how it differs from the procedural or object oriented programming that most Pythonistas are familiar with? And recognizing that functional programming is kind of an overloaded term with lot of subcomponents. So feel free to delve into that as well. I don't think you should oppose functional programming and, procedural or object oriented 1. You should oppose functional programming and imperative. So in imperative programming, you, and the difference is in how you think about your program and how you decompose it. In imperative programming, you, think of a program as a algorithm which is a series of steps. So you decompose it in this into steps which, change the state of a world.</podcast:soundbite>
      <podcast:soundbite startTime="3361.65" duration="37.35">Yeah. That was 1 thing I was going to ask about is whether you thought it would be useful or something that you would consider pushing for to try and get, you know, some or all of or at least some small portions of some of these other functional languages baked into the standard library to either augment or replace the existing func tools. But I also know that there's a common meme that the standard library is where modules go to die because it's a much slower rate of change, and it's not as easy to introduce updates or modifications to those modules once they do become part of the standard lib.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:20:02</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Functional Python with Matthew Rocklin and Alexander Schepanovsky</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>46</itunes:episode>
      <podcast:episode>46</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303916805333a1459e66-ab68-4ec2-8e8e-533fd0b0e38bv1.mp3" length="76854912" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525303916805333a1459e66-ab68-4ec2-8e8e-533fd0b0e38bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a1459e66-ab68-4ec2-8e8e-533fd0b0e38b638558807112584141.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a1459e66-ab68-4ec2-8e8e-533fd0b0e38b638558807108384816.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a1459e66-ab68-4ec2-8e8e-533fd0b0e38b638558807106259709.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Cython with Craig Citro and Robert Bradshaw</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Do you find yourself reaching for a different language when you need some extra speed? With Cython you can get the best of both worlds by writing your code in Python and executing it as compiled code. In this episode we were joined by Craig Citro and Robert Bradshaw from the Cython project to discuss how and when you might want to incorporate it into your applications.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Craig Citro and Robert Bradshaw</li>
</ul>

<h3>Interview with Craig Citro and Robert Bradshaw</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is Cython and how did the project get started? &#8211; Tobias</li>
<li>My understanding is that Cython can improve the performance of a Python program without even having to provide any type annotations. How does it manage to do that? &#8211; Tobias</li>
<li>Can a Cython module be used as a way to sidestep the GIL? What are some of the pitfalls that can be caused by doing so? &#8211; Tobias</li>
<li>Can you give some examples of how Cython can be used to improve the perfomance of Python programs? &#8211; Tobias</li>
<li>How does Cython work under the covers? &#8211; Tobias</li>
<li>What were some of the challenges during the creation of Cython and what design decisions were made to overcome them? &#8211; Tobias</li>
<li>Does Python’s cross platform nature create any unique challenges when compiling down to the C level? &#8211; Chris</li>
<li>What processor and system architectures does Cython support and are there plans to expand that support? &#8211; Tobias</li>
<li>How do generators and list comprehensions map to C, and did those higher level language constructs pose any special challenges in Cython’s design? &#8211; Chris</li>
<li>Would Rust ever be a potential compile target for performance and safety optimized modules? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Craig
<ul>
<li><a href="https://twitter.com/craigcitro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/craigcitro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="http://www.craigcitro.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
<li>Robert</p>

<ul>
<li><a href="mailto:robertwb@gmail.com">Email</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://medium.com/mit-media-lab/certificates-reputation-and-the-blockchain-aee03622426f#.ctvv32ymo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Certificates, Reputation, and the Blockchain</a></li>
</ul>

<p></li><br>
<li>Craig</p>

<ul>
<li><a href="http://amzn.to/1oNSmtc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Curious Kids Science Book</a> by Asia Citro</li>
<li><a href="https://github.com/hadley/dplyr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dplyr</a></li>
<li><a href="https://github.com/smbache/magrittr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">magrittr</a></li>
<li><a href="http://amzn.to/1PUMYLE?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Everything Is Obvious: How Common Sense Fails Us</a> by Duncan Watts</li>
</ul>

<p></li><br>
<li>Robert</p>

<ul>
<li><a href="http://www.mowillems.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mo Willems</a></li>
<li><a href="http://amzn.to/1Rbenvc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Philips Hue Lights</a></li>
<li><a href="http://cloud.sagemath.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sage Math Cloud</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://www.sagemath.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sage</a> (Math)</li>
<li><a href="https://en.wikipedia.org/wiki/Pyrex_(programming_language?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyrex</a>)</li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-45-cython-with-craig-citro-and-robert-bradshaw%2F&amp;action_name=Cython+with+Craig+Citro+and+Robert+Bradshaw+-+Episode+45&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-45-cython-with-craig-citro-and-robert-bradshaw/</guid>
      <link>https://www.pythonpodcast.com/episode-45-cython-with-craig-citro-and-robert-bradshaw</link>
      <pubDate>Fri, 19 Feb 2016 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="762.92" duration="30.53">So can a Cython module be used as a way to sidestep the GIL? And what are some of the pitfalls that can be caused by doing so? So what we have is we have a way of declaring functions or portions of functions as not requiring GIL, in which case the GIL will be released during the execution of those functions. And so, there's a limited thing number of things you can do. For instance, you can't actually, the GIL is very, very pervasive. So you can't even do reference counting without the GIL. So you can't even manipulate Python list of dictionaries.</podcast:soundbite>
      <podcast:soundbite startTime="320.52" duration="33.86">And can you guys explain a little bit of the syntax of Cython and how that interoperates with the Python language itself? Yeah. So it's it's nearly a superset of the entire Python syntax. So basically, you take Python and then you annotate, certain variables or functions with type information. It's the it's kind of the key key extension of the Python language. And then if you have type information, like, for instance, if you just declare something to be a c double, or a pointer or something, then you can do all the c operations on it without the Python overhead.</podcast:soundbite>
      <podcast:soundbite startTime="178.92" duration="33.16">So can you guys explain what Cython is and how the project got started? It started out as a, Greg Ewing actually had a project called Pyrex, back in the day. The idea was that writing c extensions by hand is very tedious, doing things like, you know, getting reference count right and working with Python CABI directly. And that's the kind of thing that computers are good at. So he curated this project called Pyrex, which was a Python like language for that then compiled down to c. And that's what Sage was originally using.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:03</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Cython with Craig Citro and Robert Bradshaw</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>45</itunes:episode>
      <podcast:episode>45</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321688843121ba12e86d-1930-408b-9c96-f18bc999f33cv1.mp3" length="49986344" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321688843121ba12e86d-1930-408b-9c96-f18bc999f33cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ba12e86d-1930-408b-9c96-f18bc999f33c638558845138498717.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ba12e86d-1930-408b-9c96-f18bc999f33c638558845135553547.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ba12e86d-1930-408b-9c96-f18bc999f33c638558845133772512.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Airflow with Maxime Beauchemin</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Are you struggling with trying to manage a series of related, interdependent batch jobs? Then you should check out <a href="https://github.com/airbnb/airflow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Airflow</a>. In this episode we spoke with the project’s creator Maxime Beauchemin about what inspired him to create it, how it works, and why you might want to use it. Airflow is a data pipeline management tool that will simplify how you build, deploy, and monitor your complex data processing tasks so that you can focus on getting the insights you need from your data.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="https://linode.com/podcastinit/?utm_source=podcastinit&amp;utm_medium=podcast&amp;utm_content=20%20dollar&amp;utm_campaign=podcastinit20&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Maxime Beauchemin about his work on the Airflow project.</li>
</ul>

<h3>Interview with Maxime Beauchemin</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is Airflow and what are some of the kinds of problems it can be used to solve? &#8211; Chris</li>
<li>What are some of the biggest challenges that you have seen when implementing a data pipeline with a workflow engine? &#8211; Tobias</li>
<li>What are some of the signs that a workflow engine is needed? &#8211; Tobias</li>
<li>Can you share some of the design and architecture of Airflow and how you arrived at those decisions? &#8211; Tobias</li>
<li>How does Airflow compare to other workflow management solutions, and why did you choose to write your own? &#8211; Chris</li>
<li>One of the features of Airflow that is emphasized in the documentation is the ability to dynamically generate pipelines. Can you describe how that works and why it is useful? &#8211; Tobias</li>
<li>For anyone who wants to get started with using Airflow, what are the infrastructure requirements? &#8211; Tobias</li>
<li>Airflow, like a number of the other tools in the space, support interoperability with Hadoop and its ecosystem. Can you elaborate on why JVM technologies have become so prevalent in the big data space and how Python fits into that overall problem domain? &#8211; Tobias</li>
<li>Airflow comes with a web UI for visualizing workflows, as do a few of the other Python workflow engines. Why is that an important feature for this kind of tool and what are some of the tasks and use cases that are supported in the Airflow web portal? &#8211; Tobias</li>
<li>One problem with data management is tracking the provenance of data as it is manipulated and shuttled between different systems. Does Airflow have any support for maintaining that kind of information and if not do you have recommendations for how practitioners can approach the issue? &#8211; Tobias</li>
<li>What other kinds of metadata can Airflow track as it executes tasks and what are some of the interesting uses you have seen or created for that information? &#8211; Tobias</li>
<li>With all the other languages competing for mindshare, what made you choose Python when you built Airflow? &#8211; Chris</li>
<li>I notice that Airflow supports Kerberos. It’s an incredibly capable security model but that comes at a high price in terms of complexity. What were the challenges and was it worth the additional implementation effort? &#8211; Chris</li>
<li>When does the data pipeline/workflow management paradigm break down and what other approaches or tools can be used in those cases? &#8211; Tobias</li>
<li>So, you wrote another tool recently called Panoramix. Can you describe what it is and maybe explain how it fits in the data management domain in relation to Airflow? &#8211; Tobias</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://groups.google.com/forum/#!forum/airbnb_airflow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Group</a></li>
<li><a href="https://gitter.im/airbnb/airflow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitter</a></li>
<li><a href="https://github.com/airbnb/airflow?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.anrdoezrs.net/jk122gv30v2IQROJQSOIKLMOLQMJIKNNQJSQJJJJJJ?url=http%3A%2F%2Fwww.thriftbooks.com%2Fw%2Fempire-of-the-east_fred-saberhagen%2F563595%2F%23isbn%3D0765307421&amp;cjsku=4537235&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Empire of the East</a> by Fred Saberhagen</li>
<li><a href="http://www.anrdoezrs.net/f281nmvsmu9HIFAHJF9BCDFCHDA9BEEHAJHAAAAAA?url=http%3A%2F%2Fwww.thriftbooks.com%2Fw%2Fbook-of-swords-books-1-to-3_fred-saberhagen%2F308963%2F%23isbn%3D1568650094&amp;cjsku=1993429&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Book of Swords</a> by Fred Saberhagen</li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Buraka_Som_Sistema?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Buraka Son Sistema</a></li>
<li><a href="http://originaltrilogy.com/topic/Harmys-STAR-WARS-Despecialized-Edition-HD-V25-MKV-IS-OUT-NOW/id/12713?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Star Wars &#8211; Despecialized Edition</a></li>
<li><a href="http://www.anrdoezrs.net/links/7850795/type/dlg/http://www.thriftbooks.com/series/the-iron-druid-chronicles/38373?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Iron Druid Chronicles</a></li>
</ul>

<p></li><br>
<li>Maxime</p>

<ul>
<li><a href="http://flask-appbuilder.readthedocs.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask App Builder</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-44-airflow-with-maxime-beauchemin%2F&amp;action_name=Airflow+with+Maxime+Beauchemin+-+Episode+44&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-44-airflow-with-maxime-beauchemin/</guid>
      <link>https://www.pythonpodcast.com/episode-44-airflow-with-maxime-beauchemin</link>
      <pubDate>Sat, 13 Feb 2016 11:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2586.36" duration="38.01">So if English is the language of business, I say, like, Python might be the the language of data or at least, like, a language that a lot of people speak in the data world, especially for for everything that's kinda gluing things together related. So when when I look at the tool that that we were building, 1 thing that's really important is connectivity with all these other systems because it's a workflow engine, and we need to be able to talk to, the different threat services. We need to be able to talk to any external database. And Python's got extremely good support or a very wide coverage of interfacing with external tools.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:03:17</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Airflow with Maxime Beauchemin</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>44</itunes:episode>
      <podcast:episode>44</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532086635925618789f55-feba-49d7-8a23-e4db9ec890bdv1.mp3" length="60781296" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532086635925618789f55-feba-49d7-8a23-e4db9ec890bdv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_18789f55-feba-49d7-8a23-e4db9ec890bd638558841939823094.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/18789f55-feba-49d7-8a23-e4db9ec890bd638558841936790906.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/18789f55-feba-49d7-8a23-e4db9ec890bd638558841934891688.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>WSGI 2</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>The Web Server Gateway Interface, or WSGI for short, is a long-standing pillar of the Python ecosystem. It has enabled a vast number of web frameworks to proliferate by not having to worry about how exactly to interact with the HTTP protocol and focus instead on building a library that is robust, extensible, and easy to use. With recent evolutions to how we interact with the web, it appears that WSGI may be in need of an update and that is what our guests on this episode came to discuss. Cory Benfield is leading an effort to determine what if any modifications should be made to the WSGI standard or if it is time to retire it in favor of something new. Andrew Godwin has been hard at work building the Channels framework for Django to allow for interoperability with websockets. They bring their unique perspectives to bear on how and why we may want to consider bringing WSGI into the current state of the web.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Cory Benfield and Andrew Godwin about a proposed update to the WSGI specification.</li>
</ul>

<h3>Interview with Cory Benfield and Andrew Godwin</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>First off, what is WSGI? &#8211; Tobias</li>
<li>What are some of the ways the current WSGI spec has fallen out of step with the needs of the modern developer? &#8211; Chris</li>
<li>How did you come to be involved with the new WSGI specification? What brought you into this process? &#8211; Chris</li>
<li>Do you think the WSGI name itself brings a lot of expectation, or is it good to keep it as a well-recognised Python landmark? &#8211; Tobias</li>
<li>Would it be better to make a clean break and implement an entirely new set of APIs and style of interaction? &#8211; Tobias</li>
<li>What kind of compatibility guarantees should be made between the current spec and the proposed upgrade? What would the impact be if the new specification was incompatible? &#8211; Tobias</li>
<li>How has the response been to your call for comments? What are some of the most frequently raised concerns or suggestions? &#8211; Tobias</li>
<li>What are some of the proposed changes to the specification? &#8211; Tobias</li>
<li>Are there any future directions you think WSGI should take that perhaps haven’t been considered yet? &#8211; Chris</li>
<li>Has your opinion or vision of the proposed update changed as you reviewed responses to the conversation on the mailing list? &#8211; Tobias</li>
<li>Do you have any ideas of how to design the new specification in order to avoid a similar situation of needing to deprecate the current standards in order to accomodate new web protocols? &#8211; Tobias</li>
<li>What are some of the points of contention or rigorous debate that have kept previous WSGI 2 attempts from succeeding? &#8211; Chris</li>
</ul>

<h3>Keep In Touch</h3>

<ul>
<li>Andrew
<ul>
<li><a href="https://twitter.com/andrewgodwin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/andrewgodwin?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
<li>Cory</p>

<ul>
<li><a href="lukasaoz">Twitter</a></li>
<li><a href="lukasa">GitHub</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.discourse.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Discourse</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.syfy.com/theexpanse?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Expanse</a></li>
<li><a href="https://itunes.apple.com/us/app/puerto-rico-hd/id438437326?mt%3D8&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Puerto Rico for IOS</a></li>
<li><a href="https://itunes.apple.com/us/app/dominion/id948405722?mt%3D8&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dominion for IOS</a></li>
<li><a href="https://itunes.apple.com/us/app/splendor/id971215921?mt%3D8&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Splendor for IOS</a></li>
</ul>

<p></li><br>
<li>Cory</p>

<ul>
<li><a href="http://www.wusthof.com/usa/index.jsp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wusthof Knives</a></li>
<li><a href="https://en.wikipedia.org/wiki/Australian_rules_football?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Australian Football</a></li>
<li><a href="https://xcom.com/agegate/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XCOM 2</a></li>
</ul>

<p></li><br>
<li>Andrew</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Archery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Archery</a></li>
<li><a href="https://en.wikipedia.org/wiki/Troms%C3%B8?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tromsø Norway</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-43-wsgi-2%2F&amp;action_name=WSGI+2+-+Episode+43&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-43-wsgi-2/</guid>
      <link>https://www.pythonpodcast.com/episode-43-wsgi-2</link>
      <pubDate>Sun, 7 Feb 2016 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2998.72" duration="67.70">I think it's a good idea to to ask just, just quickly whether or not you know, some as as the as someone who's responsible for trying to push this through, whether or not I think I can we can satisfy everyone with this work. Like, do do we necessarily feel like there is a 1 correct 1 correct answer that everyone will be happy with? Because that's the the question that that I feel like everyone combining a protocol or a specification or anything that someone wants to interrupt with has to ask themselves at a certain point. Is is this work worthwhile? And I guess I'll just lead into answering my own question because why not? Where where I feel like, the answer to that is no. So, I don't think I think whatever this working group produces, whether that is nothing, whether that is a small revision to whiskey and nothing else, whether that is, a brand new thing like, ASGI, whether that is small extensions to whiskey, I can guarantee to you that 10 years from now, there will be a lot of angry blog posts about how terrible our work was, and a lot of people getting a lot of, Twitter equivalent likes, whatever Twitter is 10 years from now, for for kind of tearing that work down.</podcast:soundbite>
      <podcast:soundbite startTime="408.88" duration="39.26">So first off, what is WSGI? And some people may have heard it pronounced wiz gi. Yeah. I pronounce it wiz gi. Yeah. Me too. I I'll do a I'll do a bit of high level summary, and Andrew can just leap in if he thinks I'm, misleading everybody. But but WSGI is, probably the, least well known, most important Python standard interface that's that's floating around. WSGI is the web server gateway interface, the Python web server gateway interface, and its basic purpose is to have a a standardized framework for a web server to talk to a Python web application.</podcast:soundbite>
      <podcast:soundbite startTime="680.87" duration="50.60">So since this is a conversation about your proposal for a new revision of the WSGI specification, can you elucidate some of why that is necessary given the flexibility that it has shown up to this point? I mean, yeah. I I think so. I I think 1 thing that's really important to to clarify here as well is, 1 of the questions that's on the table, 1 of the things that we are discussing is not just, you know, how how should we revise whiskey, but do we need to revise whiskey? Like, 1 of the kind of core questions, that I really would wanna get away is, like, is do we do we wanna actually say that for what whiskey does right now, is that perfect? Like, do we wanna not, revise or, you know, update Whiskey, but instead, extend Whiskey?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:04:46</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>WSGI 2</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>43</itunes:episode>
      <podcast:episode>43</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317645599147351bb203-5e69-4608-9099-cbfa4c7eb198v1.mp3" length="62202956" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317645599147351bb203-5e69-4608-9099-cbfa4c7eb198v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_351bb203-5e69-4608-9099-cbfa4c7eb198638558836672324118.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/351bb203-5e69-4608-9099-cbfa4c7eb198638558836668530579.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/351bb203-5e69-4608-9099-cbfa4c7eb198638558836665981272.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>SymPy With Aaron Meurer</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Looking for an open source alternative to Mathematica or MatLab for solving algebraic equations? Look no further than the excellent SymPy project. It is a well built and easy to use Computer Algebra System (CAS) and in this episode we spoke with the current project maintainer Aaron Meurer about its capabilities and when you might want to use it.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community at <a href="https://discouse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> to follow up with the guests and help us make the show better!</li>
<li>nn</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> and double your signing bonus to $4,000.</li>
<li>We are recording today on January 18th, 2016 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Aaron Meurer about SymPy</li>
</ul>

<h3>Interview with Aaron Meurer</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is Sympy and what kinds of problems does it aim to solve? &#8211; Chris</li>
<li>How did the SymPy project get started? &#8211; Tobias</li>
<li>How did you get started with the SymPy project? &#8211; Chris</li>
<li>Are there any limits to the complexity of the equations SymPy can model and solve? &#8211; Chris</li>
<li>How does SymPy compare to similar projects in other languages? &#8211; Tobias</li>
<li>How does Sympy render results using such beautiful mathematical symbols when the inputs are simple ASCII? &#8211; Chris</li>
<li>What are some of the challenges in creating documentation for a project like SymPy that is accessible to non-experts while still having the necessary information for professionals in the fields of mathematics? &#8211; Tobias</li>
<li>Which fields of academia and business seem to be most heavily represented in the users of SymPy? &#8211; Tobias</li>
<li>What are some of the uses of Sympy in education outside of the obvious like students checking their homework? &#8211; Chris</li>
<li>How does SymPy integrate with the Jupyter Notebook? &#8211; Chris</li>
<li>Is SymPy generally used more as an interactive mathematics environment or as a library integrated within a larger application? &#8211; Tobias</li>
<li>What were the challenges moving SymPy from Python 2 to Python 3? &#8211; Chris</li>
<li>Are there features of Python 3 that simplify your work on SymPy or that make it possible to add new features that would have been too difficult previously? &#8211; Tobias</li>
<li>Were there any performance bottlenecks you needed to overcome in creating Sympy? &#8211; Chris</li>
<li>What are some of the interesting design or implementation challenges you’ve found when creating and maintaining SymPy? &#8211; Chris</li>
<li>Are there any new features or major updates to SymPy that are planned? &#8211; Tobias</li>
<li>How is the evolution of SymPy managed from a feature perspective? Have there been any occasions in recent memory where a pull request had to be rejected because it didn’t fit with the vision for the project? &#8211; Tobias</li>
<li>Which of the features of SymPy do you find yourself using most often? &#8211; Tobias</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.functionalgeekery.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Functional Geekery</a></li>
<li><a href="https://nekrogoblikon.bandcamp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nekrogoblikon</a>
<ul>
<li><a href="http://amzn.to/1NhqdyO?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heavy Meta</a></li>
</ul>

<p></li><br>
<li><a href="http://amzn.to/1T082Fe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marble Fun Run</a></li><br>
</ul><br>
</li><br>
<li>Chris</p>

<ul>
<li><a href="https://gimletmedia.com/show/surprisingly-awesome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Surprisingly Awesome</a></li>
<li><a href="http://topdocumentaryfilms.com/all-watched-over-by-machines-of-loving-grace/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">All Watched Over by Machines of Loving Grace</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pizzicato_Five?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pizzicato 5</a></li>
<li><a href="https://untappd.com/b/mayflower-brewing-company-cooper-s-series-brown-ale/1356335?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mayflower Hoppy Brown Ale</a></li>
</ul>

<p></li><br>
<li>Aaron</p>

<ul>
<li><a href="http://fermatslibrary.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fermat’s Library</a></li>
<li><a href="https://github.com/asmeurer/catimg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">catimg</a></li>
<li><a href="https://www.iterm2.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTerm2</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/asmeurer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://groups.google.com/forum/#!forum/sympy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
<li><a href="https://gitter.im/sympy/sympy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gitter Channel</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="https://projecteuler.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Project Euler</a></li>
<li><a href="https://en.wikipedia.org/wiki/Richardson%27s_theorem?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Richardson’s Theorem</a></li>
<li><a href="http://www.kqzyfj.com/56102p-85-7NVWTOVXTNPPQUOPXWNPSSWQXQQOXOOO?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F9781593276409.do%3Fcmp%3Daf-na-books-videos-product_cj_9781593276409_%2525zp&amp;cjsku=9781593276409&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Doing Math With Python</a> by Amit Saha (and <a href="https://asmeurer.github.io/blog/posts/doing-math-with-python-by-amit-saha-book-review/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Aaron’s book review</a>)</li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-42-sympy-with-aaron-meurer%2F&amp;action_name=SymPy+With+Aaron+Meurer+-+Episode+42&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-42-sympy-with-aaron-meurer/</guid>
      <link>https://www.pythonpodcast.com/episode-42-sympy-with-aaron-meurer</link>
      <pubDate>Sun, 31 Jan 2016 14:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1528.33" duration="34.63">What were the challenges moving SymPy from Python 2 to Python 3? I'd say that the worst thing there was that when we did it, 2 to 3 was still the recommended way of doing the transition. So that's how we ended up doing it was with 2 to 3. And that ended up kinda being a mess because, you know, if you wanted to run the tests in Python 3, you'd have to run 2 to 3 on the code base. And it basically the the workflow makes it so that you have you sort of just still are still working in Python 2. And it's not really possible to work in Python 3 because that's sort of just generated code.</podcast:soundbite>
      <podcast:soundbite startTime="242.42" duration="30.16">Right. So as I said, SymPy is a computer algebra system, so something like Mathematica or Maple. What it means is that it SymPy is doing mathematics symbolically. So unlike something like SciPy, where you have a bunch of mathematical functions and you pass in a number and you get out a number, With SymPy, you actually are doing, things symbolically like you would do in a math class or on a on a whiteboard. So for example, you can take symbolic derivatives, do symbolic integrals.</podcast:soundbite>
      <podcast:soundbite startTime="111.93" duration="30.81">So Aaron, how did you get introduced to Python? Yeah. So I'm back in the freshman my freshman year of college. So I I originally was a computer science major, but our computer science courses were taught in Java, which I immediately didn't like. But there was a free course that was offered at my university about a language called Python, and I figured it's good to have some language diversity. So I went and I immediately fell in love with it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:03:06</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>SymPy With Aaron Meurer</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>42</itunes:episode>
      <podcast:episode>42</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300227048971432a6855-327a-40aa-b2d4-362df9f3540ev1.mp3" length="60603971" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525300227048971432a6855-327a-40aa-b2d4-362df9f3540ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_432a6855-327a-40aa-b2d4-362df9f3540e638558798642403330.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/432a6855-327a-40aa-b2d4-362df9f3540e638558798639170627.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/432a6855-327a-40aa-b2d4-362df9f3540e638558798637105106.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>RPython with Maciej Fijalkowski</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>RPython is a subset of Python that is used for writing high performance interpreters for dynamic languages. The most well-known product of this tooling is the PyPy interpreter. In this episode we had the pleasure of speaking with Maciej Fijalkowski about what RPython is, what it isn’t, what kinds of projects it has been used for, and what makes it so interesting.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Join our community! Visit <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a> for your opportunity to find out about upcoming guests, suggest questions, and propose show ideas.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>We are recording today on December 17th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Maciej Fijalkowski on RPython</li>
</ul>

<h3>Interview with Maciej Fijalkowski</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is RPython and how does it differ from CPython? &#8211; Tobias</li>
<li>Can you share some of the history of RPython in terms of the major improvements and design choices? &#8211; Tobias</li>
<li>In the documentation it says that RPython is able to generate a Just In Time compiler for dynamic languages. Can you explain why that is significant and some of the ways that it does that? &#8211; Tobias</li>
<li>The most well-known use of RPython is the PyPy interpreter for Python. Can you share some of the other languages that have been ported to the RPython runtime and how their performance has been improved or altered in the process? &#8211; Tobias</li>
<li>Are there any languages that have been designed entirely for use with RPython, rather than translating an existing language to run on it? &#8211; Tobias</li>
<li>Do you know of any cases where an application has been written to run directly on RPython? &#8211; Tobias</li>
<li>What are the computer architecture and operating system platforms that RPython supports and do you have any plans to expand that support? &#8211; Tobias</li>
<li>Are there any minimum hardware specifications that are necessary to be able to effectively run a language written against the RPython platform? &#8211; Tobias</li>
<li>Is RPython similar in concept to other efforts like Parrot in the Perl world? &#8211; Chris</li>
<li>Are there any particular areas of the project that you need help with and how can people get involved with the project? &#8211; Tobias</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://us4.campaign-archive2.com/?u=9735795484d2e4c204da82a29&amp;id=22fde1c28d&amp;e=b0190ae72d&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCoders 2015 Recap</a></li>
<li><a href="http://amzn.to/1TPJNaY?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Shape Up</a></li>
<li><a href="http://amzn.to/1TPJVY5?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Xbox One</a></li>
<li><a href="http://amzn.to/1IYVyLN?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Xbox One Kinect</a></li>
<li><a href="http://amzn.to/1IYVBHt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selfless</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://skunkbear.tumblr.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Skunk Bear</a></li>
<li><a href="https://en.wikipedia.org/wiki/6_Nimmt!?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Category 6</a></li>
<li><a href="https://en.wikipedia.org/wiki/Environments_(album_series?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Environments</a>)</li>
</ul>

<p></li><br>
<li>Maciej</p>

<ul>
<li><a href="https://za.pycon.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon South Africa</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://botbot.me/freenode/pypy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IRC</a></li>
<li><a href="https://mail.python.org/mailman/listinfo/pypy-dev?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
<li><a href="http://baroquesoftware.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyPy consultancy</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="http://psyco.sourceforge.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Psyco</a> (Python JIT)</li>
<li><a href="https://bitbucket.org/ssllab/zippy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Truffle</a></li>
<li><a href="http://hippyvm.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HippyVM</a></li>
<li><a href="https://github.com/topazproject/topaz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Topaz</a></li>
<li><a href="https://github.com/samth/pycket?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pycket</a></li>
<li><a href="http://www.sparkslabs.com/pyxie/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyxie-lang</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-41-rpython-with-maciej-fijalkowski%2F&amp;action_name=RPython+with+Maciej+Fijalkowski+-+Episode+41&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-41-rpython-with-maciej-fijalkowski/</guid>
      <link>https://www.pythonpodcast.com/episode-41-rpython-with-maciej-fijalkowski</link>
      <pubDate>Fri, 22 Jan 2016 18:00:00 +0000</pubDate>
      <podcast:soundbite startTime="218.24" duration="46.74">It's a strange mix of low level features, static analysis, and a good bit of magic to make sure it all works. And you said that it's a static subset. So is it implemented in c? And is the syntax at all similar to how you would write Python? Or is it Python program. But the way you use it is very different from normal Python. Like, you can't use most libraries. You can't use dynamic features. Most of double underscore methods don't work except and Dell and a bunch of others, but, generally, they don't.</podcast:soundbite>
      <podcast:soundbite startTime="130.87" duration="26.75">And Perl, while a wonderful tool, has serious problems with scaling to larger projects. Like, the projects become clunky. The object orientation is never very good. So I was looking at other languages to see what can be higher level than c because I never felt like dealing with strings in c is a fun exercise, and not plural. And I that's how I ended with Python.</podcast:soundbite>
      <podcast:soundbite startTime="1132.49" duration="55.43">No. Parrot tried to do what JVM does, which is provide a common platform, common virtual machine that speaks 1 language, and then everybody would just compile to this high level platform and and be happy. And this doesn't seem to be working very well. That same goes with JavaScript these days. Like, you can compile any language you want to JavaScript, but you either have to choose. Your language has to be like JavaScript. I don't mean syntax because you can change that. But semantically, either has to be like JavaScript or will it be very, very slow. So you have this this semantics mismatch that makes it very difficult to compile certain things to a different high level virtual machine. And this is what Parekh tried to do, and this is where it failed because it turns out it's impossible to find a reasonable common subset because everybody is different.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:35:34</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>RPython with Maciej Fijalkowski</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>41</itunes:episode>
      <podcast:episode>41</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253211513666756f58ed34-f640-4a18-aaa9-eb217eb9061cv1.mp3" length="34165462" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253211513666756f58ed34-f640-4a18-aaa9-eb217eb9061cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_6f58ed34-f640-4a18-aaa9-eb217eb9061c638558842771089996.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6f58ed34-f640-4a18-aaa9-eb217eb9061c638558842768927900.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6f58ed34-f640-4a18-aaa9-eb217eb9061c638558842766930417.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Ben Darnell on Tornado</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, join our <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">Discourse community</a>, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>If you are trying to build a web application in Python that can scale to a high number of concurrent users, or you want to leverage the power of websockets, then Tornado just may be the library you need. In this episode we interview Ben Darnell about his work as the maintainer of the Tornado project and how it can be used in a number of ways to power your next high traffic site.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>We are also running a listener survey to get feedback about the show. You can find it at <a href="http://bit.do/podcastinit-survey?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">bit.do/podcastinit-survey</a>.</li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $20 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>I would also like to thank Hired, a job marketplace for developers and designers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus to $4,000.</li>
<li>Your hosts as usual are Tobias Macey and Chris Patti</li>
<li>We recently launched a new Discourse forum for the show which you can find at <a href="https://discourse.pythonpodcast.com?utm_source=rss&utm_medium=rss">discourse.pythonpodcast.com</a>. Join us to discuss the show, the episodes, and ideas for future interviews.</li>
<li>Today we are interviewing Ben Darnell about his work on Tornado</li>
</ul>

<h3>Interview with Ben Darnell</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>What is Tornado and what sets it apart from other HTTP servers? &#8211; Chris</li>
<li>How did you get involved with Tornado? &#8211; Ben</li>
<li>What was the inspiration for the name? &#8211; Tobias</li>
<li>Tornado was created before the recent focus on asynchronous applications. What prompted that design choice and when might someone care about using async in their development? &#8211; Tobias</li>
<li>What is involved in creating an event loop and what are some of the specific design decisions that you made when implementing one for Tornado? &#8211; Tobias</li>
<li>How does Tornado’s event loop compare to other packages such as Twisted or the asyncio module in the standard library? &#8211; Tobias</li>
<li>The web module appears to provide a minimal framework for developing web apps. How scalable are those capabilities and is there a recommended architecture for people using Tornado to develop web applications? &#8211; Tobias</li>
<li>What are some use cases in which a developer might choose Tornado over other similar options? &#8211; Chris</li>
<li>Could you please give our listeners an overview of Tornado’s concurrency options including coroutines? &#8211; Chris</li>
<li>I see that Tornado supports interoperability with the WSGI protocol and one of the use cases mentioned is for running a Django application alongside a Tornado app. Is that a common way for providing websocket capabilities alongside an existing web app? &#8211; Tobias</li>
<li>I noticed that Tornado provides non-blocking versions of bare sockets and TCP connections. Are there any add-on packages available to simplify the use of various network protocols along the lines of what Twisted includes? &#8211; Tobias</li>
<li>Please tell us about the transition of Tornado to Python 3. What obstacles did you face and how did you overcome them? &#8211; Chris</li>
<li>Based on your issue tracker it looks like http2 support is definitely on the roadmap. Could you please detail your future plans in this area? &#8211; Chris</li>
<li>What are some of the common “gotcha’s” for people who are just starting to use Tornado? &#8211; Tobias</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1O1Tq4F?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adventures of Riley</a></li>
<li><a href="http://amzn.to/1O1TuS5?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dayworld Trilogy</a> by Philip José Farmer</li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Sense8?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sense8</a></li>
<li><a href="http://amzn.to/1RWGobg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Habits of a Happy Brain</a></li>
<li><a href="https://www.ethereum.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ethereum</a></li>
</ul>

<p></li><br>
<li>Ben</p>

<ul>
<li><a href="http://thememorypalace.us/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Memory Palace</a></li>
<li><a href="https://newsblur.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Newsblur</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://groups.google.com/forum/#!forum/python-tornado?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="https://motor.readthedocs.org/en/stable/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Motor</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-40-ben-darnell-on-tornado%2F&amp;action_name=Ben+Darnell+on+Tornado+-+Episode+40&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-40-ben-darnell-on-tornado/</guid>
      <link>https://www.pythonpodcast.com/episode-40-ben-darnell-on-tornado</link>
      <pubDate>Sat, 16 Jan 2016 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2871.02" duration="18.89">Yeah. And then that's also related to the whole introduction of asyncio and, the Python 3.5 async and await keywords. These are things that you can't really use in WSGI effectively as the protocol stands today. But there it would be that that would be something that would be good to get into a a future version of the whiskey protocol.</podcast:soundbite>
      <podcast:soundbite startTime="200.11" duration="31.40">So, what is Tornado, and what sets it apart from other HTTP servers? So Tornado is a, is is several things. It's a web framework and a server and asynchronous networking stack that all all work together. And so the, using the using the entire stack together, you can make, asynchronous web applications which can very efficiently serve lots of, lots of connections to, to users that are just held open and able to serve, real time updates out to the web pages.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:06:28</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Ben Darnell on Tornado</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>40</itunes:episode>
      <podcast:episode>40</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253175980591091a7de4d2-09ea-42b6-aad2-c9a1c53e87f9v1.mp3" length="63822158" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253175980591091a7de4d2-09ea-42b6-aad2-c9a1c53e87f9v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1a7de4d2-09ea-42b6-aad2-c9a1c53e87f9638558836541500505.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1a7de4d2-09ea-42b6-aad2-c9a1c53e87f9638558836535737990.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1a7de4d2-09ea-42b6-aad2-c9a1c53e87f9638558836533602849.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Yves Hilpisch on Quantitative Finance</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, join our community Discourse, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Yves Hilpisch is a founder of The Python Quants, a consultancy that offers services in the space of quantitative financial analysis. In addition, they have created open source libraries to help with that analysis. In this episode we spoke with him about what quantitative finance is, how Python is used in that domain, and what kinds of knowledge are necessary to do these kinds of analysis.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus to $4,000.</li>
<li>We are recording today on December 30th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Yves Hilpisch about Quantitative Finance</li>
</ul>

<div class="well"><a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="Hired Logo" data-recalc-dims="1" /></a>On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<h3>Interview with Yves Hilpisch</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you explain what Quantitative Finance is? &#8211; Tobias</li>
<li>How common is it for Python to be used in an investment bank or hedge fund? &#8211; Tobias</li>
<li>What factors contribute to the choice of whether or not to use Python in a Quantitative Finance role? &#8211; Tobias</li>
<li>Are there any performance bottle necks or other considerations inherent in using Python for quantitative finance? &#8211; Chris</li>
<li>What kind of background is necessary for getting started in Quantitative Finance? &#8211; Tobias</li>
<li>What kinds of libraries or algorithms in Python are useful for the day-to-day work of a quant? &#8211; Tobias</li>
<li>Is Python actually used to enact the trades? What protocols, APis, and libraries are used in this process? &#8211; Chris</li>
<li>Could you please walk us through how a simple analysis using DXAnalytics might work? &#8211; Chris</li>
<li>You work for a company called ‘<a href="http://tpq.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Python Quants</a>‘. What kinds of services do you provide and what kinds of organizations typically hire you? &#8211; Tobias</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1JJvnn4?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kraken</a> by China Miéville</li>
<li><a href="http://amzn.to/1JJvy1Q?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Heroes in Training series</a></li>
<li><a href="http://amzn.to/1JJvDTb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Olympians Graphic Novels</a></li>
<li><a href="http://dataelixir.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Elixir Newsletter</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://hillfarmstead.com/ancestral-series/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hill Farmstead &#8211; Edward</a></li>
<li><a href="http://longtrail.com/beers/culmination?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Long Trail &#8211; Brush &amp; Barrel Series &#8211; Culmination Chocolate Porter</a></li>
<li><a href="http://longtrail.com/beers/spaaaaaace-juice?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Long Trail &#8211; Spaaaaaace Juice Double IPA</a></li>
<li><a href="https://flask-restless.readthedocs.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask-RESTLess</a></li>
</ul>

<p></li><br>
<li>Yves</p>

<ul>
<li><a href="http://amzn.to/1TpRsN5?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Willpower Instinct</a></li>
<li><a href="http://amzn.to/1JJvXRX?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Way of the Seal</a></li>
<li><a href="http://amzn.to/1TpRwfE?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sapiens: A Brief History of Humankind</a></li>
<li><a href="http://www.anrdoezrs.net/5f108tenkem19A634571334823BA1366A4B442B222?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F9781783288458.do%3Fcmp%3Daf-na-books-videos-product_cj_9781783288465_%2525zp&amp;cjsku=9781783288458&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python High Performance Computing</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/dyjh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://hilpisch.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="https://www.quandl.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quandl</a></li>
<li><a href="http://finance.yahoo.com/market-overview/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Yahoo Finance Market Data</a></li>
<li><a href="http://www.ravenpack.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ravenpack</a></li>
<li><a href="http://dx-analytics.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DX Analytics</a></li>
<li><a href="http://datapark.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DataPark.io</a></li>
<li><a href="http://www.anrdoezrs.net/hh104gv30v2IQROJQSOIKKLPJKSRIKNNRLSLLJSJJJ?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920032441.do%3Fcmp%3Daf-strata-books-videos-product_cj_9781491945278_%2525zp&amp;cjsku=9781491945278&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python for Finance</a></li>
<li><a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-1119037999.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Derivatives Analytics With Python</a></li>
<li><a href="http://fpq.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Quants Conference</a></li>
<li><a href="http://osqf.tpq.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Source for Quant Finance</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-39-yves-hilpisch-on-quantitative-finance%2F&amp;action_name=Yves+Hilpisch+on+Quantitative+Finance+-+Episode+39&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-39-yves-hilpisch-on-quantitative-finance/</guid>
      <link>https://www.pythonpodcast.com/episode-39-yves-hilpisch-on-quantitative-finance</link>
      <pubDate>Fri, 8 Jan 2016 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="542.82" duration="18.37">So the unification, power of Python, I think, is 1 that is, yeah, dominant these days. So when you when you start out, then you can decide on your own. Again, the example, a team coming out of a big investment bank, they set up shop with their new fund, their emerging managers, they can decide on what technology to start with.</podcast:soundbite>
      <podcast:soundbite startTime="413.76" duration="15.76">Well, I think, coming from, yeah, a history where Python hasn't played a role in the quantitative finance part, We usually see if finances is if Python is used at all kind of a blend of technologies, that they use in quantitative finance.</podcast:soundbite>
      <podcast:soundbite startTime="227.69" duration="9.11">But the biggest institutions in the world like Bank of America Merrill Lynch, they're heavy Python users these days. They prove right, that Python is indeed a very good choice for finance.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:10:30</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Yves Hilpisch on Quantitative Finance</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>39</itunes:episode>
      <podcast:episode>39</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321647324379605609ae-042b-45b9-8519-f10c005dee3cv1.mp3" length="67710621" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321647324379605609ae-042b-45b9-8519-f10c005dee3cv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_605609ae-042b-45b9-8519-f10c005dee3c638558844981502471.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/605609ae-042b-45b9-8519-f10c005dee3c638558844977250716.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/605609ae-042b-45b9-8519-f10c005dee3c638558844975253387.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Scott Sanderson on Algorithmic Trading</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Because of its easy learning curve and broad extensibility Python has found its way into the realm of algorithmic trading at <a href="https://www.quantopian.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantopian</a>. In this episode we spoke with Scott Sanderson about what algorithmic trading is, how it differs from high frequency trading, and how they leverage Python for empowering everyone to try their hand at it.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>We are recording today on December 16th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Scott Sanderson on Algorithmic Trading</li>
</ul>

<h3>Interview with Scott Sanderson</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you explain what algorithmic trading is and how it differs from high frequency trading? &#8211; Tobias</li>
<li>What kinds of algorithms and libraries are commonly leveraged for algorithmic trading? &#8211; Tobias</li>
<li>Quantopian aims to make algorithmic trading accessible to everyone. What do people need to know in order to get started? Is it necessary to have a background in mathematics or data analysis? &#8211; Tobias</li>
<li>Does the Quantopian platform build in any safe guards to prevent user’s algorithms from spiraling out of control and creating or contributing to a market crash? &#8211; Chris</li>
<li>How is Python used within Quantopian and when do you leverage other languages? &#8211; Tobias</li>
<li>What Pypi packages does Quantopian leverage in its platform? &#8211; Chris</li>
<li>How do the financial returns compare between algorithmic vs human trading on the stock market? &#8211; Tobias</li>
<li>Can you speak about any trends you see in the trading algorithms people are creating for the Quantopian platform? &#8211; Chris</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1m8PZzF?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kinetic Sand</a></li>
<li><a href="http://www.trivium.org/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trivium</a></li>
<li><a href="http://www.thriftbooks.com/share/?code=UEsuqagAMz2wULIVOi2s%252fQ%253d%253d&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thrift Books</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://asherv.com/threes/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Threes</a></li>
<li><a href="https://en.wikipedia.org/wiki/Jessica_Jones_(TV_series?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jessica Jones</a>)</li>
<li><a href="https://serialpodcast.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Serial</a></li>
</ul>

<p></li><br>
<li>Scott</p>

<ul>
<li><a href="http://www.dota2.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dota 2</a></li>
<li><a href="https://en.wikipedia.org/wiki/Philosophical_Investigation?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Philosophical Investigations</a></li>
<li><a href="http://www.logicomix.com/en/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logicomix</a></li>
<li><a href="http://amzn.to/1VySAiL?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Infinite Jest</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/scottbsanderson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="mailto:scott@quantopian.com">Email</a></li>
<li><a href="https://github.com/ssanderson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="https://github.com/quantopian/qgrid?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QGrid</a></li>
<li><a href="https://github.com/mleibman/SlickGrid?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SlickGrid</a></li>
<li><a href="https://github.com/jupyter/jupyterhub?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Hub</a></li>
<li><a href="http://lighttable.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Light Table</a></li>
<li><a href="https://codemirror.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeMirror</a></li>
<li><a href="http://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a></li>
<li><a href="https://www.youtube.com/watch?v=8XlDvGYhlr8&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyData NYC Talk by Scott</a></li>
<li><a href="http://blaze.readthedocs.org/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blaze</a></li>
<li><a href="http://dask.readthedocs.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dask</a></li>
<li><a href="http://deeplearning.net/software/theano/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Theano</a></li>
<li><a href="https://www.tensorflow.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TensorFlow</a></li>
<li><a href="https://github.com/quantopian/zipline?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zipline</a></li>
<li><a href="http://quantopian.github.io/pyfolio/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pyfolio</a></li>
<li><a href="https://github.com/quantopian/pgcontents?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PGContents</a></li>
<li><a href="http://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="http://www.gevent.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gevent</a></li>
<li><a href="https://www.quantopian.com/lectures?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">quantopian.com/lectures</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-38-scott-sanderson-on-algorithmic-trading%2F&amp;action_name=Scott+Sanderson+on+Algorithmic+Trading+-+Episode+38&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-38-scott-sanderson-on-algorithmic-trading/</guid>
      <link>https://www.pythonpodcast.com/episode-38-scott-sanderson-on-algorithmic-trading</link>
      <pubDate>Sun, 3 Jan 2016 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="96.13" duration="30.83">So the very first introduction to Python I had was my senior year of high school, I think, so that would be 2, 009, and I did like the basic intro to computer science class, which is, you know, here is a program, here is hello world, here's loops and conditionals, and all these other kinds of things. And then I went off to college at Williams College, which is a small liberal arts college in the northwestern most corner of Massachusetts, and I didn't do much programming for the 1st 2 years that I was there.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:27:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Scott Sanderson on Algorithmic Trading</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>38</itunes:episode>
      <podcast:episode>38</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532177301734900642e49-02d2-4907-83e0-f30e3255ce54v1.mp3" length="84403453" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852532177301734900642e49-02d2-4907-83e0-f30e3255ce54v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_00642e49-02d2-4907-83e0-f30e3255ce54638558845535835923.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00642e49-02d2-4907-83e0-f30e3255ce54638558845529194621.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00642e49-02d2-4907-83e0-f30e3255ce54638558845526675656.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>The PEP Talk</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>The Python language is built by and for its community. In order to add a new feature, change the specification, or create a new policy the first step is to submit a proposal for consideration. Those proposals are called PEPs, or Python Enhancement Proposals. In this episode we had the great pleasure of speaking with three of the people who act as stewards for this process to learn more about how it got started, how it works, and what impacts it has had.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>This episode is sponsored by Zato &#8211; Microservices, ESB, SOA, REST, API, and Cloud Integrations in Python. Visitzato.io to learn more about how to integrate smarter in the modern world.</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Searching for Pythonistas with Disabilities</li>
<li>We are recording today on December 7th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing some of the PEP editors</li>
</ul>

<h3 style="clear: both;">Interview with PEP editors</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>For anyone who isn’t familiar with them, can you explain what a PEP is and how they influence the Python language? &#8211; Tobias</li>
<li>What are the requirements for a PEP to be considered for approval and what does the overall process look like to get it finalized? &#8211; Tobias</li>
<li>How has the PEP process evolved to meet challenges posed by changes in the Python community? &#8211; Chris</li>
<li>How many reviewers are there and how did each of you end up in that role? Is there a set number of editors that must be maintained and if so how did you arrive at that number? &#8211; Tobias</li>
<li>What mistakes have other communities made when creating similar processes, and how has PEP learned from those mistakes? &#8211; Chris</li>
<li>There are different categories for PEPs. Can you describe what those are and how you arrived at that ontology? &#8211; Tobias</li>
<li>Is there any significance to the numbering system used for identifying different PEPs? &#8211; Tobias</li>
<li>How does the PEP process maintain its sense of humor (e.g. PEP 20) while being sure to be taken seriously where it really counts? &#8211; Chris</li>
<li>Along the lines of humorous PEPs, can you share the story of PEP 401? &#8211; Tobias</li>
<li>How does the PEP process strive to prevent an undesirable level of control by any one company or other special interest group? &#8211; Chris</li>
<li>How much control does Guido have over the PEP process? Has a PEP ever directly countered Guido’s wishes? How did it turn out? &#8211; Chris</li>
<li>What is your favorite PEP and why? &#8211; Tobias
<ul>
<li>Barry: <a href="https://www.python.org/dev/peps/pep-0020/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 20</a></li>
<li>Chris: <a href="https://www.python.org/dev/peps/pep-0479/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 479</a></li>
<li>David: <a href="https://www.python.org/dev/peps/pep-0020/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 20</a></li>
</ul>

<p></li><br>
<li>What, in your opinion, has been the most important or far-reaching PEP, whether it was approved or not? &#8211; Tobias</p>

<ul>
<li>David: <a href="https://www.python.org/dev/peps/pep-0020/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 20</a></li>
<li>Chris: <a href="https://www.python.org/dev/peps/pep-0466/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 466</a></li>
<li>Barry: <a href="https://www.python.org/dev/peps/pep-0008/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 8</a></li>
</ul>

<p></li><br>
<li>What was the strangest / most extreme PEP proposal you’ve ever seen? &#8211; Chris</p>

<ul>
<li>Chris: PEP <a href="https://www.python.org/dev/peps/pep-0501/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">501</a></li>
<li>Barry: PEP <a href="https://www.python.org/dev/peps/pep-0507/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">507</a></li>
<li>David: PEP <a href="https://www.python.org/dev/peps/pep-0666/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">666</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://wagtail.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wagtail CMS</a></li>
<li><a href="http://amzn.to/1PSBoVX?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Inside Out</a></li>
<li><a href="http://www.cbc.ca/radio/spark?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spark Podcast</a></li>
<li><a href="http://www.openculture.com/2015/12/steve-martin-writes-a-hymn-for-hymn-less-atheists.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hymn for Atheists</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.imdb.com/title/tt3203606/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trumbo</a></li>
<li><a href="https://www.youtube.com/playlist?list=SPdNh1e1kmiPP4YApJm8ENK2yMlwF1_edq&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy Crash Course</a></li>
<li><a href="http://jihadology.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jihadology Podcast</a></li>
</ul>

<p></li><br>
<li>Barry</p>

<ul>
<li><a href="https://testrun.org/tox/latest?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tox</a></li>
<li><a href="http://nose2.readthedocs.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nose2</a></li>
<li><a href="http://www.imdb.com/title/tt2357547/?ref_=nv_sr_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jessica Jones</a></li>
<li><a href="http://www.thegreatcourses.com/courses/joy-of-science.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Joy of Science</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://git-man-page-generator.lokaltog.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Git Manpage Generator</a></li>
<li><a href="http://dailymtg.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Daily MTG</a></li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li><a href="http://www.imdb.com/title/tt3089388/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tim’s Vermeer</a></li>
<li><a href="http://amzn.to/1RLQT2q?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ready Player One</a></li>
<li><a href="http://amzn.to/1klbBHS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Aristocrats</a></li>
<li><a href="http://scientificsong.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scientific Songs of Praise</a></li>
<li><a href="https://soundcloud.com/hollywoodbabbleon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hollywood Babble On</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Barry
<ul>
<li><a href="wefearchange.org">Blog</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="rosuav.blogspot.com">Blog</a></li>
<li><a href="https://github.com/rosuav?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li><a href="python.net/~goodger">Website</a></li>
<li><a href="david.goodger.org">Blog</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://smile.amazon.com/Complete-Monty-Pythons-Flying-Circus/dp/0679726470/ref=sr_1_1?ie=UTF8&amp;qid=1449600613&amp;sr=8-1&amp;keywords=Monty+Python+all+the+words&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monty Python &#8211; All the Words</a></li>
<li><a href="https://www.youtube.com/user/MontyPython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monty Python &#8211; On YouTube</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0404/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 404</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0666/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 666</a></li>
<li><a href="https://www.youtube.com/watch?v=wf-BqAjZb8M&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raymond Hettinger PyCon 2015 PEP8 talk</a></li>
<li><a href="https://mail.python.org/mailman/listinfo/python-dev?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Dev Mailing List</a></li>
<li><a href="https://mail.python.org/mailman/listinfo/python-ideas?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Ideas Mailing List</a></li>
<li><a href="https://mail.python.org/mailman/listinfo/python-bugs-list?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Bug Mailing List</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-37-the-pep-talk%2F&amp;action_name=The+PEP+Talk+-+Episode+37&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-37-the-pep-talk/</guid>
      <link>https://www.pythonpodcast.com/episode-37-the-pep-talk</link>
      <pubDate>Sun, 27 Dec 2015 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="673.94" duration="74.78">So a PEP is an PEP is an acronym for Python enhancement proposal. And, it's really the way that the Python language and more than the language, the community and the way Python is developed. That's that is the central place where, the where all these things evolve. So for example, when new features are to be proposed for the language we, we write a PEP which describes how this feature will work, what the backwards compatibility issues might be, the design of the of the feature, how it might interact with other features. It'll have a discussion about, alternatives that maybe were discussed and rejected, and it'll usually have links to, implementation, example implementations that people can play with before the, the, PEP is accepted. So it's really, you know, the the the main thing is for, language development for new features, but there are a few other types of PEPs involved, and I I guess we can talk about those later.</podcast:soundbite>
      <podcast:soundbite startTime="1502.54" duration="75.39">I think the other the other, change that happened, I don't know how long ago, that I think helped out a lot, because I got I got personally kind of burned out on being a PEP editor at some time. And fortunately, we had, you know, great people like Chris and me and David to to really take over. But once the we sort of opened up the repository, the version control repository, to a wider audience, you know, now I mean, it used to be that all the PEP numbers had to go through an editor to be assigned. And I think it's pretty much the case that if you're a core developer, you already have commit access. You can pretty much self assign a PEP, just pull the next PEP number and just self assign it and and check it in without That's right. That that's a decision we made some years ago because there was just too much noise going on. Too many too many people that we already trusted. I mean, the trust they were already vetted by getting, the commit bit for the for the our version control system for the the the core code. And if they were okay to write there, then no problem writing to the repository. So, yeah, just go and get the next number and do it yourself.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:45:42</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>The PEP Talk</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>37</itunes:episode>
      <podcast:episode>37</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530283850300600366abd-02a0-4438-bab4-41854a84aa79v1.mp3" length="101495560" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530283850300600366abd-02a0-4438-bab4-41854a84aa79v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_00366abd-02a0-4438-bab4-41854a84aa79638558801947995733.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00366abd-02a0-4438-bab4-41854a84aa79638558801939725832.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00366abd-02a0-4438-bab4-41854a84aa79638558801937293948.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Eric Holscher on Documentation and Read The Docs</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>The first place we all go for learning about new libraries is the documentation. Lack of effective documentation can limit the adoption of an otherwise excellent project. In this episode we spoke with Eric Holscher, co-creator of <a href="https://readthedocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Read The Docs</a>, about why documentation is important and how we can all work to make it better.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are recording today on November 30th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Eric Holscher about Documentation</li>
</ul>

<div class="well"><a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/tdegpr/linode-banner-sponsor-large.png?w=1200&utm_source=rss&utm_medium=rss" alt="Linode Sponsor Banner" data-recalc-dims="1" /></a>Use the promo code <strong>podcastinit10</strong> to get a $10 credit when you sign up!</p>
</div>

<div class="well"><a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img style="float: left; margin-right: 20px;" src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="Hired Logo" data-recalc-dims="1" /></a>On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<h3 style="clear: both;">Interview with Eric Holscher</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>You are one of the people behind the Read The Docs project. What was your inspiration for creating that platform and why is documentation so important in software? &#8211; Tobias</li>
<li>What makes Read The Docs different from other static sources for documentation? &#8211; Chris</li>
<li>The Python community seems to have a stronger focus on well-documented projects than some other languages. Do you have any theories as to why that is the case? &#8211; Tobias</li>
<li>Can you outline the landscape of projects that leverage the documentation capabilities that are built in to the Python language? &#8211; Tobias</li>
<li>Can you estimate the overall user base for Read The Docs? &#8211; Chris</li>
<li>Do you have any advice around methods or approaches that can help developers create and maintain effective documentation? &#8211; Tobias</li>
<li>Can you list some projects that you have found to provide the best documentation and what was remarkable about them? &#8211; Tobias</li>
<li>Newcomers to open source are often encouraged to submit improvements to a projects documentation as a way to get started and become involved with the community. Do you have any general advice on how to find and understand undocumented features? &#8211; Tobias</li>
<li>Do you have any statistics on the languages represented among the projects that host their documentation with you? &#8211; Tobias</li>
<li>What are some of the challenges you’ve faced and overcome in maintaining such a large repository of documentation from so many projects? &#8211; Chris</li>
<li>How can our listeners contribute to the project? &#8211; Chris</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1S27VZp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Man from Uncle</a></li>
<li><a href="https://www.youtube.com/user/minutephysics?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Minute Physics</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://devblog.avdi.org/newsletter/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SigAvdi</a></li>
<li><a href="http://amzn.to/1S27PRg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Black Flags: The Rise of ISIS</a></li>
<li><a href="https://www.youtube.com/user/1veritasium?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Veritassium</a></li>
</ul>

<p></li><br>
<li>Eric</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Khao_soi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Khao Soi</a></li>
<li><a href="http://worrydream.com/ClimateChange/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Climate Change</a></li>
<li><a href="http://michaelpollan.com/articles-archive/unhappy-meals/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Gardening &amp; healthy eating &#8211; Classic</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Twitter
<ul>
<li><a href="https://twitter.com/ericholscher?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ericholscher</a></li>
<li><a href="https://twitter.com/readthedocs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@readthedocs</a></li>
<li><a href="https://twitter.com/writethedocs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@writethedocs</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://stripe.com/docs/api#intro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stripe docs</a></li>
<li><a href="http://tutorial.djangogirls.org/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django Girls Tutorial</a></li>
<li><a href="http://conf.writethedocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Write The Docs</a></li>
<li><a href="https://www.youtube.com/watch?v=ZwQ8Kd48d0w&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Write The Docs Meetup Talk</a></li>
<li><a href="http://slack.writethedocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Write The Docs Slack Channel</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-36-eric-holscher-on-documentation-and-read-the-docs%2F&amp;action_name=Eric+Holscher+on+Documentation+and+Read+The+Docs+-+Episode+36&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-36-eric-holscher-on-documentation-and-read-the-docs/</guid>
      <link>https://www.pythonpodcast.com/episode-36-eric-holscher-on-documentation-and-read-the-docs</link>
      <pubDate>Sun, 20 Dec 2015 16:00:00 +0000</pubDate>
      <podcast:soundbite startTime="207.47" duration="23.36">So, yeah, it was really just, you know, the classic kind of scratching an itch. I had a few open source projects that I had documentation for, and I had just, you know, they were on my personal website and I had just, like, a cron job running every half an hour, you know, pulling down the git branch and, you know, running sphinxes make HTML command and, you know, copying them into a a web directory, and that was kind of the the state of the art at that time.</podcast:soundbite>
      <podcast:soundbite startTime="1640.16" duration="15.10">Yeah. I just think it's a it's a healthy sign that the discussion is discussion is happening. You know? Like, I think 5 years ago, you know, money was like a a the 3rd rail of open source Right. In a lot of ways. And just seeing the conversation happening is a a huge improvement.</podcast:soundbite>
      <podcast:soundbite startTime="1380.05" duration="28.30">And I think that, you know, in general, kind of sustainability and and supporting open source, projects in the long term is is really 1 of the the big outstanding issues in the open source community, and something I'm, you know, very intimately involved with, and it's, you know, material to my my livelihood. So it's something that I I realized we haven't always been great at. You know, I think in general, a lot of open source, you can't even give them money, and read the docs has been pretty bad about this.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:05:34</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Eric Holscher on Documentation and Read The Docs</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>36</itunes:episode>
      <podcast:episode>36</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531727215133900b75f9f-36a1-40af-8630-c4729ac9e298v1.mp3" length="62963733" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531727215133900b75f9f-36a1-40af-8630-c4729ac9e298v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_00b75f9f-36a1-40af-8630-c4729ac9e298638558835458335042.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00b75f9f-36a1-40af-8630-c4729ac9e298638558835455330843.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/00b75f9f-36a1-40af-8630-c4729ac9e298638558835453473083.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Sylvain Thénault on ASTroid</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>The Python AST (Abstract Syntax Tree) is a powerful abstraction that allows for a number of innovative projects. ASTroid is a library that provides additional convenience methods to simplify working with the AST. In this episode we spoke with Sylvain Thénault from Logilab about his work on ASTroid and how it is used to power the popular PyLint static analysis tool.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are recording today on November 23rd, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Sylvain Thénault about ASTroid</li>
</ul>

<div class="well"><a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="Hired Logo" data-recalc-dims="1" /></a>On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<div class="well"><a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/tdegpr/linode-banner-sponsor-large.png?w=1200&utm_source=rss&utm_medium=rss" alt="Linode Sponsor Banner" data-recalc-dims="1" /></a>Use the promo code <strong>podcastinit10</strong> to get a $10 credit when you sign up!</p>
</div>

<h3>Interview with Sylvain Thénault</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you explain what an Abstract Syntax Tree is and why it is a useful language feature? &#8211; Tobias</li>
<li>What was your inspiration for creating ASTroid? &#8211; Chris</li>
<li>What features does ASTroid offer over Python’s standard AST package, and what makes those features important? &#8211; Chris</li>
<li>I know that the ASTroid package is used in Pylint which is also maintained by Logilab. How does the AST facilitate static analysis of Python projects and are there cases where you have to fall back to text parsing? &#8211; Tobias</li>
<li>Beyond static analysis, what are some of the other possible uses for the Python AST? &#8211; Tobias</li>
<li>The documentation for the AST package in Python mentions that the specific syntax objects in the tree are subject to change between releases. Does the ASTroid package provide any abstractions to maintain a consistent API between versions or does it just provide a pass-through? &#8211; Tobias</li>
<li>Have you encountered any challenges in testing ASTroid given that it operates at such a low level in the language? &#8211; Chris</li>
<li>Do you have trouble attracting contributors given the great understanding of Python’s inner working required? &#8211; Chris</li>
<li>Does the implementation or representation of the AST differ between different distributions of Python such as CPython, PyPy and Jython? &#8211; Tobias</li>
<li>What are some of the most interesting applications ASTroid has been used in? &#8211; Chris</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://pre-commit.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pre-Commit</a></li>
<li><a href="http://existentialcomics.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Existential Comics</a></li>
<li><a href="http://amol-mandhane.github.io/htmlPy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">htmlPy</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.prettythingsbeertoday.com/wp/our-beers/fluffy-white-rabbits/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pretty Things &#8211; Fluffy White Rabbits</a></li>
<li><a href="https://www.fallout4.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fallout 4</a></li>
</ul>

<p></li><br>
<li>Sylvain</p>

<ul>
<li><a href="https://www.logilab.org/blogentry/6883?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyReverse</a></li>
<li><a href="https://www.cubicweb.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CubicWeb</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://mail.python.org/mailman/listinfo/code-quality?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Code Quality Mailing List</a></li>
<li><a href="https://lists.logilab.org/mailman/listinfo/pylint-dev?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyLint Dev Mailing List</a></li>
<li>Twitter
<ul>
<li><a href="https://twitter.com/sythenault?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@sythenault</a></li>
<li><a href="https://twitter.com/logilab?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@logilab</a></li>
</ul>

<p></li><br>
<li><a href="http://logilab.fr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logilab</a></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Visitor_pattern?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Visitor pattern</a></li>
<li><a href="http://www.pylint.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pylint</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-35-sylvain-thenault-on-astroid%2F&amp;action_name=Sylvain+Th%C3%A9nault+on+ASTroid+-+Episode+35&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-35-sylvain-thenault-on-astroid/</guid>
      <link>https://www.pythonpodcast.com/episode-35-sylvain-thenault-on-astroid</link>
      <pubDate>Sat, 12 Dec 2015 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="490.57" duration="82.56">So what features does Asteroid offer over Python standard AST package and what makes those features important? So beside the kind of compatibility layer, I I may say a bit more about that later, but this is, basically drive asteroid is driven by the pylons, need. So the kind of thing you will find, is like, some more advanced way to navigate inventory, like, you see some variable and you want to know which, assignments node have affected this variable. That's kind of name lookup, but quite different. And the the really main feature is, like, is a static inference, which based based on this, name resolution is capable of, answering question like, what's the value of this variable? And it's based on it's based on simply by analyzing the the static code.</podcast:soundbite>
      <podcast:soundbite startTime="2216.65" duration="53.30">And so does the implementation or representation of the AST differ between different distributions of Python, such as CPython, Pypy, and Jython? No. This is, the AST is is representing the Python language, and it should be so very different version of the language, but that's like, Python 2 or Python 3, or maybe you've got different constraint in Python 2 dot 5 and Python 3 dot 2. Provided that you are comparing CPython, 2 dot 7 and Py2.7, it should be the same AST, and Asteroid should be able to work with any Python implementation.</podcast:soundbite>
      <podcast:soundbite startTime="165.45" duration="56.38">Can you explain what an abstract syntax tree is and why it's a useful language feature? I can try to do that. Well, an abstract syntax tree is a representation of a source code. Like, try 2 different kind of representation, very very abstract syntax 3 and the parse 3. Parse 3, I acquired well, the difference is that Azure Central Suite doesn't, include every element of a source code, like parent or things like that, spaces around operator or stuff like that. So that's why it's it's kinda an higher level.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:47:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Sylvain Thénault on ASTroid</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>35</itunes:episode>
      <podcast:episode>35</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321246136280288cf76e-c872-4322-b3d8-eba2f942fd7ev1.mp3" length="45601617" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525321246136280288cf76e-c872-4322-b3d8-eba2f942fd7ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_288cf76e-c872-4322-b3d8-eba2f942fd7e638558843332576288.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/288cf76e-c872-4322-b3d8-eba2f942fd7e638558843329127488.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/288cf76e-c872-4322-b3d8-eba2f942fd7e638558843326400985.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Stuart Mumford on SunPy</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>What is Solar Physics? How does it differ from AstroPhysics? What does this all have to do with Python? In this episode we answer all of those questions when we interview Stuart Mumford about his work on SunPy. So put on your sunglasses and learn about how to use Python to decipher the secrets of our closest star.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are recording today on November 17th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Stuart Mumford about SunPy</li>
</ul>

<div class="well"><a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/tdegpr/linode-banner-sponsor-large.png?w=1200&utm_source=rss&utm_medium=rss" alt="Linode Sponsor Banner" data-recalc-dims="1" /></a>Use the promo code <strong>podcastinit10</strong> to get a $10 credit when you sign up!</p>
</div>

<div class="well"><a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img style="float: left; margin: 20px;" src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="Hired Logo" data-recalc-dims="1" /></a>On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<h3 style="clear: both;">Interview with Stuart Mumford</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Can you explain what the research and applications of solar physics are and how SunPy facilitates those activities? &#8211; Tobias</li>
<li>What was your inspiration for the SunPy project and what are you using it for in your research? &#8211; Tobias</li>
<li>Can you tell us what SunPy’s map and light curve classes are and how they might be used? &#8211; Chris</li>
<li>Are there any considerations that you need to be aware of when writing software libraries for practitioners of the hard sciences that would be different if the target audience were software engineers? &#8211; Tobias</li>
<li>Can SunPy consume data directly from telescopes and other observational apparatus? &#8211; Chris</li>
<li>I noticed on the project site that SunPy leverages AstroPy internally. Can you describe the relationship between the two projects and why someone might want to use SunPy in place of or in addition to AstroPy? &#8211; Tobias</li>
<li>Looking at the documentation I got the impression that there is a fair amount of visual representation of data for analysis. Can you describe some of the challenges that has posed? Is there integrated support for project Jupyter and are there other graphical environments that SunPy supports? &#8211; Tobias</li>
<li>What are some of the most interesting applications that SunPy has been used for? &#8211; Chris</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://elm-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elm</a></li>
<li><a href="http://avro.apache.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Avro</a></li>
<li><a href="https://www.commonsensemedia.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Common Sense Media</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.massdrop.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Massdrop</a></li>
<li><a href="http://21st-amendment.com/beers/fireside-chat/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">21st Amendment Fireside Chat</a></li>
<li><a href="https://www.youtube.com/user/ExtraCreditz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Extra Creditz</a></li>
</ul>

<p></li><br>
<li>Stuart</p>

<ul>
<li><a href="http://www.ustream.tv/channel/live-iss-stream?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Live ISS Stream with space-to-ground radio</a></li>
<li><a href="http://www.ustream.tv/channel/iss-hdev-payload?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Live ISS HD video stream 24/7</a></li>
<li><a href="http://yt-project.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">yt</a></li>
<li><a href="http://calf-studio-gear.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Calf Studio &#8211; Live Audio Processing</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="@stuartmumford">Twitter</a>(@sunpyproject)</li>
<li><a href="http://sunpy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SunPy.org</a></li>
<li><a href="https://github.com/sunpy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="#sunpy">IRC</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-34-stuart-mumford-on-sunpy%2F&amp;action_name=Stuart+Mumford+on+SunPy+-+Episode+34&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-34-stuart-mumford-on-sunpy/</guid>
      <link>https://www.pythonpodcast.com/episode-34-stuart-mumford-on-sunpy</link>
      <pubDate>Fri, 4 Dec 2015 17:00:00 +0000</pubDate>
      <podcast:soundbite startTime="426.20" duration="31.89">The purpose of SunPy is to provide the sort of core tools that exist in that library, not the instrument calibration routines, which were written by the people that built instruments. Sunby the goal of Sunby is to provide a modern Python based way of representing calibrated solar data for people to work on and do scientific study with.</podcast:soundbite>
      <podcast:soundbite startTime="147.24" duration="30.47">So the part of solar physics that I may mainly am involved with and Sun Pi kinda relates to is the part solar physics that studies the interaction of the sun and the earth. Specifically, all of the dramatic events that affect the earth in 1 way or another, be it potential to knock out satellites or power grids, kind of the large space weather events are all all kinda originate in the outer layers of the solar atmosphere.</podcast:soundbite>
      <podcast:soundbite startTime="214.82" duration="15.90">SunPy is a library that is designed to, represent and allow scientists to process observational data of the sun. So be it images, spectral data, or time series information.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:40:38</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Stuart Mumford on SunPy</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>34</itunes:episode>
      <podcast:episode>34</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253061161764357cfcfc67-aaed-4d23-9efa-77595df9328ev1.mp3" length="39031478" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253061161764357cfcfc67-aaed-4d23-9efa-77595df9328ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7cfcfc67-aaed-4d23-9efa-77595df9328e638558816465175538.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7cfcfc67-aaed-4d23-9efa-77595df9328e638558816462312038.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7cfcfc67-aaed-4d23-9efa-77595df9328e638558816460293633.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Maneesha Sane on Software and Data Carpentry</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>The Software and Data Carpentry organizations have a mission of making it easier for scientists and data analysts in academia to replicate and review each others work. In order to achieve this goal they conduct training and workshops that teach modern best practices in software and data engineering, including version control and proper data management. In this episode we had the opportunity to speak with Maneesha Sane, the program coordinator for both organizations, so that we could learn more about how these projects are related and how they approach their mission.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>This episode is sponsored by Zato &#8211; Microservices, ESB, SOA, REST, API, and Cloud Integrations in Python. Visit zato.io to learn more about how to integrate smarter in the modern world.</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are recording today on November 10th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Maneesha Sane about Software Carpentry and Data Carpentry</li>
</ul>

<div class="well"></div>

<div class="well" style="clear: both;"></div>

<h3 style="clear: both;">Interview with Maneesha Sane</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what the Software and Data Carpentry organizations are and what their respective goals are?</li>
<li>What is the history of these organizations and how are they related?</li>
<li>What does a typical Software Carpentry or Data Carpentry workshop look like?</li>
<li>What is the background of your instructors?</li>
<li>Can you explain why Python was chosen as the language for your workshops and why it is such a good language to use for teaching proper software engineering practices to scientists?</li>
<li>In what ways do the lessons taught by both groups differ and what parts are common between the two organizations?</li>
<li>What are some of the most important tools and lessons that you teach to scientists in academia?</li>
<li>Do you tend to focus mostly on procedural development or do you also teach object oriented programming in Software Carpentry?</li>
<li>What is the target audience for Data Carpentry and what are some of the most important lessons and tools taught to them?</li>
<li>Do you teach any particular method of pre-coding design like flowcharting, pseudocode, or top down decomposition in software carpentry?</li>
<li>What scientific domains are most commonly represented among your workshop participants for Software Carpentry?</li>
<li>What are some specific things the Python community and the Python core team could do to make it easier to adopt for your students?</li>
<li>What are the most common concepts students have trouble with in software &amp; data carpentry?</li>
<li>How can our audience help support the goals of these organizations?</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://vivaldi.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vivaldi Browser</a></li>
<li><a href="https://www.vyte.in/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">vyte.in</a></li>
<li><a href="http://www.shiftyjelly.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pocket Casts</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://chiptuneswin.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chiptunes = Win</a></li>
<li><a href="https://play.spotify.com/user/spotify/playlist/65y98W0UItf73DJKVgylTP?play=true&amp;utm_source=open.spotify.com&amp;utm_medium=open&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ESM &#8211; Electronic Study Music</a></li>
<li><a href="http://shop.supergalacticexpansive.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Supergalactic Expansive</a></li>
</ul>

<p></li><br>
<li>Maneesha</p>

<ul>
<li><a href="http://qpython.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">QPython</a></li>
<li><a href="https://www.youtube.com/user/thenewboston?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">New Boston</a></li>
<li><a href="http://www.lunarbaboon.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lunar Baboon</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Twitter
<ul>
<li><a href="https://twitter.com/swcarpentry?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@swcarpentry</a></li>
<li><a href="https://twitter.com/datacarpentry?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@datacarpentry</a></li>
<li><a href="https://twitter.com/maneeshasane?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@maneeshasane</a></li>
</ul>

<p></li><br>
<li><a href="http://maneeshasane.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li><br>
<li><a href="http://software-carpentry.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Software Carpentry</a></li><br>
<li><a href="http://datacarpentry.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Carpentry</a></li><br>
</ul></p>

<h3>Links</h3>

<ul>
<li><a href="http://numfocus.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumFocus</a></li>
<li><a href="https://github.com/swcarpentry?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Software Carpentry GitHub &#8211; Training Courses</a></li>
<li><a href="http://teaching.software-carpentry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Instructor Training</a></li>
<li><a href="http://lists.software-carpentry.org/mailman/listinfo/discuss_lists.software-carpentry.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Discussion Mailing List</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-33-maneesha-sane-on-software-and-data-carpentry%2F&amp;action_name=Maneesha+Sane+on+Software+and+Data+Carpentry+-+Episode+33&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-33-maneesha-sane-on-software-and-data-carpentry/</guid>
      <link>https://www.pythonpodcast.com/episode-33-maneesha-sane-on-software-and-data-carpentry</link>
      <pubDate>Wed, 25 Nov 2015 15:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1503.78" duration="26.79">And once you get the hang of it, it's incredibly empowering because it just frees you up to make mistakes and to experiment and to share. And you're not going to ruin your work if you do something bad because you know that you branched off or did something like that. So so I think Git is probably 1 of the most, transformatory, but also 1 of the things that I think people, struggle with the most.</podcast:soundbite>
      <podcast:soundbite startTime="1037.17" duration="15.55">So at the end of this workshop, you know, I would want people to realize that they don't have to do all of that, and they can ingest a couple of lines of code have all of that done. And not even necessarily knowing the exact code that they need to write, but really knowing that this is possibility.</podcast:soundbite>
      <podcast:soundbite startTime="124.53" duration="15.22">But in a nutshell, it's scientists teaching scientists the basic the basics of data management and analysis and computer programming, so that they have better tools to approach and manage their research.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:44:29</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Maneesha Sane on Software and Data Carpentry</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>33</itunes:episode>
      <podcast:episode>33</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317137900856b71e6390-54b7-42b6-91c8-c2beeee06502v1.mp3" length="42721003" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525317137900856b71e6390-54b7-42b6-91c8-c2beeee06502v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b71e6390-54b7-42b6-91c8-c2beeee06502638558834768001922.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b71e6390-54b7-42b6-91c8-c2beeee06502638558834763901596.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b71e6390-54b7-42b6-91c8-c2beeee06502638558834762021593.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Erik Tollerud on AstroPy</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and subscribe to our mailing list.</p>

<h3>Summary</h3>

<p>Erik Tollerud is an astronomer with a background in software engineering. He leverages these backgrounds to help build and maintain the AstroPy framework and its associated modules. AstroPy is a set of Python libraries that provide useful mechanisms for astronomers and astrophysicists to perform analyses on the data that they receive from observational equipment such as the mountain observatory that Erik was preparing to visit when we talked to him about his work. If you like Python and space then you should definitely give this episode a listen!</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Linode is sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are recording today on November 2nd, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Erik Tollerud about AstroPy</li>
</ul>

<div><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="hired-logo-dark-padding.png" data-recalc-dims="1" />On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<div><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/tdegpr/linode-banner-sponsor-large.png?w=1200&utm_source=rss&utm_medium=rss" alt="linode-banner-sponsor-large.png" data-recalc-dims="1" />Use the promo code <strong>podcastinit10</strong> to get a $10 credit when you sign up!</p>
</div>

<h3>Interview with Erik Tollerud</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What was the inspiration to create AstroPy and what kinds of astronomical research can it be used for?</li>
<li>Can you tell us what AstroPy’s modeling functions are and give us examples of where they might be used?</li>
<li>Are there any considerations that you need to be aware of when writing software libraries for practitioners of the hard sciences that would be different if the target audience were software engineers?</li>
<li>What are some of the most interesting applications that AstroPy has been used for?</li>
<li>Are there open data sets that are available for people outside of academia to do analysis of astronomical data using AstroPy?
<ul>
<li>Have there been any useful discoveries made in this way?</li>
</ul>

<p></li><br>
<li>Could you please tell us about AstroPy’s Virtual Observatory capabilities?</li><br>
<li>What are some interesting use cases for AstroPy’s Cosmological calculations?</li><br>
<li>Are there other libraries available that provide similar capabilities, perhaps in other languages? What makes AstroPy unique among them?</li><br>
<li>Can AstroPy consume data directly from telescopes and other observational apparatus?</li><br>
<li>The amount of data generated from observing astronomical phenomena must be immense. What are some of the tools used to manage that data and how does AstroPy interface with them?</li><br>
<li>How might AstroPy be used to prove or disprove the cold dark matter hypothesis?</li><br>
<li>What are some of the architectural choices that have been made to allow for the AstroPy library to serve as the core for a number of other add-ons?</p>

<ul>
<li>Does AstroPy provide a common data format to allow for easy interoperability between the various addons?</li>
</ul>

<p></li><br>
<li>I noticed that AstroPy adheres to the PSF code of conduct, as well as having adopted an enhancement proposal process modelled after PEPs. Can you explain why that is important and what kind of an impact it has had on the community around AstroPy?</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://citizen-ex.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Citizen Ex</a></li>
<li><a href="https://github.com/sesh/piprot?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">piprot</a></li>
<li><a href="http://www.openculture.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open Culture</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.theallusionist.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Allusionist</a></li>
<li><a href="http://thisiscriminal.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Criminal</a></li>
<li><a href="http://www.dancarlin.com/hardcore-history-series/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hardcore History</a></li>
</ul>

<p></li><br>
<li>Erik</p>

<ul>
<li><a href="http://hubblesite.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">HubbleSite</a></li>
<li><a href="http://www.thegreatcourses.com/courses/history-of-the-ancient-world-a-global-perspective.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Great Courses &#8211; History of the Ancient World</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://www.astropy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">astropy.org</a></li>
<li><a href="https://mail.scipy.org/mailman/listinfo/astropy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AstroPy User Mailing List</a></li>
<li><a href="https://groups.google.com/forum/#!forum/astropy-dev?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AstroPy Dev Mailing List</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="http://www.astropy.org/astropy-tutorials/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tutorials.astropy.org</a></li>
<li><a href="https://github.com/astropy/astroquery?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">AstroQuery</a></li>
<li><a href="http://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-32-erik-tollerud-on-astropy%2F&amp;action_name=Erik+Tollerud+on+AstroPy+-+Episode+32&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-32-erik-tollerud-on-astropy/</guid>
      <link>https://www.pythonpodcast.com/episode-32-erik-tollerud-on-astropy</link>
      <pubDate>Fri, 20 Nov 2015 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="134.64" duration="37.10">Well, the inspiration to create AstroPi sort of came from the fact that, 4 4 years ago, I guess now, 4 or 5 years ago, there had been a lot of discussion about the problem that there were a lot of little libraries to doing to do a lot of standard things in astronomy. And all of these libraries were, you know, overlapping somewhat in functionality, mostly incompatible, each programmed by sort of 1 person who was writing it as they have the time. And this was clearly a huge waste of resources. So we essentially got together and said, well, maybe we should just work together on a project.</podcast:soundbite>
      <podcast:soundbite startTime="532.45" duration="47.24">So I'm curious if there are any considerations that you need to be aware of and that you had to account for when writing libraries like AstroPi for practitioners of the hard sciences that would be different if the target audience were software engineers? Oh, absolutely. This is probably the hardest thing of the whole project is trying to sort of convince astronomers who are generally not terribly well versed in software. You know, many of them have had no formal education in software even though probably 80 to 90% of everyone's job is, well, is is either writing papers or writing code that goes into the papers they're about to write. You know, data sort of data analysis code, yet, easily half of them have no formal training at all in software and just had to sort of pick it up as they go along.</podcast:soundbite>
      <podcast:soundbite startTime="2184.70" duration="62.36">So the we actually started with the PSF code of conduct as, in part because we were, we're about to have a conference, an actual a fully organized conference on Python or on on, Python and astronomy. And we we knew because that would be a larger group, there was a distinct possibility for needing this sort of code of conduct. And it was just a really good starting point. And what we ended up doing was starting from the PSF code of conduct as 1 that was fairly relevant for us as a group of Python coders, and actually had a whole session at the conference on sort of crowdsourcing, you might say, the code of conduct. And the code of conduct we now use that's listed on the Astro Pi website came out of this, what what we call an unconference session, actually, where, a lot of the people involved or at the conference helped write it, had a lot of discussion about what we thought were the important elements and which which were relevant for us and which weren't given that we were both astronomy and Python instead of just 1 or the other.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:19</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Erik Tollerud on AstroPy</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>32</itunes:episode>
      <podcast:episode>32</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296945664300bfcc4a87-dcd4-4443-8310-0586df6ac75fv1.mp3" length="47361669" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296945664300bfcc4a87-dcd4-4443-8310-0586df6ac75fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_bfcc4a87-dcd4-4443-8310-0586df6ac75f638558786869623991.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bfcc4a87-dcd4-4443-8310-0586df6ac75f638558786866855180.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/bfcc4a87-dcd4-4443-8310-0586df6ac75f638558786864881787.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Dariusz Suchojad on Zato</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Service integration platforms have traditionally been the realm of Java projects. Zato is a project that shows Python is a great choice for systems integration due to its flexibility and wealth of useful libraries. In this episode we had the opportunity to speak with Dariusz Suchojad, the creator of Zato about why he decided to make it and what makes it interesting. Listen to the episode and then take it for a spin.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a>, leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a>, or leave a comment on our <a href="http://pythonpodcast.com/dariusz-suchojad-zato.html?utm_source=rss&utm_medium=rss">show notes</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Linode is also sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project.</li>
<li>We are recording today on October 27th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Dariusz Suchojad about Zato</li>
</ul>

<div class="well"></div>

<h3>Interview with Dariusz Suchojad</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what Zato is and what motivated you to create it?</li>
<li>What makes Zato stand out from other service bus implementations?</li>
<li>What are some signs that someone should consider incorporating Zato into their software architecture?</li>
<li>Does zato perform well in restricted resource environments like ec2? What performance bottlenecks are common when using zato?</li>
<li>It seems that most other ESB projects are written in Java. What advantages does Python have over Java for this kind of project and in what ways is it inferior?</li>
<li>The architectural nature of ESBs are such that they form the central backbone of a software system. How have you been able to ensure an appropriate level of reliability and stability in Zato while still delivering new features and improvements?</li>
<li>What are the scalability and high availability characteristics of Zato?</li>
<li>Does zato run well using pypy?</li>
<li>For anyone wanting to use Zato, what are the infrastructure requirements for deployment?</li>
<li>What are some of the security ramifications you took into account in zato’s design?</li>
<li>What are some of the most novel uses for Zato that you have seen or heard about?</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1PP6BZF?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SPY</a></li>
<li><a href="https://www.reverbnation.com/royersonemanband?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eric Royer’s One Man Band</a></li>
<li><a href="https://github.com/nvie/pip-tools?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pip-tools</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://spaghettionthewallproductions.com/rational-security/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rational Security</a></li>
<li><a href="http://www.newrustacean.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">New Rustacean Podcast</a></li>
<li><a href="http://cocktailvirgin.blogspot.com/2011/02/johan-goes-to-mexico.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Johan Goes to Mexico</a></li>
</ul>

<p></li><br>
<li>Dariusz</p>

<ul>
<li><a href="http://www.sublimetext.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sublime Text Editor</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://zato.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">zato.io</a></li>
<li><a href="https://twitter.com/zatosource?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twiter</a></li>
<li><a href="https://github.com/zatosource?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-31-dariusz-suchojad-on-zato%2F&amp;action_name=Dariusz+Suchojad+on+Zato+-+Episode+31&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-31-dariusz-suchojad-on-zato/</guid>
      <link>https://www.pythonpodcast.com/episode-31-dariusz-suchojad-on-zato</link>
      <pubDate>Fri, 13 Nov 2015 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="447.99" duration="44.76">And to be precise, data uses gunicom, which is a very scalable server in Python that lets you leverage multiple CPUs, yet at the same time, it's an it's a so called asynchronous server, so you can accept a large number of TCP connections despite there being only a handful of of CPUs. That's, that's how the core networking part works. Each Sato each Sato environment is 1 or more clusters, so there's a built in load balancer to distribute the traffic across multiple servers in case 1 server is not enough.</podcast:soundbite>
      <podcast:soundbite startTime="128.28" duration="46.22">It got me curious because it was a book on Java, and here the author is mentioning another programming language, so I paused the book, downloaded Python, and actually, I never get back to that to that book again. I stayed I just stayed with Python, though, eventually, I did spend several years using Java as my programming language, for, so, 5 or 6 years, but Python has always been the only language I I you know, I could I could truly I was truly able to express myself in. It's the only language that that, you know, I just feel it lets me fly.</podcast:soundbite>
      <podcast:soundbite startTime="794.61" duration="71.29">And so the way it works is that a service a service because everything in Zato revolves around services. A service is a piece of functionality, which essentially serves some input, produces output. It's like it's like a function. It's like a it's just like a regular function. It's just it's just that it's distributed, across multiple servers and can be made available across multiple APIs. So the halt result feature is, essentially, the ability to to delete and replace old functions with new ones, old services with new ones. So you during development, you edit a file, a Python module. You hit save. The file is stored in a so called pickup directory, and, and the background process understands that there's a new file in this directory, The file is picked up, transported to all of the servers in the cluster, and immediately available available everywhere.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:42:27</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Dariusz Suchojad on Zato</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>31</itunes:episode>
      <podcast:episode>31</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530492973387125c16830-a902-4859-b0c5-6462db309185v1.mp3" length="40764050" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530492973387125c16830-a902-4859-b0c5-6462db309185v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_25c16830-a902-4859-b0c5-6462db309185638558811205523250.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/25c16830-a902-4859-b0c5-6462db309185638558811203003258.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/25c16830-a902-4859-b0c5-6462db309185638558811200066778.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Tom Rothamel on Ren’Py</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Tom Rothamel is an embedded systems engineer who spends his free time working on Ren’Py, a visual novel engine written in Python. Ren’Py allows you to write interactive fiction experiences and deploy them across desktop and mobile platforms. By creating a purpose-built DSL for describing the interactions, users of Ren’Py can focus on crafting polished experiences without fighting through the vagaries of programming languages, while still providing access to the internals when necessary. Listen to our interview with Tom to learn more about this long-running project and what makes it so interesting.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Linode is also sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project.</li>
<li>We are recording today on October 19th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Tom Rothamel about RenPy</li>
</ul>

<div class="well"><a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="Hired Logo" data-recalc-dims="1" /></a>On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<h3>Interview with Tom Rothamel</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What is Ren’Py and what was your inspiration for starting it?</li>
<li>I noticed that Ren’Py supports a number of different styles of gameplay. Can you explain the differences between interactive fiction, kinetic fiction and RPGs?</li>
<li>I notice that RenPy has clearly been around a while (Some of the games for OSX are PowerPC binaries!) &#8211; what problems have you encountered maintaining such a long lived project and keeping it current?</li>
<li>What libraries does Ren’Py leverage and how did you go about selecting them to allow for cross-platform development and deployment?</li>
<li>What underlying Python graphics toolkit does RenPy use for display, and how did that choice affect RenPy’s design?</li>
<li>While reading through the quickstart in the documentation I noticed that there is a special syntax that you have created for defining the dialog and narratives. Can you explain how you created the DSL for building the storylines?</li>
<li>It feels to me like RenPy was heavily inspired by the JRPG genre and as such there are games where sex plays a prominent role(I noticed a mention of Hentai in the docs), which is less readily accepted in the west. Have you ever encountered any pushback on this issue?</li>
<li>I noticed that some of the games that were created with Ren’Py are available on the Steam platform. What elements of the Ren’Py project lend themselves to producing games with enough polish to be published on such a mainstream platform?</li>
<li>If you were just starting out today implementing RenPy, would you still use Python? Why?</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1NRDrbX?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DJ Logic</a></li>
<li><a href="https://github.com/tj/git-extras?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">git-extras</a></li>
<li><a href="https://github.com/rubik/radon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Radon</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.rottentomatoes.com/tv/narcos/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Narcos</a></li>
<li><a href="https://www.rust-lang.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Rust Programming Language</a></li>
<li><a href="http://www.kentfallsbrewing.com/shower-beer/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kent Falls Brewing Shower Beer</a></li>
</ul>

<p></li><br>
<li>Tom</p>

<ul>
<li><a href="http://cython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cython</a></li>
<li><a href="http://www.npr.org/about/products/npr-one/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NPR One</a></li>
<li><a href="http://lifehacker.com/281626/jerry-seinfelds-productivity-secret?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Seinfeld Method</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://renpy.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">renpy.org</a></li>
<li><a href="https://twitter.com/renpytom?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="http://www.hanakogames.com/llq.shtml?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Long Live The Queen</a></li>
<li><a href="http://www.bishoujo.us/moonlight/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moonlight Walks</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-30-tom-rothamel-on-renpy%2F&amp;action_name=Tom+Rothamel+on+Ren%E2%80%99Py+-+Episode+30&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-30-tom-rothamel-on-renpy/</guid>
      <link>https://www.pythonpodcast.com/episode-30-tom-rothamel-on-renpy</link>
      <pubDate>Fri, 6 Nov 2015 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="160.95" duration="40.33">And for those in the audience who haven't come across it before, can you explain what Renpy is and what your inspiration for starting it was? Sure. Well, Renpy is a visual novel engine. It's used to make a very specific genre of computer game, visual novels. Visual novels are they're kind of like interactive game books. We present pictures. We present words. Often a very long written story, music, sound effects, animations, videos and often choices to the player. By using this, they're able to pick which direction the story goes, to get a story that often feels more interactive than if you're simply reading in a book.</podcast:soundbite>
      <podcast:soundbite startTime="79.96" duration="22.77">Today, we are interviewing Tom Rothamal about Renpai. Tom, could you please introduce yourself? Hi. I'm Tom Rothamal. I'm the lead developer of Renpy, which is a visual novel engine that people use to make computer games. That's my side project. By day, I am a embedded systems engineer, and by night, I work on computer games.</podcast:soundbite>
      <podcast:soundbite startTime="2763.81" duration="39.00">And I think, actually, the Renphai project is 1 sort of great bulwark against that because you folks, as you say, we've already got, you know, renpy projects that have, you know, withstood the transition from PowerPC to Intel on the Mac side, and I think that's that's gotta be, what, 7 or 8 years? I mean, what's your oldest project? Do you happen to know? You mean supported project? Yeah. There's the Moonlight Walks, which was the game I made, that was, like, the first real game to come out. I've been continually updating it since, since it came out in 2005.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:58:52</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Tom Rothamel on Ren’Py</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>30</itunes:episode>
      <podcast:episode>30</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531690683281745ebde50-25a1-49d9-9ab6-bdf6b69675c0v1.mp3" length="56537909" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531690683281745ebde50-25a1-49d9-9ab6-bdf6b69675c0v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_45ebde50-25a1-49d9-9ab6-bdf6b69675c0638558834034553247.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/45ebde50-25a1-49d9-9ab6-bdf6b69675c0638558834030884550.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/45ebde50-25a1-49d9-9ab6-bdf6b69675c0638558834029060116.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Anthony Scopatz on Xonsh</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Anthony Scopatz is the creator of the Python shell Xonsh in addition to his work as a professor of nuclear physics. In this episode we talked to him about why he created Xonsh, how it works, and what his goals are for the project. It is definitely worth trying out Xonsh as it greatly simplifies the day-to-day use of your terminal environment by adding easily accessible python interoperability.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>Linode is also sponsoring us this week. Check them out at <a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">linode.com/podcastinit</a> and get a $10 credit to try out their fast and reliable Linux virtual servers for your next project</li>
<li>We are recording today on October 12th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Anthony Scopatz about Xonsh</li>
</ul>

<div class="well"><a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="Hired Logo" data-recalc-dims="1" /></a>On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<div class="well"><a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/tdegpr/linode-banner-sponsor-large.png?w=1200&utm_source=rss&utm_medium=rss" alt="Linode Sponsor Banner" data-recalc-dims="1" /></a>Use the promo code <strong>podcastinit10</strong> to get a $10 credit when you sign up!</p>
</div>

<h3>Interview with Anthony Scopatz</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what Xonsh is and your motivation for creating it?</li>
<li>For people transitioning to Xonsh from a shell like Bash or Zsh, what are some of the biggest differences that they will see?</li>
<li>What are some really powerful one-liners that showcase Xonsh’s capabilities?</li>
<li>What is it about Python that lends itself to this kind of a project and what are your thoughts on building something like Xonsh in another language such as Ruby or Node.js?</li>
<li>If you had to single out one killer feature that Xonsh brings to the table, what would that be?</li>
<li>Is it possible to specify which shell, such as bash or zsh, gets used in subprocess mode?</li>
<li>I started using the Xonsh shell as my daily terminal recently and have been enjoying it so far. One of the things that I have been wondering is how to hook into the completion system to provide eldoc style completion from parsing the output of help flags. Do you have any advice on where to start? Perhaps using the docopt library to handle parsing of help output and generate completions from that?</li>
<li>What are your thoughts on adding a section to the project documentation for people to list various extension modules that people can take advantage of? Or perhaps creating something along the lines of Oh my Xonsh?</li>
<li>How do bash function definitions interoperate with the Xonsh environment and functions defined in Python?</li>
<li>It seems as though there could be some potential path or compatibility issues when moving between virtual environments and having access to extension modules loaded into Xonsh. Can you shed some light on that?</li>
<li>Do you have any suggestions for people who may not have the privileges to set their own login shell but who want to try Xonsh?</li>
<li>What are some of the most interesting uses of Xonsh that you have seen?</li>
<li>What does the future hold for the Xonsh project and how can our audience help?</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1N8UWkO?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mortdecai</a></li>
<li><a href="https://alembic.readthedocs.org/en/latest/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alembic</a></li>
<li><a href="http://www.sqlalchemy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SQLAlchemy</a></li>
<li><a href="http://population.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">population.io</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://amzn.to/1WnDQ5h?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Consider Phlebas</a></li>
<li><a href="http://www.rottentomatoes.com/m/the_martian/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Martian &#8211; Movie</a></li>
<li><a href="https://en.wikipedia.org/wiki/Fantastic_Planet?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fantastic Planet</a></li>
</ul>

<p></li><br>
<li>Anthony</p>

<ul>
<li><a href="http://amzn.to/1N8ViYE?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Worst Journey In The World</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="mailto:xonsh@googlegroups.com">Mailing List</a></li>
<li><a href="http://xonsh.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">xonsh.org</a></li>
<li><a href="https://webchat.oftc.net/?nick=&amp;channels=%23xonsh&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">#xonsh on OFTC</a></li>
<li><a href="https://github.com/scopatz/xonsh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://twitter.com/scopatz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter: @scopatz</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="http://www.dpbolvw.net/ka108y1A719PXYVQXZVPRRSWQRZYPRUTQXVVYXXQQQ?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920033424.do%3Fcmp%3Daf-strata-books-videos-product_cj_9781491901533_%2525zp&amp;cjsku=0636920033424&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Effective Computation in Physics</a></li>
<li><a href="https://github.com/jonathanslenders/python-prompt-toolkit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Prompt Toolkit</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-29-anthony-scopatz-on-xonsh%2F&amp;action_name=Anthony+Scopatz+on+Xonsh+-+Episode+29&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-29-anthony-scopatz-on-xonsh/</guid>
      <link>https://www.pythonpodcast.com/episode-29-anthony-scopatz-on-xonsh</link>
      <pubDate>Sat, 31 Oct 2015 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="274.44" duration="34.12">So can you explain what Xonsh is and your motivation for creating it? Sure. So Xonsh actually comes out of, this exact issue. Right? So I was I was writing a lot of bash at my old job or doing a lot of bash and sort of c make stuff for build systems, and I just realized that there had to be a better way than what bash was doing. So that kind of set the stage for really thinking sort of very critically about what shells get used for and what they're actually good at and and what they're not good at.</podcast:soundbite>
      <podcast:soundbite startTime="481.44" duration="44.37">So for people transitioning to Zhan from a shell, like Bash or Zeesh, what are some of the biggest differences that they will see? Hopefully, that transition is easy. So that's 1 of the things that we set out to do or I set out to do with Conch is to make it so that it interfaces with, Bash and Z Shell and and can pull the environment and aliases from from those those places. So that's that's 1 thing that our that Conch does that's a little different is that it has sort of knowledge of other shells in a way that, in a way that most shells don't. And then I think just the the big difference is that you can use Python syntax everywhere. So, I mean, it's a Python superset language.</podcast:soundbite>
      <podcast:soundbite startTime="2521.34" duration="67.00">And so what are some of the most interesting uses of Xonsh that you have seen or done on your own? Aaron Muir, who's going to soon be my employee, which is exciting. He's coming to South Carolina as a staff scientist. So at SciPy last year, we, we sat down and, you know, he started just doing crazy stuff like putting in a Unicode shell in his prompt, was 1 of the things that he did. And then another thing that he did within, I don't know, probably 20 minutes, was he he uses max I term 2, and so, he was able to just really quickly and simply pull, images from Imgur and display them right in the shell, and it was probably like 3 lines of code or something when all was all was said and done. You got this scrolling image of scrolling things of scrolling images coming across the screen in conch, in, like, 2 lines of code or 2 lines of code or something.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Anthony Scopatz on Xonsh</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>29</itunes:episode>
      <podcast:episode>29</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253058459717811ba1b63a-e550-4c9b-bbb2-735831cf39ebv1.mp3" length="55603897" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253058459717811ba1b63a-e550-4c9b-bbb2-735831cf39ebv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1ba1b63a-e550-4c9b-bbb2-735831cf39eb638558815424415965.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1ba1b63a-e550-4c9b-bbb2-735831cf39eb638558815421585655.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1ba1b63a-e550-4c9b-bbb2-735831cf39eb638558815419260613.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Kay Hayen on Nuitka</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Kay Hayen is a systems engineer from Germany who has dedicated his spare time to the creation of Nuitka, a library that will compile your Python project to C++. In this episode we talked to Kay about what inspired him to create the project, how it operates, and some of the challenges he has faced. It is a very interesting project and it has the potential to let you run your Python code in a whole new way!</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a>, leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a>, or leave a comment on our <a href="http://pythonpodcast.com/kay-hayen-nuitka.html?utm_source=rss&utm_medium=rss">show notes</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="http://hired.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus. Linode has also sponsored this episode and you can get a $10 credit using the link linode.com/podcastinit to try out their fast and reliable linux virtual servers.</li>
<li>We are recording today on October 6th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Kay Hayen about the Nuitka project</li>
<li>
<hr />
</li>
</ul>

<div class="well"><a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="Hired Logo" data-recalc-dims="1" /></a>On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<div class="well"><a href="http://linode.com/podcastinit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img src="https://i0.wp.com/podcastinit.podbean.com/mf/web/tdegpr/linode-banner-sponsor-large.png?w=1200&utm_source=rss&utm_medium=rss" alt="Linode Sponsor Banner" data-recalc-dims="1" /></a>Use the promo code <strong>podcastinit10</strong> to get a $10 credit when you sign up!</p>
</div>

<p><hr /></p>

<h3>Interview with Kay Hayen</h3>

<ul>
<li>Introductions
<ul>
<li>German, family with 2 kids, one cat</li>
<li>Working in ATM (Air Traffic Management), tracker product</li>
<li>Systems Engineer</li>
<li>Nuitka as a hobbyist</li>
</ul>

<p></li><br>
<li>How did you get introduced to Python?</p>

<ul>
<li>Once was Perl “Guru”.</li>
<li>Python was getting a lot of positive press</li>
<li>Team decision to want to use readable stuff</li>
<li>CPAN was still more complete, but Python was making inroads</li>
</ul>

<p></li><br>
<li>Can you describe how to pronounce the name of your project?</p>

<ul>
<li>Wife Anna, Russian, Annuitka -&gt; Nuitka</li>
</ul>

<p></li><br>
<li>Can you briefly describe what Nuitka is and what your motivation was for creating it?</p>

<ul>
<li>I was thinking a fully integrated and compatible compiler should be possible.</li>
<li>Why is nobody doing it?</li>
<li>I can do it.</li>
<li>I am doing it.</li>
<li>Take Python beyond current use cases.
<ul>
<li>Everbody currently using Python needs no compiler, or wouldn’t use it</li>
<li>Less need for time consuming C++/Python hybrid coding</li>
<li>Simple code should compile to fast code by default</li>
<li>Complex code should still work</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>On the project web site it says that Nuitka does a lot of clever things after being fed a Python project. Can you provide some details as to what some of that cleverness is?</p>

<ul>
<li>Re-formulations of Python into simpler Python
<ul>
<li>No “class”</li>
<li>No “assert”</li>
<li>No complex assignments</li>
</ul>

<p></li><br>
<li>SSA tracing</p>

<ul>
<li>Attaching uses to assignments properly
<ul>
<li>Despite try/finally</li>
<li>Loops</li>
</ul>

<p></li><br>
<li>Avoids checks for known defined/undefined values</li><br>
</ul><br>
</li><br>
<li>Function inlining (coming)</li><br>
<li>Constant propagation</li><br>
<li>Closure variable removal</li><br>
</ul><br>
</li><br>
<li>What is libpython and how is it used in both Nuitka and CPython?</p>

<ul>
<li>Core of the Python interpreter</li>
<li>With Python VM and C interface</li>
<li>Nuitka can fall back to it</li>
<li>Avoiding it as often as we can, key to performance</li>
</ul>

<p></li><br>
<li>Is there any way to provide hints to Nuitka to generate more optimized output?</p>

<ul>
<li>Nuitka is yet to make a difference based on type information</li>
<li>Not yet there, but coming soonish. SSA was pre-requisite</li>
<li>PEP 484 will be unreliable type information, mostly useless</li>
<li>I want type hints that are checked at Python run time</li>
</ul>

<p></li><br>
<li>What are some of the biggest challenges in generating statically compiled code from a language as dynamic as Python?</p>

<ul>
<li>Python is compiled to .pyc files</li>
<li>Compatible Frame stack, cached</li>
<li>Exception handling of Python is terrible</li>
<li>CPython type system designed to be extensible
<ul>
<li>Extension types for functions, bound/unbound methods, generators, etc.</li>
</ul>

<p></li><br>
<li>Many details to get right</li><br>
</ul><br>
</li><br>
<li>Are there any particular Python constructs that Nuitka is unable to translate and as a corollary to that is the compilation step lossy at all or do you have some way of ensuring that the functionality of the program remains unaltered?</p>

<ul>
<li>Big point, no price attached</li>
<li>Except for not having bytecode, there is nothing missing</li>
<li>No pdb support</li>
<li>Edit / run cycle is not accelerated</li>
<li>That said: PyQt (integrated), PySide (available, unmerged), wxPython (available, maybe merged) needed patches to take compiled function/method objects for function objects too</li>
</ul>

<p></li><br>
<li>Are there any particular types of programs that benefit the most from Nuitka’s compilation?</p>

<ul>
<li>Bindings with ctypes of cffi compile into zero overhead C calls (planned)</li>
<li>Scientific programs are the most obvious goal (float type inference)</li>
<li>CPU bound or low latency programs</li>
</ul>

<p></li><br>
<li>Is it possible to feed an entire project with multiple modules into Nuitka all at once or is the standard use to perform compilation one source file or submodule at a time?</p>

<ul>
<li>You give it the main program and it recurses imports according to “PYTHONPATH”</li>
<li>nuitka –recurse-all “/usr/bin/hg” supposed to work</li>
<li>Might have to give directories with program plug-ins</li>
</ul>

<p></li><br>
<li>I’m curious about what led you to choose compilation to C++ for Nuitka rather than making Nuitka an LLVM back end like Numba?</p>

<ul>
<li>When I started Nuitka, I was using C++0x and variadic templates</li>
<li>Wanted to make a proof of concept that compatibility and integration is feasible</li>
<li>From there, code generation got less high level to goto ridden C</li>
</ul>

<p></li><br>
<li>How does Nuitka compare to projects like Numba or Cython?</p>

<ul>
<li>Graceful degradation goal</li>
<li>Complete compatibility with Python whole stack</li>
</ul>

<p></li><br>
<li>How does Nuitka compare to PyPy? &#8211; Kay</p>

<ul>
<li>PyPy is the coolest project ever</li>
<li>Pure Python goals shared</li>
</ul>

<p></li><br>
<li>How can users evaluate the performance of Nuitka &#8211; Kay</p>

<ul>
<li>They currently cannot</li>
<li>Developing a tool to compare CPython and Nuitka runs
<ul>
<li>Based on vmprof from PyPy people</li>
<li>Identify parts of program where Nuitka is slower</li>
<li>Links to source code</li>
</ul>

<p></li><br>
<li>To be done, help needed.</li><br>
<li>Nuitka is only starting to get to serious performance</p>

<ul>
<li>Compatibility is such a high bar to take</li>
<li>C++ to C took a year (avoiding C++ exceptions)</li>
<li>SSA literally took forever</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1MbCskV?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forbidden Island</a></li>
<li><a href="http://amzn.to/1MbCycj?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forbidden Desert</a></li>
<li><a href="https://ottoproject.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Otto Project</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://grimmales.com/supersymmetry/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grimm Super Symmetry</a></li>
<li><a href="http://youarelistening.to/boston?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Are You Listening To?: Boston</a></li>
<li><a href="https://ripple.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ripple</a></li>
</ul>

<p></li><br>
<li>Kay</p>

<ul>
<li><a href="http://www.atheist-experience.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Learn being skeptic, Atheist Experience</a></li>
<li><a href="https://micropython.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MicroPython</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://nuitka.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nuitka Homepage</a></li>
<li><a href="https://plus.google.com/+KayHayen?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li><a href="mailto:kay.hayen@gmail.com">Email</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-28-kay-hayen-on-nuitka%2F&amp;action_name=Kay+Hayen+on+Nuitka+-+Episode+28&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-28-kay-hayen-on-nuitka/</guid>
      <link>https://www.pythonpodcast.com/episode-28-kay-hayen-on-nuitka</link>
      <pubDate>Sat, 24 Oct 2015 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="74.66" duration="38.46">And your host, as usual, are Tobias Macey and Chris Patti. Today, we're interviewing Kei Haan about the Nootka project. Kei, could you please introduce yourself? Yes. Hello. Thank you for having me. My name is Kei Haiyan, pronounced German. And, well, I'm, I'm a father of 2 kids. I own a cat, and I'm the author of a Python compiler. That's what I do as a hobby. For work, I, in in the air traffic management, I work on a tracker, and I've developed to be a systems engineer, in that product.</podcast:soundbite>
      <podcast:soundbite startTime="272.98" duration="56.17">So, can you briefly describe what Nootka is and your motivation for creating it, as well as where the name came from? Yeah. Of course, I can. My my wife's called Anna. I I I 1 day, I made her a gift. It was a compiler, the Python compiler, and I named it after her. She's Russian. And the Russians have this tendency to not use the real name, but, extensions of that. So they would always attach something at the end. And in her case, it's. And then we shorten it again and say. So that's, that's, that, and the, the form is written. The alphabet, the English alphabet maps very strangely to the Russian 1. So, you can take this as my attempt to confuse the world. And last year, somebody said I could have made it a whole lot easier to name it Anna.</podcast:soundbite>
      <podcast:soundbite startTime="4640.75" duration="63.71">And so how can users evaluate the performance of to determine whether they should use the output of Nootka or if they should just continue using their Python source code? And so except for the good news that function inlining is now about to work and stuff on your Python, basically, I presented this as my hugest problem is that you just cannot. So so people use this and find out it's good for them, and then they use it. But it's very hard to predict so because I have reports from other people who use it and tell me it's slower. There's also 1 guy, I think, pythonperformance.org, dotcom, dotnet. I don't know the exact It's worth 1 guy benchmarking, different compilers against each others. And NUTKA is not comparing favorably to all the time. Sometimes it's slower, sometimes it's faster, and that's, that's something that clearly needs to change. I have looked at some benchmarks and made some things fast, but there's definitely, things lacking.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:34:35</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Kay Hayen on Nuitka</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>28</itunes:episode>
      <podcast:episode>28</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253166847756020342b403-a032-4cc8-803a-ba8aa99937aev1.mp3" length="90835025" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253166847756020342b403-a032-4cc8-803a-ba8aa99937aev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_0342b403-a032-4cc8-803a-ba8aa99937ae638558833499704454.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0342b403-a032-4cc8-803a-ba8aa99937ae638558833495037139.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0342b403-a032-4cc8-803a-ba8aa99937ae638558833493135373.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Trent Nelson on PyParallel</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>Trent Nelson is a software engineer working with Continuum Analytics and a core contributor to CPython. He started experimenting with a way to sidestep the restrictions of the Global Interpreter Lock without discarding its benefits and that has become the PyParallel project. We had the privilege of discussing the details around this innovative experiment with Trent and learning more about the challenges he has experienced, what motivated him to start the project, and what it can offer to the community.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>We are recording today on September 7th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Trent Nelson about PyParallel</li>
</ul>

<div><a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><img style="float: left; margin: 0 10px 10px 0;" src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="Hired Logo" data-recalc-dims="1" /></a>On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<h3 style="clear: both;">Interview with Trent Nelson</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For our listeners who may not be aware, can you give us an overview of what Pyparallel is and what makes it different from other Python implementations?</li>
<li>How did PyParallel come about?</li>
<li>What are some of the biggest technical hurdles that you have been faced with during your work on PyParallel?</li>
<li>I understand that PyParallel currently only works on Windows. What was the motivation for that and what would be required for enabling PyParallel to run on a Linux or BSD style operating system?</li>
<li>How does Pyparallel get around the limitations of the global interpreter lock without removing it?</li>
<li>Is there any special syntax required to take advantage of the parallelism offered by PyParallel? How does it interact with the threading module in the standard library?</li>
<li>In the abstract for the Pyparallel paper, you cite a simple rule &#8211; “Don’t persist parallel objects” &#8211; how easy is this to do with currently available concurrency paradigms and APIs, and would it make sense to add such support?
<ul>
<li>For instance, how would one be sure to follow this rule when using Twisted or asyncio?</li>
</ul>

<p></li><br>
<li>Are there any operations that are not supported in parallel threads?</li><br>
<li>What drove the decision to fork Python 3.3 as opposed to the 2.X series?</li><br>
<li>In the documentation you mention that the long term goal for PyParallel is to merge it back into Python mainline, possibly within 5 years. Has anything changed with that goal or timeline? What milestones do you need to hit before that becomes a realistic possibility?</li><br>
<li>Can you compare PyParallel to PyPy-STM and Go with Goroutines in terms of performance and user implementation?</li><br>
<li>What are some particular problem areas that you are looking for help with?</li><br>
<li>Assuming that it does get merged in as Python 4, how do you think that would affect the features and experiments that went into Python 5?</li><br>
<li>To be continued…</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://testinfra.readthedocs.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Testinfra</a></li>
<li><a href="http://softwareengineeringdaily.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Software Engineering Daily</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://www.kickstarter.com/projects/1868398473/hello-web-app-intermediate-concepts?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hello Webapp &#8211; Intermediate Concepts</a></li>
<li><a href="http://grimmales.com/rainbowdome/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grimm Rainbow Dome</a></li>
<li><a href="https://www.youtube.com/user/pbsideachannel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PBS Idea Channel</a></li>
</ul>

<p></li><br>
<li>Trent</p>

<ul>
<li><a href="http://amzn.to/1UxJExs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Show Stopper</a> by G. Pascal Zachary</li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://github.com/pyparallel/pyparallel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li>Twitter
<ul>
<li><a href="https://twitter.com/pyparallel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@PyParallel</a></li>
<li><a href="https://twitter.com/trentnelson?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@TrentNelson</a></li>
</ul>

<p></li><br>
</ul></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-27-trent-nelson-on-pyparallel%2F&amp;action_name=Trent+Nelson+on+PyParallel+-+Episode+27&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-27-trent-nelson-on-pyparallel/</guid>
      <link>https://www.pythonpodcast.com/episode-27-trent-nelson-on-pyparallel</link>
      <pubDate>Wed, 14 Oct 2015 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="63.04" duration="14.61">Today, we're interviewing Trent Nelson about Py Parallel. Trent, could you please introduce yourself? Yeah. Hi, guys. My name is Trent Nelson. I'm a software engineer by trade. Right, 33 years old, living in New York, working for Continuum Analytics.</podcast:soundbite>
      <podcast:soundbite startTime="2766.66" duration="41.69">And so how does that particular paradigm or pattern how is it related to the idea of functional programming of having immutable objects and immutable processes without side effects? Yeah. Very similar. I mean, there's there's a lot of overlap with a lot of the concepts that you see in both functional programming, both the, you know, languages like Rust and Go and, it all really comes down to object ownership and object lifetime. When can you safely deallocate an object, and how do you prevent races to to set objects? So the the functional paradigm, it what become very apparent is just to to use the HTTP processing request.</podcast:soundbite>
      <podcast:soundbite startTime="873.43" duration="38.53">So for our listeners who may not be aware, can you give us an overview of what Pyparallel is and what makes it different from other Python implementations? Right. So Python's biggest issue to date, or or potentially maybe a better way of phrasing this. Python's, most complained about problem is the the GIL, the global interpreter lock that prevents Python from optimally using multiple cores on, you know, the contemporary hardware. So, essentially, Py Parallel is a project that I came up with that took a step back and looked and basically said, you know, what can we do to how can we change Python so that it can exploit contemporary hardware?</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:12:43</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Trent Nelson on PyParallel</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>27</itunes:episode>
      <podcast:episode>27</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253082662587891608f27e-fddb-4d84-9afb-9341a2c9f33bv1.mp3" length="69835820" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253082662587891608f27e-fddb-4d84-9afb-9341a2c9f33bv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_1608f27e-fddb-4d84-9afb-9341a2c9f33b638558824099190230.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1608f27e-fddb-4d84-9afb-9341a2c9f33b638558824092036276.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/1608f27e-fddb-4d84-9afb-9341a2c9f33b638558824089688017.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Dag Brattli on RxPy</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com/dag-brattli-rxpy.html?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our newsletter!</p>

<h3>Summary</h3>

<p>Dag Brattli is an engineer with Microsoft and in his spare time he created the ported the Reactive Xtensions framework to Python in the form of the RxPy library. In this episode we had the opportunity to speak with Dag and learn more about what ReactiveX is, why it is useful and how you can use it in your Python programs. It is definitely a very powerful programming patern when manipulating data streams which is becoming increasingly common in modern software architectures.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.__init__. Use the link <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hired.com/podcastinit</a> to double your signing bonus.</li>
<li>We are recording today on October 2nd, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Dag Brattli about the RxPy project</li>
</ul>

<div><img style="float: left; margin-right: 20px;" src="https://i0.wp.com/podcastinit.podbean.com/mf/web/ehi957/hired-logo-dark-padding.png?w=1200&utm_source=rss&utm_medium=rss" alt="hired-logo-dark-padding.png" data-recalc-dims="1" />On Hired software engineers &amp; designers can get 5+ interview requests in a week and each offer has salary and equity upfront. With full time and contract opportunities available, users can view the offers and accept or reject them before talking to any company. Work with over 2,500 companies from startups to large public companies hailing from 12 major tech hubs in North America and Europe. Hired is totally free for users and If you get a job you’ll get a $2,000 “thank you” bonus. If you use our <a href="https://hired.com/?utm_content=shownotes-4k&amp;utm_medium=podcast&amp;utm_source=podcastinit&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">special link</a> to signup, then that bonus will double to $4,000 when you accept a job. If you’re not looking for a job but know someone who is, you can refer them to Hired and get a $1,337 bonus when they accept a job.</p>
</div>

<div style="clear: both; margin-top: 20px;">
<h3>Interview with Dag Brattli</h3>
<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For our listeners who haven’t heard of it before, can you describe what RxPy is and why someone might want to use it?</li>
<li>What problem domains are best suited for using the Reactive X approach?</li>
<li>What is involved in integrating RxPy into an existing code base?</li>
<li>When should we use RxPy over asyncio or asynchronous workers like Celery?</li>
<li>What resources or tutorials do you recommend people use when trying to understand how and when to use the Reactive X tools?</li>
<li>What in particular about Python lends itself to the ReactiveX pattern, and what features of the language does RxPy leverage in particular in its implementation?</li>
<li>In what ways does the Python implementation of the Reactive X framework differ from those of other languages?</li>
<li>The project description references the use of LINQ for querying the various data streams that RxPy enables consumption of. I had always heard of LINQ in the context of traditional database queries. What makes LINQ a good choice for stream processing?</li>
<li>I mostly hear about ReactiveX in terms of UI design, but the project description seemed to indicate it was much more generally useful. What are some of the less common and more interesting problems that RxPy lends itself to solving?</li>
</ul>
<h3>Picks</h3>
<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/jeffkaufman/icdiff?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">icdiff</a></li>
<li><a href="http://amzn.to/1OpNF1B?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Timeline card game</a></li>
<li><a href="http://griatch-art.deviantart.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Griatch’s Digital Art</a></li>
</ul>
</li>
<li>Chris
<ul>
<li><a href="https://github.com/jorgenschaefer/elpy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">elpy</a></li>
<li><a href="https://github.com/apenwarr/sshuttle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">sshuttle</a></li>
<li><a href="http://www.beeradvocate.com/beer/profile/215/2512/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chimay Grand Reserve</a></li>
</ul>
</li>
<li>Dag
<ul>
<li><a href="https://github.com/berkerpeksag/astor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ASTor</a></li>
<li><a href="http://amzn.to/1OM3XDl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">How To Bake Pi</a> &#8211; A book about the mathematics of mathematics</li>
</ul>
</li>
</ul>
<h3>Keep In Touch</h3>
<ul>
<li><a href="https://github.com/dbrattli?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li>Links
<ul>
<li><a href="http://reactivex.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Main ReactiveX Site</a></li>
<li><a href="https://github.com/ReactiveX/RxJava?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rxjava</a> site for documentation</li>
<li><a href="http://rxmarbles.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">rxmarbles</a></li>
<li><a href="https://channel9.msdn.com/tags/rx/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MSDN Channel 9</a></li>
<li><a href="https://github.com/bintoro/overloading.py?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Function Overloading in Python 3</a></li>
</ul>
<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a></li>
</ul>
</div>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-26-dag-brattli-on-rxpy%2F&amp;action_name=Dag+Brattli+on+RxPy+-+Episode+26&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-26-dag-brattli-on-rxpy/</guid>
      <link>https://www.pythonpodcast.com/episode-26-dag-brattli-on-rxpy</link>
      <pubDate>Fri, 9 Oct 2015 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="154.42" duration="31.94">RXPy is a library for event processing. So it's something you can use to to process event streams. So you can so if you have some programs that that handle different kinds of event streams and you need to to react on on what's happening in those event streams, maybe you want to do some filtering or combine the the the events in some way, then, RXPy is is should be a good choice.</podcast:soundbite>
      <podcast:soundbite startTime="65.75" duration="35.35">Today, we are interviewing Dag Bradley about the RxPi project. Dag, could you please introduce yourself? Yeah. Hello. My name is, Dag Bradley. Work for Microsoft in Norway, 69 degrees north. So it's probably the most northern Microsoft office in the world. So work for the for the Outlook and Office, 365 team. For Fast, it's called. It's a it's a company that was actually bought by Microsoft some years ago. Worked within the search and analytics team.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:33:02</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Dag Brattli on RxPy</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>26</itunes:episode>
      <podcast:episode>26</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298725411394327dd779-ca0a-4318-941c-1e847e218880v1.mp3" length="31725353" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525298725411394327dd779-ca0a-4318-941c-1e847e218880v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_327dd779-ca0a-4318-941c-1e847e218880638558793331289733.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/327dd779-ca0a-4318-941c-1e847e218880638558793328137067.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/327dd779-ca0a-4318-941c-1e847e218880638558793326461160.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>uWSGI Core Developers</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, join the mailing list and support the show.</p>

<h3>Summary</h3>

<p>uWSGI is one of the most versatile application servers available. It was originally written for running Python applications and has since gained functionality to support Perl, Ruby, PHP, and more in addition to the incredible feature set. In this episode Tobias got to interview three of the core developers of this project and find out more about how the different pieces of it fit together and what its future holds.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>I would also like to thank Hired, a job marketplace for developers, for sponsoring this episode of Podcast.<strong>init</strong>. Sign up at hired.com/podcastinit to double your signing bonus.</li>
<li>We are recording today on September 22nd, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing the core developers of uWSGI (Adriano Di Luzio, Riccardo Magliocchetti, and Roberto De Ioris)</li>
</ul>

<h3>Interview with uWSGI core developers</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For anyone who hasn’t come across the project before, can you explain what uWSGI is and what makes it unique?</li>
<li>How did you architect uWSGI in order to allow for supporting so many different languages?</li>
<li>The feature set of uWSGI is truly incredible. Does this make the code complicated to understand and modify?</li>
<li>Can you describe some of your favorite features in uWSGI?</li>
<li>What have you found to be the most overlooked or underutilized features of uWSGI?</li>
<li>Can you briefly describe how Emperor mode works and how that can be used to handle routing between microservices?</li>
<li>Could you discuss some of the particular features UWSGI provides around load balancing?
<ul>
<li>Is connection draining supported?</li>
<li>Can nodes be dynamically added and removed from the pool or does the config need to be rewritten and UWSGI restarted?</li>
</ul>

<p></li><br>
<li>The configuration syntax looks like it provides a very rich set of capabilities. Is it based on a general purpose programming language or is it a DSL?</li><br>
<li>What might be some common use cases for using UWSGI in tandem with another web server like NGINX?</li><br>
<li>I have read that WSGI does not get along with http/2. Are there any plans to look towards supporting that protocol in some way?</li><br>
<li>What new capabilities can we look forward to in the future of uWSGI?</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://manjaro.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Manjaro Linux</a></li>
<li><a href="https://www.kde.org/applications/office/kontact/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kontact</a></li>
<li><a href="http://amzn.to/1Fs2pvl?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blackhat</a></li>
</ul>

<p></li><br>
<li>Riccardo</p>

<ul>
<li><a href="http://www.jdoqocy.com/p1115tenkem19A729B71334823BA13652977A99222?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920033158.do%3Fcmp%3Daf-prog-books-videos-product_cj_9781491950357_%2525zp&amp;cjsku=0636920033158&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Building Microservices book</a></li>
<li><a href="https://github.com/xrmx/django-denis?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Django-Denis</a></li>
</ul>

<p></li><br>
<li>Adriano</p>

<ul>
<li><a href="http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Paxos Algorithm</a></li>
</ul>

<p></li><br>
<li>Roberto</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/The_Brink?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Brink</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
<li>#uWSGI on IRC</li>
<li><a href="https://github.com/unbit/uwsgi?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="http://uwsgi-docs.readthedocs.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">latest docs</a></li>
<li>Roberto
<ul>
<li><a href="https://twitter.com/unbit?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://github.com/unbit/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
</ul>

<p></li><br>
<li>Adriano</p>

<ul>
<li><a href="https://github.com/aldur/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://twitter.com/AdrianoDiLuzio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
<li>Riccardo</p>

<ul>
<li><a href="https://github.com/xrmx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://twitter.com/rmistaken?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
</ul></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-25-uwsgi-core-developers%2F&amp;action_name=uWSGI+Core+Developers+-+Episode+25&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-25-uwsgi-core-developers/</guid>
      <link>https://www.pythonpodcast.com/episode-25-uwsgi-core-developers</link>
      <pubDate>Sat, 3 Oct 2015 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1082.58" duration="27.68">It's a DSL. We started implementing something with Lua but, I don't think there is much more interest in doing it as when you start making too much complex configuration, it's not a good idea. So the simple construct we have in the actual DSL is more than enough.</podcast:soundbite>
      <podcast:soundbite startTime="346.02" duration="28.98">Yeah. Yeah. I was thinking to that too because I approached the the code base when I first start working with Roberto, and I had no previous knowledge of uwhiskey. But after just about a few months, I was able to write a pretty complicated plug in. So you you all you have to do is to look at the source code, look at their examples. There are a lot of plugins already existing, and you can just make an idea of how things work on the inside.</podcast:soundbite>
      <podcast:soundbite startTime="214.35" duration="53.44">Its main core is really, really tiny. I think being, being tiny is the only way to accomplish that result. So, we made up extremely modular infrastructure. So adding a new language, is not so difficult, as the current gives you only a basis to simplify the job of interfacing with the USB server from the CAPI of the languages. Basically, all of the function to do low level interactions, I mean, especially non blocking, programming or interfacing with the configuration system are extremely simplified when you start embedding a language in uWSGI.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:35:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>uWSGI Core Developers</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>25</itunes:episode>
      <podcast:episode>25</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253047387058180f51ea6b-0e25-47b3-b7c4-618b301d539dv1.mp3" length="33612596" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253047387058180f51ea6b-0e25-47b3-b7c4-618b301d539dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_0f51ea6b-0e25-47b3-b7c4-618b301d539d638558810274401852.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0f51ea6b-0e25-47b3-b7c4-618b301d539d638558810272125609.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/0f51ea6b-0e25-47b3-b7c4-618b301d539d638558810269785378.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Griatch on Evennia (Making MUDs with Python)</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, sign up for our mailing list and support the show.</p>

<h3>Summary</h3>

<p>Griatch is an incredibly talented digital artist, professional astronomer and the maintainer of the Evennia project for creating MUDs in Python. We got the opportunity to speak with him about what MUDs are, why they’re interesting and how Evennia simplifies the process of creating and extending them. If you’re interested in building your own virtual worlds, this episode is a great place to start.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>We are recording today on September 15th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Griatch about the Evennia project</li>
</ul>

<h3>Interview with Griatch</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Can you explain what MUDs are and what that has to do with Evennia?</li>
<li>What is it about MUDs that keeps them interesting long after the technical restrictions that led to their creation are no longer present, especially in light of 3D multiplayer games like WoW and EVE Online?</li>
<li>Can you give us a rundown of the various parts of Evennia (MUD engine, web interface, etc.) and how they fit together?</li>
<li>How does Evennia handle the fact that a MUD world is comprised of many hundreds of objects containing various properties, maintaining consistent, persistent state as players interact with them?</li>
<li>What concurrency tools or paradigms does Evennia use?</li>
<li>During the height of MUDs popularity, one highly sought after feature was the idea of being able to have players travel from one MUD instance to another, would it be possible to implement this in Evennia?</li>
<li>Has the Evennia core team given any thought to adding features to support a richer client interface? Graphical maps or the like?</li>
<li>How difficult would it be to use Evennia to interface with something like Slack or Hipchat for a company-wide MUD? Have you ever heard of someone doing something like that?</li>
<li>Are there any fully fledged running MUDs built with Evennia out in the wild?</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://libraries.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">libraries.io</a></li>
<li><a href="http://jsonapi.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jsonapi.org</a></li>
<li><a href="http://marshmallow.readthedocs.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marshmallow Marshalling Library</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://amzn.to/1gpbw41?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The End of All Things</a></li>
<li><a href="https://www.davidstea.com/ca_en/36oz-steeper?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">David’s Tea Steeper</a></li>
<li><a href="https://www.kickstarter.com/projects/1868398473/hello-web-app-intermediate-concepts?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hello Webapp &#8211; Intermediate Concepts</a></li>
</ul>

<p></li><br>
<li>Griatch</p>

<ul>
<li><a href="https://sysbio.ioc.ee/projects/f2py2e/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">F2Py</a></li>
<li><a href="http://amzn.to/1gpbOrx?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Designing Virtual Worlds</a></li>
<li><a href="http://journal.imaginary-realities.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Imaginary Realities</a></li>
<li><a href="http://optionalrealities.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Optional Realities</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="http://www.evennia.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Evennia Website</a></li>
<li><a href="http://github.com/evennia/evennia?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Evennia Github</a></li>
<li><a href="http://irclogs.jackgrigg.com/irc.freenode.net/evennia/today?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Freenode IRC Channel #Evennia</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="https://roll20.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">roll20</a></li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-24-griatch-on-evennia%2F&amp;action_name=Griatch+on+Evennia+%28Making+MUDs+with+Python%29+-+Episode+24&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-24-griatch-on-evennia/</guid>
      <link>https://www.pythonpodcast.com/episode-24-griatch-on-evennia</link>
      <pubDate>Tue, 29 Sep 2015 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="172.88" duration="17.09">So, MUD is, well, the the abbreviation stands for multi user dungeon or dimension maybe. But it's basically massive multiplayer text games. So these are forerunners to the MMORPGs of today.</podcast:soundbite>
      <podcast:soundbite startTime="1373.92" duration="26.63">So, Django is what we use for the database back end of Avenia. So Django is perhaps most known as a web, framework, and we also use it as that. So Django is what is creating make it very easy for us to present our own website, for example, tied to the same database as the game itself.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:14:03</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Griatch on Evennia (Making MUDs with Python)</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>24</itunes:episode>
      <podcast:episode>24</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252979642063883325e944-2ddb-48de-8b0a-0e7dc2317024v1.mp3" length="71110621" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385252979642063883325e944-2ddb-48de-8b0a-0e7dc2317024v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_3325e944-2ddb-48de-8b0a-0e7dc2317024638558790699526313.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3325e944-2ddb-48de-8b0a-0e7dc2317024638558790695235197.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3325e944-2ddb-48de-8b0a-0e7dc2317024638558790692930038.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Hylang Core Developers</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show, and sign up for our mailing list</p>

<h3>Summary</h3>

<p>We got the chance to talk to some of the core developers of Hylang, which is a Lisp dialect that runs on the Python VM! We talked about how it got started, how it works and why you should try it. Of particular interest is our discussion about using Hylang to backport language features, or create entirely new ones due to the power of Lisp and the Python AST (Abstract Syntax Tree). If you need to level up your Lisp knowledge, they gave us a great list of references to help out.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>We are recording today on August 27, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Paul Tagliamonte, Tuukka Turto, and Morten Linderud</li>
</ul>

<h3>Interview with Hylang Developers</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>Before we get too far along can you explain what Hy is?</li>
<li>What inspired you to create Hy?</li>
<li>What do you recommend as reference material for Python developers to gain familiarity with idiomatic Lisp?</li>
<li>What are some of the problem domains where implementation becomes easier or more elegant as a result of Hy’s LISP syntax?</li>
<li>Given the ability to create powerful macros in Lisp, could Hy be used as a way of prototyping or backporting new language features in Python?</li>
<li>What are some of the most challenging and interesting problems you encountered bringing an alternate syntax to the Python runtime?</li>
<li>While playing around with the Hy REPL I noticed that it does visual matching of parentheses when closing an expression. What other niceties have been included in the REPL?</li>
<li>What are your thoughts on adding autocompletion to the REPL as a way of encouraging discovery and exploration of the Hy language?</li>
<li>Which LISP variant is Hy most similar to, and why?</li>
<li>How does garbage collection work in Hy, and why?</li>
<li>How hard would it be to port existing LISP packages to Hy like MACSYMA or CLOS?</li>
<li>What kind of overhead in terms of runtime performance and memory usage does Hy impose? Has this been a challenge in Hy’s development?</li>
<li>What are some of the most innovative uses for Hy that you have seen or created?</li>
<li>What does the future hold for Hy?</li>
<li>I noticed that there are a large number of core contributors to Hylang and I’m curious how you determine what features to work on?</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://spacy.io/displacy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Displacy</a></li>
<li><a href="http://amzn.to/1V0WkHO?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Golem and the Jinni</a> by Helene Wecker &#8211; Read it on <a href="https://www.scribd.com/g/4ko3os?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scribd</a></li>
<li><a href="https://www.safaribooksonline.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Safari Online</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://kapeli.com/dash?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dash</a> and <a href="http://zealdocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zeal</a></li>
<li><a href="http://www.infiniteguest.org/reasonably-sound/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reasonably sound (podcast)</a></li>
<li><a href="https://www.youtube.com/user/pbsideachannel?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PBS Idea Channel (Youtube)</a></li>
</ul>

<p></li><br>
<li>Paul</p>

<ul>
<li><a href="http://wiki.debian.org/reproduciblebuilds?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reproducible Build Project</a></li>
<li><a href="https://modelviewculture.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Model View Culture</a></li>
</ul>

<p></li><br>
<li>Tuukka</p>

<ul>
<li><a href="https://www.youtube.com/watch?v=2Op3QLzMgSY&amp;list=PL8FE88AA54363BC46&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SICP Lecture</a></li>
<li><a href="http://fsharp.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">F#</a></li>
<li><a href="http://reactivex.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReactiveX</a></li>
<li><a href="http://www.onegameamonth.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">1 Game Per Month (#!GAM)</a></li>
</ul>

<p></li><br>
<li>Morten</p>

<ul>
<li><a href="http://amzn.to/1KnBYna?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hackers</a></li>
<li><a href="http://amzn.to/1KrNFZg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mr. Robot</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Paul
<ul>
<li><a href="https://twitter.com/paultag?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li>paultag on IRC</li>
<li><a href="http://pault.ag?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
</ul>

<p></li><br>
<li>Tuukka</p>

<ul>
<li><a href="https://twitter.com/tuuturto?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
</ul>

<p></li><br>
<li>Morten</p>

<ul>
<li><a href="https://twitter.com/mortenlinderud?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a><br />
<h3>Links</h3>
</li>
</ul>

<p></li><br>
<li><a href="http://docs.hylang.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Core features of Hylang</a></li><br>
<li><a href="https://github.com/algernon/adderall?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adderall &#8211; minicanron in hylang</a></li><br>
<li>Books</p>

<ul>
<li><a href="http://amzn.to/1KrOnFS?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Joy of Clojure</a></li>
<li><a href="http://amzn.to/1KnCu4D?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Let over Lambda</a></li>
<li><a href="http://amzn.to/1iDyLcs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Land of Lisp</a></li>
<li><a href="http://amzn.to/1V0WYVQ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Clojure programming</a></li>
</ul>

<p></li><br>
<li><a href="https://github.com/tuturto/pyherc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Herculeum &#8211; Tukka’s DSL for roguelikes</a></li><br>
<li><a href="https://github.com/pixie-lang/pixie?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pixie &#8211; Lisp in RPython</a></li><br>
<li><a href="https://pyos.github.io/dg/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dogelang</a></li><br>
<li><a href="https://github.com/thomasballinger/bphython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BPython</a></li><br>
<li><a href="https://github.com/trending?l=hy&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Github trending repos with Hylang</a></li><br>
<li><a href="https://github.com/edne/pineal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pineal</a></li><br>
<li><a href="https://github.com/hylang/hydiomatic?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hydiomatic &#8211; Algernon</a></li><br>
</ul></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-23-hylang-core-developers%2F&amp;action_name=Hylang+Core+Developers+-+Episode+23&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-23-hylang-core-developers/</guid>
      <link>https://www.pythonpodcast.com/episode-23-hylang-core-developers</link>
      <pubDate>Sat, 19 Sep 2015 03:00:00 +0000</pubDate>
      <podcast:soundbite startTime="772.57" duration="25.86">So just just to gotta prove that point, I backported the yield from operator from Python 3 to Python 2, and it basically splats out a gigantic hunk of code. And it's actually super interesting because a lot of people don't sort of know what's going on with yield from under the hood. And I sat there for, like, a couple hours and I went through the CPython interpreter and took a look at what the byte code was doing.</podcast:soundbite>
      <podcast:soundbite startTime="262.24" duration="20.05">Hi is this really, really interesting idea. It's sort of thrilling on a couple of different levels. It's primarily something that will take s expressions, will take, this sort of parenthesis notation that's used in Lisp programming languages, and translate that under the hood into the Python abstract syntax tree.</podcast:soundbite>
      <podcast:soundbite startTime="2166.61" duration="22.80">And after that, there's nothing no overhead at all. It it just runs just as fast as Python does. The only, like, real problem you notice is that because, it's a string handling in PyPI that's rather slow. So you have, like, this noticeable delay the first time you run the high file because, PyPI, used a little time to read those strings.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:55:48</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Hylang Core Developers</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>23</itunes:episode>
      <podcast:episode>23</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320161288571805c8440-a68a-448b-9995-d4d7774d5a3fv1.mp3" length="53593425" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320161288571805c8440-a68a-448b-9995-d4d7774d5a3fv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_805c8440-a68a-448b-9995-d4d7774d5a3f638558838905082311.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/805c8440-a68a-448b-9995-d4d7774d5a3f638558838902476402.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/805c8440-a68a-448b-9995-d4d7774d5a3f638558838900398301.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Bryan Van de Ven on Bokeh</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, subscribe to our mailing list, and donate to the show.</p>

<h3>Summary</h3>

<p>Bryan Van de Ven is the project maintainer for Bokeh, a plotting and visualization toolkit that allows Python developers to easily create attractive interactive visualizations for the web. We talked about the project’s history, some interesting use cases for it, and what its near future looks like. Bryan also told us about how Bokeh compares to some of the other visualization libraries in both Python and Javascript, as well as how to use Bokeh from other languages such as Scala and Lua.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>There is a new Python podcast that just started up recently! It’s called the Python Test Podcast and covers the world of testing in Python, so go ahead and give it a listen. You can find it at</li>
<li>We are recording today on Aug 18th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Bryan Van de Ven about the Bokeh project</li>
</ul>

<h3>Interview with Bryan Van de Ven</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>For our listeners who aren’t familiar with what Bokeh is, can you describe it?</li>
<li>What inspired you to create Bokeh?</li>
<li>Bokeh has integrations with some of the other Python graphing libraries such as matplotlib and seaborn. I can see how this would be useful to easily update existing code to publish visualizations on the web. Are there other use cases for these integrations?</li>
<li>I noticed that Bokeh has bindings for some languages other than Python. R and Julia are obvious candidates due to their strong focus on analytics work, I’m curious what made you choose Scala and Lua as languages worth targeting?</li>
<li>Do you lose any capabilities using the javascript library by itself?</li>
<li>Other than the sample data sets that come with Bokeh, can you suggest a good publicly available data set with accompanying tutorial for people who want to get started with data visualization using Bokeh?</li>
<li>Can you provide some comparisons between D3.js and the Bokeh javascript library in terms of capabilities and performance?</li>
<li>The Bokeh project has a server component that allows for streaming data to clients. Can you describe the architecture of that and some example uses for it?</li>
<li>Why was the server written as a Flask blueprint as opposed to making it a component of another framework such as Django or Pyramid and how difficult would it be to port the functionality to another system?</li>
<li>What’s the most interesting use of Bokeh you’ve seen?</li>
<li>Are you aware of any projects in other languages that are comparable to Bokeh?</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://wappalyzer.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wappalyzer</a></li>
<li><a href="http://amzn.to/1TT6fi4?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Graveyard Book</a> by Neil Gaiman</li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://gist.github.com/mnot/382aca0b23b6bf082116?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Edward Snowden Meets the IETF</a></li>
<li><a href="http://amzn.to/1VKSYLs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Between the World and Me</a></li>
<li><a href="https://untappd.com/home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Untapp’d</a></li>
</ul>

<p></li><br>
<li>Bryan</p>

<ul>
<li>Audiobooks
<ul>
<li><a href="https://www.scribd.com/g/4ko3os?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scribd</a> &#8211; Subscription service for ebooks and audio books with a great selection</li>
<li><a href="http://www.amazon.com/Audible-Free-Trial-Digital-Membership/dp/B00NB86OYE/?ref_=assoc_tag_ph_1422899139880&amp;_encoding=UTF8&amp;camp=1789&amp;creative=9325&amp;linkCode=pf4&amp;tag=podcastinit-20&amp;linkId=RAXKXNVMHTTMRQVS&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Try Audible and Get Two Free Audiobooks</a><img style="border: none; margin: 0px;" src="http://ir-na.amazon-adsystem.com/e/ir?t=podcastinit-20&amp;l=pf4&amp;o=1&utm_source=rss&utm_medium=rss" alt="" width="1" height="1" border="0" /></li>
</ul>

<p></li><br>
<li><a href="http://amzn.to/1MxHLun?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cartographies of Time</a></li><br>
<li><a href="http://postmodernjukebox.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Post-Modern Jukebox</a></li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/bokehplots?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://groups.google.com/a/continuum.io/forum/#!forum/bokeh?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mailing List</a></li>
<li><a href="http://bokeh.pydata.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bokeh Web Site</a></li>
</ul>

<h3>Links</h3>

<ul>
<li><a href="https://github.com/vispy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">vispy</a></li>
<li><a href="https://github.com/wrobstory/vincent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vincent</a></li>
<li><a href="https://trifacta.github.io/vega/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">vega</a></li>
<li><a href="http://d3js.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">D3.js</a></li>
<li><a href="http://nbviewer.ipython.org/github/bokeh/bokeh-notebooks/blob/master/index.ipynb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nbviewer.org bokeh page</a></li>
<li><a href="http://labrosa.ee.columbia.edu/millionsong/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">million song dataset</a></li>
<li><a href="http://data.gov?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">data.gov</a></li>
<li><a href="http://ggplot.yhathq.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ggplot</a> / <a href="http://ggvis.rstudio.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ggvis</a></li>
<li><a href="http://www.wolfram.com/mathematica/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">mathematica</a></li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-22-bryan-van-de-ven-on-bokeh%2F&amp;action_name=Bryan+Van+de+Ven+on+Bokeh+-+Episode+22&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-22-bryan-van-de-ven-on-bokeh/</guid>
      <link>https://www.pythonpodcast.com/episode-22-bryan-van-de-ven-on-bokeh</link>
      <pubDate>Tue, 8 Sep 2015 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="791.90" duration="22.68">I definitely think that's true. I mean, that I think that is sort of the core ethos of the Python sort community going back a long way. I mentioned, you know, I started using Python in the late nineties, and at the time that's when people like Dave Beasley were creating Swig, you know, the the the wrapper generator so you could call, you know, Fortran and c and c plus plus code from Python. Really wanna be able to sort of make Python this amazing blue language and extend its reach, into scientific computing by being able to do that.</podcast:soundbite>
      <podcast:soundbite startTime="224.57" duration="21.82">So Bokeh is a a library for creating interactive visualizations that maybe have novel, types of graphics or that can handle streaming or large datasets or that can have widgets and interactions and all of these sorts of things together, that you can have these sorts of, interactive visualizations, in the browser, sort of as a first class concern. It's 2015. That's the right target to be in, I think, is in the browser, but without having to write really JavaScript.</podcast:soundbite>
      <podcast:soundbite startTime="2382.38" duration="25.14">But the the main thing the server needs to do is to be this reflective sort of RPC mechanism, right, where if you have a model in 1 place, in 1 language, and it updates, then it'll update in the clients and and vice versa. And so we're gonna make it do that in a spectacular fashion. We're actually gonna move to a WebSocket, wire protocol for everything that's gonna simplify a lot of things for us. It's gonna be a little bit more like the IPython sort of server if you wanna think of or Jupyter server rather if you wanna think about it in those terms.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:57:19</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Bryan Van de Ven on Bokeh</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>22</itunes:episode>
      <podcast:episode>22</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304618444377c79ceb9f-0529-40dd-ad5b-60572f133149v1.mp3" length="55040850" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525304618444377c79ceb9f-0529-40dd-ad5b-60572f133149v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c79ceb9f-0529-40dd-ad5b-60572f133149638558809980773211.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c79ceb9f-0529-40dd-ad5b-60572f133149638558809978516434.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c79ceb9f-0529-40dd-ad5b-60572f133149638558809976223158.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Jessica McKellar</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, support the show and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>We got the chance to talk to Jessica McKellar about her work in the Python community. She told us about her experience as a director for the PSF, working as the diversity outreach manager for PyCon, and being a champion for improving the on-boarding experience for new users of Python. We also discussed perceptions around the performance of Python and some of the work being done to improve concurrency, as well as her work with OpenHatch.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>We are recording today on Aug, 12 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Jessica McKellar</li>
</ul>

<h3>Interview with Jessica McKellar</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?
<ul>
<li>Attended MIT, originally for Chemistry</li>
<li>Had friends pursuing CS degrees</li>
<li>Toolset and skills seemed worth investingating</li>
<li>Led to BA and MS</li>
<li>MIT was in transition from LISP to Python</li>
</ul>

<p></li><br>
<li>Can you describe what your responsibilities are as a director of the PSF?</p>

<ul>
<li>A lot of outreach and investment in the community</li>
</ul>

<p></li><br>
<li>Do you think the PSF does a good job of making people aware of what it is, what it does for the community, and how they can help?</p>

<ul>
<li>Struggled with this historically but has gotten better in recent years</li>
<li>Website re-design has helped</li>
</ul>

<p></li><br>
<li>A large focus of your work in the community has been around improving the experience of users who are new to Python and programming in general and I noticed that you just received the Frank Willison Memorial Award for your contributions to outreach and education in the Python community. What is your motivation behind this particular focus?</p>

<ul>
<li>Great deal of empathy for newcomers due to personal history</li>
<li>Knowing how to program changes how you think about the world</li>
</ul>

<p></li><br>
<li>Has the situation for newcomers running Windows who wish to try Python gotten any better since your keynote at Kiwi PyCon?</p>

<ul>
<li>Some vaguaries of setup have gotten better with recent versions (e.g. setting path variables)</li>
<li>Ruby has in-browser tutorial to get people hooked</li>
</ul>

<p></li><br>
<li>Do “Batteries Included’ distributions like Anaconda help or is it the same problem of visibility you discussed in your talk?</p>

<ul>
<li>Informatino flow / what are you default options question</li>
<li>We could be much more opinionated about this</li>
</ul>

<p></li><br>
<li>You have presented a number of times about the future of Python and how we can all help to make sure that story is a happy one. How has the material for that talk changed over the past few years?</p>

<ul>
<li>As a largely volunteer community, how to maximize the impact of the bandwidth that we have</li>
<li>Focus on the ‘top of the funnel’ to win over new users</li>
<li>Python has the steepest positive curve of any language</li>
<li>Community should invest in AP high school Python curriculum</li>
</ul>

<p></li><br>
<li>What do you anticipate will be the talking points for this topic over the next few years?</p>

<ul>
<li>We need to be smart about which areas we invest in to ensure success e.g. mobile, web, desktop.</li>
</ul>

<p></li><br>
<li>If you could grade the Python community on how well they have listened to and acted on the calls to action in your talks over the past few years, what would you give them?</p>

<ul>
<li>Rallying large groups of volunteers is a hard problem</li>
<li>We need to think about commercial partnerships in key areas</li>
</ul>

<p></li><br>
<li>In your Kiwi PyCon talk you mentioned Kivy as an example of a great way to do mobile software development in Python. It feels to me like the Kivy team are still not getting the community involvement and buy in they should. How can we help make Kivy the mobile app development platform of choice for beginners?</p>

<ul>
<li>This will be a tough battle because Python is not the default platform for mobile compared to Java for Android, Objective C, Swift</li>
<li>Users vote with their feet depending on what provides the most value to them</li>
<li>Opportunity for a virtuous cycle here</li>
</ul>

<p></li><br>
<li>Game development as an entree to programming has been a recurring theme on our podcast. Has the Python game dev scene improved at all since 2013? And do you still see the same pitfalls holding people back (like app packaging), or have we moved on to different problems?</p>

<ul>
<li>The problems are largely the same</li>
<li>Status quo still feels pretty broken</li>
<li>Creative experiments around this definitely make sense for the community</li>
<li>KivEnt could be a win here because Kivy apps are free standing binaries and require no dependencies.</li>
</ul>

<p></li><br>
<li>What do you view as the biggest threats to the popularity of Python currently and what can we do to address them?</p>

<ul>
<li>Other languages gaining popularity where Python has historically been strong (e.g. server-side development)</li>
<li>A lot of this may be a perception issue</li>
<li>May be largely a marketing problem</li>
</ul>

<p></li><br>
<li>I understand that you were involved in the formation of the Open Hatch organization. Can you describe what Open Hatch does and how our listeners can get involved?</p>

<ul>
<li>Non-profit dedicated to lowering barriers to entry for open source contribution</li>
<li>Host workshops in colleges, underserved communities, etc.</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://justgetflux.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">F.lux</a></li>
<li><a href="http://lightyear.fm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Lightyear.fm</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0401/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PEP 0401</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://benedictjacka.co.uk/alex-verus/us/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Alex Verus Series by Benedict Jacka</a></li>
<li><a href="https://www.youtube.com/watch?v=nsGYet02bEk&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rick Dillon’s Org-mode structure manipulation tutorial</a></li>
<li><a href="http://amzn.to/1FdUigj?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dominion</a></li>
</ul>

<p></li><br>
<li>Jessica</p>

<ul>
<li><a href="https://gimletmedia.com/show/reply-all/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reply All Podcast</a></li>
<li><a href="https://www.ietf.org/rfc/rfc959.txt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RFC 959</a> &#8211; original FTP RFC
<ul>
<li>Go read some RFCs!</li>
</ul>

<p></li><br>
<li><a href="http://www.anrdoezrs.net/ce106vpyvpxCKLIDKMICEEFJDEMLCEHGDKIILKKDDD?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920045267.do%3Fcmp%3Daf-prog-books-videos-product_cj_9781491939369_%2525zp&amp;cjsku=0636920045267&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Think Stats</a></li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Google for “Jesstess”</li>
</ul>

<h3>Conference Presentations</h3>

<ul>
<li><a href="https://www.youtube.com/watch?v=CI_RPSbsRw8&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://www.youtube.com/watch?v=CI_RPSbsRw8&utm_source=rss&utm_medium=rss</a></li>
<li><a href="https://www.youtube.com/watch?v=2p-FecWny_Q&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://www.youtube.com/watch?v=2p-FecWny_Q&utm_source=rss&utm_medium=rss</a></li>
<li><a href="https://www.youtube.com/watch?v=lH9KJBr_R1Q&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://www.youtube.com/watch?v=lH9KJBr_R1Q&utm_source=rss&utm_medium=rss</a></li>
<li><a href="https://www.youtube.com/watch?v=d1a4Jbjc-vU&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://www.youtube.com/watch?v=d1a4Jbjc-vU&utm_source=rss&utm_medium=rss</a></li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-21-jessica-mckellar%2F&amp;action_name=Jessica+McKellar+-+Episode+21&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-21-jessica-mckellar/</guid>
      <link>https://www.pythonpodcast.com/episode-21-jessica-mckellar</link>
      <pubDate>Tue, 1 Sep 2015 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="67.99" duration="22.56">I run an engineering group at Dropbox and I'm, I just want a pretty long time contributor to the Python community. In particular, I was a director for the Python software foundation for several years. Back in Boston, I was an organizer for the Boston Python user group while it grew to become the largest Python user group in the world. In large part due to a bunch of very concerted diversity outreach initiatives that we were running that I'm quite proud of.</podcast:soundbite>
      <podcast:soundbite startTime="435.38" duration="28.12">Well, it's it's probably at least twofold. So 1 is that I I have a great deal of empathy for the new user and the beginner because I started programming, I wouldn't say late in life, but compared to a lot of my friends I felt like a real latecomer. You know, I was not 1 of those wunderkind who was programming when I was 4 or 5 years old. So I have a lot of empathy for the the the new user and the beginner, and I and I just had this natural sort of love and desire to support that population.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:51:24</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Jessica McKellar</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>21</itunes:episode>
      <podcast:episode>21</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297921729700b81cb40a-ccf2-49e6-b570-0e3e9d9ab30ev1.mp3" length="49360755" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297921729700b81cb40a-ccf2-49e6-b570-0e3e9d9ab30ev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_b81cb40a-ccf2-49e6-b570-0e3e9d9ab30e638558790405930844.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b81cb40a-ccf2-49e6-b570-0e3e9d9ab30e638558790403224114.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/b81cb40a-ccf2-49e6-b570-0e3e9d9ab30e638558790401199963.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Static Site Generators with Justin Mayer and Roberto Alsina</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, comment on the show or find out more about us.</p>

<h3>Summary</h3>

<p>In this episode we had the opportunity to discuss the world of static site generators with Roberto Alsina of the Nikola project and Justin Mayer of the Pelican project. They explained what static site generators are and why you might want to use one. We asked about why you should choose a Python based static site generator, theming and markup support as well as metadata formats and documentation. We also debated what makes Pelican and Nikola so popular compared to other projects.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Welcome to Podcast.__init__ the podcast about Python and the people who make it great</li>
<li>Follow us on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a> or <a href="http://tunein.com/radio/Podcast__init__-p726240/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a></li>
<li>Give us feedback on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a>, <a href="mailto:hosts@podcastinit.com">email</a> or <a href="http://podcastinit.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Disqus</a></li>
<li>We donate our time to you because we love Python and its community. If you would like to return the favor you can send us a <a>donation</a>}. Everything that we don’t spend on producing the show will be donated to the PSF to keep the community alive.</li>
<li>Date of recording &#8211; August 08, 2015</li>
<li>Hosts Tobias Macey and Chris Patti</li>
<li>Today we are interviewing the core developers of Nikola and Pelican about static site generators</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Introductions
<ul>
<li>Monitorial.net &lt;- Justin</li>
<li>Upriise &lt;- Justin</li>
<li>Works for Canonical &lt;- Roberto</li>
</ul>

<p></li><br>
<li>How did you get introduced to Python?</p>

<ul>
<li>Justin:
<ul>
<li>Needed a way to get order data to payment processor for commerce company</li>
</ul>

<p></li><br>
<li>Roberto:</p>

<ul>
<li>1996 got involved with Linux</li>
<li>Found XForms</li>
<li>Wrote Python bindings</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>For our listeners who might not know, what are static site generators and what are some of the advantages they bring to the table over other similar systems that perform the same function?</p>

<ul>
<li>Roberto
<ul>
<li>Remove all the effort from the computer that serves the website</li>
<li>Server runs no code</li>
<li>Smaller ssurface area for security purposes</li>
</ul>

<p></li><br>
<li>Justin</p>

<ul>
<li>Better performance &#8211; important for responsiveness and uptime</li>
<li>Easier deployment and maintenance</li>
<li>Easier versioning and migration</li>
<li>Can version both input and output</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>There are a number of static site generators available in virtually every language. Why would a user want to leverage a Python solution vs Ruby, javascript, Go, etc.?</p>

<ul>
<li>ReStructured TeXT is best supported in Python</li>
<li>Good language for supporting various markup syntaxes</li>
</ul>

<p></li><br>
<li>Most static site generators seem to have a primary focus on blogging. What is it about these tools that lend themselves so well to that use case?</p>

<ul>
<li>The author of the tools shape the purpose of the tool</li>
<li>Most popular among programmers which is a demographic that is likely to have a blog
<ul>
<li>Workflow is similar to what programmers are used to</li>
</ul>

<p></li><br>
<li>Still useful for non-chronological pages due to templating system</li><br>
</ul><br>
</li><br>
<li>Something that struck me comparing the two systems is that they have largely the same kinds of data going into the metadata block for each post, but it’s expressed in a different / incompatible way in each. Have you ever considered agreeing on a standard and even advertising it as such so all static site generators could make use of it?</li><br>
<li>Challenging because of the idiosyncratic way problems are solved in each system</li><br>
<li>Wouldn’t end up with the same site even if metadata were identical</li><br>
<li>Roberto &amp; Justin are talking, this may happen!</li><br>
<li>The themes in Pelican and Nikola have very different feels and one of the things that initially drew me to Pelican is the larger catalog of themes available. What are some of the challenges involved in creating a theme for a static site generator?</li><br>
<li>Many programmers who write SSGs aren’t amazing at HTML</li><br>
<li>Pelican and Nikola seem to be the most widely used projects for creating static sites using Python. What do you think is the key to that popularity?</p>

<ul>
<li>Frequent updates, good documentation and large community</li>
<li>Easy to get up and running
<ul>
<li>Need to be productive inside of 2 minutes</li>
</ul>

<p></li><br>
<li>Good first impressions are key</li><br>
<li>Importance of extensibility</li><br>
<li>Core modularity and availability of plugins</li><br>
</ul><br>
</li><br>
<li>A lot of people have written about the importance (and difficulty) of writing and maintaining good documentation in open source projects. Nikola’s documentation is excellent. How did Nikola manage this in its development process and what can other open source projects learn from this?</p>

<ul>
<li>No secrets &#8211; just do it and keep it updated.</li>
<li>Need to look at the tool as if using it for the first time</li>
</ul>

<p></li><br>
<li>What are some specific examples of unique and interesting uses your site generators have been put to?</p>

<ul>
<li>Justin:
<ul>
<li>kernel.org, Debian, Chicago Linux Users, TransFX (translation house) all use Pelican</li>
<li>Embedding Jupyter notebooks and MathML rendering in posts</li>
<li>Site search plugin</li>
</ul>

<p></li><br>
<li>Nikola:</p>

<ul>
<li>Big adoption in the sciences (Jupyter notebook embedding supported in core)</li>
<li>Output is forever</li>
<li>Plugin to trigger internet archive to reindex site</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>Nikola’s flexible deployment architecture (e.g. the use of doit tasks) seems to lend itself to some interesting use cases. What was the inspiration for this?</p>

<ul>
<li>Build was taking 1 1/2 hours, doit allowed for incremental generation</li>
<li>Doit is a generic task system. Nikola has no “main” it’s a collection of doit tasks.</li>
</ul>

<p></li><br>
<li>Is there any specific help that you would like to ask of the audience?</p>

<ul>
<li>Contribute themes</li>
<li>Help with reviewing issues and pull requests</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://termux.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Termux</a></li>
<li><a href="https://github.com/warner/magic-wormhole?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Magic Wormhole</a></li>
<li><a href="http://crsmithdev.com/arrow/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arrow</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://www.gnu.org/software/emacs/manual/eintr.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Emacs Lisp Introduction</a></li>
<li><a href="https://www.youtube.com/watch?v=wNypW-aSCmE&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">3D Cellular Automata in Minecraft</a></li>
<li><a href="https://panic.com/prompt/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prompt 2</a></li>
</ul>

<p></li><br>
<li>Justin</p>

<ul>
<li><a href="http://monitorial.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Monitorial.net</a></li>
<li><a href="http://upriise.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Upriise</a></li>
<li><a href="http://ergodox.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ergodox</a></li>
<li><a href="http://www.ergodepot.com/Jarvis_Desk_Bamboo_p/jrv-b.htm?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jarvis Bamboo Sit/Stand Desk</a></li>
<li><a href="https://talky.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Talky.io</a></li>
<li><a href="http://fishshell.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fish shell</a>
<ul>
<li><a href="https://github.com/justinmayer/tacklebox?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tacklebox</a></li>
</ul>

<p></li><br>
<li><a href="https://www.iterm2.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTerm v3.0 beta</a></li><br>
<li><a href="http://www.beeradvocate.com/beer/profile/112/30282/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brother Thelonious Belgian Ale</a></li><br>
<li><a href="http://www.frogsleap.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Frog’s Leap Winery</a></li><br>
<li><a href="https://www.pycon.it/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Italia</a> and Italy in general</li><br>
</ul><br>
</li><br>
<li>Roberto</p>

<ul>
<li><a href="http://www.nealstephenson.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neal Stephenson</a></li>
<li><a href="http://docopt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Docopt</a></li>
<li><a href="https://en.wikipedia.org/wiki/Fried_pickle?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fried Pickles</a></li>
<li><a href="http://python.org.ar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyAr</a> Python Argentina User Group</li>
<li><a href="http://ar.pycon.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon Argentina</a> in Mendosa</li>
<li><a href="http://python.org.ar/wiki/PyCamp?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCamp</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Justin
<ul>
<li><a href="http://justinmayer.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Personal</a></li>
<li><a href="http://getpelican.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pelican</a></li>
</ul>

<p></li><br>
<li>Roberto</p>

<ul>
<li><a href="http://getnikola.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nikola</a>
<ul>
<li>Forums and mailing list</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
</ul></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-20-static-site-generators-with-justin-mayer-and-roberto-alsina%2F&amp;action_name=Static+Site+Generators+with+Justin+Mayer+and+Roberto+Alsina+-+Episode+20&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-20-static-site-generators-with-justin-mayer-and-roberto-alsina/</guid>
      <link>https://www.pythonpodcast.com/episode-20-static-site-generators-with-justin-mayer-and-roberto-alsina</link>
      <pubDate>Tue, 25 Aug 2015 11:00:00 +0000</pubDate>
      <podcast:soundbite startTime="3350.34" duration="76.21">So a lot of people have written about the importance and difficulty of writing and maintaining good documentation in open source projects. Nikola's documentation is excellent. How did Nikola manage this in its development process, and what can other open source projects learn from this? I write a lot. There's no secret to documentation. You just have to write it, and then you have to keep it updated. It takes time, and nobody likes to do it. But I do it anyway. That's sorry. That's the sad version of things. I I guess the answer is you are Nicola's author, and so it falls to you. It's not like you have a huge cast of characters who are working on Nicola's core that you have to get to write documentation. There there is, basically, Nicola nowadays is written by about 3 or 4 people. Mostly me, Chris Warwick, Steven Alexanderson. He does a lot of things. He's the 1 that knows HTML, so I want to keep him happy. And I am the 1 that writes most of the docs because I don't hate writing docs. I do that a lot. And I want it to be documented. So if I want it to be documented, I need to write it. It's that's how it works. I I'm not going to reject a branch because it doesn't have documentation, so I need to add it.</podcast:soundbite>
      <podcast:soundbite startTime="394.80" duration="65.46">For our listeners who may not know, what are static site generators, and what are some of the advantages they bring to the table over other similar systems that perform the same function? So, basically, static site generators take all the they remove all the effort from the computer that serves you the website. Usually, websites, you read the page, and then the page is custom built for you just at that moment. It checks things with databases. It runs programs on the server and does all sorts of things so that in the end, you end up with HTML text in your browser. Right? In a static site generator, all that happens before. It happens much earlier in the process. It happens on somebody else's computer, then the results are uploaded to the server. And that means the server already knows what you want. It will give you the the static web page you really need, and that's all it's going to give you. No code runs on the server. No database runs on the server. And that means the server doesn't do much. It's really light, doesn't need a lot of resources, has a much smaller surface to have security issues, and usually work faster.</podcast:soundbite>
      <podcast:soundbite startTime="1777.70" duration="73.87">So something that struck me comparing the 2 systems is that they have largely the same kinds of data going into the metadata block for each post, but it's expressed in a different and incompatible way in each. Have you ever considered agreeing on a standard and even advertising it as such, so all static site generators could make use of it and this plays into your vendor lock in point from from before? It's an intriguing idea. At first, I was trying to work through the idea and and see, you know, how that would work, and it is an interesting concept. It is a little challenging because it does require coordination across, obviously, a very wide range of of tools. Yeah. Not that you would have to start out with with every tool using it, of course. But trying to build consensus in general is is a challenging thing to do. And when you have this many different tools, they tend to do things in their own idiosyncratic way because they're, like Roberto said, trying to solve the particular needs of the person who implemented it. But it's an intriguing idea, and I would certainly be interested in exploring it.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:32:36</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Static Site Generators with Justin Mayer and Roberto Alsina</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>20</itunes:episode>
      <podcast:episode>20</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305721888063c4f4d6d5-c97e-4fd5-9c37-722096d8a7cdv1.mp3" length="88918730" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305721888063c4f4d6d5-c97e-4fd5-9c37-722096d8a7cdv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_c4f4d6d5-c97e-4fd5-9c37-722096d8a7cd638558814926628634.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c4f4d6d5-c97e-4fd5-9c37-722096d8a7cd638558814914319751.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/c4f4d6d5-c97e-4fd5-9c37-722096d8a7cd638558814912164671.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Al Sweigart on Python for Non-Programmers</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, learn more about us, and support the show.</p>

<h3>Summary</h3>

<p>We got the opportunity to speak with Al Sweigart about his work on books like ‘Automate The Boring Stuff With Python’ and ‘Invent With Python’. We discussed how Python can be useful to people who don’t work as software engineers, why coding literacy is important for the general populace and how that will affect the ways in which we interact with software.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Subscribe on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a> or <a href="https://www.pythonpodcast.com/feed/mp3/?utm_source=rss&utm_medium=rss">RSS</a></li>
<li>Follow us on <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a> or <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>Give us feedback! Leave a review on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweet</a> to us, send us an <a href="mailto:hosts@podcastinit.com">email</a> or leave us a message on <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a></li>
<li>I would like to thank everyone who has donated to the show. Your contributions help us make the show sustainable. For details on how to support the show you can visit our site at</li>
<li>We are recording today on July 27th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Al Sweigart about Python for non-programmers</li>
</ul>

<h3>Interview with Al Sweigert</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?
<ul>
<li>Started in PHP/Perl, introduced to Python in 2006</li>
<li>Lack of curly braces took some getting used to</li>
<li>Clarity of standard library was refreshing</li>
</ul>

<p></li><br>
<li>What inspired you to start writing books for non-programmers?</p>

<ul>
<li>Friend who took care of 10 year old interested in programming</li>
<li>Lack of coherent introductory material</li>
<li>Started writing a tutorial which grew to book length</li>
<li>All books published under Creative Commons license</li>
</ul>

<p></li><br>
<li>You have written a few books about teaching Python to people who have never programmed, can you share your thoughts on the best order in which to introduce the various aspects of programming?</p>

<ul>
<li>Blog post driven development &#8211; <a href="http://blog.estimote.com/post/119525082855/user-stories-on-steroids-how-estimote-uses-blog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">http://blog.estimote.com/post/119525082855/user-stories-on-steroids-how-estimote-uses-blog?utm_source=rss&utm_medium=rss</a></li>
</ul>

<p></li><br>
<li>Where does software testing come in when teaching new coders how to program?</p>

<ul>
<li>Use the logger, debugger, and assertions effectively</li>
</ul>

<p></li><br>
<li>In invent with Python you use games as the vehicle to discuss the principles involved with writing code. What is it about computer games that makes them so popular as a means to introduce programming to newcomers?</p>

<ul>
<li>Something everyone is familiar with</li>
<li>Easy to make a simple game to get started</li>
<li>Good way to get creative with programming</li>
</ul>

<p></li><br>
<li>For automate the boring stuff with Python you focused on explaining how programming can be useful even if it is not someone’s occupation. How did you determine which kinds of activities to focus on for the book?</p>

<ul>
<li>Got the idea at a meetup talking to someone who works in an office doing repetitive tasks</li>
<li>A lot of office jobs that involve tedious computer work which could be automated</li>
</ul>

<p></li><br>
<li>What are your thoughts on the need for software literacy among the general population?</p>

<ul>
<li>How much programming knowledge do you think is sufficient for a member of our modern society?</li>
</ul>

<p></li><br>
<li>You also wrote about using Python to decrypt simple ciphers as a means to learn about code. What was the inspiration for this approach to software education?</p>

<ul>
<li>One of the projects in invent with Python was a simple cypher, inspired further interest in the subject</li>
</ul>

<p></li><br>
<li>In episode 7 with Jacob Kaplan-Moss we talked about how we define what a programmer is. Can you share your opinions on what separates someone who can understand code from someone who is a programmer?</p>

<ul>
<li>Barriers to entry have been significantly lowered, making the distinction very fuzzy</li>
<li>Definition of programmer is becoming much wider</li>
</ul>

<p></li><br>
<li>Books available at:</p>

<ul>
<li><a href="https://automatetheboringstuff.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Automate the Boring Stuff</a></li>
<li><a href="https://inventwithpython.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Invent With Python</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://pythonhosted.org/Logbook/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Logbook</a></li>
<li><a href="http://emacswiki.org/emacs/EmacsDoctor?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Emacs Psychotherapist</a></li>
<li><a href="http://amzn.to/1D9XYnC?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ex Machina</a></li>
<li><a href="http://www.dpbolvw.net/l8122wktqks7FGD8FHD799AE89HG79CB8FDDGFF888?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920030195.do%3Fcmp%3Daf-strata-books-videos-product_cj_9781449368203_%2525zp&amp;cjsku=9781449368203&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mining the social web</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://emacsrocks.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Emacs Rocks</a></li>
<li><a href="http://workingcopyapp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Working Copy</a></li>
<li><a href="http://www.feedly.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Feedly</a></li>
<li><a href="http://www.phoenixnewtimes.com/restaurants/how-to-make-a-tom-collins-the-right-way-6521006?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tom Collins</a></li>
</ul>

<p></li><br>
<li>Al</p>

<ul>
<li><a href="https://us.pycon.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyCon</a></li>
<li><a href="https://selenium-python.readthedocs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Selenium Python Module</a></li>
<li><a href="http://amzn.to/1h40bY3?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Seven Eaves by Neal Stephenson</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="@alsweigart">Twitter</a></li>
<li><a href="mailto:al@sweigart.com">Email</a></li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-19-al-sweigart-on-python-for-non-programmers%2F&amp;action_name=Al+Sweigart+on+Python+for+Non-Programmers+-+Episode+19&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-19-al-sweigart-on-python-for-non-programmers/</guid>
      <link>https://www.pythonpodcast.com/episode-19-al-sweigart-on-python-for-non-programmers</link>
      <pubDate>Sun, 16 Aug 2015 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="251.10" duration="67.59">I had a friend who was a nanny for this pretty precocious 10 year old, and he wanted to learn how to program. So I started checking online and looked at some resources. And, you know, there's a lot of information on the web, but it's not really tied together very coherently. It's it's not like you can just say, oh, read this part of this website, and then go through this tutorial. And a lot of it is made for professional software engineers, or a lot of it just sort of talks about programming. And so I thought back to when I had first learned how to program. I think this was about the 3rd or 4th grade, and it was this 1 book more than anything else that had introduced me to programming. And it just, it had all these small little games programmed in BASIC. And I don't even think I really read through much of the book. I just sort of copied the source code out and then just started fiddling around with it. And so I just remember that book. I thought, well, that's great. You know, there should be something like that where you can actually see the code rather than just read about all these abstract programming concepts, and then you're left on your own to put something, together. So I started writing this tutorial, which sort of ballooned up into book length.</podcast:soundbite>
      <podcast:soundbite startTime="1916.98" duration="65.30">I remember in, like, 1999 or something like that, I heard that everybody in Japan had a cell phone that also had a camera on it, and I thought, why would you want a camera on your cell phone? Why would you want your cell phone to do anything other than make calls, and now people don't even use it for that? Right. Exactly. Although, it seems like your skepticism might have been a little bit prescient because now people are saying, gee. Was it really such a good idea that my cell phone now has a camera on it? Right. Because now how do I know when it's on when I don't want it to be? Oh, yes. And I've done this for a while now, but I actually have a little piece of black electrical tape over the webcam on that's built into my laptop. And I I thought I was being a bit paranoid and well, and then snow didn't happen. So now I kind of feel like, maybe I'm not being that paranoid about that. Not at all. Especially since nowadays, honest to God, aside you know, NSA aside, there are documented cases of malware authors activating the webcams of the their targets. So it's definitely a thing. I mean, it is not in the realm of tinfoil hat paranoia anymore. It's been proven.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:52</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Al Sweigart on Python for Non-Programmers</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>19</itunes:episode>
      <podcast:episode>19</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529939984040611a097b0-c291-4e3b-b469-296138176eeav1.mp3" length="50771155" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852529939984040611a097b0-c291-4e3b-b469-296138176eeav1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_11a097b0-c291-4e3b-b469-296138176eea638558795908571962.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/11a097b0-c291-4e3b-b469-296138176eea638558795905454399.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/11a097b0-c291-4e3b-b469-296138176eea638558795903530774.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Liza Avramenko on CheckIO and Empire of Code</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, find additional content, sign up for our newsletter or learn about the hosts.</p>

<h3>Summary</h3>

<p>In this episode we talked to Liza Avramenko, the CEO of CheckIO, about Empire of Code and CheckIO. We discussed what differentiates them from each other and from the other coding games that have been spreading on the internet. One of the main differentiators for CheckIO in particular is the strong focus on community. The bottom line is that if you use Python then you should check out CheckIO and Empire of Code as a great way to practice your skills.</p>

<h3>Brief Intro</h3>

<ul>
<li>Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.</li>
<li>Follow us on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a> or <a href="http://tunein.com/radio/Podcast__init__-p726240/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a></li>
<li>Give us feedback on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a>, <a href="mailto:hosts@podcastinit.com">email</a> or <a href="http://podcastinit.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Disqus</a></li>
<li>We donate our time to you because we love Python and its community. If you would like to return the favor you can send us a <a href="http://podcastinit.com/our-plans-for-your-donations.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">donation</a>. Everything that we don’t spend on producing the show will be donated to the PSF to keep the community alive.</li>
<li>We are recording today on July 27th, 2015 and your hosts as usual are Tobias Macey and Chris Patti</li>
<li>Today we are interviewing Liza Avramenko about CheckIO</li>
</ul>

<h3>Interview</h3>

<ul>
<li>Please introduce yourself</li>
<li>How did you get introduced to Python?
<ul>
<li>Learned about it from Co-Founder Alex</li>
</ul>

<p></li><br>
<li>For anyone not familiar with CheckIO, can you explain what it is?</li><br>
<li>What was the inspiration for creating the CheckIO platform?</p>

<ul>
<li>Alex was bored working in a bank and wanted to create a place for sharing practice problems</li>
</ul>

<p></li><br>
<li>What is your goal with this platform?</p>

<ul>
<li>Become global community for most popular coding languages</li>
<li>Remain open and supportive</li>
</ul>

<p></li><br>
<li>How do you deal with the question of ownership and licensing in CheckIO? Was this a tricky hurdle to get past in the site’s creation?</p>

<ul>
<li>Being willing to share solutions publicly is a core part of the site.
<ul>
<li>This had to be more explicitly stated due to some users confusion early on.</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>Growing a community is difficult because of the chicken and egg problem. How did you kickstart the growth of the CheckIO community?</p>

<ul>
<li>Community always number one priority</li>
<li>Started organically</li>
<li>Initially had 24/7 live chat to help new users</li>
<li>Openness was attractive, led to critical mass</li>
<li>As community grew, need for live chat decreased</li>
<li>Nature of Python community lends itself well to a collaborative, open community</li>
<li>Guido provided advice on how to grow and foster community</li>
</ul>

<p></li><br>
<li>Guido himself has participated in a number of conversations on your platform to critique submissions. Have you received any feedback from him directly about his impressions of the system?</li><br>
<li>How does diversity play into CheckIO? Are there aspects of the site’s design that are purposefully meant to attract a diverse audience?</p>

<ul>
<li>CheckIO has always targeted people with basic coding experience</li>
<li>Early live chat feedback focused around very new coders wishing there was more material for them</li>
<li>These early challenges resulted in the development of <a href="https://empireofcode.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Empire of Code</a></li>
</ul>

<p></li><br>
<li>There are a number of other online programming-oriented games available. What makes CheckIO and Empire of Code stand out from them?</p>

<ul>
<li>Priority of community</li>
<li>Others are more about gaming, showcasing talent</li>
</ul>

<p></li><br>
<li>How did you design the gamification aspects of CheckIO, and how important do you think they are to the site’s success?</p>

<ul>
<li>CheckIO was never a game, more of a library of challenges that have game elements</li>
<li>Empire of Code is all about gamification, code and algo improvement are baked into the gameplay
<ul>
<li>You choose Python or Javascript “legions” at character creation time, this is a one time choice.</li>
<li>Buildings, troop movements, materials, etc. are all based in code</li>
<li>Players can steal code and algorithms from other players
<ul>
<li>Incredible innovation</li>
</ul>

<p></li><br>
<li>Great adoption story for new users &#8211; can start playing without writing any code</p>

<ul>
<li>But in order to really excel you will WANT to start writing code</li>
<li>So many people have their original motivations for coding come from playing games</li>
</ul>

<p></li><br>
<li>Cooperative play in the form of training missions with other players</p>

<ul>
<li>This is an opportunity to learn how people on the other side are solving the same problem</li>
</ul>

<p></li><br>
<li>New languages are planned &#8211; Ruby, maybe Java?</li><br>
</ul><br>
</li><br>
</ul><br>
</li><br>
<li>Do you think that there is something about the Python language or community that inspires adoption of this kind of gamified practice?</li><br>
<li>You recently released the beta of a new experience called Empire of Code which is more akin to the type of video game that many people are familiar with. What inspired that evolution?</p>

<ul>
<li>As part of the new experience, you also added JavaScript as an available language. Do you intend to add new languages in the future?</li>
<li>Is there a particular demographic or set of demographics that you are targeting with Empire of Code vs CheckIO?</li>
</ul>

<p></li><br>
<li>What’s the monetization strategy for Empire of Code or CheckIO?</p>

<ul>
<li>For Empire, you can play for free but you might keep losing your resources until you can learn to code more effectively, OR you can buy a shield which will protect your resources for a time.</li>
</ul>

<p></li><br>
<li>In CheckIO, how do you label the difficulty level of the individual puzzles, is there a set of guidelines for that or is it up to the puzzle writer / submitter?</p>

<ul>
<li>CheckIO trusts its community
<ul>
<li>The community rates each challenge</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>Part of the CheckIO platform is the ability for users to submit their own problems. How much vetting is involved before these submissions are available to users of the site?</li><br>
<li>Where do you see CheckIO and Empire of Code going in the future?</p>

<ul>
<li>Want to have Empire of Code known as the best online game that blends in programming by the end of 2016</li>
<li>In ~5 years want to see people saying the CheckIO/Empire of Code inspired people to program as a career</li>
<li>In ~10 years want to see all major languages represented</li>
<li>Aiming to become a major game publisher</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://jwt.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">JSON Web Tokens</a></li>
<li><a href="https://github.com/adobe-fonts/source-code-pro?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Source Code Pro</a></li>
<li><a href="http://direnv.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DirEnv</a></li>
<li><a href="http://amzn.to/1KtXATF?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Chappie</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.destructoid.com/prune-looks-like-a-must-play-for-ios-users-296607.phtml?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prune</a></li>
<li><a href="https://getnikola.com/blog/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nikola</a></li>
<li><a href="http://barnotes.co/recipes/warday-s-cocktail?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Warday’s Cocktail</a></li>
</ul>

<p></li><br>
<li>Liza</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Kiev?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kiev, Ukraine</a></li>
<li><a href="http://www.bulletproofexec.com/how-to-make-your-coffee-bulletproof-and-your-morning-too/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bulletproof Coffee</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li>Twitter: <a href="https://twitter.com/avrliza?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@avrliza</a></li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-18-liza-avramenko-on-checkio-and-empire-of-code%2F&amp;action_name=Liza+Avramenko+on+CheckIO+and+Empire+of+Code+-+Episode+18&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-18-liza-avramenko-on-checkio-and-empire-of-code/</guid>
      <link>https://www.pythonpodcast.com/episode-18-liza-avramenko-on-checkio-and-empire-of-code</link>
      <pubDate>Thu, 6 Aug 2015 17:00:00 +0000</pubDate>
      <podcast:soundbite startTime="640.23" duration="30.78">That's really interesting to hear that you had Guido as an advisor on how to build and foster that community because as anyone who has ever used Python can attest, he's definitely done a very excellent job of fostering that for the Python community as a whole growing it from a language that he was tinkering with as a means of teaching people how to code and then growing into this massive ecosystem of libraries and people and organizations that it's that it is today.</podcast:soundbite>
      <podcast:soundbite startTime="1096.98" duration="37.30">So if is the platform for community to exchange coding experience, solve coding missions, and talk about them, The Empire of Code is the next level of this coding experience. It's the game where you can it's basically something like, strategy, tactics, economics game where you code your way to victory, and you have to build 1 of the strongest bases in the space. It's a sci fi game which takes place in the space. And you can go into the source code of almost each building.</podcast:soundbite>
      <podcast:soundbite startTime="140.17" duration="32.19">Believe it or not, boredom. And Alex, my cofounder, he was so bored working in a bank. And when you are a good developer, you always strive to learn something new. So Alex was actually so bored in a bank that he wanted to see how people in the world, coders, can solve exactly the same coding challenges and see different solutions from different people. And this is basically when he started this project in 2010.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:48:15</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Liza Avramenko on CheckIO and Empire of Code</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>18</itunes:episode>
      <podcast:episode>18</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306675437392e43caa59-ef76-4921-809d-7ee1b6988145v1.mp3" length="46350618" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306675437392e43caa59-ef76-4921-809d-7ee1b6988145v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_e43caa59-ef76-4921-809d-7ee1b6988145638558818426914788.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e43caa59-ef76-4921-809d-7ee1b6988145638558818423574383.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/e43caa59-ef76-4921-809d-7ee1b6988145638558818421735593.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Glyph on Ethics in Software</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> for past episodes and extra content.</p>

<h3>Summary</h3>

<p>In this episode we had a nice long conversation with Glyph Lefkowitz of Twisted fame about his views on the need for an established code of ethics in the software industry. Some of the main points that were covered include the need for maintaining a proper scope in the ongoing discussion, the responsibilities of individuals and corporations, and how any such code might compare with those employed by other professions. This is something that every engineer should be thinking about and the material that we cover will give you a good starting point when talking to your compatriots.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Welcome to Podcast.__init__ the podcast about Python and the people who make it great</li>
<li>Date of recording &#8211; July 21, 2015</li>
<li>Hosts Tobias Macey and Chris Patti</li>
<li>Follow us on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a>, <a href="http://tunein.com/embed/follow/p726240/#?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a>, <a href="https://plus.google.com/+Podcastinit-the-python-podcast?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google+</a> and <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>We donate our time to you because we love Python and its community. If you would like to return the favor you can send us a <a href="http://podcastinit.com/our-plans-for-your-donations.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">donation</a>. Everything that we don’t spend on producing the show will be donated to the PSF to keep the community alive.</li>
<li>Overview &#8211; Interview with Firstname Lastname about Topic</li>
</ul>

<h3>Interview with Glyph</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris
<ul>
<li>2000 &#8211; large scale collaborative gaming system in Java
<ul>
<li>Asynchronous IO</li>
<li>Twisted</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>Let’s start with the bad news <img class="wp-smiley" src="https://i0.wp.com/www.podbean.com/smilies/icon_smile.gif?w=1200&utm_source=rss&utm_medium=rss" alt=":)" data-recalc-dims="1" /> What are some of the potential wide spread implications of less than ethical software that you were referring to in your Pycon talk? &#8211; Chris</p>

<ul>
<li>Robot Apocalypse <img class="wp-smiley" src="https://i0.wp.com/www.podbean.com/smilies/icon_smile.gif?w=1200&utm_source=rss&utm_medium=rss" alt=":)" data-recalc-dims="1" /> (Not really)
<ul>
<li>Much of the discussion around this derails into unrealistic nightmare scenarios</li>
<li>THERAC 25 radiation machine</li>
<li>Toyota unintended acceleration scandal</li>
</ul>

<p></li><br>
<li>Real worry &#8211; gradual erosion of trust in programmers and computers</li><br>
<li>First requirement for a code of ethics &#8211; a clear understanding of the reality you’re trying to litigate</li><br>
<li>The search for ethics will likely begin in academia where this aspect of software dev is more like psychology.</li><br>
</ul><br>
</li><br>
<li>In your talk you commented on the training courses that Lawyers are required to take as part of their certification. Do you think the fact that there is no standardized certification body for software development contributes to a lack of widely held ethical principles in software engineering? &#8211; Tobias</p>

<ul>
<li>Do you think that it is necessary to form such a certification mechanism for developers as part of the effort to establish a recognized ethical code? &#8211; Tobias</li>
<li>If we were to create a certification to indicate proper training in the software engineers code of ethics, how do you think that would affect the rate at which people enter the industry? &#8211; Tobias</li>
</ul>

<p></li><br>
<li>Assuming we can all agree on a set of relatively strict professional ethics that would prevent the above from happening, how would we enforce those ethics? Or do you advocate an honor system? &#8211; Chris</p>

<ul>
<li>Ethics are by definition an honors system</li>
<li>Enforcement would be straight forward &#8211; professional organizations to maintain a record and deviations from that record</li>
<li>Need better laws &amp; better jurisprudence</li>
<li>We need an Underwriters Laboratory seal for software development ethics</li>
<li>Code of software ethics will not and should not tell you how to be a decent human being.</li>
<li>Devs / companies can create software that could be used for evil &#8211; “We are merchants of death and these are lethal weapons” &#8211; could conceivably earn the ethical software developer’s seal of approval.</li>
</ul>

<p></li><br>
<li>Where does accessibility of the software we make fit into a code of ethics? Do you think there should be a minimum level of support for technologies such as screen readers or captioning for audio content in the software that we build? &#8211; Tobias</p>

<ul>
<li>Minimum levels of knowledge required</li>
<li>Minimum levels of content in curriculum</li>
</ul>

<p></li><br>
<li>In your talk you mentioned how Rackspace’s stance on user support matches the ideals you’d previously laid out, can you flesh that out a bit for us? What does that mean to individual Rackers in their day to day work lives? &#8211; Chris</li><br>
<li>In your talk you mentioned that availability of the software source should be mandatory for compliance with a properly defined ethical framework. What mechanisms for providing that access do you think would be acceptable? Should there be a central repository for housing and providing access to that source? &#8211; Tobias</p>

<ul>
<li>Would the list of acceptable mechanisms change according to the intended audience of the software? &#8211; Tobias</li>
<li>What responsibility do you think producers of software should have to maintain an archive of the source for past versions? &#8211; Tobias</li>
<li>How should we define what level of access is provided? In the case of commercial software should the source only be available to paying customers, perhaps delivered along with the product? This also poses an interesting quandary for SaaS providers. Should they provide the source to their systems only to paying customers, or to potential customers as well? &#8211; Tobias</li>
<li>This question of transparency and availability of source is especially interesting in the light of a number of stories that have come out recently about patients who have been provided with prostheses and other medical devices. In a number of cases, shortly after receiving the device, the company who made it, which are increasingly startups, goes out of business, leaving the patient with no way of obtaining support for something that they are dependent on for their health and well-being. Having the source for those devices available would help mitigate the impact of such a situation. &#8211; Tobias</li>
</ul>

<p></li><br>
<li>You brought up an interesting aspect of the trust equation and its relevance to the need for an ethical code. Because what we do as software engineers is effectively viewed as sorcery by a vast majority of the public, they must therefore wholly place their trust in us as part of using the products that we create. As you mentioned with the demise of the scribe with the rise of literacy, increasing the overall awareness of how software works at a basic level partially reduces that depency of trust. At what level of aptitude do you think our relationship with our users becomes more equitable? How does the concept of source availability play into this topic of general education? &#8211; Tobias</li><br>
<li>What can the Python community in particular do to start the ball rolling towards defining a set of professional ethics, and what has it already done in this area? &#8211; Chris</p>

<ul>
<li>PSF Code of Conduct is a starting point
<ul>
<li>PSF is an organization of individuals</li>
<li>Corporations are cagey about getting involved for fear of it becoming a legally binding contract</li>
</ul>

<p></li><br>
<li>Django Code of Conduct more specific</li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://amzn.to/1CTVoCe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Phillips SHP9500</a></li>
<li><a href="https://keybase.io?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">keybase.io</a> &#8211; Tweet us with your favorite thing about the show to get an invite</li>
<li><a href="http://amzn.to/1SAkkR7?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Paul Blart: Mall Cop 2</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://dontstarvegame.com/ipad?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Don’t Starve for IOS</a></li>
<li><a href="http://blog.lerner.co.il/want-to-understand-pythons-comprehensions-think-like-an-accountant/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Want to understand Pythonâ€<img src="https://s.w.org/images/core/emoji/14.0.0/72x72/2122.png?utm_source=rss&utm_medium=rss" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" />s comprehensions? Think in Excel or SQL.</a></li>
<li><a href="http://caledoniaspirits.com/spirits/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Barr Hill Gin</a></li>
</ul>

<p></li><br>
<li>Glyph</p>

<ul>
<li><a href="https://pythonhosted.org/py2app/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Py2App</a></li>
<li><a href="https://glyph.twistedmatrix.com/2015/07/just-a-button.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog post</a></li>
<li><a href="http://pythonhosted.org/pyobjc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyObjC</a></li>
<li><a href="http://amzn.to/1Ol1uvZ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sensair Sou Vide immersion circulator</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/glyph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://keybase.io/glyph?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Keybase.io</a></li>
<li><a href="mailto:glyph@twistedmatrix.com">email</a></li>
<li>Glyph everywhere on the internet</li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-17-glyph-on-ethics-in-software%2F&amp;action_name=Glyph+on+Ethics+in+Software+-+Episode+17&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-17-glyph-on-ethics-in-software/</guid>
      <link>https://www.pythonpodcast.com/episode-17-glyph-on-ethics-in-software</link>
      <pubDate>Mon, 3 Aug 2015 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="62.56" duration="17.03">Today, we're interviewing Glyph Lefkowitz about software and ethics. Glyph, could you please introduce yourself? I'm Glyph. I'm a software developer at Rackspace, although most famously, the founder of the Twisted Project. I like writing programs, and apparently, I like talking about it.</podcast:soundbite>
      <podcast:soundbite startTime="144.74" duration="21.44">So let's start with the bad news. What are some of the potential widespread implications of less than ethical software that you were referring to you in your PyCon talk? Well, I think there's 1 obvious 1 which I did mention in the talk, which is, Robot Apocalypse. I think we need to be watching out for that 1. But more seriously, there are, I think that a lot of discussion around this tends to get derailed.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:19:23</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Glyph on Ethics in Software</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>17</itunes:episode>
      <podcast:episode>17</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253209183933834cb59b6f-740f-4181-9d17-e7b940850d8dv1.mp3" length="76236922" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253209183933834cb59b6f-740f-4181-9d17-e7b940850d8dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4cb59b6f-740f-4181-9d17-e7b940850d8d638558842084453135.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4cb59b6f-740f-4181-9d17-e7b940850d8d638558842079963227.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4cb59b6f-740f-4181-9d17-e7b940850d8d638558842078068952.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Holger Krekel on Py.Test</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> to listen to past episodes, learn more about the show and sign up for our mailing list.</p>

<h3>Summary</h3>

<p>In this episode we talked to Holger Krekel about the py.test library. We discussed the various styles of testing that it supports, the plugin system and how it compares to the unittest library. We also reviewed some of the challenges around packaging and releasing Python software and our thoughts on some ways that they can be improved.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Welcome to Podcast.__init__ the podcast about Python and the people who make it great</li>
<li>Date of recording &#8211; July 8th, 2015</li>
<li>Hosts Tobias Macey and Chris Patti</li>
<li>Follow us on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a> or <a href="http://tunein.com/radio/Podcast__init__-p726240/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a></li>
<li>Give us feedback on <a>iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a>, <a href="mailto:hosts@podcastinit.com">email</a> or <a href="http://podcastinit.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Disqus</a>)</li>
<li>We donate our time to you because we love Python and its community. If you would like to return the favor you can send us a <a>donation</a>}. Everything that we don’t spend on producing the show will be donated to the PSF to keep the community alive.</li>
<li>Overview &#8211; Interview with Holger Krekel about his work on Pytest</li>
</ul>

<h3>Interview with Holger Krekel</h3>

<ul>
<li>Introductions
<ul>
<li>Programming for 25 years</li>
<li>Runs a consultancy</li>
<li>Been to almost every EuroPyCon and PyCon US</li>
</ul>

<p></li><br>
<li>How did you get introduced to Python? &#8211; Chris</p>

<ul>
<li>Wanted to write an HTTP proxy and Java I/O was too confusing. Jython took less than a day to get it working after 2-3 days on it with Java.</li>
</ul>

<p></li><br>
<li>What inspired you to create Pytest, and how did the existing unittest framework play into the story? &#8211; Chris</p>

<ul>
<li>Introduced to agile methods through the Zope community</li>
<li>Zope used unittest &#8211; didn’t like the boiler plate</li>
<li>Not in the spirit of Python</li>
<li>Only took ~200 lines of code to get a testing tool working</li>
<li>Original name was ‘utest’ &#8211; 2003</li>
<li>Pytest name came in 2004 on <a href="http://pypy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pypy project</a></li>
<li>Huge number of tests on that project (20,000) &#8211; distributed test runner &#8211; xdist helped solve this.</li>
</ul>

<p></li><br>
<li>There are many different styles of testing, such as BDD, unit testing, integration testing, functional testing, what attributes of py.test make it suitable or unsuitable for these different approaches? &#8211; Tobias</p>

<ul>
<li>What are your views on black box testing and how would someone use py.test to implement this approach? &#8211; Tobias</li>
<li>Pytest’s plugin architecture enables you to hook into the various phases of test execution enabling you to extend Pytest in all kinds of ways beyond the original design.</li>
<li>I have been hearing a lot about property based testing which was popularized by the Quickcheck module in Haskell. Does py.test support anything like that? &#8211; Tobias</li>
<li><a href="https://pypi.python.org/pypi/hypothesis-pytest/0.11.0?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">hypothesis-pytest</a></li>
</ul>

<p></li><br>
<li>Do you think the characteristics and nature of the unit testing framework being used have any effect on the number and quality of the tests developers write? &#8211; Chris</p>

<ul>
<li>Developers find writing tests in Pytest to be fun compared to unittest</li>
<li>Which will help people write better tests</li>
<li>Encourages refactoring</li>
</ul>

<p></li><br>
<li>Is there ever a time when you would advice <em>against</em> writing tests? &#8211; Tobias</p>

<ul>
<li>When exploring a problem, writing tests first doesn’t make sense</li>
<li>When getting feedback on a potential approach, writing tests first can be a waste of time</li>
</ul>

<p></li><br>
<li>What are some signs that you watch out for when writing tests that tell you that a particular feature needs to be refactored? &#8211; Tobias</p>

<ul>
<li>When the test code is fragile it should be refactored</li>
<li>Requires experience to really understand when to refactor</li>
<li>When it’s not fun anymore or the tests are repetitive</li>
</ul>

<p></li><br>
<li>For someone who is converting their existing unit tests from UnitTest/Nose style to use py.test in an idiomatic manner, what are some of the biggest differences to be aware of? &#8211; Tobias</p>

<ul>
<li>Generator/yield based testing should move to property based testing</li>
<li>If py.test can’t run a UnitTest/Nose style test it is considered a bug and gets fixed</li>
</ul>

<p></li><br>
<li>Has the strict backwards compatibility policy presented any interesting technical challenges thus far? &#8211; Chris</p>

<ul>
<li>Yes it definitely makes more work</li>
<li>However breaking the API in a large project like this will cause too many problems for users</li>
</ul>

<p></li><br>
<li>py.test supports execution of tests written with other frameworks, how much ongoing maintenance does this feature require as changes are made to the other implementations? &#8211; Tobias</li><br>
<li>The web page says that Pytest is designed to work with domain specific and non Python tests, and in fact a coworker is using it to test a node.js project &#8211; how did Pytest’s design enable this? &#8211; Chris</p>

<ul>
<li>Pytest uses a collection tree model to represent your project
<ul>
<li>This is not Python specific</li>
<li>All classes and functions are just mapped into this tree, not directly on the Python function</li>
</ul>

<p></li><br>
<li>There are few Python specific hooks for fixtures etc.</li><br>
<li>People have written plugins so they can express their tests in YAML, Microsoft Excel</li><br>
<li>Tests are represented as items</li><br>
<li>All plugins are written in Python</li><br>
</ul><br>
</li><br>
<li>What are some of the most interesting applications of py.test that you have seen? &#8211; Tobias</p>

<ul>
<li>Plugins!</li>
<li>Pytest-BDD</li>
<li>Pytest-C++</li>
<li>Pytest-sugar</li>
<li><a href="http://pytest.org/latest/plugins_index/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Py.test plugin list</a></li>
</ul>

<p></li><br>
<li>Speaking about adoption, do you have any sense of the relative adoption of Pytest versus unitest or other tools? &#8211; Tobias</p>

<ul>
<li>Very hard to actually know</li>
<li>Download numbers are not a clear indicator due to robots, CI systems, etc.</li>
<li>Quantifying market share is hard to do</li>
<li>Popularity is not a useful heuristic in determining a good fot for technology adoption
<ul>
<li>But popularity is an indicator for the level of support you might receive</li>
<li>Tech can be popular but very poorly maintained</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>Are there any features of py.test that would make it suitable for use with configuration management tools and infrastructure testing? &#8211; Tobias</p>

<ul>
<li>Example driven testing</li>
<li>Run py.test from a blackbox approach</li>
<li>Largest benefit would be from having one testing tool used across the organization</li>
</ul>

<p></li><br>
<li>Where do you see Pytest and more generally test frameworks headed in the future? &#8211; Chris</p>

<ul>
<li>No big changes for Pytest &#8211; lots of incremental things</li>
<li>Plugins will add functionality</li>
<li>Holger is also the author of <a href="https://bitbucket.org/hpk42/tox?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tox</a></li>
<li>Integration testing and testing in more complex environments are a direction that test management tools will likely go</li>
<li>Tools like Jenkins can be a real headache in trying to have a good testing story for your company</li>
<li><a href="https://devpi.net/hpk/dev/devpi-server/2.2.0/+toxresults/devpi-server-2.2.0.tar.gz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://devpi.net/hpk/dev/devpi-server/2.2.0/+toxresults/devpi-server-2.2.0.tar.gz?utm_source=rss&utm_medium=rss</a></li>
</ul>

<p></li><br>
<li>Any questions we didn’t ask?</p>

<ul>
<li>Pytest is a very healthy project! There are 10 regular contributors &#8211; this is exceptional among OSS projects</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://python-future.org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">python-future</a></li>
<li><a href="http://pythonhosted.org/six/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">six</a></li>
<li><a href="http://www.imdb.com/title/tt1023114/?ref_=nv_sr_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Way Back</a></li>
<li><a href="http://amzn.to/1J42d0M?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rosewill BK-500A</a>} or <a>BK-500i</a></li>
<li><a href="https://github.com/naiquevin/pipdeptree?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pipdeptree</a></li>
<li><a href="https://github.com/steder/pundler?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pundler</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="https://untappd.com/b/crop-bistro-and-brewery-bavarian-weizen/330954?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Crop Bavarian Weizen</a></li>
<li><a href="https://en.wikipedia.org/wiki/Pannekoek?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dutch Pancakes</a></li>
<li><a href="http://comicsalliance.com/prophet-the-barbarian-space-opera-you-should-already-be-readi/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Prophet</a></li>
</ul>

<p></li><br>
<li>Holger</p>

<ul>
<li><a href="http://amzn.to/1fnhVgt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Utopia of Rules</a></li>
<li><a href="http://ipfs.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IPFS.io</a> &#8211; The interplanetary file system</li>
<li><a href="https://www.youtube.com/watch?v=oCZMoY3q2uM&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">A New Way to Look at Networking</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/hpk42?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://holgerkrekel.net?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-16-holger-krekel-on-py-test%2F&amp;action_name=Holger+Krekel+on+Py.Test+-+Episode+16&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-16-holger-krekel-on-pytest/</guid>
      <link>https://www.pythonpodcast.com/episode-16-holger-krekel-on-py-test</link>
      <pubDate>Fri, 24 Jul 2015 00:00:00 +0000</pubDate>
      <podcast:soundbite startTime="2883.50" duration="39.10">I think testing tools in general, they have evolved quite a bit. Pytest certainly has in the way how we are evolving things and making it easier and things more consistent and allowing certain usage patterns that haven't been possible before, but I don't expect any big changes. I think from at this point, it's really lots of incremental things. And I expect like new plugins to actually add functionality, but not from the from the core. The 1 thing where I think testing tools in general need to evolve, and you might know that I'm also the author of talks, which is a testing tool that is independent of pytest.</podcast:soundbite>
      <podcast:soundbite startTime="195.46" duration="44.41">So what inspired you to create pytest? And how did the existing unit test framework play into the story? I got introduced to testing and also agile programming around 2,001, I think, when I joined the Zoop community, which had already a tradition of sprinting and of writing tests first. And at that time, we actually used, I was only briefly involved there, but we used unit tests. And indeed, I didn't like, the boilerplate. And I thought, well, if there's so many things in in Python that are so easy and straightforward to use, why is unit tests so cumbersome? It appeared to me like this.</podcast:soundbite>
      <podcast:soundbite startTime="764.50" duration="44.08">That definitely sounds like a very powerful architecture for Pytest and sounds like it would give you a lot of capabilities that aren't necessarily offered by, for instance, unit test having the ability to plug into all those different points in the execution of the code and being able to add in or remove different components that you may or may not need. Yeah. I think that's 1 of the compared to unit test. I mean, nose with this which is another popular testing framework also, has plugins. I'd say that, we kind of managed to have a very good compatibility story in terms of plugins. So the way how the hook system is designed makes it somewhat easy to maintain compatibility over the years to all of the existing plugins.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:11:00</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Holger Krekel on Py.Test</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>16</itunes:episode>
      <podcast:episode>16</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531704020346162e60b08-4b2a-4ab5-9bf4-bffab8b3c7c9v1.mp3" length="68192068" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531704020346162e60b08-4b2a-4ab5-9bf4-bffab8b3c7c9v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_62e60b08-4b2a-4ab5-9bf4-bffab8b3c7c9638558834717502271.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/62e60b08-4b2a-4ab5-9bf4-bffab8b3c7c9638558834712254149.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/62e60b08-4b2a-4ab5-9bf4-bffab8b3c7c9638558834710364644.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Damien George Talks To Us About MicroPython</title>
      <description><![CDATA[<p>Visit our <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">site</a> for more news, information and past episodes of Podcast.__init__!</p>

<h3>Summary</h3>

<p>We talked to Damien George about his work on the Micro Python interpreter and the PyBoard SOC (Systom On a Chip). The combination of the interpreter and SOC allows Python developers to get involved in hardware hacking, as well as letting electronics afficionados try their hand at development. Damien explained to us where this fits in with the expanding landscape of low cost embedded devices and why you should get one to start playing with it.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; June 29th, 2015</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Follow us on iTunes, Stitcher or TuneIn</li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>You can donate (if you want)!</li>
<li>Overview &#8211; Interview with Damien George from the Micro Python project</li>
</ul>

<h3>Interview with Damien George</h3>

<ul>
<li>Introductions
<ul>
<li>Postdoc in Theoretical Physics</li>
</ul>

<p></li><br>
<li>How did you get introduced to Python?</li><br>
<li>What problem were you trying to solve when you first had the idea to create the Micro Python board and interpreter?</p>

<ul>
<li>Not really <img class="wp-smiley" src="https://i0.wp.com/www.podbean.com/smilies/icon_smile.gif?w=1200&utm_source=rss&utm_medium=rss" alt=":)" data-recalc-dims="1" /></li>
<li>Python lets you get things done quickly</li>
<li>Abstracts the hardware really well</li>
</ul>

<p></li><br>
<li>In the Kickstarter video you mention that Micro Python is a complete re-implementation of Python optimized to run on a micro-controller. How hard was it to create an alternative Python implementation? Did you have hard decisions to make as to what to include given the limitations of the hardware?</p>

<ul>
<li>To start with, was it even possible?
<ul>
<li>Proof of Concept: Get a REPL running on the board</li>
</ul>

<p></li><br>
<li>Lots of tricks to get things to fit into RAM</p>

<ul>
<li>Stuffing integers into pointers</li>
<li>Optimizing RAM at various points</li>
<li>Runs the parser 4 times, looking for different things each time</li>
<li>Lots of things are stored in ROM in the built-in Flash</li>
</ul>

<p></li><br>
<li>Very fine efficiency trade off between code size, memory usage, speed.</li><br>
<li>REPL runs in 1K of RAM!</p>

<ul>
<li>Most of this is the parse tree</li>
</ul>

<p></li><br>
<li>20 line script might take ~5K RAM</li><br>
<li>128K RAM on the Micro Python board</li><br>
<li>Not 100% Python &#8211; but 90% &#8211; the most useful parts</li><br>
</ul><br>
</li><br>
<li>I know that people who have developed alternative Ruby implementations have run into issues due to the lack of a formal specification. Has the fact that there <em>is</em> a specification for Python made your job easier?</p>

<ul>
<li>Definitely, Python is very well defined</li>
<li>Well documented</li>
<li>Already multiple implementations</li>
</ul>

<p></li><br>
<li>The WiPy chip seems like an interesting device. What are some ways in which it could be put to use? A Micro Python cluster for instance?</p>

<ul>
<li>Small, cheap, low power little wireless chip that also runs Python</li>
<li>You can telnet in and have a Python REPL</li>
<li>Part of the Internet of Things</li>
</ul>

<p></li><br>
<li>What changes did you have to make to get the Python interpreter to run without an underlying operating system?</li><br>
<li>When you were designing the hardware, what were some of the requirements that you were targeting in terms of performance or peripherals?</p>

<ul>
<li>Wanted the best chip for the least money</li>
<li>Didn’t know ahead of time how many resources were required</li>
</ul>

<p></li><br>
<li>What level of hardware knowledge is required to start working with the Micro Python board?</p>

<ul>
<li>Virtually none</li>
<li>Just need to plug into USB and login with a terminal program to get a Python prompt</li>
<li>Can change frequency of CPU, turn on/off LEDs, etc.</li>
<li>Connecting peripherals requires some hardware knowledge</li>
<li>Module namespace to make hardware management easier</li>
</ul>

<p></li><br>
<li>For anyone who is interested in writing libraries, what kinds of restrictions do they need to be aware of?</p>

<ul>
<li>Be aware of RAM size limitations</li>
<li>Prety much anything that will fit will work</li>
<li>Libraries with C extensions won’t work because they rely on the CPython API</li>
</ul>

<p></li><br>
<li>What license is used for the Micro Python interpreter and the PyBoard? Are the compatible with commercial uses?</p>

<ul>
<li>MIT License</li>
<li>Hardware schematics are open source as well, open and accessible design</li>
</ul>

<p></li><br>
<li>What are some of the most interesting/innovative projects that you have seen people make with the Micro Python board or runtime?</p>

<ul>
<li>Damien attempted to make a quadcopter &#8211; not completely finished</li>
<li>Micro Python controlled guitar &#8211; PyBoard connected to actuators to play guitar</li>
</ul>

<p></li><br>
<li>How does the experience of using Micro Python compare to some of the other hardware projects that are popular right now such as Arduino, Raspberry Pi or Tessel?</p>

<ul>
<li>PyBoard in between Arduino and Raspberry Pi
<ul>
<li>More approachable than Arduino</li>
<li>Not a full OS like Raspberry Pi</li>
</ul>

<p></li><br>
<li>Tessel similar to Micro Python but runs Javascript</li><br>
</ul><br>
</li><br>
<li>EU Space Agency (Europe’s version of NASA) interested in Micro Python</p>

<ul>
<li>Prepared to fund Micro Python development to explore possibilities of space based applications
<ul>
<li>Code needs to be well written and with few bugs</li>
<li>See if it can be used for real-time systems</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://www.imdb.com/title/tt1586752/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Machine Gun Preacher</a> &#8211; Real life story of Sam Childers’ work in Southern Sudan</li>
<li><a href="https://play.google.com/store/apps/details?id=com.obreey.reader&amp;hl=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pocket Book Android App</a> &#8211; E-Book app with good UI/UX and solid feature set</li>
<li>Online access to digital media through local library memberships
<ul>
<li><a href="https://www.hoopladigital.com/home;jsessionid=BA909933ECAB99A033C57A5620A272E4?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hoopla Digital</a></li>
<li><a href="http://app.overdrive.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Overdrive</a></li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>Chris</p>

<ul>
<li><a href="https://en.wikipedia.org/wiki/Ramen?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Real Ramen</a></li>
<li><a href="http://www.redhat.com/summit/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RedHat Summit</a></li>
<li><a href="https://github.com/mairin/selinux-coloring-book/blob/master/PDF/en/selinux-coloring-book_USLetter-Stapled.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The SELinux Coloring Book</a></li>
</ul>

<p></li><br>
<li>Damien</p>

<ul>
<li><a href="http://mosh.mit.edu?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MOSH</a> &#8211; Mobile shell, resilient SSH that allows for resuming sessions across networks, computer sleeps, etc.</li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep in Touch</h3>

<ul>
<li>Twitter
<ul>
<li><a href="https://twitter.com/micropython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@micropython</a></li>
<li><a href="https://twitter.com/damienpgeorge?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@damienpgeorge</a></li>
</ul>

<p></li><br>
<li>GitHub &#8211; <a href="https://github.com/micropython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">micropython</a></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-15-damien-george-talks-to-us-about-micropython%2F&amp;action_name=Damien+George+Talks+To+Us+About+MicroPython+-+Episode+15&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-15-damien-george-talks-to-us-about-micropython/</guid>
      <link>https://www.pythonpodcast.com/episode-15-damien-george-talks-to-us-about-micropython</link>
      <pubDate>Thu, 16 Jul 2015 15:00:00 +0000</pubDate>
      <podcast:soundbite startTime="47.20" duration="26.53">Today, we're talking to Damien George, the creator of the MicroPython project. Damien, could you please introduce yourself? Yeah. Hi. Thanks for having me on your show. I'm a, I guess, physicist by profession, but I did my undergraduate, I studied computer engineering and physics and math. So I did a lot of software programming, operating systems level stuff, but also hardware based things like working with microcontrollers.</podcast:soundbite>
      <podcast:soundbite startTime="1165.15" duration="33.48">The Wi Fi chip seems like an interesting device. What are some ways in which it can be put to use? A MicroPython cluster, for instance? Yes. That would be 1 thing you could do. So the Wi Fi is a, MicroPython software is a reimplementation of Python as we've been discussing. The PyBOL is a piece of hardware that runs MicroPython and has all these peripherals like ADC and DAC ports and so on. But right, micro Python, you can run off another hardware, you can run on the PC or it can run on these other development ports.</podcast:soundbite>
      <podcast:soundbite startTime="2309.12" duration="48.42">So I don't know if you have some of the announcements that we've made, but, the European Space Agency is actually interested in micro Python. So European Space Agency, Europe's version of NASA and they they approached us and and we're asking whether we thought micro Python could perhaps run-in the space based application, say, up in up in orbit. And we said, yeah, maybe it could and they have prepared to to fund the development of MicroPython for the the short term future to see if micro Python is capable of controlling things in space and of doing things in in constrained environments and, in in embedded environments that are very critical and have very critical limitations of them.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:18</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Damien George Talks To Us About MicroPython</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>15</itunes:episode>
      <podcast:episode>15</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253219520784296acba88f-3fd6-47d3-94ee-f477331f4429v1.mp3" length="47346281" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253219520784296acba88f-3fd6-47d3-94ee-f477331f4429v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_6acba88f-3fd6-47d3-94ee-f477331f4429638558846297523650.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6acba88f-3fd6-47d3-94ee-f477331f4429638558846294919066.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/6acba88f-3fd6-47d3-94ee-f477331f4429638558846292881970.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Allen Downey on Teaching Computer Science with Python</title>
      <description><![CDATA[<p>Find past episodes and more information about the show at <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a> or <a href="http://tunein.com/radio/Podcast__init__-p726240/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a></p>

<p>Give us feedback! (iTunes, Twitter, email, Disqus comments)<br />
You can donate (if you want)<br />
Overview &#8211; Interview with Allen Downey, Prolific Author and Professor of Computer Science</p>

<h3>Interview with Allen Downey</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris
<ul>
<li>Wrote a Java book with an open license to allow anyone to make changes</li>
<li>Jeff Elkner translated it to Python</li>
</ul>

<p></li><br>
<li>What attributes of Python make it well suited for use in teaching computer science principles?</p>

<ul>
<li>Syntax is simple, makes a difference for beginners</li>
<li>Good error messages</li>
<li>Batteries included</li>
</ul>

<p></li><br>
<li>One of the things I found very compelling about <a href="http://interactivepython.org/courselib/static/thinkcspy/index.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Think Like a Computer Scientist</a> is its use of interactive turtle graphics early on. What makes the turtle continue to be a compelling educational tool and what made you choose it for this book in particular?</p>

<ul>
<li>Everything you do has a visible effect, makes it easier to see what’s happening and debug</li>
<li>Used to introduce functional decomposition because of no return value in turtle graphics</li>
<li>Great way to explore complex geometric concepts</li>
</ul>

<p></li><br>
<li>Did the structure of your courses change when you started using Python as the language used in the classroom? Were you able to cover more material as a result?</p>

<ul>
<li>Able to make material more interesting</li>
<li>Less time spent fighting with syntax</li>
</ul>

<p></li><br>
<li>As a professor of computer science, do you attempt to incorporate the realities of software development in a business environment, such as unit testing and working with legacy code, into your lesson plans?</p>

<ul>
<li>Unit tests useful as a teaching tool</li>
<li>Version control getting introduced earlier</li>
</ul>

<p></li><br>
<li>A number of your books are written around the format of ‘Think X’. Can you describe what a reader can expect from this approach and how you came up with it?</p>

<ul>
<li>Learning how to program can be used as a lever to learn everything else</li>
<li>You can understand what a thing is by understanding what it does</li>
</ul>

<p></li><br>
<li>What are some of the more common stumbling blocks students and developers encounter when trying to learn about stastics and modeling, and how can they be overcome?</p>

<ul>
<li>Traditional analytic methods for statistical computation &#8211; get in the way and impede understanding
<ul>
<li>P-values are a great example</li>
<li>What test should I do? is the wrong question</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>I’ve heard you refer to yourself as a ‘bayesian’. Can you elaborate on what that means and how bayesian statistics fits into the larger landscape of data science?</p>

<ul>
<li>Frustration with frequentist approach to statistics
<ul>
<li>Wasted time over debate of objectivity vs subjectivity</li>
</ul>

<p></li><br>
<li>Bayesian approach takes modeling ideas and makes them explicit</p>

<ul>
<li>Can directly compare and contrast results of competing models</li>
</ul>

<p></li><br>
<li>Classical approaches don’t answer the most interesting questions<br /><br>
*We’re big fans of iPython notebook which you’ve used in at least one of your books already &#8211; can you describe some of the ways you have implemented it in an educational context, as well as some of the benefits and drawbacks?</li><br>
<li>Started using about 2 years ago</li><br>
<li>Appreciated usefulness for books and teaching because of synthesis of text, code and results</li><br>
<li>Working on DSP really highlighted the usefulness of IPython notebooks</li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/vladimarius/imapy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IMAPy</a> &#8211; IMAP for humans</li>
<li><a href="https://github.com/raelgc/scudcloud?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ScudCloud</a> &#8211; Linux desktop Slack client</li>
<li><a href="http://thrv.me/SCuHLd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thrive</a> &#8211; Online purchasing club for healthy and organic foods</li>
<li><a href="https://floobits.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Floobits</a> &#8211; remote pair programming</li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.imdb.com/title/tt1441953/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Testament of Youth</a></li>
<li><a href="https://www.masteringemacs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mastering Emacs &#8211; The Website / Blog</a></li>
<li><a href="https://chrome.google.com/webstore/detail/stayfocusd/laankejkbhbdhmipfmgcngdelahlfoji?hl=en&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">StayFocused</a></li>
<li><a href="http://bethsoft.com/en-us/games/fallout_shelter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Fallout Shelter</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep in Touch</h3>

<ul>
<li><a href="https://twitter.com/allendowney?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="http://allendowney.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-14-allen-downey-on-teaching-computer-science-with-python%2F&amp;action_name=Allen+Downey+on+Teaching+Computer+Science+with+Python+-+Episode+14&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-14-allen-downey-on-teaching-computer-science-with-python/</guid>
      <link>https://www.pythonpodcast.com/episode-14-allen-downey-on-teaching-computer-science-with-python</link>
      <pubDate>Thu, 9 Jul 2015 09:00:00 +0000</pubDate>
      <podcast:soundbite startTime="80.69" duration="27.00">I actually started with a Java book that I wrote in 1999. And I put it out, I put it under, a free license that lets anybody make modified versions, and, Jeff Elkner, who's a high school teacher in Virginia, took me up on it. And he translated the book from Java into Python. He sent me back the Python book, and I learned Python by reading my own book, which was it's it's very strange because I read it, and it it sounds like me.</podcast:soundbite>
      <podcast:soundbite startTime="851.24" duration="27.63">You know, the fundamental idea is that if you know how to program, you can use that skill as a lever to help you learn everything else. It came about mostly because this is the way I found myself learning new things. That I would take up a new topic. I started learning about, you know, kinematics in the context of robotics. And I found myself naturally translating these ideas that are often expressed mathematically. And I would want express them using code.</podcast:soundbite>
      <podcast:soundbite startTime="1536.72" duration="31.05">I think the thing that really brought me around is when started working on digital signal processing, because now the results can be a little snippet of audio or a picture or an animation. And that makes a huge difference for understanding things like Fourier analysis. Because you can, you know, load up a little sound sample, and you can listen to what it sounds like, and you can look at the spectrum so you understand the harmonic structure. You can apply a filter to it, and then you can see visually what it does to the spectrum.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:37:42</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Allen Downey on Teaching Computer Science with Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>14</itunes:episode>
      <podcast:episode>14</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253146248692773948a12e-81c1-4722-9ada-98bbe26474b2v1.mp3" length="36214880" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253146248692773948a12e-81c1-4722-9ada-98bbe26474b2v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_3948a12e-81c1-4722-9ada-98bbe26474b2638558825794214358.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3948a12e-81c1-4722-9ada-98bbe26474b2638558825792079528.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/3948a12e-81c1-4722-9ada-98bbe26474b2638558825790384772.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Jacob Kovac on KivEnt</title>
      <description><![CDATA[<p>Listen to past episodes and find out more about the show at our website <a href="http://pythonpodcast.com?utm_source=rss&utm_medium=rss">pythonpodcast.com</a></p>

<h3>Synopsis</h3>

<p>In this episode we talked to Jacob Kovac, creator of the KivEnt game engine and one of the Kivy core developers. He told us about what inspired him to create the KivEnt project, some of the ways that he has managed to optimize rendering time and some of the problems that he has encountered as part of his work on the project. We also discussed what the use cases and limitations of the KivEnt engine are and he shared some of the projects that have been made with it.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; June 17th, 2015</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Follow us on iTunes, Stitcher or TuneIn</li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>We don’t have any corporate sponsorship or advertisements in the show because we are making it for the community and we respect our listeners and value your time. If you would like to help support the show and keep it ad-free you can find out how by visiting our <a href="http://podcastinit.com/our-plans-for-your-donations.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">website</a></li>
<li>Overview &#8211; Interview with Jacob Kovac about the KivEnt Game Engine, based off of Kivy</li>
</ul>

<h3>Interview with Jacob Kovac</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>Could you please give us a high level overview of KivEnt and how it differs from other game builder frameworks like Unity or Unreal?
<ul>
<li>Manages memory for game objects and stores them contiguously in memory for greater efficiency</li>
<li>Real-time focused rendering engine for Kivy</li>
<li>Cython interface to provide performant game objects with Python API</li>
<li>Increased speed of main render loop by 38X by removing a single Python list lookup</li>
<li>Kivent is mainly 2D focused, vs 3D for Unity/Unreal</li>
<li>Python all the way down
<ul>
<li>Cython and pointer magic for optimization purposes</li>
</ul>

<p></li><br>
<li>Made to be familiar to Pythonistas</li><br>
<li>Aiming for “A” level games</li><br>
<li>Bringing modern advancements in making games to Python &#8211; GPU awareness</li><br>
<li>Built with constraints in mind</li><br>
<li>The Pacman Dossier</li><br>
</ul><br>
</li><br>
<li>What inspired you to create the KivEnt engine?</p>

<ul>
<li>Tried to create an Android infinite runner in Kivy, performance was unacceptable</li>
<li>Looking for how to build games in Python with large amounts of data</li>
</ul>

<p></li><br>
<li>Is there a particular kind of game KivEnt is particularly suited for versus any of the other popular frameworks?</p>

<ul>
<li>Focuses mainly on 2D, agnostic as to ‘type’ of game</li>
<li>Jacob’s interests largely focused on procedurally generated environments</li>
</ul>

<p></li><br>
<li>Could KivEnt be used to create networked multiplayer games and what challenges might that bring to the table for the aspiring KivEnt game developer?</p>

<ul>
<li>Multiplayer thought to be largely out of scope
<ul>
<li>This doesn’t mean KivEnt is bad for multiplayer games, but that KivEnt in and of itself doesn’t wholly solve this problem.</li>
<li>Plenty of other frameworks to draw on for handling the multi-player server or pulling data from it, KivEnt solves the client side problems germane to making a game in Python</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>Does the fact that KivEnt games need to run on so many platforms present any unique difficulties in KivEnt’s development?</p>

<ul>
<li>Kivy has solved most of the cross-platform problems</li>
<li>Difference in GPU vendors has proved the most difficult</li>
</ul>

<p></li><br>
<li>I hear game developers talk a lot about assets and asset formats. What kinds of assets can be used with KivEnt?</p>

<ul>
<li>2D assets are simple &#8211; especially as compared to 3D</li>
<li>KivEnt supports any image format that Kivvy does for your platform</li>
<li>Coming next release &#8211; you can specify the vertex format for your model</li>
<li>https://youtu.be/qe9fWC-2e3M?utm_source=rss&utm_medium=rss</li>
</ul>

<p></li><br>
<li>I have heard that unit testing games is difficult and rarely done for reasons of time pressure, as well as lack of determinism in the interactions. Does KivEnt provide any utilities to make this easier?</p>

<ul>
<li>Not currently well tested, but targeting that for next release</li>
<li>Trying to add tooling to make testing games easier, though still somewhat difficult</li>
<li>Platform Biased Podcast &#8211; by a bunch of Microsoft Studios SDETs</li>
</ul>

<p></li><br>
<li>How does KivEnt handle input and what kids of input devices are supported?</p>

<ul>
<li>Input handled entirely by Kivy, so any inputs supported by Kivy are accessible in KivEnt</li>
<li>Rumors of using Kinect camera with Kivy/KivEnt applications</li>
</ul>

<p></li><br>
<li>Is there a built in physics engine or is that something that is pluggable?</p>

<ul>
<li>Mostly pluggable</li>
<li>Chipmunk 2D integration provided via a module</li>
<li>Particle Panda &#8211; one of the major inspirations for KivEnt</li>
<li>New Particle engine coming in the next version of KivEnt</li>
</ul>

<p></li><br>
<li>How does KivEnt handle collision tracking?</p>

<ul>
<li>Mathematically difficult, very hard to get right</li>
<li>Don’t do it! Use the physics engine &#8211; Chipmunk 2D is also a collision detection engine</li>
<li>Kivy enables devs to use C, C++, Java and Objective C code in their games</li>
<li>Game development has been democratized</li>
<li>Entity / Component architecture enables great modularity</li>
<li>Game objects that appear on the screen (Gun, ball, etc.) are not represented as such in the system</li>
</ul>

<p></li><br>
<li>Can you tell us about some of the projects that you have seen built in KivEnt which you are most excited by?</p>

<ul>
<li>https://github.com/chozabu/KivEntEd?utm_source=rss&utm_medium=rss</li>
<li>https://play.google.com/store/apps/details?id=org.chozabu.boardzfree&amp;hl=en&utm_source=rss&utm_medium=rss</li>
</ul>

<p></li><br>
<li>What are some ways in which our listeners could help contribute to the project?</p>

<ul>
<li>Would like to see more people build games in KivEnt
<ul>
<li>Give feedback about the experience and what can be improved</li>
</ul>

<p></li><br>
<li>If you have Apple hardware, try out KivEnt and file issues with any errors that occur</li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://github.com/tkf/emacs-ipython-notebook?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EIN (Emacs IPython Notebook)</a></li>
<li><a href="https://pip.pypa.io/en/latest/news.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pip 7.x</a></li>
<li><a href="http://www.tkqlhce.com/click-7841235-11260198-1430755877000?url=http%3A%2F%2Fshop.oreilly.com%2Fproduct%2F0636920028468.*do%3Fcmp%3Daf-webplatform-books-videos-product_cj_9781449358068_%2525zp&amp;cjsku=0636920028468*&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RESTful Web APIs</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.imdb.com/title/tt1637727/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Killing</a></li>
<li><a href="http://rethinkdb.com/blog/pythonista/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Science on the iPad with RethinkDB</a></li>
<li><a href="http://lefthandbrewing.com/beers/milk-stout-nitro/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Left Hand Nitro Milk Stout</a></li>
</ul>

<p></li><br>
<li>Jacob</p>

<ul>
<li><a href="http://getpelican.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pelican Static Site Generator</a></li>
<li><a href="https://terraria.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Terraria 1.3</a></li>
<li>Amorone Homemade Red Wine</li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep in Touch</h3>

<ul>
<li>E-Mail &#8211; kovac</li>
<li>Blog &#8211; chaosbuffalogames.com/blog</li>
<li>IRC &#8211; #kivy</li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-13-jacob-kovac-on-kivent%2F&amp;action_name=Jacob+Kovac+on+KivEnt+-+Episode+13&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-13-jacob-kovac-on-kivent/</guid>
      <link>https://www.pythonpodcast.com/episode-13-jacob-kovac-on-kivent</link>
      <pubDate>Fri, 3 Jul 2015 02:00:00 +0000</pubDate>
      <podcast:soundbite startTime="98.66" duration="45.67">So, Jacob, how did you get introduced to Python? I graduated college in 2012. And kinda right out of college, I had started a, a software development company and kinda web development company is mainly what it did. But we dabbled in software a little bit with a friend from high school and 2 friends from college. At the time, I was the web designer and graphic designer for the company and didn't really do a whole lot of programming, but we we were running behind on a project and I really hate missing deadlines and stuff. So I kinda just picked it up, and this was a project we were building in Kibbe that was a, think it was kind of like a fitness tracker designed for, like, middle school gym classes, you know, to track how many push ups and pull ups and sit ups and things the kids did.</podcast:soundbite>
      <podcast:soundbite startTime="228.05" duration="44.84">The first thing is that Kibbent really does 3 things for you at base. I mean, it it gets more complex than this. But number 1, it gives you a way to manage the memory for your game objects so that they are stored contiguously for processing. Since, when you have a game, you're really kind of looping through 1, 000, maybe 100 of thousands of objects if it's a modern game, and doing all kinds of random code to all those different objects based on what they are. And And so 1 of the number 1 things you need is for those things to be stored as continuously in memory as possible in order to keep them from keep your processor from jumping around in memory all the time so that you slow your loop down and you have poor performance.</podcast:soundbite>
      <podcast:soundbite startTime="675.62" duration="37.97">I think you also sort of get the focus because in a 2 d game, you you don't have all the pixels in the world. You don't have the ability to do things photo realistic. And so especially as I've gotten older, I appreciate the focus and the ability to pick up a 2 d game and understand what's going on. In a lot of modern 3 d games, I find I feel like you sometimes are just staring at a bunch of green, gray, and brown kind of pixels trying to figure out what what thing you're actually supposed to be looking at or looking for. A a lot of games, The Witcher 3 even comes to mind, have, like, buttons you can press to highlight the stuff you really should be looking at because they know that's a problem.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:08:42</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Jacob Kovac on KivEnt</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>13</itunes:episode>
      <podcast:episode>13</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253156126247484f59277b-9464-4b30-8d81-aa8f17eeb7a1v1.mp3" length="65967248" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253156126247484f59277b-9464-4b30-8d81-aa8f17eeb7a1v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4f59277b-9464-4b30-8d81-aa8f17eeb7a1638558829703972892.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4f59277b-9464-4b30-8d81-aa8f17eeb7a1638558829698741598.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4f59277b-9464-4b30-8d81-aa8f17eeb7a1638558829696469702.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Eric Schles on Fighting Human Trafficking with Python</title>
      <description><![CDATA[<p>Listen to past episodes, read about the hosts or donate to the show at <a href="http://podcastinit.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">podcastinit.com</a></p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; June 10th, 2015</li>
<li>Hosts Tobias Macey and Chris Patti</li>
<li>Follow us on iTunes, Stitcher or TuneIn</li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>You can <a href="http://podcastinit.com/our-plans-for-your-donations.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">donate</a> (if you want)!</li>
<li>Overview &#8211; Interview with Eric Schles</li>
</ul>

<h3>Interview with Eric Schles</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>What inspired you to take up the fight against slavery? Is there personal story behind this choice?</li>
<li>Some of your work touches on the “Deep Web”. Can you provide listeners with some context around what that term means and role it plays in what you do?
<ul>
<li>Tor .onion sites (Hidden Services) are examples</li>
<li>Anonymous Web Experience</li>
<li>Anonymity allows for illegal, immoral things like buying selling people</li>
<li>Conceptually very important idea</li>
<li>Bruce Schneier &#8211; Web technologies need to be more privacy aware</li>
<li>Like a really scary version of “The Internet of the Old Days”</li>
<li>Photos of young, exploited men and women</li>
<li>Pedophiles are building communities, having parties through these hidden services</li>
<li>Eric feels that Tor is an extreme</li>
<li>Feels there had to be a way to protect the rights of legitimate while protecting against pedophiles</li>
<li>Maybe a voting system?</li>
<li>The Tor project feels that any compromise lessens the that’s so important for people in embattled or countries (Worded that poorly -Chris)</li>
<li>No metrics on the amount of pedophilia that actually happens Tor &#8211; probably a lot</li>
<li>Sexually abused victims of trafficking grow up damanged unable to do anything else</li>
<li>Consumers of this type of porn were often themselves victims sexual abuse</li>
<li>Structural dissonance which exists to create this problem society needs to be addressed</li>
<li>Google puts the number to the anti-trafficking hotline at top of any trafficking search results</li>
<li>Darren (Derek?) Hayes &#8211; redirect to trafficking resources when viewing advertisements for victims trafficking</li>
</ul>

<p></li><br>
<li>Why did you choose Python as opposed to any other tool for your search engine?</p>

<ul>
<li>Needed solutions quickly with the ability to evolve as needed</li>
<li>Able to rapidly develop and incorporate new features rapidly</li>
<li>Easy to scale as needed</li>
<li>Flask is easier to prototype and iterate with</li>
<li>Python data science tools make the analysis easy</li>
<li>Able to finish a 2 year C++ project in 3 weeks using Python</li>
<li>Doing data science in Ruby is challenging</li>
<li>Pandas Dataframe galvanized the creation of a lot of other useful tools</li>
<li><a href="https://github.com/wrobstory/vincent?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vincent</a> &#8211; write Python which compiles to D3</li>
</ul>

<p></li><br>
<li>Can you provide a high level description of the technical details the search engine that you created, and what it’s like to with Tor through Python?</p>

<ul>
<li>Directed search engine</li>
<li>“It would be like if you went to Google but everything watched was Porn which you were uncomfortabl seeing and you sad”</li>
<li>Get most case information through regular old detective work</li>
<li>Person arrested / in holding yields phone number, other attributes that can feed the search engine</li>
<li>Google can’t scrape the deep web</li>
<li>Memex tool indexes the deep web &#8211; Eric’s search engine uses that</li>
<li>Eric does design work for the Memex project</li>
<li>Developed by the amazing Chris White</li>
<li>Eric’s search engine uses the Tor driver in Selenium to .onion sites</li>
</ul>

<p></li><br>
<li>What are some of the technical and legal challenges that you experienced in the course of your work?</p>

<ul>
<li>Most of the technical challenges are around automated processing</li>
<li>Legal structure provides some limits on what can be worked on</li>
</ul>

<p></li><br>
<li>Does your search engine try to infer who might be engaged in work voluntarily as opposed to those being forced into it their will?</p>

<ul>
<li>No, because they get all their case referrals from detective work</li>
<li>You have to have been hospitalized or in some other way come the attention of the authorities for being deprived of rights</li>
<li>Trafficking looks very different in different cultures</li>
<li>Global similarities</li>
<li>Afraid to say why if hurt</li>
<li>Forced into having sex against your will</li>
<li>Clear patterns of indication</li>
<li>Urban versus Suburban versus Rural</li>
<li>Fracking towns</li>
<li>Demographics are very different &#8211; mostly men very women, LOTS of ads for sex workers</li>
<li>Only helping people that want to be helped</li>
</ul>

<p></li><br>
<li>What was the most surprising fact you uncovered as part of research?</p>

<ul>
<li>Imagery of exploited children is so depressing and sad</li>
</ul>

<p></li><br>
<li>Without revealing anything you shouldn’t, are you aware of being set free as a result of your work?</p>

<ul>
<li>“Not my work, our work”</li>
<li>Not an individual effort</li>
<li>lawyers, analysts, larger DAs office</li>
</ul>

<p></li><br>
<li>Given the complicated socio-economic aspects of human and prosecution of those who are responsible, can you discuss of the moral and ethical considerations that you have confronted with while building these tools?</p>

<ul>
<li>Privacy is the biggest concern</li>
<li>Open source book to teach colleagues at the DA’s office how program to in Python</li>
<li>Sometimes Eric works at <a href="http://civichall.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Civic Hall</a></li>
</ul>

<p></li><br>
<li>Are there any projects out there that you consider similar to you are working on?</p>

<ul>
<li>Thorn’s <a href="https://www.wearethorn.org/spotlight/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spotlight tool</a></li>
<li><a href="http://opencatalog.darpa.mil/MEMEX.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Memex Project</a></li>
<li><a href="http://www.polarisproject.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Polaris Project</a></li>
<li><a href="http://www.datakind.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Datakind</a> Anti Trafficking</li>
<li><a href="https://www.dosomething.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">dosomething.org</a> &#8211; more broadly focused &#8211; help center for teens</li>
<li><a href="http://techcrunch.com/2015/02/20/software-eats-sex-trafficking-ycs-rescue-forensics-aids-law-enforcement-in-finding-victims/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RescueForensics &#8211; stage startup</a></li>
</ul>

<p></li><br>
<li>What would it take for other municipalities and law agencies to get started with using your tools?</p>

<ul>
<li>Go to <a href="https://github.com/EricSchles?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://github.com/EricSchles?utm_source=rss&utm_medium=rss</a></li>
<li>Alert System and investa_gator</li>
<li>Contact Eric at <a href="mailto:ericschles@gmail.com">ericschles@gmail.com</a> to collaborate</li>
</ul>

<p></li><br>
<li>How can our listeners get involved and help you with this Chris</p>

<ul>
<li>Tweet at @EricSchles or E-mail Eric</li>
<li>Volunteer for any of the non profit anti-trafficking groups</li>
</ul>

<p></li><br>
<li>Message to the community: There is a world of good waiting to happen</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://twitter.com/accidental__aRt?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@accidental_aRt</a></li>
<li><a href="https://tldrlegal.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">tldrlegal.com</a></li>
<li><a href="http://amzn.to/1FFOPPr?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rishloo</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.vertigocomics.com/comics/the-sandman-overture-2013/the-sandman-overture-1?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Neil Gaiman’s Sandman Overture</a></li>
<li><a href="http://www.beeradvocate.com/beer/profile/27039/16814/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alchemist Brewing’s Heady Topper</a></li>
<li><a href="http://henofthewood.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hen of the Wood</a></li>
</ul>

<p></li><br>
<li>Eric</p>

<ul>
<li><a href="http://seriously.dontusethiscode.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">James Powell’s Blog</a></li>
<li><a href="http://www.julianunes.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Julia Nunes</a></li>
<li><a href="http://www.xkcd.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">XKCD</a></li>
<li><a href="http://www.explainxkcd.com/wiki/index.php/Main_Page?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Explain XKCD</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep in Touch</h3>

<ul>
<li>Twitter: <a href="https://twitter.com/ericschles?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@EricSchles</a></li>
<li><a href="https://about.me/ericschles?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Eric’s About.me page</a></li>
</ul>

<h3>More From Eric</h3>

<ul>
<li>He <a href="https://www.youtube.com/watch?v=NVsDUos_HHY&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">presented</a> at PyGotham 2014</li>
<li>He also <a href="http://opendatascicon.com/schedule/finding-patterns-that-indicate-human-trafficking-with-open-data/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">talked</a> at the Open Data Science Conference 2015 Boston</li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-12-eric-schles-on-fighting-human-trafficking-with-python%2F&amp;action_name=Eric+Schles+on+Fighting+Human+Trafficking+with+Python+-+Episode+12&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-12-eric-schles-on-fighting-human-trafficking-with-python/</guid>
      <link>https://www.pythonpodcast.com/episode-12-eric-schles-on-fighting-human-trafficking-with-python</link>
      <pubDate>Thu, 25 Jun 2015 10:00:00 +0000</pubDate>
      <podcast:soundbite startTime="227.18" duration="54.77">So what inspired you to take up the fight against slavery? Is there a personal story behind that choice? Absolutely. So we have to go back in time quite a bit, actually. So hearken back to the summer of 1995. I was 12 at the time. And my family, my parents are a bit strange. They they sort of did the Globetrot thing when they were post college, and both found themselves in India in a rather remote village just for various reasons, mostly because they're nuts. And so we went back there to see where they had met. My parents wanted me to see where they had met, I I guess, for for strange reasons because it's a horrible little village. But I saw a man in the street with a metal collar around his neck, and he was begging for food and and and change. And, my father later explained to me that he was actually sort of not doing this for him.</podcast:soundbite>
      <podcast:soundbite startTime="504.03" duration="50.34">So how this plays into my work is not going to take a huge leap of intellectual thought. Basically, because everyone's anonymous, you can do things like post interest in, essentially, buying and selling people. So this happens on on some deep websites. Standard standard scrapers, web scrapers typically cannot handle this. Although there are some tools in Python among other languages that do this. So you can make use of Selenium and then mechanize the Tor browser. There's a Tor driver, and you can use that to scrape the content on the deep web. But, you know, if you send the requests if you use the request library and try to just do a get against some deep web website, you will not get anything back. Actually, I've never tried it, so I'm not a 100% sure that that will happen. You might get something back, but I'm reasonably sure you won't.</podcast:soundbite>
      <podcast:soundbite startTime="1752.11" duration="62.94">So I chose Python for a number of reasons. The most important 1 was we needed solutions quickly. Right? So this problem is happening now. We need something that a tool that could sort of handle evolving needs from the people that I work with at at the Manhattan District Attorney's Office as well as something that would be supportable, readable, easy to use, and was robust. So Python sort of fit the build really, really well. I was able to not only sort of do rapid development around each of the tools. I was able to incorporate new features quickly because, Python is so flexible. I was able to, you know, take in modules as needed, and start using them right away and also maintain the code base fairly easily just because Python is somewhat self documenting. Right? It's basically pseudo code. It's so much easier to read than c plus plus. And, also, with the right sort of resources, computationally, it was easy to scale up as needed, which was important.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:13:10</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Eric Schles on Fighting Human Trafficking with Python</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>12</itunes:episode>
      <podcast:episode>12</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320216924563766ae775-9cb6-4d91-9d2d-d5353b390061v1.mp3" length="70261876" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525320216924563766ae775-9cb6-4d91-9d2d-d5353b390061v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_766ae775-9cb6-4d91-9d2d-d5353b390061638558839234060984.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/766ae775-9cb6-4d91-9d2d-d5353b390061638558839227838807.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/766ae775-9cb6-4d91-9d2d-d5353b390061638558839225761385.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Naomi Ceder, Lynn Root and Tracy Osborn on Diversity in the Python Community</title>
      <description><![CDATA[<p>Listen to past episodes, read about the show and check out our donations section at <a href="http://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">podcastinit.com</a></p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; Jun-10th, 2015</li>
<li>Hosts Macey and Chris Patti</li>
<li>Follow us on iTunes, Stitcher or TuneIn</li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>You can donate (if you want)!</li>
<li>Overview &#8211; Interview with Tracy Osborn, Naomi Ceder, Lynn Root</li>
</ul>

<h3>Interview with Prominent PyLadies</h3>

<ul>
<li>Introductions
<ul>
<li>Tracy Osborn</li>
<li>Naomi Ceder</li>
<li>Lynn Root</li>
</ul>

<p></li><br>
<li>How did you get introduced to Python?</li><br>
<li>In what ways do you think the Python community has succeeded in making itself more friendly and welcoming to women and other under represented minorities, and where could it do better?</p>

<ul>
<li>Python community leadership takes a positive stance on diversity</li>
<li>Codes of conduct are taken very seriously</li>
<li>Financial diversity needs more focus</li>
</ul>

<p></li><br>
<li>What can you tell us about PyLadies and DJango Girls?</p>

<ul>
<li>PyLadies
<ul>
<li>started in a coffee shop in LA</li>
<li>pip install PyLadies</li>
<li>Over 70 locations on almost every continent &#8211; half on meetup.com</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>What are some of the challenges you still face in being a part of the Python community, and how can our listeners help?</p>

<ul>
<li>Don’t be disparaging about women-focused events</li>
</ul>

<p></li><br>
<li>I had to read up to page 17 of the top authors list on PyPi to find a woman. Can you provide some insight into what may be contributing to this state of affairs and how we can help to improve it?</p>

<ul>
<li>pypi is confusing and intimidating</li>
<li>Process and tools are tough to use</li>
<li>Maybe Pyladies should host a “make your own package” night</li>
<li>Mentorship and easy HOWTOs are needed</li>
</ul>

<p></li><br>
<li>You have all gained some notoriety in the Python community through work that you have done. Do you feel that you were faced with greater adversity than your peers in the course of your careers?</p>

<ul>
<li>Startup community more hostile than Python community</li>
</ul>

<p></li><br>
<li>We are talking to each of you because of your involvement in the Python community. Have you worked with and been involved in other language communities? If so, can you provide some comparisons between that and Python in how they manage the subject of diversity, gender and otherwise?</p>

<ul>
<li>Design community &#8211; lots of conferences with “all dude” conference speaker line up</li>
<li>Startups very focused on males for employees and customers</li>
</ul>

<p></li><br>
<li>What effect do you think job descriptions play in excluding women and other minorities from roles in development positions? (In reference to <a href="https://blog.safaribooksonline.com/2015/06/08/on-recruiting-inclusiveness-and-crafting-better-job-descriptions/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener"><a href="https://blog.safaribooksonline.com/2015/06/08/on-recruiting-inclusiveness-and-crafting-better-job-descriptions/?utm_source=rss&utm_medium=rss" rel="nofollow">https://blog.safaribooksonline.com/2015/06/08/on-recruiting-inclusiveness-and-crafting-better-job-descriptions/?utm_source=rss&amp;utm_medium=rss</a></a>)</p>

<ul>
<li>Discourage more appropriate term than exclude</li>
<li>Women less likely to apply for roles that they are not completely qualified for</li>
<li>Spotify experimenting with blind resume review and cross-checking of job descriptions
<ul>
<li>Result is more women applying and having better results</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>For any women and young girls who may be considering a career in technology, do you have any words of advice?</p>

<ul>
<li>Go for it, but be aware that it’s hard</li>
</ul>

<p></li><br>
<li>Do you have any advice for the men in the Python community and technology as a whole?</p>

<ul>
<li>Actually listen when somebody tells you that it’s not the same for them (race, economics, gender)</li>
<li>Have some compassion and empathy</li>
<li>Men should educate themselves</li>
<li>Old habits die hard but getting over them is important</li>
</ul>

<p></li><br>
<li>Is there anything we haven’t discussed that any of you would like to bring up?<br /></p>

<h3>Picks</h3>

<p></li><br>
<li>Tobias</p>

<ul>
<li><a href="http://amzn.to/1FFMqUT?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Banned and the Banished</a> series by James Clemens</li>
<li><a href="http://www.imdb.com/title/tt0061512/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cool Hand Luke</a> with Paul Newman</li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.baxterbrewing.com/beers/stowaway-ipa/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Baxter Stowaway IPA</a></li>
<li><a href="https://www.masteringemacs.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mastering Emacs</a></li>
<li><a href="http://99percentinvisible.org/episode/the-nutshell-studies/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">99% Invisible &#8211; The Nutshell Studies</a></li>
</ul>

<p></li><br>
<li>Naomi Ceder</p>

<ul>
<li><a href="http://www.amazon.com/Dying-Living-Jesse-Sullivan-Novel-ebook/dp/B00IRIAA84?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Korey Schrum &#8211; Dying for a Living</a></li>
<li><a href="http://www.amazon.com/Into-Brambles-Daniel-Roy-Greenfeld-ebook/dp/B00VC5UQHO?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Into the Brambles &#8211; by “PyDanny &#8211; Danny Greenfeld”</a></li>
</ul>

<p></li><br>
<li>Lynn Root</p>

<ul>
<li><a href="https://lambdaops.com/ipythonjupyter-tmpnb-debuts/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter &#8211; tmpnb &#8211; Kyle Kelly blog post</a></li>
<li><a href="http://www.amazon.com/Knit-Your-Own-Easy-Follow/dp/1579129609?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Knit Your Own Zoo</a></li>
<li><a href="https://en.wikipedia.org/wiki/Bechdel_test?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bechdel Test</a></li>
<li><a href="http://www.cbs.com/shows/the_good_wife/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Good Wife</a>
<ul>
<li>Passes the Bechdel Test</li>
<li>Inspiration for women being awesome in a male dominated industry</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>Tracy Osborn</p>

<ul>
<li><a href="http://www.easypost.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">EasyPost</a> &#8211; Simplifies generating shipping labels for USPS<br />
<h3>Keep in Touch</h3>
</li>
</ul>

<p></li><br>
<li>Naomi Ceder</p>

<ul>
<li><a href="https://twitter.com/naomiceder?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@naomiceder</a></li>
</ul>

<p></li><br>
<li>Lynn Root</p>

<ul>
<li><a href="https://twitter.com/roguelynn?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@roguelynn</a></li>
</ul>

<p></li><br>
<li>Tracy Osborn</p>

<ul>
<li><a href="https://twitter.com/limedaring?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@limedaring</a></li>
<li><a href="http://limedaring.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blog</a></li>
<li><a href="http://hellowebapp.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hello Webapp</a></li>
</ul>

<p></li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-11-naomi-ceder-lynn-root-and-tracy-osborn-on-diversity-in-the-python-community%2F&amp;action_name=Naomi+Ceder%2C+Lynn+Root+and+Tracy+Osborn+on+Diversity+in+the+Python+Community+-+Episode+11&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-11-naomi-ceder-lynn-root-and-tracy-osborn-on-diversity-in-the-python-community/</guid>
      <link>https://www.pythonpodcast.com/episode-11-naomi-ceder-lynn-root-and-tracy-osborn-on-diversity-in-the-python-community</link>
      <pubDate>Thu, 18 Jun 2015 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1650.46" duration="32.86">So what effect do you think job descriptions play in excluding women and other minorities from roles and development positions? I think I think it plays a big part. I don't know if it exclude is the right word, maybe like discourage because like I mean I don't have a CS degree either, and if it's a requirement then I'm not gonna apply. And it's it's well, it's sort of accepted that women tend to not apply to things that they're slightly out of their reach, and it's not true in all cases, but but it seems to happen a lot.</podcast:soundbite>
      <podcast:soundbite startTime="965.47" duration="25.89">I remember when I first started doing Python, I was like, man, I I really want to get something up in PyPI, but what? What do I do? You know like there's so many things already out there that people are already thought of. And then I just realized after a couple years a lot of people have the same ideas and put their own package up there, up on PyPI. It's just like maybe a different implementation or a different API usage kind of thing.</podcast:soundbite>
      <podcast:soundbite startTime="284.90" duration="31.33">So in what ways do you think the Python community has succeeded in making itself more friendly and welcoming to women and other underrepresented minorities and where could it do better? I think what helps the Python community a lot is that its leadership really takes a stance, a positive stance towards diversity and in many aspects, not not just women, but, of many aspects. And it has really helped us to to see, like, Dieter Van Rossum, to see the PSF and other sort of leaders within the community sort of say, yes, this is important and we need to invest time.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:15</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Naomi Ceder, Lynn Root and Tracy Osborn on Diversity in the Python Community</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>11</itunes:episode>
      <podcast:episode>11</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253043679821744579f66c-04f4-4557-b2ab-5d9ad19a17c6v1.mp3" length="47296299" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253043679821744579f66c-04f4-4557-b2ab-5d9ad19a17c6v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_4579f66c-04f4-4557-b2ab-5d9ad19a17c6638558808638708418.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4579f66c-04f4-4557-b2ab-5d9ad19a17c6638558808635471503.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/4579f66c-04f4-4557-b2ab-5d9ad19a17c6638558808633076053.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Brian Granger and Fernando Perez of the IPython Project</title>
      <description><![CDATA[<p>You can find past episodes and other information about the show at <a href="http://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">podcastinit.com</a></p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; June 3rd, 2015</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Overview &#8211; Interview with Fernando Perez and Brian Granger, core developers of IPython/Project Jupyter</li>
<li>Follow us on iTunes, Stitcher or TuneIn</li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>You can donate (if you want)!</li>
</ul>

<h3>Interview with Brian Granger and Fernando Perez</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python? &#8211; Chris</li>
<li>For anyone who may not have heard of or used IPython, can you describe what it is?</li>
<li>How challenging was it to port IPython to Python 3?
<ul>
<li><a href="https://twitter.com/takluyver?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Thomas Kluyver</a></li>
</ul>

<p></li><br>
<li>What prompted the name change from IPython to Project Jupyter and were there any associated changes in the project itself?</p>

<ul>
<li>Name inspired by Julia, Python and R &#8211; the three programming languages of data science</li>
</ul>

<p></li><br>
<li>Data scientists have adopted the use of IPython notebooks in their work on a large scale, what is it about notebooks that lend themselves to this particular problem domain?</p>

<ul>
<li><a href="http://camdavidsonpilon.github.io/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bayesian methods for Hackers &#8211; Cameron Davidson-Pilon</a></li>
<li><a href="http://www.springer.com/us/book/9783319013411?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Signal processing in Python</a></li>
<li><a href="https://beta.oreilly.com/ideas/jupyter-at-oreilly?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">O’Reilly added support for notebooks into Atlas publishing platform</a></li>
</ul>

<p></li><br>
<li>IPython Notebook seems like an incredible tool for educators is advanced fields. Have you seen wide spread adoption in this area and is it a focus for the project?</p>

<ul>
<li><a href="https://github.com/jupyter/nbgrader?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NBGrader &#8211; notebook grader</a></li>
</ul>

<p></li><br>
<li>Github recently added the ability to <a href="http://blog.jupyter.org/2015/05/07/rendering-notebooks-on-github/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">render notebooks in a repo</a>. Did you work with them to build that integration?</li><br>
<li>What are some of the most interesting uses of IPython notebooks that you have seen?</p>

<ul>
<li>Gallery of interesting notebooks on the <a href="https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">wiki</a>
<ul>
<li><a href="https://github.com/ipython/ipython/wiki/A-gallery-of-interesting-IPython-Notebooks#reproducible-academic-publications?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Reproducible academic publications</a></li>
<li>Couple of dozen scientific papers, some very high profile</li>
</ul>

<p></li><br>
<li>Educational notebooks on various subjects</li><br>
<li>Great learning resource, as well as entertaining</li><br>
<li><a href="https://github.com/numerical-mooc/numerical-mooc?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MOOC taught between distributed team on Open EdX using IPython notebooks about numerical computing with Python</a></li><br>
<li>Peter Norvig collection of IPython notebooks</p>

<ul>
<li><a href="http://nbviewer.ipython.org/url/norvig.com/ipython/TSPv3.ipynb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Includes analysis of traveling salesman problem</a></li>
</ul>

<p></li><br>
<li><a href="http://notebooks.codeneuro.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">notebooks.codeneuro.org</a>&#8211; time series data analysis &lt;- Couldn’t get this to work. -Chris</li><br>
</ul><br>
</li><br>
<li>Are there any notable projects that use IPython as one of their components?</p>

<ul>
<li><a href="https://bcrc.bio.umass.edu/courses/spring2012/micbio/micbio660/content/ipython-and-systems-biology-knowledgebase-kbase?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">KBase for computational biology</a></li>
<li><a href="http://www.sagemath.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Sage &#8211; Open source mathematics project written in Python</a>
<ul>
<li>Created by number theorist William Stein</li>
<li>Custom parser to allow for non-python syntax</li>
</ul>

<p></li><br>
<li><a href="https://www.quantopian.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Quantopian</a> &#8211; Collaborative platform for financial modeling. Runs on top of IPython</li><br>
<li><a href="https://wakari.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wakari from Continuum Analytics</a> &#8211; hosted IPython with computing environment</li><br>
<li>Rackspace hosts TempNB and other IPython services</li><br>
</ul><br>
</li><br>
<li>Where do you see Project Jupyter going in the future? Are there any particular new features you’d like to see added? &#8211; Tobias</p>

<ul>
<li>One of the biggest targeted features is real-time collaboration
<ul>
<li>Prototyped by engineers from Google</li>
</ul>

<p></li><br>
<li>More modular UI and architecture</li><br>
<li>Multi-user deployments with <a href="https://github.com/jupyter/jupyterhub?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jupyter Hub</a></li><br>
</ul><br>
</li><br>
<li>A few weeks ago we interviewed Jonathan Slenders who wrote ptpython, which brings IDE like capabilities to interactive Python. Have you ever considered including this in IPython?</li><br>
<li>What are some of the features that an average user might not know about?</li><br>
<li>Is there anything in particular that you would like to ask our listeners for help with?</p>

<ul>
<li>Pitch in with the development effort</li>
<li>Organize community events on behalf of IPython/Jupyter</li>
<li>Be patient while documentation improves <img class="wp-smiley" src="https://i0.wp.com/www.podbean.com/smilies/icon_smile.gif?w=1200&utm_source=rss&utm_medium=rss" alt=":)" data-recalc-dims="1"></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="http://en.wikipedia.org/wiki/Dayworld_%28trilogy%29?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dayworld trilogy by Phillip Jose Farmer</a></li>
<li><a href="http://readruler.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ReadRuler.com</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.rubytapas.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">RubyTapas by Avdi Grimm</a></li>
<li><a href="http://www.codenewbies.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeNewbies</a></li>
<li><a href="http://tapbots.com/tweetbot/mac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tweetbot</a></li>
</ul>

<p></li><br>
<li>Brian Granger</p>

<ul>
<li><a href="http://shop.oreilly.com/product/0636920033400.do?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Science from Scratch &#8211; Joel Gruß</a></li>
<li><a href="http://www.stat.purdue.edu/~wsc/elements.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Elements of Graphing Data &#8211; William Cleveland</a></li>
</ul>

<p></li><br>
<li>Fernando Perez</p>

<ul>
<li><a href="http://lesterland.lessig.org/pdf/republic-lost.pdf?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Republic Lost &#8211; Lawrence Lessig</a></li>
<li><a href="http://www.nytimes.com/2013/09/29/books/alvaro-mutis-novelist-who-created-a-rambling-ruminative-soul-dies-at-90.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Alvaro Mutis</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep in Touch</h3>

<ul>
<li>Twitter <a href="https://twitter.com/projectjupyter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@projectjupyter</a>, <a href="https://twitter.com/ipythondev?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ipythondev</a>, <a href="https://twitter.com/ellisonbg?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ellisonbg</a>, <a href="https://twitter.com/fperez_org?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@fperez_org</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango<br />
Orchestra</a><br />
/ <a href="http://creativecommons.org/licenses/by-sa/*0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-10-brian-granger-and-fernando-perez-of-the-ipython-project%2F&amp;action_name=Brian+Granger+and+Fernando+Perez+of+the+IPython+Project+-+Episode+10&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-10-brian-granger-and-fernando-perez-of-the-ipython-project-1434193715/</guid>
      <link>https://www.pythonpodcast.com/episode-10-brian-granger-and-fernando-perez-of-the-ipython-project</link>
      <pubDate>Sat, 13 Jun 2015 11:00:00 +0000</pubDate>
      <podcast:soundbite startTime="111.14" duration="32.78">It's kind of amazing how strong the connection is between physics and computer science. I mean, it goes just kind of beyond, well, physicists use computers. I cannot tell you how many people in my career that I've encountered who have now basically given up physics and gone full time computer science in 1 stripe or other and really just kinda never looked back. It's there seems to be some sort of kindred souls thing going on between people who study physics and people who end up working in the tech industry.</podcast:soundbite>
      <podcast:soundbite startTime="3009.65" duration="15.81">Well, if we get nothing else, I'm sure people will be absolutely ecstatic with just the features that you listed above because those are pretty remarkable. Even just the collaborative real time editing of a notebook would be pretty amazing for a lot of people. I'm sure.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:21:48</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Brian Granger and Fernando Perez of the IPython Project</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>10</itunes:episode>
      <podcast:episode>10</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297503835207fbb5227b-f477-4558-970a-0ab363caa1ccv1.mp3" length="78551550" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297503835207fbb5227b-f477-4558-970a-0ab363caa1ccv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fbb5227b-f477-4558-970a-0ab363caa1cc638558788998779743.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fbb5227b-f477-4558-970a-0ab363caa1cc638558788994134446.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fbb5227b-f477-4558-970a-0ab363caa1cc638558788992223111.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>David Baumgold on Flask-Dance, WebhookDB and Open EdX</title>
      <description><![CDATA[<p>You can find out more about us and view previous episodes at <a href="http://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">podcastinit.com</a>.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; 2015-06-02</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Follow us on &#8211; <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="http://www.stitcher.com/s?fid=64838&amp;refid=stpr&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stitcher</a> or <a href="http://tunein.com/radio/Podcast__init__-p726240/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TuneIn</a></li>
<li>Give us feedback on <a href="https://itunes.apple.com/us/podcast/podcast.-init/id981834425?mt=2&amp;uo=6&amp;at=&amp;ct=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">iTunes</a>, <a href="https://twitter.com/Podcast__init__?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter</a>, <a href="mailto:hosts@podcastinit.com">email</a> or <a href="http://podcastinit.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Disqus</a></li>
</ul>

<h3>Interview with David Baumgold</h3>

<ul>
<li>Introduction</li>
<li>How did you get introduced to Python?</li>
<li>What problem does <a href="https://github.com/singingwolfboy/flask-dance?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Flask-Dance</a> solve that wasn’t covered by other libraries?</li>
<li>What were some of the technical issues that you encountered while building Flask-Dance?</li>
<li>What are some of the design considerations that you had when building Flask-Dance?</li>
<li>You also built <a href="https://github.com/singingwolfboy/webhookdb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">webhookdb</a> for replicating GitHub’s information to be queryable. What are some use cases for which you would want to do that?</li>
<li>What is <a href="https://open.edx.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Open EdX</a> and what is its intended audience?</li>
<li>What are some of the challenges implementing a system like Open EdX, and what can Python developers learn from the implementation of the project?</li>
</ul>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://gitorious.org/evil/pages/Home?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Evil mode</a></li>
<li><a href="http://forgotify.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Forgotify</a></li>
<li><a href="http://www.imdb.com/title/tt0993846/?ref_=fn_al_tt_2&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wolf of Wall Street</a></li>
<li><a href="https://github.com/bndr/pipreqs?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pipreqs</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.ratebeer.com/beer/dark-horse-smells-like-a-safety-meeting-ipa/107403/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dark Horse Brewing &#8211; “Smells Like a Safety Meeting”</a></li>
<li><a href="https://medium.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Medium</a></li>
<li><a href="http://www.gnu.org/software/emacs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Modern Gnu Emacs</a></li>
</ul>

<p></li><br>
<li>David</p>

<ul>
<li><a href="http://brew.sh/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Homebrewhttps://open.edx.org/ for OSX</a></li>
<li><a href="http://caskroom.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Homebrew Cask</a></li>
<li><a href="http://crsmithdev.com/arrow/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Arrow</a></li>
<li><a href="http://momentjs.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moment.js</a></li>
<li><a href="http://www.imdb.com/title/tt2084970/?ref_=fn_al_tt_1&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Imitation Game</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep in touch</h3>

<ul>
<li><a href="https://twitter.com/singingwolfboy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter: @singingwolfboy</a></li>
<li><a href="https://github.com/singingwolfboy?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="http://davidbaumgold.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="mailto:david@davidbaumgold.com">Email</a></li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-9-david-baumgold-on-flask-dance-webhookdb-and-open-edx%2F&amp;action_name=David+Baumgold+on+Flask-Dance%2C+WebhookDB+and+Open+EdX+-+Episode+9&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-9-david-baumgold-on-flask-dance-webhookdb-and-open-edx/</guid>
      <link>https://www.pythonpodcast.com/episode-9-david-baumgold-on-flask-dance-webhookdb-and-open-edx</link>
      <pubDate>Sun, 7 Jun 2015 15:00:00 +0000</pubDate>
      <podcast:soundbite startTime="589.46" duration="39.25">So what webhookdb is, is it's basically just a very thin web application layer over a postgres database. And it exposes a couple of HTTP API endpoints. And you can set up GitHub to say, every time an event happens on this repository that I care about, just send that information over to my web DB server. And all of the server does is it takes that information and stores it into the local database. So basically what you've got set up is database replication over HTTP, which I thought was a kind of cool concept.</podcast:soundbite>
      <podcast:soundbite startTime="814.23" duration="43.54">So Open edX is the software platform that underlies edx.org. It's actually exactly the same software that my company uses to run edx.org. And that means that anybody around the world can use the software, stand up their own Open edX server and can offer their own courses and can provide them to other people. Now I should also mention that there's a difference between the platform and the courses that are offered on top of that platform. So Open edX allows you to create your own courses, doesn't have the course content available that you would see on edX.org because those are owned by the universities that created those courses.</podcast:soundbite>
      <podcast:soundbite startTime="139.07" duration="34.87">So FlaskDance is a library that works with the Flask web framework. It's designed to make it easier to use OAuth as a web application. And OAuth is the protocol that you use to allow 2 websites to communicate information with each other about a user with that user's consent. So basically what that means is anytime you see that login with Facebook button or login with Google or login with Twitter or whatever, Any of those situations where you're going to a website and asking it to work with 1 of these big providers like Facebook.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:32:21</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>David Baumgold on Flask-Dance, WebhookDB and Open EdX</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>9</itunes:episode>
      <podcast:episode>9</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305424469729ad825bc3-816a-407f-85ee-6ade773be7c5v1.mp3" length="31076326" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525305424469729ad825bc3-816a-407f-85ee-6ade773be7c5v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ad825bc3-816a-407f-85ee-6ade773be7c5638558813444605947.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ad825bc3-816a-407f-85ee-6ade773be7c5638558813442497609.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ad825bc3-816a-407f-85ee-6ade773be7c5638558813439994130.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Mark Baggett on Python for InfoSec</title>
      <description><![CDATA[<p>Read all of our show notes and find more information about us at <a href="http://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">Beautiful Soup</a></p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; May 28th, 2015</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Overview &#8211; Interview with Mark Bagett</li>
<li>Follow us on iTunes, Stitcher or TuneIn</li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>You can donate (if you want)!</li>
</ul>

<h3>Interview with Mark Bagett</h3>

<ul>
<li>Introductions</li>
<li>How were you first introduced to Python? &#8211; Chris
<ul>
<li>Started using it for automating tasks while working as a sysadmin</li>
<li>Found code that launched an attack on FTP server &#8211; in Python</li>
</ul>

<p></li><br>
<li>What are some of the tasks in your job that you use Python for? -Tobias</p>

<ul>
<li>Trusted command &amp; control backdoor for Windows
<ul>
<li>Mostly not used by malware authors &#8211; thus far (at least Mark hasn’t seen it used that way)</li>
<li>Flame virus &#8211; 5MB payload &#8211; incredibly advanced
<ul>
<li>Lua interpreter bundled along with the scripts</li>
</ul>

<p></li><br>
<li>Vale framework &#8211; Python framework that takes payloads out of penetration testing executables</li><br>
</ul><br>
</li><br>
</ul><br>
</li><br>
<li>What is it about Python that makes it useful for penetration testing and other information security tasks?</p>

<ul>
<li>Same thing that makes it useful for anything else</li>
<li>mpacket from core security</li>
</ul>

<p></li><br>
<li>What are some of the more useful Python penetration testing tools?</p>

<ul>
<li>OFFENSE
<ul>
<li><a href="http://www.crummy.com/software/BeautifulSoup/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Beautiful Soup</a></li>
<li><a href="http://www.secdev.org/projects/scapy/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">scapy</a></li>
<li><a href="https://code.google.com/p/volatility/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Volatility</a></li>
</ul>

<p></li><br>
<li>DEFENSE</p>

<ul>
<li><a href="https://docs.python.org/2/library/collections.html#collections.Counter?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Counter dictionary from collections</a></li>
<li>Pandas</li>
<li>iPython</li>
<li>matplotlib</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
<li>We’ve noticed that a lot of the literature around information security and penetration testing focuses on targeting Windows. Can you enlighten us as to why that is?</p>

<ul>
<li>Windows event tracing
<ul>
<li>logman</li>
<li>event trace providers &#8211; implement packet sniffing (Can turn every browser into a key logger)</li>
</ul>

<p></li><br>
<li>Primary attack surface &#8211; Where most attacks are targeted</li><br>
<li>Fewer purely Linux systems</p>

<ul>
<li>Very few ports open &#8211; maybe 80, 22</li>
<li>Very likely no user just sitting there waiting to run an executable you send</li>
</ul>

<p></li><br>
<li>More freedom on Linux &#8211; less formalized patching process, more variable tools = more exploits</li><br>
<li>Will write code to only use built in modules for Python that will run in customer target environments</li><br>
</ul><br>
</li><br>
<li>What are some of the legal considerations that you have to deal with on a regular basis as a penetration tester?</li><br>
<li>There have recently been a number of attacks based on hijacking the TCP/IP stack. Is Python being used for any of these exploits or tools to defend against them?</p>

<ul>
<li>Data analytics</li>
<li>Detect repeated sequence numbers &#8211; Man in the Middle Attack
<ul>
<li>As simple as 5 lines of Python code</li>
<li>import scapy, start sniffing packets, pull together all packets &#8211; make list of associated packets</li>
<li>Can pull together all packets inside of stream</li>
<li>Time spefic source communicates with specific destination</li>
<li>Bro &#8211; intrusion detection suite
<ul>
<li>Built into Security Onion &#8211; Doug Berks</li>
<li>FLOSS Weekly episode 296 with <a href="http://twit.tv/show/floss-weekly/296?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bro developers</a></li>
</ul>

<p></li><br>
</ul><br>
</li><br>
</ul><br>
</li><br>
<li>What are some activities that you do on a regular basis for which you would turn to another language or toolchain, rather than using Python?</p>

<ul>
<li>Powershell &#8211; The Python of windows
<ul>
<li>Whitelisted and ubiquitous</li>
</ul>

<p></li><br>
<li>Password cracking &#8211; compiled language like C or assembly</li><br>
</ul><br>
</li><br>
<li>For anyone who is interested in getting involved in the security industry, and penetration testing in particular, what resources or tools would you recommend?</p>

<ul>
<li>Developers make the best InfoSec professionals
<ul>
<li>Lots of jobs and opportunities</li>
</ul>

<p></li><br>
<li>Developer -&gt; Systems Administration -&gt; Information Security</li><br>
<li>Security conferences &#8211; BSides, Defcon, Black Hat</li><br>
<li>Online capture the flag challenges (google it) &#8211; good practice for critical thinking and using code for security exercises</li><br>
<li>Get involved in the industry &#8211; Meetups, etc.</li><br>
<li>SANS institute course, Python for Penetration Testers, SEC573 by Mark Baggett &#8211; sans.org</li><br>
<li>Lots of free online resources</li><br>
<li><a href="http://shop.oreilly.com/product/978159749957*do?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Violent Python</a></li><br>
<li><a href="https://picoctf.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PicoCTF</a></li><br>
<li><a href="https://www.counterhackchallenges.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Counter Hack Challenges</a></li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.authy.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Authy</a></li>
<li><a href="https://openwrt.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">OpenWRT</a></li>
<li><a href="http://amzn.to/1FR46Ac?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">TP-Link Archer C7</a></li>
<li><a href="https://www.youtube.com/watch?v=PYYfVqtcWQY&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Schemas For The Real World by Carina C. Zona</a></li>
<li><a href="https://youtu.be/IgbHzFb1hGw?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Soul of Software by Avdi Grimm</a></li>
<li><a href="http://en.wikipedia.org/wiki/China_Mi%C3%A9ville?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">China Mieville</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.beeradvocate.com/beer/profile/18639/121363/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rapscallion Munich Dark</a></li>
<li><a href="http://writeapp.net/mac/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Write</a></li>
<li><a href="http://marginalwayfund.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Marginal Way</a></li>
<li><a href="http://frankie-johnnys.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Frankie and Johnny’s</a></li>
<li><a href="https://github.com/yyuu/pyenv?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyenv</a></li>
</ul>

<p></li><br>
<li>Mark Bagett</p>

<ul>
<li><a href="http://corelabs.coresecurity.com/index.php?module=Wiki&amp;action=view&amp;type=tool&amp;name=Impacket&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Corelabs impacket</a></li>
<li><a href="http://www.rekall-forensic.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Google Labs &#8211; Rekall</a></li>
<li><a href="http://www.thecheesecakefactory.com/menu/desserts/cheesecakes/adams-peanut-butter-cup-fudge-ripple-cheesecake/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Adams peanut butter cup fudge ripple cheesecake</a></li>
<li><a href="http://www.securitybsides.com/w/page/12194156/FrontPage?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">BSides security conference</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep in Touch</h3>

<ul>
<li>Twitter: <a href="https://twitter.com/markbaggett?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@markbaggett</a></li>
<li><a href="http://www.indepthdefense.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">In Depth Defense</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-8-mark-baggett-on-python-for-infosec%2F&amp;action_name=Mark+Baggett+on+Python+for+InfoSec+-+Episode+8&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-8-mark-baggett-on-python-for-infosec/</guid>
      <link>https://www.pythonpodcast.com/episode-8-mark-baggett-on-python-for-infosec</link>
      <pubDate>Wed, 3 Jun 2015 15:00:00 +0000</pubDate>
      <podcast:soundbite startTime="1944.24" duration="37.14">And so continuing this thread a little bit further, what are some of the legal considerations that you have to deal with on a regular basis as a penetration tester? Yeah. So you you need to have a good get out of jail free card so the the organization has to understand in advance what you're gonna do. I think even even after having documents signed that have been reviewed by lawyers that say, alright. I am going to break into your organization, and I am going to I am going to steal data that you don't want me to steal just to show you that I can.</podcast:soundbite>
      <podcast:soundbite startTime="120.28" duration="30.83">So, Mark, how were you first introduced to Python? Well, like I said, I was a coder for many years, so I I knew programming. Then when I got into systems administration and networking and things like that, I probably had 5 5 to 7 years of my career when I didn't really do much coding, but there was always a better way. There was always some way that I could take the menial tasks that I had to do every single day and automate them.</podcast:soundbite>
      <podcast:soundbite startTime="2885.79" duration="39.44">So for anyone who's interested in getting involved in the security industry and penetration testing in particular, what resources or tools would you recommend? Yeah. So particularly from from your listeners, I'll say that developers make the best information security professionals. I mean, there's there's a big rush of people coming into the information security industry now because there's there's lots of jobs and there's lots of opportunities. But by far, the people that have a coding background just far excel beyond their peers in this industry.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:14:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Mark Baggett on Python for InfoSec</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>8</itunes:episode>
      <podcast:episode>8</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297107496347379c66d7-6dde-47d5-8fec-06da9579ff39v1.mp3" length="71556854" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525297107496347379c66d7-6dde-47d5-8fec-06da9579ff39v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_379c66d7-6dde-47d5-8fec-06da9579ff39638558787538024775.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/379c66d7-6dde-47d5-8fec-06da9579ff39638558787534350198.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/379c66d7-6dde-47d5-8fec-06da9579ff39638558787532364005.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Jacob Kaplan-Moss on Addressing Cultural Issues in Tech</title>
      <description><![CDATA[<p><span style="font-size: 10pt;">Read all of our show notes and find more information about us at </span><a style="font-size: 10pt;" href="http://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">podcastinit.com</a></p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; May 18th, 2015</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Follow us on iTunes, Stitcher or TuneIn</li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>Overview &#8211; Interview with Jacob Kaplan-Moss</li>
</ul>

<h3>Interview with Jacob Kaplan-Moss</h3>

<ul>
<li>Introductions</li>
<li>How were you first introduced to Python?</li>
<li>So, we wanted to invite you on the show to discuss the keynote that you gave at this years PyCon. Can you tell us what you mean when you say that you’re a mediocre programmer and why that is such an important admission to make?</li>
<li>What are some ways that we can change the tone of the conversation around programming skill?</li>
<li>What do we gain by admitting to ourselves and others that we are not all phenomenal engineers?</li>
<li>Where does the myth of exceptional vs terrible programmers come from? Can you provide some examples of times that you came in contact with this narrative?</li>
<li>How do you think hiring tactics in technology companies contribute to this misconception and how can they be more accepting of average programmers?</li>
<li>What are some ways that we can work toward eradicating the myth of the 10x programmer?</li>
<li>Thinking about our industry’s problems retaining women and other undervalued groups, do you think the way many managers do performance reviews play a role? If so, how can we do better?
<ul>
<li><a href="http://nyupress.org/books/9781479835454/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">What Works For Women At Work</a></li>
</ul>

<p></li><br>
<li>Can you tell us about some other ongoing narratives in the technology industry that you find equally as damaging as our misconceptions around skills and knowledge? &#8211; Tobias</p>

<ul>
<li><a href="http://indie.vc/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">indie.vc</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://trueability.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">True Ability</a></li>
<li><a href="https://manjaro.github.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Manjaro Linux</a></li>
<li><a href="http://www.vultr.com/?ref=6824205&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Vultr VPS</a></li>
<li><a href="http://amzn.to/1JsRWzd?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mage Wars</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://brooklynbrewery.com/brooklyn-beers/bqe/k-is-for-kriek?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">K is for Kriek</a></li>
<li><a href="https://trello.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Trello</a></li>
<li><a href="http://www.dancarlin.com/hh-55/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Dan Carlin’s Hardcore History</a></li>
</ul>

<p></li><br>
<li>Jacob Kaplan-Moss</p>

<ul>
<li><a href="https://hellowebapp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Hello Web App</a></li>
<li><a href="http://smile.amazon.com/What-Works-Women-Work-Patterns-ebook/dp/B00GXA1QN6?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">What Works For Women At Work</a></li>
<li><a href="https://docs.google.com/document/d/1soIYek-YEIvqtu9brv3ecdPbuVzQKp_GhAozC06UrLo/edit#heading=h.y5edmltiob9c?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Why Women Leave Tech: What the Research Says</a></li>
<li><a href="https://www.libraryextension.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Library Extension for Chrome and Firefox</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep In Touch</h3>

<ul>
<li><a href="https://twitter.com/jacobian?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jacobian</a></li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-7-jacob-kaplan-moss-on-addressing-cultural-issues-in-tech%2F&amp;action_name=Jacob+Kaplan-Moss+on+Addressing+Cultural+Issues+in+Tech+-+Episode+7&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-7-jacob-kaplan-moss-on-addressing-cultural-issues-in-tech/</guid>
      <link>https://www.pythonpodcast.com/episode-7-jacob-kaplan-moss-on-addressing-cultural-issues-in-tech</link>
      <pubDate>Tue, 26 May 2015 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="217.07" duration="10.16">So we wanted to invite you on the show to discuss the keynote you gave at this year's PyCon. Can you tell us what you mean when you say that you're a mediocre programmer and why that's such an important admission to make?</podcast:soundbite>
      <podcast:soundbite startTime="2229.75" duration="16.28">The whole startup culture is still kind of in this crazed like work is life mentality, but I think there are a lot of people in a lot of places and not just those of us who are getting older who are coming to realize that this is not the way to run a ship.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:49:36</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Jacob Kaplan-Moss on Addressing Cultural Issues in Tech</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>7</itunes:episode>
      <podcast:episode>7</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531647853254239f0a7d9-024e-49b6-b766-b8dd3e0ee3b0v1.mp3" length="47627199" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531647853254239f0a7d9-024e-49b6-b766-b8dd3e0ee3b0v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_39f0a7d9-024e-49b6-b766-b8dd3e0ee3b0638558832553390166.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/39f0a7d9-024e-49b6-b766-b8dd3e0ee3b0638558832549203207.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/39f0a7d9-024e-49b6-b766-b8dd3e0ee3b0638558832546544366.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Jonathan Slenders Talks About Prompt Toolkit</title>
      <description><![CDATA[<p>Visit our site at <a href="http://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">podcastinit.com</a> for more show notes and news.</p>

<h1>Brief Introduction</h1>

<ul>
<li>Date of recording &#8211; May 17th, 2015</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Follow us on iTunes, Stitcher or TuneIn</li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>Overview &#8211; Interview with Jonathan Slenders<br />
<h1>Interview with Jonathan Slenders</h1>
</li>
<li>Introductions</li>
<li>How were you first introduced to Python? -Chris</li>
<li>What inspired you to create the python-prompt-toolkit?</li>
<li>What are some design considerations that you made when building prompt-toolkit?
<ul>
<li>Make minimal use of inheritance
<ul>
<li>Overly strong coupling</li>
<li>Better clarity for the API of your library</li>
<li>Completely event driven / asynchronous</li>
<li>No global state</li>
</ul>

<p></li><br>
<li>ptpython completion benefits from asynchrony &#8211; The jedi completion library is too slow &#8211; completion happens in its own thread</li><br>
</ul><br>
</li><br>
<li>You have built a number of projects that use the prompt-toolkit as a core component, did you have them in mind from the beginning, or are they experiments to test the capabilities of the toolkit?</p>

<ul>
<li>tmux rewrite in Python, abandoned, original motivation for prompt-toolkit</li>
<li><a href="https://github.com/jonathanslenders/ptpython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ptpython</a></li>
<li><a href="https://github.com/dbcli/pgcli?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pgcli</a></li>
<li><a href="https://github.com/jonathanslenders/ptpdb?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">ptpdb</a></li>
<li><a href="https://github.com/jonathanslenders/pyvim?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pyvim</a></li>
</ul>

<p></li><br>
<li>Do you intend to bring PyVim to feature parity with Vim, or is it just intended for experimentation?</p>

<ul>
<li>Short answer: Don’t know &#8211; but will probably never be in full parity with Vim</li>
</ul>

<p></li><br>
<li>What inspired you to create ptpython and why did you choose to make it a stand-along project rather than extending iPython?</li><br>
<li>How difficult was it to integrate with IPython and what were the benefits?</p>

<ul>
<li>IPython has its own event loop &#8211; this presented difficulties as prompt-toolkit has its own as well</li>
</ul>

<p></li><br>
<li>What are some of the most interesting uses that you have seen of the prompt-toolkit?</p>

<ul>
<li>PyVim &#8211; really challenged the design</li>
<li>pgcli<br />
<h1>Picks</h1>
</li>
</ul>

<p></li><br>
<li>Tobias</p>

<ul>
<li><a href="https://github.com/gabesullice/vimsert?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">vimsert</a></li>
<li><a href="http://www.thejohnnycashproject.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Johnny Cash Project</a></li>
<li><a href="http://www.imdb.com/title/tt0816692/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Interstellar</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://grimmales.com/telekinesis/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Grimm Telekinesis</a></li>
<li><a href="http://pandoc.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">pandoc</a></li>
<li><a href="https://github.com/rkitover/vimpager?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">vimpager</a></li>
<li><a href="https://github.com/caskroom/homebrew-cask?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Homebrew Cask</a></li>
</ul>

<p></li><br>
<li>Jonathan Slenders</p>

<ul>
<li>Belgian Beer
<ul>
<li>Rochefort</li>
</ul>

<p></li><br>
<li>Western European Folk Dancing<br /></p>

<h1>Keep in touch</h1>

<p></li><br>
</ul><br>
</li><br>
<li>Twitter &#8211; <a href="https://twitter.com/jonathan_s?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@jonathan_s</a></li><br>
<li>GitHub &#8211; <a href="https://github.com/jonathanslenders?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">jonathanslenders</a></li><br>
</ul></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-6-jonathan-slenders-talks-about-prompt-toolkit%2F&amp;action_name=Jonathan+Slenders+Talks+About+Prompt+Toolkit+-+Episode+6&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-6-jonathan-slenders-talks-about-prompt-toolkit/</guid>
      <link>https://www.pythonpodcast.com/episode-6-jonathan-slenders-talks-about-prompt-toolkit</link>
      <pubDate>Tue, 19 May 2015 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="873.14" duration="51.51">So on every single key press, actually, I start the auto completion in another thread. But as soon as there is already an auto completion going on, I don't restart an autocompletion on the next keypress. So that way there's always 1 autocompletion running in the background. And when it comes back and it sees that the input has not changed, it knows that the autocompletion is the 1 that applies to the current input. So if you go on and you type too fast, for a while, the audio completion running in the background will do the audio completion of a few keys keys first back, but we just just ignore that. And then in the end, when there's a small pause and maybe that 1 has finished, we restart the art completion so that we always have the latest auto completions available.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:40:54</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Jonathan Slenders Talks About Prompt Toolkit</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>6</itunes:episode>
      <podcast:episode>6</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315490260340a639cf22-0422-4668-9958-a83493f1713dv1.mp3" length="39269073" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525315490260340a639cf22-0422-4668-9958-a83493f1713dv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_a639cf22-0422-4668-9958-a83493f1713d638558829060133125.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a639cf22-0422-4668-9958-a83493f1713d638558829056389754.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/a639cf22-0422-4668-9958-a83493f1713d638558829053700299.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Ned Batchelder</title>
      <description><![CDATA[<p>Visit <a href="http://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">podcastinit.com</a> for information about the show and links to our iTunes and Stitcher feeds.</p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; May 4th, 2015</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Overview &#8211; Interview with Ned Batchelder</li>
<li>Follow us on iTunes, Stitcher or TuneIn</li>
<li>Give us feedback! (iTunes, Twitter, email, Disqus comments)</li>
<li>You can donate (if you want)!</li>
</ul>

<h3>Interview with Ned Batchelder</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?
<ul>
<li>Zope</li>
<li>… Implemented in Python</li>
</ul>

<p></li><br>
<li>How did you get started as the organizer for Boston Python Meetup?</p>

<ul>
<li>History is long and varied (Why is this switching to numbers?</li>
<li>Started &#8211; 6 people sitting around a coffee table</li>
<li>5 or 6 years</li>
<li>Co-organizer Jessica McKeller
<ul>
<li>Built structures to help keep the community goingr</li>
</ul>

<p></li><br>
<li>Weekend Python Workshop</p>

<ul>
<li>People ‘adjacent’ to the male members &#8211; wives, mothers, etc.</li>
</ul>

<p></li><br>
<li>“What comes next” from weekend workshops &#8211; became Project Night</li><br>
</ul><br>
</li><br>
<li>How much of your time ends up being dedicated to the Python community?</p>

<ul>
<li>Also maitainer of <a href="http://nedbatchelder.com/code/coverage/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">coverage.py</a></li>
<li>Active on Freenode IRC #python</li>
<li>20 hours a week</li>
</ul>

<p></li><br>
<li>What are your goals for the Boston Python community?</p>

<ul>
<li>Continue to grow</li>
<li>More events, different events?</li>
<li><a href="http://www.chipy.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">chipy</a> &#8211; Chicago UG very active &#8211; 1 on 1 mentoring program</li>
<li>Smaller events &#8211; 5 person events &#8211; study groups
<ul>
<li>All levels not just beginners</li>
<li>Computational Biologists &#8211; study genomics</li>
<li>Three user groups
<ul>
<li>Pyladies Boston</li>
<li>DJango Boston</li>
<li>Boston Python Meetup</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
</ul><br>
</li><br>
<li>What do you find to be the most important thing(s) for building a healthy community (particularly in reference to programming)?</p>

<ul>
<li>Consistency &#8211; good to know what to expect</li>
<li>Pick a cadence &#8211; don’t burn out</li>
</ul>

<p></li><br>
<li>Speakers aren’t superheroes, they’re just people. ‘Everyone has at least one talk in them’.</li><br>
<li>Value in having a blog, twitter stream &#8211; people talk back to you and by correcting your mistakes everyone benefits.</li><br>
<li>How do you keep people engaged outside of the monthly meetings?</p>

<ul>
<li><a href="http://www.meetup.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Meetup.com</a> &#8211; requires moderation</li>
<li><a href="https://mail.python.org/mailman/listinfo?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">python.org mailing lists</a> &#8211; unmoderated &#8211; low traffic</li>
<li>Need to do more in that regard</li>
</ul>

<p></li><br>
<li>What do you like the most/least about the Python community?</p>

<ul>
<li>Communities can improve &#8211; IRC has gotten better</li>
<li>Turmoil on PSF mailing list over election for directors</li>
</ul>

<p></li><br>
<li>How do you strike a balance between sponsors and the rest of the community? Do you have policies around sponsored presentations / talks?</p>

<ul>
<li>Tend not to do sponsored talks</li>
<li><a href="https://microsoftnewengland.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Microsoft NERD</a> &#8211; great benefit to Boston Python</li>
<li>Provides monthly space for the group</li>
<li>1 minute slots for sponsors</li>
<li>No sales pitches</li>
</ul>

<p></li><br>
<li>What are the steps I can take to start my own tech community?</p>

<ul>
<li>How can you get the word out?</li>
<li>Meetup.com is useful</li>
<li>People like free food and beer <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png?utm_source=rss&utm_medium=rss" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
<li>Be predictable. Pick something sustainable</li>
</ul>

<p></li><br>
<li>What is the State of Python, from your perspective?</p>

<ul>
<li>No signs of slowing down</li>
<li>Ruby people are moving to other environments</li>
<li>Python people are still using Python</li>
<li>Python 2 to 3 conflict is unfortunate &#8211; transition could have been handled more smoothly</li>
<li>Python 3 ecosystem is getting much better</li>
<li>Next big drama &#8211; type hinting proposal</li>
<li>Appears to be contrary to one of the basics tenets of the language at first blush</li>
</ul>

<p></li><br>
<li>Do you feel that Boston will ever have its own regional Python conference?</p>

<ul>
<li>Toyed with bid to bring Pycon to Boston</li>
<li>Would require someone stepping up to do it</li>
<li>Not sure how a regional conference ‘feels’ as a local event</li>
<li>Try to have Boston Python be like a year long conference all year long</li>
<li>Huge undertaking</li>
</ul>

<p></li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a href="https://www.scribd.com/g/4ko3os?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Scribd</a></li>
<li><a href="https://github.com/sloria/konch?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Konch</a></li>
<li><a href="http://www.hardcoded.net/dupeguru/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DupeGuru</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://therivercafe.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The River Cafe</a></li>
<li><a href="http://omz-software.com/pythonista/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pythonista</a></li>
<li><a href="https://robots.thoughtbot.com/rototo-space-survival?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rototo &#8211; IOS Game</a></li>
<li><a href="http://www.arrogantbastard.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stone Brewing Arrogant Bastard</a></li>
</ul>

<p></li><br>
<li>Ned</p>

<ul>
<li><a href="https://pypi.python.org/pypi/tox?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tox</a></li>
<li><a href="https://github.com/saghul/pythonz?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pythonz</a></li>
<li><a href="http://www.spelltower.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spell Tower</a></li>
<li><a href="http://io9.com/watch-a-series-of-seven-brilliant-lectures-by-richard-f-5894600?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Richard Feynman’s Cornell Lectures</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Keep in Touch</h3>

<ul>
<li>Twitter: <a href="https://twitter.com/nedbat?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@nedbat</a> and <a href="https://twitter.com/bostonpython?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@bostonpython</a></li>
<li>IRC: nedbat</li>
<li><a href="http://nedbatchelder.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">nedbatchelder.com</a></li>
<li><a href="http://www.meetup.com/bostonpython/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">bostonpython.com</a></li>
</ul>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-5-ned-batchelder%2F&amp;action_name=Ned+Batchelder+-+Episode+5&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-5-ned-batchelder/</guid>
      <link>https://www.pythonpodcast.com/episode-5-ned-batchelder</link>
      <pubDate>Tue, 12 May 2015 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="592.08" duration="20.52">So it works out really well as a way to bring people together and to give people something to do with the event. So that's what when when I said that Jessica put structures in place, that's the main 1 that I'm thinking of is that that other half of our events these days are the project nights that she created, specifically as a place for beginning learners to go as a next step in their learning.</podcast:soundbite>
      <podcast:soundbite startTime="1896.28" duration="33.42">Other kinds of communities, online communities are more difficult because online communities don't involve face to face communication, and therefore, it's much easier to get into bad behavior. I think I can think of 1 instance in a face to face user event user group event at Boston Python where someone did something that seemed like a code of conduct violation. And I hope that that's true, and it's not just me being oblivious to something bad that's happened at Boston Python. Although, that's, of course, entirely possible.</podcast:soundbite>
      <podcast:soundbite startTime="296.87" duration="29.00">So when I was first when I took over Boston Python, it was 1 event a month, and that was a presentation event. So we would find a speaker, and they would stand at the front of the room, and everyone would sit in chairs facing the front and would listen to the speaker. And, of course, there was, you know, chatting beforehand and schmoozing afterwards and maybe some beers, but, fundamentally, the event was a presentation like you might find at a conference.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:15:55</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Ned Batchelder</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>5</itunes:episode>
      <podcast:episode>5</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531628285199222a85287-30a5-47ea-8720-b62369602080v1.mp3" length="72906120" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852531628285199222a85287-30a5-47ea-8720-b62369602080v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_22a85287-30a5-47ea-8720-b62369602080638558831928497350.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/22a85287-30a5-47ea-8720-b62369602080638558831922217727.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/22a85287-30a5-47ea-8720-b62369602080638558831920117283.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Travis Oliphant</title>
      <description><![CDATA[<p>For show notes and other content, visit our site at <a href="http://www.pythonpodcast.com?utm_source=rss&utm_medium=rss">http://www.pythonpodcast.com?utm_source=rss&utm_medium=rss</a></p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; Apr 28th 2015</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Overview &#8211; Interview with Travis Oliphant</li>
</ul>

<h3>Interview with Travis Oliphant</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>I’m curious what inspired you to create NumPy and SciPy?</li>
<li>Why did you choose Python for those libraries?
<ul>
<li>Numeric, <a href="http://hugunin.net/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jim Hugunin</a></li>
<li>Morphology library in NumArray</li>
</ul>

<p></li><br>
<li>For those of us who aren’t in the know, can you provide a brief definition of what data science is and how you got involved in it?</p>

<ul>
<li>Term coined by <a href="http://en.wikipedia.org/wiki/DJ_Patil?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">DJ Patil</a></li>
<li>Answer: Anybody who takes data and tries to derive insights from it</li>
<li>Nobody really knows what this means <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png?utm_source=rss&utm_medium=rss" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
</ul>

<p></li><br>
<li>Can you tell us the story of how <a href="http://continuum.io/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Continuum Analytics</a> came to be?</li><br>
<li>What are some interesting projects that you have worked on with Continuum Analytics?</p>

<ul>
<li><a href="http://bokeh.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Bokeh</a></li>
<li><a href="http://continuum.io/wakari?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wakari</a></li>
<li><a href="https://store.continuum.io/cshop/anaconda/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Anaconda</a></li>
<li><a href="http://numba.pydata.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Numba</a></li>
<li><a href="http://blaze.pydata.org/en/latest/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Blaze</a></li>
</ul>

<p></li><br>
<li>Can you explain a bit about what <a href="http://numfocus.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumFocus</a> is and how it got started?</li><br>
<li>How can our audience get involved with <a href="http://numfocus.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">NumFocus</a>?</li><br>
<li>For someone just starting out in the data science and data analytics space, what advice would you give?</p>

<ul>
<li>Download Anaconda, learn as much Python as you can</li>
<li>Google search “Data Analysis in Python”</li>
<li>iPython Notebooks in data analysis</li>
<li>R community</li>
<li>Meetups</li>
<li>Online classes</li>
<li>R Community can be helpful</li>
</ul>

<p></li><br>
<li>Of your myriad achievements, what are you most proud of?</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li>Used bookstores
<ul>
<li><a href="http://www.bookbarnniantic.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Book Barn</a></li>
</ul>

<p></li><br>
<li><a href="http://www.imdb.com/title/tt0844471/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Cloudy with a Chance of Meatballs</a></li><br>
<li><a href="http://www.imdb.com/title/tt0772178/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kickin’ it Old School</a></li><br>
</ul><br>
</li><br>
<li>Chris</p>

<ul>
<li><a href="http://en.wikipedia.org/wiki/The_Kids_in_the_Hall?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kids In The Hall</a></li>
<li><a href="http://www.mfa.org/programs/series/art-bloom?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">MFA Boston Art in Bloom</a></li>
<li><a href="http://www.codenewbie.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CodeNewbies</a></li>
<li><a href="https://www.apple.com/imac-with-retina/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Apple 27″ Retina iMac 5K</a></li>
</ul>

<p></li><br>
<li>Travis Oliphant</p>

<ul>
<li><a href="http://datacarpentry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Data Carpentry</a>
<ul>
<li>Tracy Teal (<a href="http://twitter.com/tracykteal?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@tracykteal</a>)</li>
<li>Patterned on <a href="https://software-carpentry.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Software Carpentry</a></li>
</ul>

<p></li><br>
<li><a href="http://brainsciencepodcast.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Brain Science Podcast &#8211; Ginger Campbell, MD</a></li><br>
<li><a href="https://mises.org/library/money-bank-credit-and-economic-cycles?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Money, Bank Credit and Economic Cycles</a></li><br>
</ul><br>
</li><br>
<li>Travis Contacts</p>

<ul>
<li>Twitter:
<ul>
<li>Travis &#8211; <a href="https://twitter.com/teoliphant?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@teoliphant</a></li>
<li>NumFocus &#8211; <a href="https://twitter.com/numfocus?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@numfocus</a></li>
<li>Continuum Analytics &#8211; <a href="https://twitter.com/continuumio?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">@ContinuumIO</a></li>
</ul>

<p></li><br>
</ul><br>
</li><br>
</ul></p>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-4-travis-oliphant%2F&amp;action_name=Travis+Oliphant+-+Episode+4&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-4-travis-oliphant/</guid>
      <link>https://www.pythonpodcast.com/episode-4-travis-oliphant</link>
      <pubDate>Mon, 4 May 2015 12:00:00 +0000</pubDate>
      <podcast:soundbite startTime="151.11" duration="33.14">I had an experience basically at the I started to use it, and then a year later, I came back to code I'd written previously and I could still read it, which is the opposite experience I'd had with Pearl 3 years earlier when I'd written some Pearl code to do some high level manipulation of scatter scatterometer data coming off the tape. And then I went back and tried to look at the code that I had written. I didn't understand it, my own code. So that that kind of for me, I remember that moment when a year later, I looked about the same code. I said, I get this still. And I went, and and I have this really unusual feeling of of kind of loving to program, like, and just having fun with it.</podcast:soundbite>
      <podcast:soundbite startTime="661.29" duration="54.93">I think a lot of people don't really know what it means or or what it is. If I look back when I was doing graduate school, I was taking scaturometry data from satellites and estimating wind speed. And that was data science to a degree, but so science has been doing data science for a long time. But currently today, it's kind of it's it's more popular because now the business professionals are doing it too. The marketer the marketing folks doing it too. The people look at their logs are saying, oh, we gotta get information from this, know what to sell to people. So it's got more money around it now and so people use it. The cool thing is that, you know, these tools we use for the scientists like NumPy have now this it's application to a much larger group of people. And Python, because it's so accessible to people besides just scientists and programmers, it's accessible to even business analysts with the right tools around it. Now they're in now now you this whole ecosystem is now made available to a lot of more people. So that's exciting.</podcast:soundbite>
      <podcast:soundbite startTime="2090.33" duration="61.27">Can you explain a bit about what Numfocus is and how that got started? Oh, yeah. I'd love to, actually. So Numfocus when I worked as a consultant, I, I recognized the the challenges of being in a company and then also supporting community. Because I do I'm passionate about community, but I also am passionate about markets and I and I have to feed my family, I have to have a job. And sometimes the the pressures are they cause people to be a little suspicious too. Like, our company is doing this. What does it mean? And so I wanted to create an organization that was fully community run and and and funded and and and supported. So the if people had concerns you know, if you you wanna support companies. I think some companies are doing great things. Go buy their stuff, help them, make them successful. But there are other people who wanna just support the community. So I wanted to make sure there was a place where Sandeep Python could be community supported. And people could understand if they had any concerns, they could they could just focus on 1 in the community side. Then it also becomes a place that people can have different ideas in the marketplace. You know? My company, your company, we have different ideas. We can cooperate together through an organization.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:52:17</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Travis Oliphant</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>4</itunes:episode>
      <podcast:episode>4</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530497237902276e3f5ad-1ab8-4826-bae2-64ae3fb161ccv1.mp3" length="50203608" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/63852530497237902276e3f5ad-1ab8-4826-bae2-64ae3fb161ccv1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_76e3f5ad-1ab8-4826-bae2-64ae3fb161cc638558811460830524.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/76e3f5ad-1ab8-4826-bae2-64ae3fb161cc638558811458339006.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/76e3f5ad-1ab8-4826-bae2-64ae3fb161cc638558811456278671.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Kivy Core Developers</title>
      <description><![CDATA[<p>You can view all of the show notes for every episode at http://podcastinit.com?utm_source=rss&utm_medium=rss</p>

<h3>Brief Introduction</h3>

<ul>
<li>Date of recording &#8211; Apr 21st 2015</li>
<li>Hosts &#8211; Tobias Macey and Chris Patti</li>
<li>Overview &#8211; Interview with members of the Kivy core development team</li>
</ul>

<h3>Interview with Kivy Core Developers</h3>

<ul>
<li>Introductions</li>
<li>How did you get introduced to Python?</li>
<li>How did the Kivy project get started?</li>
<li>What made you choose Python as the basis for Kivy?</li>
<li>What were some influences on and inspirations for Kivy’s design?
<ul>
<li><a href="https://www.youtube.com/watch?v=wf-BqAjZb8M&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Raymond Hettinger &#8211; Beyond Pep 8</a></li>
</ul>

<p></li><br>
<li>One of the amazing things about Kivy is that it’s comparatively simple to learn and get started with. Did this ease of use occur by design or accident?</li><br>
<li>What were some of the biggest challenges to designing or implementing Kivy?</li><br>
<li>If you could start the project over, what would you do differently?</li><br>
<li>What are some of the most interesting things you’ve seen Kivy used for?</p>

<ul>
<li>Gabriel Pettier &#8211; <a href="http://www.tangibledisplay.com/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">http://www.tangibledisplay.com/en/?utm_source=rss&utm_medium=rss</a></li>
<li>Mathieu Virbel &#8211; <a href="https://www.digital-stories.fr/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://www.digital-stories.fr/?utm_source=rss&utm_medium=rss</a> and <a href="https://vimeo.com/80051846?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">https://vimeo.com/80051846?utm_source=rss&utm_medium=rss</a></li>
</ul>

<p></li><br>
<li>What are some changes/features that you are particularly excited about for the future of Kivy?</p>

<ul>
<li><a href="https://github.com/kivy/kivy/wiki/Kivy-2.0-api-breaks?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Wiki for roadmap to 2.0</a></li>
<li><a href="https://github.com/kivy/pyjnius?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyJnius</a></li>
<li><a href="https://github.com/kivy/pyobjus?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">PyObjus</a></li>
<li><a href="https://github.com/kivy/kivy-ios?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy-iOS</a></li>
<li><a href="https://github.com/kivy/buildozer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Buildozer</a></li>
<li><a href="https://github.com/kivy/kivy-remote-shell?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy Remote Shell</a></li>
<li><a href="https://github.com/kivy/plyer?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Plyer</a></li>
</ul>

<p></li><br>
<li>Are there any platforms/operating systems that you are trying to add support for (e.g. Sailfish OS, Ubuntu Phone, Firefox OS)?</li><br>
<li>Is there anything in particular that you would like to ask for our listeners to help with?</p>

<ul>
<li>Google Summer of Code &#8211; If you didn’t get accepted, DO it anyway! <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png?utm_source=rss&utm_medium=rss" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li>
<li>Start small &#8211; documentation fixes</li>
<li>Fix issues</li>
<li>Huge backlog &#8211; help answering questions</li>
<li>Maintainers for subprojects &#8211; like PyJnius</li>
<li>Sponsors &#8211; Kivy core team looking for new hardware</li>
<li>Increase unit test coverage
<ul>
<li>If you find a bug submit a test case</li>
</ul>

<p></li><br>
</ul><br>
</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Tobias
<ul>
<li><a>Zeal</a></li>
<li><a href="http://www.commitstrip.com/en/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CommitStrip</a></li>
</ul>

<p></li><br>
<li>Chris</p>

<ul>
<li><a href="http://www.beeradvocate.com/beer/profile/26520/71501/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Jack’s Abbey Smoke &amp; Dagger</a></li>
<li><a href="http://www.imdb.com/title/tt2404425/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Woman in Gold</a></li>
</ul>

<p></li><br>
<li>Mathieu Virbel</p>

<ul>
<li><a href="http://eli.thegreenplace.net/2015/yapf-yet-another-python-formatter/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">YAPF Yet Another Python Formatter</a></li>
<li><a href="http://ninchanese.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Learn Chinese With Cats!</a></li>
<li><a href="http://fr.wikipedia.org/wiki/Rince_Cochon?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rince Cochon</a></li>
</ul>

<p></li><br>
<li>Akshay Aurora</p>

<ul>
<li><a href="http://en.wikipedia.org/wiki/Mango?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mangoes!</a></li>
<li><a href="https://www.youtube.com/watch?v=FhRXAD8-UkE&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Tic-Tac-Toe machine controlled by Kivy</a></li>
</ul>

<p></li><br>
<li>Ryan Pessa</p>

<ul>
<li><a href="http://www.thevapingrabbit.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">E-Cigarettes &#8211; The MilkMan by Vaping Rabbit</a></li>
</ul>

<p></li><br>
<li>Gabriel Pettier</p>

<ul>
<li><a href="http://i3wm.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">I3WM Tiling window manager</a></li>
<li><a href="http://english.bouletcorp.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boulet Corp</a></li>
<li><a href="http://www.smbc-comics.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SMBC</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Contacting the Kivy Core Team</h3>

<ul>
<li><a href="http://kivy.org/#aboutus?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Kivy.org &#8211; About Us page</a></li>
</ul>

<p>The intro and outro music is from Requiem for a Fish <a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">The Freak Fandango Orchestra</a> / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CC BY-SA</a><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-3-kivy-core-developers%2F&amp;action_name=Kivy+Core+Developers+-+Episode+3&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-3-kivy-core-developers/</guid>
      <link>https://www.pythonpodcast.com/episode-3-kivy-core-developers</link>
      <pubDate>Mon, 27 Apr 2015 13:00:00 +0000</pubDate>
      <podcast:soundbite startTime="474.93" duration="39.23">So, anyone who knows the story, can you tell us about how the Kibbe project got started? As we've mentioned. Yeah. It's it wasn't Kibbe at the start. It was named Pianti. At the same time as, what Ashkei said about, MT 4 g, we were, Thomas Simpson was the initial creator of the toolkit because he was trying to, to make, user interface easily in multi touch, and he didn't found anything that works for him.</podcast:soundbite>
      <podcast:soundbite startTime="1740.22" duration="38.28">So what are some of the biggest challenges that you have experienced in building Kivy both, you know, either early on or most recently some of the biggest challenges that you've come across whether it's in the design or the actual development or maybe in, making it making it performant enough? I think performance is definitely the biggest 1 there. Biggest challenge. It's really hard to get everything to work the right way and get it all fast and everything, especially when you get on to these mobile devices where we're kind of almost trying to put a square peg in a round hole by putting Python on these Java based Android devices.</podcast:soundbite>
      <podcast:soundbite startTime="2624.45" duration="64.27">So what are some of the most interesting or strange things that you've seen to be used for? I think the coolest thing I've seen to be used for is what Gabrielle works on at work. That object is stable. That's just Yeah. Really cool. Well, if if you want, well, I I can thanks a lot for for the props. Yeah. I'll I'll I'll explain a little for for people. So we are I I I may be a bit unusual, because I'm 1 of the people not using currently Kiwi for mobile or platforms. I'm using it on big tables, like, giant iPads from, 40 to 80 inches the so so we are putting key key application on on on these tables, and, we are using the the the point that objects are to do when we put them on the table and, to to detect the features.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:30:33</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Kivy Core Developers</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>3</itunes:episode>
      <podcast:episode>3</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306186173223ad5f18f4-fbb0-4feb-b237-77fcb0aa7419v1.mp3" length="86951556" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525306186173223ad5f18f4-fbb0-4feb-b237-77fcb0aa7419v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_ad5f18f4-fbb0-4feb-b237-77fcb0aa7419638558816957019782.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ad5f18f4-fbb0-4feb-b237-77fcb0aa7419638558816948343405.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/ad5f18f4-fbb0-4feb-b237-77fcb0aa7419638558816938381166.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Reuven Lerner</title>
      <description><![CDATA[<p>Full show notes can be found at&nbsp;http://podcastinit.com/episode-2-reuven-lerner.html?utm_source=rss&utm_medium=rss</p>

<h3>Episode 2 Brief intro</h3>

<ul>
<li>Recording date/time</li>
<li>Hosts</li>
<li>Overview</li>
</ul>

<h3>Reuven Lerner Interview</h3>

<ul>
<li>Please introduce yourself</li>
<li>How did you get introduced to Python?</li>
<li>How did you break into the field of providing Python trainings?</li>
<li>What are the most common languages that your students are coming from?</li>
<li>What are some of the biggest obstacles that people encounter when learning Python?</li>
<li>Where does Python draw the inspiration for its object system from?</li>
<li>In what way(s) does learning Python differ from learning other languages?</li>
<li>What sorts of materials/mediums do you use for training people in Python?
<ul>
<li><a href="http://pythontutor.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python Tutor</a></li>
</ul>

<p></li><br>
<li>Do you use your book (Practice make Python) as follow up material for your trainings?</li><br>
<li>In your freelance work, what portion of your projects use Python?</p>

<ul>
<li><a href="http://blog.lerner.co.il/ruby-and-python-and-felix-and-oscar/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Ruby is Oscar, Python is Felix</a></li>
</ul>

<p></li><br>
<li>Have you seen a change in the demand for Python skills in the time between when you first started using it and now?</li><br>
<li>What types of projects would cause you to choose something other than Python?</li><br>
</ul></p>

<h3>Picks</h3>

<ul>
<li>Reuven Lerner
<ul>
<li><a href="http://DailyTechVideo.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Daily Tech Video</a></li>
<li><a href="http://www.amazon.com/Mindless-Eating-More-Than-Think/dp/0345526880?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Mindless Eating: Why We Eat More Than We Think by Brian Wansink</a></li>
<li><a href="http://www.amazon.com/Age-Ambition-Chasing-Fortune-Truth/dp/0374535272/ref=tmm_pap_swatch_0?_encoding=UTF8&amp;sr=&amp;qid=&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Age of Ambition: Chasing Fortune, Truth, and Faith in the New China by Evan Osnos</a></li>
</ul>

<p></li><br>
<li>Chris Patti</p>

<ul>
<li><a href="http://spencerbrewery.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Spencer Trappist Ale</a></li>
<li><a href="https://www.youtube.com/watch?v=-6BsiVyC1kM&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Rich Hickey’s The Value of Values</a></li>
<li><a href="https://github.com/Valloric/YouCompleteMe?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">YouCompleteMe &#8211; Vim auto-completion</a></li>
<li><a href="http://www.irradiatedsoftware.com/sizeup/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">SizeUp for OSX</a></li>
</ul>

<p></li><br>
<li>Tobias Macey</p>

<ul>
<li><a href="http://www.checkio.org/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CheckIO &#8211; Gamified practice programming</a></li>
<li><a href="http://www.amazon.com/s/ref=as_li_ss_tl?_encoding=UTF8&amp;camp=1789&amp;creative=390957&amp;fst=as%3Aoff&amp;keywords=Snap%20circuits&amp;linkCode=ur2&amp;qid=1429692519&amp;rh=n%3A165793011%2Ck%3ASnap%20circuits&amp;rnid=2941120011&amp;tag=renaidev-20&amp;linkId=T5GAEL27J5YUV4ZJ&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Snap Circuits</a><img style="border: none; margin: 0px;" src="https://ir-na.amazon-adsystem.com/e/ir?t=renaidev-20&amp;l=ur2&amp;o=1&utm_source=rss&utm_medium=rss" alt="" width="1" height="1" border="0"></li>
<li><a href="http://www.amazon.com/s/ref=as_li_ss_tl?_encoding=UTF8&amp;camp=1789&amp;creative=390957&amp;hidden-keywords=B00LULVD40%7C%20B00LM6KF7O%7C&amp;ie=UTF8&amp;linkCode=ur2&amp;pf_rd_i=Nvidia%20shield%20tablet&amp;pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_p=1976077942&amp;pf_rd_r=1KAT0GN4AB5JB285FQM6&amp;pf_rd_s=desktop-auto-sparkle&amp;pf_rd_t=301&amp;qid=1429692667&amp;ref=spkl_2_0_1976077942&amp;rh=i%3Aaps%2Ck%3ANVIDIA%20SHIELD&amp;tag=renaidev-20&amp;linkId=KDMMPTU5JURLPGQH&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Nvidia Shield Tablet</a><img style="border: none; margin: 0px;" src="https://ir-na.amazon-adsystem.com/e/ir?t=renaidev-20&amp;l=ur2&amp;o=1&utm_source=rss&utm_medium=rss" alt="" width="1" height="1" border="0"></li>
<li><a href="http://www.amazon.com/gp/product/B001R76D42/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B001R76D42&amp;linkCode=as2&amp;tag=renaidev-20&amp;linkId=NJNJ3BOH7MGMPLNX&utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Samson Go Mic Portable USB Condenser Microphone</a><img style="border: none; margin: 0px;" src="http://ir-na.amazon-adsystem.com/e/ir?t=renaidev-20&amp;l=as2&amp;o=1&amp;a=B001R76D42&utm_source=rss&utm_medium=rss" alt="" width="1" height="1" border="0"></li>
<li><a href="https://www.zoho.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Zoho Apps</a></li>
</ul>

<p></li><br>
</ul></p>

<h3>Closing remarks</h3>

<ul>
<li>Reuven Contact:
<ul>
<li><a href="http://lerner.co.il?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Website</a></li>
<li><a href="http://lerner.co.il/blog?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">blog</a></li>
<li><a href="https://twitter.com/reuvenmlerner?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Twitter: @reuvenmlerner</a></li>
</ul>

<p></li><br>
</ul></p>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-2-reuven-lerner%2F&amp;action_name=Reuven+Lerner+-+Episode+2&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-2-reuven-lerner/</guid>
      <link>https://www.pythonpodcast.com/episode-2-reuven-lerner</link>
      <pubDate>Thu, 23 Apr 2015 13:45:00 +0000</pubDate>
      <podcast:soundbite startTime="426.36" duration="47.18">I was still working on my dissertation. I really didn't wanna have to deal with the training marketing. And I figured if I hitched my my wagon to a a bigger horse as it were, hard to a bigger wagon, I don't know what the metaphor is. And then even then maybe I could, maybe I could finish my dissertation faster and reach some new clients. And so I I spoke with a company called John Bryce, which is sort of the 900 pound gorilla of training in Israel. And I sent and and I said I'd like to do Ruby on Rails training. And they said, yeah, you know, this Ruby thing, it's kind of a flash in the pan. We don't think there's really room for training in it, but send us your resume. And within hours, they called me and they said, oh my god. You know how to do Python. We must have to do Python training. And since then, I've been doing between 2 and 3 courses a month, almost nonstop.</podcast:soundbite>
      <podcast:soundbite startTime="32.55" duration="22.06">So my name is Reuben. I've been a software developer now for, I guess, more than 20 years. Over the last few years, I've been doing, I would say, less and less project and development work and more and more training to such a degree that now I would say a good 90% of my work is doing training, and a huge proportion of that training is in Python.</podcast:soundbite>
      <podcast:soundbite startTime="2671.77" duration="64.34">So, you know, back in the stone age, you know, 20 years ago when I started using Python you know, when I when I got to Israel, basically, and I said to people I do you know, at that point, it was mostly Pearl and Linux. People looked at me like I had, you know, fallen off from the moon. Like, Pearl, Linux, open source? What is this thing? Oh, yeah. It's that it's that thing that's not Windows. And the fact that only Windows and decent Hebrew support only made it harder for it to break in. But over the years, I've seen a growing interest in Python, and then it was like this explosion about 5 years ago. It was just it's just unbelievable. There's now, as I said, insatiable demand that, I even had these guys. I gave a talk about Ruby, I guess, about 2 years ago. And there were 2 people who came there, and afterwards, they came up to me and they said, listen. We're not really interested in Ruby. We're really interested in Python, and we're hoping that someone who came to your talk who knows Ruby will be interested in learning Python and working for us because we can't find anyone. Like, the demand is so crazy. They were, like, poaching people from other languages.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:07:31</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Reuven Lerner</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>2</itunes:episode>
      <podcast:episode>2</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307051415356fc8ce0b0-6e6c-483e-b73c-85d43bfd45bev1.mp3" length="64837206" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307051415356fc8ce0b0-6e6c-483e-b73c-85d43bfd45bev1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_fc8ce0b0-6e6c-483e-b73c-85d43bfd45be638558820014504152.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fc8ce0b0-6e6c-483e-b73c-85d43bfd45be638558820010343187.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/fc8ce0b0-6e6c-483e-b73c-85d43bfd45be638558820008184003.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Thomas Hatch</title>
      <description><![CDATA[<p>Full show notes can be found at http://podcastinit.com/episode-1-thomas-hatch.html?utm_source=rss&utm_medium=rss</p>

<h4>Brief Intro</h4>

<ul>
<li>Hosts</li>
<li>Overview</li>
<li>Python at Chefconf!</li>
<li>Plug for <a href="http://www.talkpythontome.com?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Talk Python To Me</a></li>
</ul>

<h4>Thomas Hatch Interview</h4>

<h4>Picks</h4>

<ul>
<li>Thomas Hatch
<ul>
<li>Flow Based Programming
<ul>
<li><a href="http://ioflo.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">IOFlo</a></li>
</ul>

<p></li><br>
<li><a href="http://en.wikipedia.org/wiki/Imagine_Dragons?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Imagine Dragons</a></li><br>
</ul><br>
</li><br>
<li>Chris Patti</p>

<ul>
<li><a href="http://www.stonebrewing.com/irs/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Stone Imperial Russian Stout</a></li>
<li><a href="http://arunrocks.com/python-one-liner-games/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Python One Liner Games</a></li>
<li><a href="http://www.meetup.com/bostonpython/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Boston Python User Group</a></li>
</ul>

<p></li><br>
<li>Tobias Macey</p>

<ul>
<li><a href="http://www.noisli.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Noisli</a></li>
<li><a href="https://github.com/hluk/CopyQ?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">CopyQ</a></li>
<li><a href="http://blog.getpelican.com/?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Pelican</a></li>
<li><a href="http://blog.renaissancedev.com/from-heroku-to-aws-with-saltstack-part-1.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moving From Heroku to AWS With Salt Part 1</a></li>
<li><a href="http://blog.renaissancedev.com/from-heroku-to-aws-with-saltstack-part-1.html?utm_source=rss&utm_medium=rss" target="_blank" rel="noopener">Moving From Heroku to AWS With Salt Part 2</a></li>
</ul>

<p></li><br>
</ul></p>

<h4>Closing Remarks</h4>

<p><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fepisode-1-thomas-hatch%2F&amp;action_name=Thomas+Hatch+-+Episode+1&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&utm_source=rss&utm_medium=rss" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/episode-1-thomas-hatch/</guid>
      <link>https://www.pythonpodcast.com/episode-1-thomas-hatch</link>
      <pubDate>Sat, 11 Apr 2015 20:00:00 +0000</pubDate>
      <podcast:soundbite startTime="332.47" duration="30.52">No, I would definitely use Python again and I think that the choice of using Python was a good 1 and I look back and there's there's a lot of things that we've been able to do in Salt because we chose Python. 1 of the main tenants of salt is its is its plug in system, and that plug in system is something that was very easy to write, very easy to make, make powerful in using Python.</podcast:soundbite>
      <podcast:soundbite startTime="888.96" duration="17.65">What, I mean, what what you're asking is an incredibly tricky balance and, and a and a very tricky balance from both ends. And my goal with SaltStack has been to create a company that is that fuels the community and is fueled by the community.</podcast:soundbite>
      <podcast:soundbite startTime="2669.54" duration="30.38">Oh, there's there's a lot. We we get used, a great deal for, probably the first 1 that surprised me when I found out about Salt being used to manage medical devices. That, that they were using salt on, on, embedded devices that were being put throughout a hospital.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>01:06:51</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Thomas Hatch</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>1</itunes:episode>
      <podcast:episode>1</podcast:episode>
      <itunes:episodeType>Full</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307268409745dddc1d9a-4815-441a-ad13-87f07d456ea9v1.mp3" length="64183556" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525307268409745dddc1d9a-4815-441a-ad13-87f07d456ea9v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_dddc1d9a-4815-441a-ad13-87f07d456ea9638558820663341036.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/dddc1d9a-4815-441a-ad13-87f07d456ea9638558820659151799.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/dddc1d9a-4815-441a-ad13-87f07d456ea9638558820656955867.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
    <item>
      <title>Podcast.__init__ - Introduction</title>
      <description><![CDATA[Welcome to the first episode of a new podcast focused on bringing you the stories of the people who make the Python language and ecosystem great.<br /><strong>Outline</strong><br /><ul><li>Introduction</li><li>Brief Host Biographies</li><li>Why We’re Doing This</li><li>Why We Love Python &amp; Favorite Tools</li><li>Thank You</li><li>Picks!</li></ul><strong>Picks</strong><br /><ul><li>Tobias<ul><li><a href="http://www.amazon.com/gp/product/B005E7A3OM/ref=as_li_tl?ie=UTF8&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B005E7A3OM&amp;linkCode=as2&amp;tag=renaidev-20&amp;linkId=IFYC5LWSEFBOSQ7K&amp;utm_source=rss&amp;utm_medium=rss" target="_blank">Summoner Wars</a></li><li><a href="http://dbeaver.jkiss.org/?utm_source=rss&amp;utm_medium=rss" target="_blank">Dbeaver</a></li><li><a href="https://community.kde.org/KDEConnect?utm_source=rss&amp;utm_medium=rss" target="_blank">KDE Connect</a></li><li><a href="https://github.com/acrisci/playerctl?utm_source=rss&amp;utm_medium=rss" target="_blank">Playerctl</a></li></ul></li><li>Chris&nbsp;<ul><li><a href="https://github.com/jonathanslenders/ptpython?utm_source=rss&amp;utm_medium=rss" target="_blank">ptpython</a></li><li><a href="http://en.wikipedia.org/wiki/Duchesse_de_Bourgogne_%28beer%29?utm_source=rss&amp;utm_medium=rss" target="_blank">Duchesse de Bourgogne</a></li></ul></li></ul>The intro and outro music is from <br />Requiem for a Fish (<a href="http://freemusicarchive.org/music/The_Freak_Fandango_Orchestra/?utm_source=rss&amp;utm_medium=rss" target="_blank">The Freak Fandango Orchestra</a>) / <a href="http://creativecommons.org/licenses/by-sa/3.0/?utm_source=rss&amp;utm_medium=rss" target="_blank">CC BY-SA 3.0</a><br /><figure><img src="https://analytics.boundlessnotions.com/piwik.php?idsite=1&amp;rec=1&amp;url=https%3A%2F%2Fwww.pythonpodcast.com%2Fpodcast-__init__-introduction%2F&amp;action_name=Podcast.__init__+-+Introduction+-+Episode+0&amp;urlref=https%3A%2F%2Fwww.pythonpodcast.com%2Ffeed%2F&amp;utm_source=rss&amp;utm_medium=rss" width="0" height="0"><figcaption></figcaption></figure>]]></description>
      <guid isPermaLink="false">http://podcastinit.podbean.com/e/podbean_best_podcast_hosting_audio_video_blog_hosting/</guid>
      <link>https://www.pythonpodcast.com/podcast-__init__-introduction</link>
      <pubDate>Sat, 21 Mar 2015 14:21:00 +0000</pubDate>
      <podcast:soundbite startTime="218.04" duration="30.73">Great. Yeah. Totally in agreement with you about the, sort of zealousness that goes along with a lot of programming communities and particularly the, some of the shots that are fired across the bow between Python and Ruby. Although I have noticed a lot of times too where both communities like to borrow ideas from each other. For instance, there's the the whole idea of the Gherkin format and cucumber behavior driven development that seems to have started mainly in the Ruby camp has definitely come over to the Python side.</podcast:soundbite>
      <podcast:soundbite startTime="81.42" duration="25.97">We realize that while there are innumerable podcasts available that address a wide swath of the software engineering landscape, there was a glaring absence of any that covered Python. The few that we did find are no longer producing any new content, so we decided that it was our duty to the community to remedy the situation. Starting now, at least once a month, we will be bringing you news and opinions on the Python ecosystem and interviews with the people who are working on the front lines, building the tools and toys that we use every day.</podcast:soundbite>
      <podcast:soundbite startTime="617.84" duration="34.73">Another thing that I really like about Python is the strong focus on documentation, particularly the fact that the language itself has has capabilities built in to very easily document what methods, you know, to add documentation to methods. And there's a very strong convention around the syntax that you should use for stating, in particular, what the inputs of a function are and what the expected return values. And then also another really great add on to that is the whole doc test module where you can actually write some simplistic tests in line in your documentation.</podcast:soundbite>
      <itunes:image href="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg" />
      <podcast:images srcset="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/638525296494803510cover.jpg 1500w" />
      <itunes:duration>00:27:24</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
      <itunes:title>Podcast.__init__ - Introduction</itunes:title>
      <itunes:author>Tobias Macey</itunes:author>
      <itunes:episode>0</itunes:episode>
      <podcast:episode>0</podcast:episode>
      <itunes:episodeType>Trailer</itunes:episodeType>
      <enclosure url="https://op3.dev/e/dts.podtrac.com/redirect.mp3/serve.podhome.fm/episode/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253218687976247e01a0e5-0af4-4622-9f96-f3939076d123v1.mp3" length="26308891" type="audio/mpeg" />
      <podcast:chapters url="https://assets.podhome.fm/f6ff0caa-931b-4c08-bfdd-08dc7f5cd336/6385253218687976247e01a0e5-0af4-4622-9f96-f3939076d123v1.chapters.json" type="application/json" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/transcript_7e01a0e5-0af4-4622-9f96-f3939076d123638558845694189519.html" type="text/html" language="en" rel="transcript" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7e01a0e5-0af4-4622-9f96-f3939076d123638558845692097770.srt" type="application/x-subrip" language="en" rel="captions" />
      <podcast:transcript url="https://assets.podhome.fm/677e5bd6-598f-4522-1134-08dbdac63cde/7e01a0e5-0af4-4622-9f96-f3939076d123638558845690019867.vtt" type="text/vtt" language="en" rel="captions" />
    </item>
  </channel>
</rss>