back arrowView show

MonkeyType with Carl Meyer and Matt Page

Episode description

Summary

One of the draws of Python is how dynamic and flexible the language can be. Sometimes, that flexibility can be problematic if the format of variables at various parts of your program is unclear or the descriptions are inaccurate. The growing middle ground is to use type annotations as a way of providing some verification of the format of data as it flows through your application and enforcing gradual typing. To make it simpler to get started with type hinting, Carl Meyer and Matt Page, along with other engineers at Instagram, created MonkeyType to analyze your code as it runs and generate the type annotations. In this episode they explain how that process works, how it has helped them reduce bugs in their code, and how you can start using it today.

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

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

episodes iconMore Episodes

Exploring Indico: A Full Featured Event Management Platform

April 22nd, 2019

53:46
Summary

Managing an event is rife with inherent complexity that scales as you move from scheduling a meeting to organizing a conference. Indico is a …

Exploring Python's Internals By Rewriting Them In Rust

April 15th, 2019

40:28
Summary

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 …

Version Control For Your Machine Learning Projects

April 8th, 2019

44:39
Summary

Version control has become table stakes for any software team, but for machine learning projects there has been no good answer for tracking …

Building Scalable Ecommerce Sites On Saleor

April 1st, 2019

58:02
Summary

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 …

A Quick Python Check-in With Naomi Ceder

March 25th, 2019

38:32
Summary

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 …

Wes McKinney's Career In Python For Data Analysis

March 18th, 2019

51:44
Summary

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 …

The Past, Present, and Future of Deep Learning In PyTorch

March 10th, 2019

42:12
Summary

The current buzz in data science and big data is around the promise of deep learning, especially when working with unstructured data. One of …

How To Include Redis In Your Application Architecture

March 4th, 2019

1:01:10
Summary

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 …

Marshmallow Data Validation Library

February 25th, 2019

34:04
Summary

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 …

Unpacking The Python Toolkit For Chaos Engineering

February 18th, 2019

59:39
Summary

Chaos engineering is the practice of injecting failures into your production systems in a controlled manner to identify weaknesses in your …

Computational Musicology For Python Programmers

February 11th, 2019

47:48
Summary

Music is a part of every culture around the world and throughout history. Musicology is the study of that music from a structural and …

Classic Computer Science For Pythonistas

February 4th, 2019

47:28
Summary

Software development is a career that attracts people from all backgrounds, and Python in particular helps to make it an approachable …

What You Need To Know About Open Source Licenses And Intellectual Property

January 28th, 2019

1:02:58
Summary

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 …

Counteracting Code Complexity With Wily

January 21st, 2019

36:17
Summary

As we build software projects, complexity and technical debt are bound to creep into our code. To counteract these tendencies it is …

Teaching Digital Archaeology With Jupyter Notebooks

January 14th, 2019

49:35
Summary

Computers have found their way into virtually every area of human endeavor, and archaeology is no exception. To aid his students in their …

Analyzing Satellite Image Data Using PyTroll

January 7th, 2019

43:57
Summary

Every day there are satellites collecting sensor readings and imagery of our Earth. To help make sense of that information, developers at the …

Building GraphQL APIs in Python Using Graphene with Syrus Akbary

December 31st, 2018

52:48
Summary

The web has spawned numerous methods for communicating between applications, including protocols such as SOAP, XML-RPC, and REST. One of the …

AIORTC: An Asynchronous WebRTC Framework with Jeremy Lainé

December 24th, 2018

40:50
Summary

Real-time communication over the internet is an amazing feat of modern engineering. The protocol that powers a majority of video calling …

Polyglot: Multi-Lingual Natural Language Processing with Rami Al-Rfou

December 17th, 2018

43:41
Summary

Using computers to analyze text can produce useful and inspirational insights. However, when working with multiple languages the capabilities …

Gnocchi: A Scalable Time Series Database For Your Metrics with Julien Danjou

December 10th, 2018

39:16
Summary

Do you know what your servers are doing? If you have a metrics system in place then the answer should be “yes”. One critical aspect of that …

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

December 3rd, 2018

57:56
Summary

Keeping up with the work being done in the Python community can be a full time job, which is why Dan Bader has made it his! In this episode …

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

November 26th, 2018

43:25
Summary

Digital books are convenient and useful ways to have easy access to large volumes of information. Unfortunately, keeping track of them all …

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

November 19th, 2018

39:12
Summary

Investigative reporters have a challenging task of identifying complex networks of people, places, and events gleaned from a mixed collection …

Bringing Python To The Spanish Language Community with Maricela Sanchez

October 29th, 2018

19:28
Summary

