List of videos

Talk: Vinayak Mehta - The Hitchhiker's Guide to CLIs in Python

Presented by: Vinayak Mehta Command-line applications and interfaces are used by both newcomers and experienced Python developers everyday. But do you know how they came to be? Hop on to this ship as we go through the CLI galaxy and look at its history, explore the CLI anatomy and discover some Python packages that can help us create them. We’ll then look at some widely used CLIs of our time. And emulate one of them by creating our own CLI using Click. Finally, we’ll package it and publish it on PyPI. Are you ready to travel faster-than-light using this ship’s Infinite Improbability Drive? Carry your towel! Talk Slides: https://github.com/vinayak-mehta/talks/blob/master/2020-pycon-us/slides.pdf

Watch
Talk: Deepak Kumar Gupta - Saved by In-Memory NoSQL

If you’ve ever heard about or experienced a scenario where a production python bug can’t be fixed because we’re not able to reproduce the same, sometimes even after adding additional logs, then this session is for you. Black box debugging is an idea where we add low footprint and encoded debug logs in the production code which drastically increases the chances of detecting the cause of a bug without requiring a recurrence with additional logs (read Debug Logs). Traditionally, we tend to include a limited amount of logs in the production code because writing the logs on the disk is a costly affair and can potentially impact the performances, but at the same time if something goes wrong, then we need the logs to debug the system. So what if I tell you that you can have debug logs in the production code without impacting the performance of the code…!!! I bet you’ll be pleasantly surprised. Welcome to the world of harnessing an unexpected and unintended benefit of In-Memory NoSQL databases which revolutionized the way we write debug logs for our python code. In this talk, I’ll talk about how we use In-Memory NoSQL with python code and get persistent logs without impacting the performance of the production code.

Watch
Talk: Matthew Knapp Bachmann - Transitioning from developing software to developing people

Presented by: Matthew Knapp Bachmann Developing your career is building skills to grow the impact you have on an organization. After a certain point engineers typically decide to either go down an individual contributor path or a management one. Recently, I decided to try engineering management. My company had me manage six engineers in a recently formed team. In my first six months as a manager I developed the team’s process for getting work done, learned the basics of managing career development, and positioned my team within the larger engineering organization. I also learned about balancing competing priorities and moving a diverse set of personalities and desires towards a common goal. In this talk I intend to talk specifically about the role of a manager of a single team. I will go over the types of problems a manager is responsible for and discuss the value a good manager can bring to a team/organization. I will help attendees understand the perspective of their current manager and help them decide if management is something they would be interested in trying out themselves. Talk slides: https://drive.google.com/open?id=1c5BzJMkdKiv2fapg8rswra6QLrDLptnaHMIWR3z6iJ8

Watch
Talk: Mason Egger - Building Docs like Code: Continuous Integration for Documentation

Presented by: Mason Egger It is common for developers to overlook the documentation of their works. They are either on a time crunch, lack the proper tooling, or simply just forget to create and update the documentation. Whatever the cause behind this, it is not a proper excuse for not keeping the documentation up to date. However, for all our development processes there are few as neglected as the documentation process. Documentation should be treated as important as the code that makes up the project. So, let’s move the documentation into the code. With modern documentation tools such as MkDocs and Sphinx, both of which are Python powered tools, and Continuous Integration tools we can now include docs in the commit. They can be reviewed in code reviews, built and versioned in a CI tool, and even tested for things such as correct code examples and broken links. This is the process that the developer knows, understands, and enjoys. I introduced a team to this exact workflow and a working pipeline; all they had to do was keep the documentation up to date. This team currently has some of the most up to date documentation in a company of near two thousand engineers, and they never complain about writing/updating documentation. It’s just part of the workflow. Attendees will walk away with a new mindset on how to handle documentation, a list of tools that can aid in this process, and a proven, easy-to-implement method that works well for real engineers in a production setting. Talk slides: https://masonegger.com/speaking/ci-docs/

Watch
Talk: Łukasz Langa - AsyncIO + Music

Presented by: Łukasz Langa Can Python help a musician play hardware instruments? Is there anything specific about AsyncIO that makes it well suited to the task? Come see how AsyncIO can be used to aid music production and realtime performance through MIDI processing. We will cover transformations of incoming MIDI signal, driving hardware instruments with a shared clock, as well as generative music. All production-grade. If you’re curious about AsyncIO and wanted to see it in action in a unique setting, this talk is for you! Music theory knowledge not required.

Watch
Talk: Lorena Mesa, Elaine Wong, Mariatta - 9 Years of PyLadies: Lessons Learned and What Comes Next

Presented by: Lorena Mesa, Elaine Wong, Mariatta 9 years ago an initial group of 7 women met at PyCon USA 2011 began the world of what we know today as PyLadies. Since 2011, PyLadies has grown to 100+ chapters worldwide and the growth doesn’t seem to be stopping anytime soon! What has made PyLadies so successful in the past - it’s decentralization and high degree of chapter autonomy - has presented PyLadies with unseen new challenges in 2020 such as burnout, resource stagnation, and ultimately not allowed PyLadies to respond to the global community of 2020. Join regional PyLadies organizers as they present what PyLadies has in store for the future including a global vision for community engagement and open source projects open to all. Talk slides: bit.ly/9-years-pyladies

Watch
Talk: Kathryn Lingel - Pyambic Pentameter: generating rhyming and metered poems

Presented by: Kathryn Lingel a strategy to generate a rhyme / without a human spending any time Computers may not yet be able to write poetry with soul, but we can teach them to write poetry with style! By combining Markov chain random text generation with a pronunciation dictionary in Python’s Natural Language ToolKit (NLTK), we can generate a poem that has both rhyme and meter. Random text generation is a fun, beginner-friendly project with a lot of potential depth for the curious and creative. This talk will cover how to generate random writing based on a source text, as well as how to use NLTK to enhance the output, and conclude with a brand new Shakespearean sonnet! Talk slides and code: https://github.com/katlings/pyambic-pentameter/

Watch
Talk: Elizaveta Shashkova - The Hidden Power of the Python Runtime

Presented by: Elizaveta Shashkova Many people like Python for its simplicity and beauty. But every statement in Python, even the simple one, produces a lot of events during the program execution. These events are usually hidden from a user, so it helps developers to skip low-level implementation details and focus on bigger things. At the same time many parts of this hidden information are very useful and interesting to examine. The good news is that the Python Runtime allows to retrieve it really simply, so there is no need to configure additional libraries or pass additional parameters to interpreter. Everybody can do it right inside their Python code. During this talk we will learn how Python allows to inspect current program state during the execution. We will learn about Python memory model, variables, frame objects and about useful information they store. After that we will discuss several powerful tools which are based on the runtime information and which can be very helpful for any Python programmer in their everyday life. Slides: https://speakerdeck.com/elizaveta239/the-hidden-power-of-the-python-runtime Examples source code: https://github.com/Elizaveta239/PyRuntimeTricks

Watch
Talk: Shauna Gordon-McKeon - Organizing To Improve Your Workplace: Know Your Rights

Presented by: Shauna Gordon-McKeon If there’s a problem with your code, you can file a bug report. But what do you do when there’s a problem with your workplace? All workers, including tech workers, have the right to try and improve our workplaces. This talk will give you an overview of your rights, with a special focus on issues that commonly arise in the tech industry, such as workplace harassment, overuse of non-disclosure agreements and forced arbitration clauses, and misclassification of contractors. We’ll also talk about what you can do when your company does something unethical, following the “Bargaining for the Common Good” model used by workers around the country to fight poverty, systemic racism, and climate change. Talk slides: bit.ly/pycon2020-organize

Watch