To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
09:00
09:00
15min
Welcome to PyCascades 2022
Madison Swain-Bowden, Britt Gresham

A huge welcome to everyone leading into our morning talks.

Main Stage
09:20
09:20
50min
Meet & Greet with PSF D&I workgroup
Sayantika Banik, Georgi Ker, Tereza Iofciu, Marlene Mhangami, Débora Azevedo

Python has become one of the most popular programming languages in the world, meaning that along with this growth the Python community has continued to expand, in every continent around the globe. While this growth has been exciting, it has also brought new challenges and opportunities to improve our global community. Through this panel, we would like to address those challenges and understand our community better.

Main Stage
10:25
10:25
25min
Supporting the George Floyd Protests in Portland: Demonstrations, Legal Support, and Django Apps
Thursday Bram

Portland’s protests following the murder of George Floyd involved thousands of people. Providing bail and legal support to those arrested at the protests required a massive amount of volunteers, resources, and an incredibly hard-working Django app.

Main Stage
11:05
11:05
30min
Python’s tale of concurrency
Pradhvan Bisht

Python is underrated when it comes to concurrency. The main aim of the talk would focus on exploring the general concept of concurrency and how we can utilise those concepts to write Python programs that are more scalable and more efficient in terms of I/0 bound operations. From the threading module and its limitations, to the asyncio module with its async and await keywords. We will look into different types of concurrent programming techniques available in Python though the major focus would be on the asyncio module, exploring best practises and common pitfalls while using asyncio.

Main Stage
13:10
13:10
25min
Building Elegant API Contracts: From Zero to Hero
Neeraj Pandey

Learn how one can write efficient APIs with high-quality API specifications using Open API and RAML specs to create API contracts and achieve a better experience using the API with more reliable unit tests and increased response consistency.

Main Stage
13:50
13:50
25min
Cyber Security Investigations with Jupyter Notebooks
Ian Hellen

Jupyter notebooks are growing in popularity among CyberSec analysts. For threat hunting and incident investigations, notebooks give you flexibility not found in most Security Operations Center (SOC) toolsets.

However, threat hunting requires specialized tools, analytics and visualizations that aren't part of the typical data science libraries. We'll show some of the features of the MSTICPy CyberTools library that we built to address these gaps.

The focus of the talk will be on Python techniques (incl code examples) that we used to build extensible and discoverable tools for large-scale CyberSec operations. The techniques are applicable to many fields - no previous cybersecurity knowledge is required to watch the talk or use the techniques.

Overview:
- What's the appeal of notebooks in SOCs? and what is missing?
- Making data querying/acquisition simple - creating dynamic functions from config.
- Data enrichment: getting more context on IP Address, Hosts, etc. - using decorators to create a consistent API.
- Visualizations - quick tour of MSTICPy visualizations using pandas accessors and Bokeh.
- Composability - assembling multiple operations into a pandas execution pipeline.

Main Stage
14:30
14:30
25min
How (Not) to Start a Python User Group
Joseph Riddle

Starting a local Python User Group is hard. Keeping it running month after month is even harder. As a Python User Group organizer, I've had my fair share of mess ups.

In this talk, we'll examine some ways not to run your own Python User Group based on my own experiences as an organizer. By looking back at my own missteps, we'll determine some best practices for getting your own User Group off the ground. By the end of the talk, you'll be well equipped to run your User Group long-term. Come laugh and learn as we journey through my meetup misadventures and prepare you for your own.

All levels of Python experience are welcome.

Main Stage
15:10
15:10
30min
Invisible Walls: Isolating Your Python
Jeremiah Paige

Stop building projects that only "work on my machine", Learn how to isolate your python application by executing in an isolated, reproducible environment that extends beyond the code you write.

Main Stage
15:50
15:50
30min
Literature Text Translation and Audio Synthesis using AI Services
Vivek Raja P S

Ever wanted to read your favourite literature book or poetry but language is a barrier? Worry not! Enjoy the world literature in your preferred language along with audio book with just a click of a button. "Literature Love" uses AI services to translate and generate audio format for literature texts