The Python Community is large and growing, however a majority of articles, books, and presentations are still in English. To increase the accessibility for Spanish language speakers, Maricela Sanchez helped to …

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

October 22nd, 2018

45:16
Summary

As data science becomes more widespread and has a bigger impact on the lives of people, it is important that those projects and products are built with a conscious consideration of ethics. Keeping ethical …

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

October 15th, 2018

34:22
Summary

The breadth of use cases that Python supports, coupled with the level of productivity that it provides through its ease of use have …

Building A Game In Python At PyWeek with Daniel Pope

October 9th, 2018

30:06
Summary

Many people learn to program because of their interest in building their own video games. Once the necessary skills have been acquired, it is often the case that the original idea of creating a game is forgotten …

Managing Application Secrets with Brian Kelly

October 2nd, 2018

39:03
Summary

Any application that communicates with other systems or services will at some point require a credential or sensitive piece of information to operate properly. The question then becomes how best to securely …

Django, Channels, And The Asynchronous Web with Andrew Godwin

September 24th, 2018

41:46
Summary

Once upon a time the web was a simple place with one main protocol and a predictable sequence of request/response interactions with backend …

The Business Of Technical Authoring With William Vincent

September 17th, 2018

49:38
Summary

There are many aspects of learning how to program and at least as many ways to go about it. This is multiplicative with the different problem …

Keep Your Code Clean Using pre-commit with Anthony Sottile

September 10th, 2018

24:52
Summary

Maintaining the health and well-being of your software is a never-ending responsibility. Automating away as much of it as possible makes that challenge more achievable. In this episode Anthony Sottile describes …

Infection Monkey Vulnerability Scanner with Daniel Goldberg

September 3rd, 2018

34:24
Summary

How secure are your servers? The best way to be sure that your systems aren’t being compromised is to do it yourself. In this episode Daniel …

Fast Stream Processing In Python Using Faust with Ask Solem

August 27th, 2018

28:45
Summary

The need to process unbounded and continually streaming sources of data has become increasingly common. One of the popular platforms for …

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

August 20th, 2018

35:07
Summary

Writing a book is hard work, especially when you are trying to teach such a broad concept as programming. In this episode Ana Bell discusses her recent work in writing Get Programming: Learn To Code With Python, …

The Masonite Web Framework With Joe Mancuso

August 13th, 2018

43:20
Summary

Masonite is an ambitious new web framework that draws inspiration from many other successful projects in other languages. In this episode Joe …

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

August 6th, 2018

59:19
Summary

There are a number of resources available for teaching beginners to code in Python and many other languages, and numerous endeavors to introduce programming to educational environments. Sometimes those efforts …

Continuous Delivery For Complex Systems Using Zuul with Monty Taylor

July 30th, 2018

1:07:01
Summary

Continuous integration systems are important for ensuring that you don’t release broken software. Some projects can benefit from simple, standardized platforms, but as you grow or factor in additional projects …

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

July 23rd, 2018

55:11
Summary

Michael Foord has been working on building and testing software in Python for over a decade. One of his most notable and widely used contributions to the community is the Mock library, which has been …

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

July 16th, 2018

34:42
Summary

Twisted is one of the earliest frameworks for developing asynchronous applications in Python and it has yet to fulfill its original purpose. …

Mike Driscoll And His Career In Python

July 8th, 2018

23:31
Summary

Mike Driscoll has been writing blogs and books for the Python community for years, including his popular series on the Python Module Of The …

The Pulp Artifact Repository with Bihan Zhang and Austin Macdonald

July 2nd, 2018

30:43
Summary

Hosting your own artifact repositories can have a huge impact on the reliability of your production systems. It reduces your reliance on the availability of external services during deployments and ensures that …

Bringing Africa Online At Ascoderu with Clemens Wolff

June 25th, 2018

42:33
Summary

The future is here, it’s just not evenly distributed. One of the places where this is especially true is in sub-Saharan Africa which is a vast region with little to no reliable internet connectivity. To help …

Understanding Machine Learning Through Visualizations with Benjamin Bengfort and Rebecca Bilbro

June 17th, 2018

55:13
Summary

Machine learning models are often inscrutable and it can be difficult to know whether you are making progress. To improve feedback and speed …

Modern Database Clients On The Command Line with Amjith Ramanujam

June 11th, 2018

30:39
Summary

The command line is a powerful and resilient interface for getting work done, but the user experience is often lacking. This can be …

Pandas Extension Arrays with Tom Augspurger

June 4th, 2018

33:26
Summary

Pandas is a swiss army knife for data processing in Python but it has long been difficult to customize. In the latest release there is now an …

Making A Difference Through Software With Eric Schles

May 27th, 2018

Summary

Software development is a skill that can create value and reduce drudgery in a wide variety of contexts. Sometimes the causes that are most in need of software expertise are also the least able to pay for it. By …

Asking Questions From Data Using Active Learning with Tivadar Danka

May 21st, 2018

27:51
Summary

One of the challenges of machine learning is obtaining large enough volumes of well labelled data. An approach to mitigate the effort …

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

May 13th, 2018

50:42
Summary

Testing is a critical activity in all software projects, but one that is often neglected in data pipelines. The complexities introduced by …

Exploring Color Theory In Python With Thomas Mansencal

May 6th, 2018

57:40
Summary

We take it for granted every day, but creating and displaying vivid colors in our digital media is a complicated and often difficult process. …

Destroy All Software With Gary Bernhardt

April 30th, 2018

52:06
Summary

Many developers enter the market from backgrounds that don’t involve a computer science degree, which can lead to blind spots of how to …

Scaling Deep Learning Using Polyaxon with Mourad Mourafiq

April 23rd, 2018

35:59
Summary

With libraries such as Tensorflow, PyTorch, scikit-learn, and MXNet being released it is easier than ever to start a deep learning project. …

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

April 15th, 2018

47:53
Summary

One of the biggest issues facing us is the availability of sustainable energy sources. As individuals and energy consumers it is often …

Building And Growing Nylas with Christine Spang

April 8th, 2018

43:29
Summary

Email is one of the oldest methods of communication that is still in use on the internet today. Despite many attempts at building a …

Synthetic Data Generation Using Mimesis with Nikita Sobolev

April 1st, 2018

32:37
Summary

Most applications require data to operate on in order to function, but sometimes that data is hard to come by, so why not just make it up? Mimesis is a library for randomly generating data of different types, …

Luminoth: AI Powered Computer Vision for Python with Joaquin Alori

March 25th, 2018

21:27
Summary

Making computers identify and understand what they are looking at in digital images is an ongoing challenge. Recent years have seen notable increases in the accuracy and speed of object detection due to deep …

Thonny: The IDE For Beginning Programmers with Aivar Annamaa

March 18th, 2018

29:50
Summary

Learning to program is a rewarding pursuit, but is often challenging. One of the roadblocks on the way to proficiency is getting a development environment installed and configured. In order to simplify that …

Keeping The Beets with Adrian Sampson

March 12th, 2018

39:23
Summary

Maintaining a consistent taxonomy for your music library is a challenging and time consuming endeavor. Eventually you end up with a mess of …

Salabim: Logistics Simulation with Ruud van der Ham

March 4th, 2018

51:38
Summary

Determining the best way to manage the capacity and flow of goods through a system is a complicated issue and can be exceedingly expensive to get wrong. Rather than experimenting with the physical objects to …

Laboratory: Safer Refactoring with Joe Alcorn

February 26th, 2018

21:53
Summary

Every piece of software that has been around long enough ends up with some piece of it that needs to be redesigned and refactored. Often the code that needs to be updated is part of the critical path through the …

Software Architecture For Developers with Neal Ford

February 18th, 2018

50:28
Summary

Whether it is intentional or accidental, every piece of software has an existing architecture. In this episode Neal Ford discusses the role …

ZimboPy

February 11th, 2018

29:20
Summary

Learning to code is one of the most effective ways to be successful in the modern economy. To that end, Marlene Mhangami and Ronald …

PyRay: Pure Python 3D Rendering with Rohit Pandey

February 5th, 2018

42:41
Summary

Using a rendering library can be a difficult task due to dependency issues and complicated APIs. Rohit Pandey wrote PyRay to address these …

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

January 21st, 2018

43:07
Summary

Learning how to read is one of the most important steps in empowering someone to build a successful future. In developing nations, access to …

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

January 14th, 2018

27:24
Summary

Your backups are running every day, right? Are you sure? What about that daily report job? We all have scripts that need to be run on a periodic basis and it is easy to forget about them, assuming that they are …

Bonobo: Lightweight ETL Toolkit for Python 3 with Romain Dorgueil

January 7th, 2018

53:57
Summary

A majority of the work that we do as programmers involves data manipulation in some manner. This can range from large scale collection, …

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

December 31st, 2017

49:05
Summary

Data mining and visualization are important skills to have in the modern era, regardless of your job responsibilities. In order to make it …

Dramatiq: Distributed Task Queue For Python 3 with Bogdan Popa

December 24th, 2017

38:13
Summary

A majority of projects will eventually need some way of managing periodic or long-running tasks outside of the context of the main …

Jake Vanderplas: Data Science For Academic Research

December 17th, 2017

49:27
Summary