Main Stage
16:30
16:30
25min
Tests as Classifiers
Moshe Zadka

The reason to write, and run, tests on the code is to detect bugs before the code is being used by the customer. Too often, this purpose is forgotten when deciding how, and what, to test. What makes a good test? What makes a good test-suite? How can you measure it?

By modeling tests as a "classifier", where the label is "buggy" or "not buggy", the general theory of classification can be applied. The basics of the theory, such as precision, recall, and F-score, will be explored, as well as how it applies to test suites. Specific techniques for measuring test quality, using tools such as mutation testing, tracing, and CI systems, will be presented.

Main Stage
16:55
16:55
15min
Closing Remarks Day 1
Madison Swain-Bowden, Britt Gresham

Wrapping up an exciting weekend of talks and activities.

Main Stage
09:00
09:00
15min
Opening Remarks Day 2
Madison Swain-Bowden, Britt Gresham

A grand welcome to the second day of talks and sprints

Main Stage
09:15
09:15
30min
Fifty shades of `sign`
Rodrigo Girão Serrão

The Zen of Python says “there should be one -- and preferably only one -- obvious way to do it”, but what if there's a dozen obvious ways to do it?

In this talk we take a look at over a dozen implementations of a very simple function.
As we do so, we try to decide which alternative is the best and we even explore a couple of more intricate Python subtleties!

Which implementation will be the best?

Main Stage
09:55
09:55
30min
Diversity in Neurodiversity: Help for Underrepresented Folks in Tech and Allies with New Mental Health Diagnoses
Jay Miller

Many people from underrepresented backgrounds are being diagnosed for the first time or getting treatment well into their careers.

This talk aims to be a resource for folks learning to work with their neurodiversities and their colleagues.

Main Stage
10:35
10:35
30min
Council Data Project: Infrastructure-as-code for civic transparency and accessibility
Isaac Na

Council Data Project (CDP) is an open source project that provides tools for making city council transcripts, legislation, and voting records searchable through a single website. This is achieved through a Python-powered Infrastructure-as-code architecture. CDP provides an entire backend and frontend that can be easily deployed for a governing body of any size or location. As long as the deployer provides data for events in a pre-defined yet flexible structure, CDP provides a database, file storage, speech-to-text transcription, and natural language search.

During this session, we will cover CDP’s backend, primarily focusing on how we created ETL pipelines and an Infrastructure-as-code setup to be as low cost and easily forkable as possible. Because of this, backend-focused developers may get the most out of this talk. Additionally, this session is intended for people of all levels of Python experience. Instead of covering in-depth features or niches of the language itself, we will showcase some neat tools and open-source projects in the Python ecosystem that we use to build our infrastructure!

And this session is especially for anyone interested in civic tech or generally just making democracy more transparent!

Main Stage
11:15
11:15
30min
Security considerations in Python Packaging
Gajendra Deshpande

Popular programming language index websites (TIOBE index) and developer surveys (Stack Overflow) place Python as one of the fastest-growing programming languages. However, this popularity also puts in the target range of attackers. The attackers perform malicious dependency attacks and use misconfiguration tools to reveal confidential information. Jukka Ruohonen, Kalle Hjerppe, and Kalle Rindell in their research paper “A Large-Scale Security-Oriented Static Analysis of Python Packages in PyPI” claimed that they scanned PyPI for security issues in Python packages and found the presence of at least one security issue in about 46% of the Python packages. In addition, security vulnerabilities can be present in the source code of the package. In this talk, we will address the security issues related to python packaging and possible solutions to make python packages secure.

Main Stage
11:55
11:55
25min
Programming Your Way up a Skyscraper - Python in the Built World
Tadeh Hakopian

When I started working on the latest high rise for San Francisco a challenge stood before me: How am I going to do this without losing my mind? Thankfully Python coding came to the rescue. This talk will showcase all the tools built around Python that can make architecture dreams come true!

Main Stage
12:20
12:20
15min
Closing Remarks Day 2
Madison Swain-Bowden, Britt Gresham

A final thank you for all attendees, before sprints begin

Main Stage