Jake Vanderplas is an astronomer by training and a prolific contributor to the Python data science ecosystem. His current role is using …

Kenneth Reitz

December 10th, 2017

42:49
Summary

Kenneth Reitz has contributed many things to the Python community, including projects such as Requests, Pipenv, and Maya. He also started the community written Hitchhiker’s Guide to Python, and serves on the …

Asphalt: A Framework For Asynchronous Network Applications with Alex Grönholm

December 3rd, 2017

34:44
Summary

As we rely more on small, distributed processes for building our applications, being able to take advantage of asynchronous I/O is …

Golem: End-To-End Test Automation Framework with Luciano Renzi

November 25th, 2017

54:03
Summary

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 …

Graphite Metrics Stack with Jason Dixon and Dan Cech

November 19th, 2017

1:14:17
Summary

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 …

Surprise! Recommendation Algorithms with Nicolas Hug

November 11th, 2017

30:22
Summary

A relevant and timely recommendation can be a pleasant surprise that will delight your users. Unfortunately it can be difficult to build a …

Rasa: Build Your Own AI Chatbot with Joey Faulkner

November 4th, 2017

49:00
Summary

With the proliferation of messaging applications, there has been a growing demand for bots that can understand our wishes and perform our …

Eliot: Effective Logging with Itamar Turner-Trauring

October 29th, 2017

49:48
Summary

Understanding what is happening in a software system can be difficult, especially when you have inconsistent log messages. Itamar …

Donkey: Building Self Driving Cars with Will Roscoe

October 22nd, 2017

33:49
Summary

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 …

Event Sourcing with John Bywater

October 15th, 2017

1:08:26
Summary

The way that your application handles data and the way that it is represented in your database don’t always match, leading to a lot of brittle abstractions to reconcile the two. In order to reduce that friction, …

Kalliope with Nicolas Marcq and Thibaud Buffet

October 8th, 2017

32:33
Summary

Wouldn’t it be nice to have a personal assistant to answer your questions, help you remember important tasks, and control your environment? …

Modoboa with Antoine Nguyen

October 1st, 2017

33:18
Summary

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 …

QuTiP with Paul Nation

September 24th, 2017

36:31
Summary

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 …

Lego Robotics with David Lechner and Denis Demidov

September 17th, 2017

44:01
Summary

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 …

Cloud-Init with Scott Moser

September 10th, 2017

49:50
Summary

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 …

Biopython with Peter Cock, Wibowo Arindrarto, and Tiago Antão

September 3rd, 2017

45:29
Summary

Advances in the techniques used for genome sequencing are providing us with more information to unlock the secrets of biology. But how does …

opsdroid with Jacob Tomlinson

August 26th, 2017

45:40
Summary

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 …

Ergonomica with Liam Schumm

August 20th, 2017

42:04
Summary

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 …

Data Retriever with Henry Senyondo

August 12th, 2017

17:55
Summary

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 …

Coverage.py with Ned Batchelder

August 6th, 2017

51:54
Summary

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 …

Yosai with Darin Gordon

July 30th, 2017

41:59
Summary

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 …

Moving to MongoDB with Michael Kennedy

July 22nd, 2017

47:58
Summary

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’t let the perfect be the enemy of the …

Zulip Chat with Tim Abbott

July 16th, 2017

1:00:39
Summary

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 …

NAPALM with David Barroso and Mircea Ulinic

July 9th, 2017

58:09
Summary

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 …

Automat State Machines with Glyph Lefkowitz

July 2nd, 2017

49:27
Summary

The venerable ‘if’ statement is a cornerstone of program flow and busines logic, but sometimes it can grow unwieldy and lead to …

Nuclear Engineering with Dr. Katy Huff

June 24th, 2017

38:15
Summary

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 …

Industrial Automation with Jonas Neubert

June 18th, 2017

1:02:06
Summary

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 …

Jedi Code Completion with David Halter

June 11th, 2017

42:55
Summary

When you’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 …

Coconut with Evan Hubinger

June 4th, 2017

33:31
Summary

Functional programming is gaining in popularity as we move to an increasingly parallel world. Sometimes you want access to purely functional …

Cauldron with Scott Ernst

May 28th, 2017

37:51
Summary

The notebook format that has been exemplified by the IPython/Jupyter project has gained in popularity among data scientists. While the …

Tech Debt and Refactoring at Yelp! with Andrew Mason

May 20th, 2017

34:26
Summary

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 …

LBRY with Jeremy Kauffman

May 14th, 2017

39:39
Summary

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 …

Loading ...

Download the RadioPublic app for
 FREE and never miss an episode.

Get it on Google PlayDownload on the App Store