Table of Contents
Last Updated on 2022-02-10 by Kassandra
One of many possible conferences to improve your programming knowledge & grow your professional network is through PyCascades 2022 . It is a remote event with possible in person “watching parties” – but the information & experience of participating will benefit you for years to come.
Your Invitation To Join PyCascades 2022
I didn’t really go into the schedule much, so you can check that out right here.
If you didn’t grab your ticket here, be sure to get the next one!
As the date has already come and pass, I did a single 1st day recap here:
I did not, however, do a 2nd day recap.
And what’s great about this event? They did recordings FOR FREE!
I’ll share them all below.
Day 1
Welcome
Britt Gresham & Madison Swain-Bowden kick off the weekend!
Meet & Greet With PSF
“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.”
This talk features Tereza Iofciu, Marlene Mhangami, Débora Azevedo, Sayantika Banik, and Georgi Ker.
Supporting George Floyd Protests In Portland
“On May 25, 2020, a Minneapolis police officer murdered George Floyd. Within two days, Portlanders were in the streets protesting. Protests continued into 2021, despite Portland-area police cracking down hard on protestors, including making hundreds of unjustified arrests.
I was part of a team that raised money to cover bail and legal costs for protestors, as well as providing other support. We quickly realized that spreadsheets couldn’t keep up with our workload. To handle the massive amount of data we were facing, we built a Django app. This talk will cover the process of creating, tweaking, and maintaining the app, as well as the technological and security constraints we’ve faced over the past 18+ months.
Key topics include: * Building an app when you’re short on time and resources * Scraping and integrating with delicate governmental software * Training users with varying level of technical expertise * Assessing risk factors from online harassers to legal concerns * Documenting, maintaining, and handing off an app when burnt out * Outcomes for protestors, including the impact of our technical decisions”
This talk features Thursday Bram.
Python’s Tale Of Concurrency
“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 utilize 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 practices and common pitfalls while using asyncio.
Python’s tale of concurrency is a talk around the general introduction to concurrency with Python. At the core of the talk is asyncio and its practical application while using the library to write concurrent code.
The talk would start by explaining the general paradigm of asynchronous programming and later moves on to show the evolving landscape of Python with respect to concurrency, exploring everything from thread to asyncio. Later taking a deeper dive with the asyncio with real-world examples to get a better understanding of the concept. Finally seeing some good practices and common pitfalls to solidify our learning.
Given below is a rough overview of the talk structure:
- Introduction
- Concurrency
- Concurrency vs Parallelism
- How Python handles concurrency?
- Threading and its appropriate use-cases.
- asyncio and why we need it?
- Exploring tasks, futures, and the event loop.
- Good practices for writing async code with async and await
- Common pitfalls while writing concurrent code with asyncio”
This talk features Pradhvan Bisht.
Building Elegant API Contracts
“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.
API is at the core of almost every project, and developers need to know how to build these RESTful APIs which serves multiple channels including microservices, mobile, web et al. Writing an efficient API provides the developers with a cleaner structure, deprecation policies, better unit test coverage, and a great documentation workflow. 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. The audience will understand the architectural constraints which make any web service a perfect RESTful API, Contract-first vs Code-first approach, HTTP concepts along the best practices needed to build an elegant API.”
This talk features Neeraj Pandey, a senior at Ashoka University.
Cyber Security Investigations With Jupyter Notebooks
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.
The talk will be focused on the development and use of MSTICPy – an open source CyberSec package that we created 3+ years ago to support Jupyter notebooks in Azure Sentinel.
- How do CyberSec analysts needs differ from mainstream data science/analytics?
- Data diversity – lots of data, lots of sources – how do we make data querying easy and repeatable?
- Enrichment – where does this IP address live? who owns it? is it associated with malicious behavior?
- Visualizations – establishing context and connection with event timelines, process trees, matrix and graph interactions
- Analytics – spotting anomalies is often more important than trends? How do we uncover attackers trying to hide their intent
- Usability – how do we make lots of capabilities easily accessible. Using dynamic functions and pandas accessors to make it easy to find the function you want.
This talk features Ian Hellen – a principal developer in Microsoft Threat Intelligence Center. Talk GitHub repo is here.
How NOT To Start A Python User Group
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.
This presentation’s goal is to inform attendees of how to start a Python User Group, as well as give advice on how to run it effectively long-term.
Attendees will be given examples of what not to do (many of which are based on my real experiences) followed by better examples of what to do. Ideally, the format of this talk lends itself to being both helpful and entertaining.
- Intro (2 minutes)
- Creating a new Group (2 minutes)
- Creating a website (3 minutes)
- Finding a location (3 minutes)
- Finding another organizer (3 minutes)
- Getting people to come (3 minutes)
- Deciding what to do at the Meetup (3 minutes)
- Preparing for the Meetup (4 minutes)
- Closing (2 minutes)
This talk features Joseph Riddle – a software engineer in Spokane, WA.
Invisible Walls – Isolating Python
“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.
- Introduction (2 minute)
- Isolation can help us write safer programs
- Draw explicit boundaries around your program
- Accurately capture what your program requires
- Isolation can help us write safer programs
- Executable Isolation (6 minutes)
- Adding a new version of python
- Symlinks and PATH manipulation can help keep Pythons separate
- Tools like pip/pip3 can only go so far
- Package Isolation (6 minutes)
- Separate executable install locations can isolate libraries installed with different Python versions, but not the same library installed twice with the same Python version
- Using a venv for any python work makes the interpreter version and library dependencies much easier to mange
- Also makes the Python version being used explicit
- Userspace Isolation (6 minutes)
- venv does little to isolate any part of the system that is not directly related to Python
- Depend on a linked C library
- Assumed usage of exclusive system resource
- What if we were the only process running on the machine
- Containerization aka Docker
- Isolation on multiple levels (2 minutes)
- Any or all these types of isolation can be layered together
- Conclusion (3 minutes)
- Don’t over do it; just because it is there doesn’t mean you need to use it
- Some python examples have been given, but critically think why you would need one or more layer
- These tools can speed up development, but can just as easily slow it down
- Indirection can abstract away some classes of problems, but it can also introduce a new class of errors and a new level to debug”
This talk features Jeremiah Paige – a python developer of over 10 years.
Literature Text Translation & Audio Synthesizing Using AI Services
“Ever wanted to read your favorite 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.
Overview
“Literature Love“ – An open source initiative to read, listen and enjoy literature texts, poems, novels, short stories in your preferred language. Using Azure Cognitive Services, the original literature texts are translated into various languages and audio is generated for the same. The literature texts are being contributed by literature lovers, authors all around the world.
What will you learn in this session – Leveraging Azure Cognitive services and hosting web app in Azure.
Talk Outline
- Welcome Note & Speaker Introduction – 3 mins
- About Literature Love Open Source Project – 5 min
- Introduction to Azure Cognitive Service – 2 mins
- Using Azure Cognitive Service for Python SDK for Translation & Text-to-Speech – 10 mins
- Hosting the web app in Azure – 3 mins
- Literature Text Contribution & Collaboration – 2 mins
- Q&A – 5 mins
Prerequisites:
- The prerequisite for the session are basics of Python, APIs and web development (HTML,CSS JS)
- Python Programming (their YouTube provided playlist)
- Basic Web Development (their provided YouTube playlist)”
This talk features Vivek Raja P S – a data scientist at NexStem. You can find them at:
- GitHub profile and their repos
- Blogs: Medium & Dev.to
- For work related inquiries for BCI enquiry/ purchase / Developer Program: [email protected] / https://nexstem.ai
Some additional meetup groups:
- Azure Developer Community
- AWS User Groups (in Chennai)
- Google Developers Group Madurai
- TensorFlow User Groups
Tests As Classifiers
“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.
What makes for a good test? Instead of relying on subjective answers and rules of thumb, it is useful to apply the general theory of classification systems and their quality. This theory has specific concepts, like precision, recall, and F score, to measure the quality of classification systems.
Applying those concepts to the software development life cycle, it is possible to get specific measurements that will “score” a test suite. Using mutation testing, tracing, and appropriate reports from CI systems, it is possible to automatically generate scores and reports. These can help with evidence-based recommendation for which tests are helpful and which are less helpful, as well as where to concentrate more testing effort for maximum value.”
This talk features Moshe Zadka.
Day 1 Closing Remarks
Britt Gresham & Madison Swain-Bowden close us out for day 1!
Day 2
Day 2 Opening Remarks
Britt Gresham & Madison Swain-Bowden kick off day 2!
Fifty Shades Of “sign”
“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?
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: the sign
function.
The sign
function should return -1 for negative numbers, 1 for positive numbers, and 0 if the input is 0. Simple, right?
And it is, but there are multiple implementations that we can look at.
As we do so, we try to decide which alternative is the best and we even explore a couple of more intricate Python subtleties!
As an example of some of those subtleties, we’ll look at Boolean arithmetic, Boolean to integer conversion, and (chained) conditional expressions.
As we look at different implementations, we try to decide which one is the best. We will do some profiling, but we’ll also realise that that’s hardly the most important metric to use!
Which implementation will be the best?
You can find the talk slides on GitHub and a written version of the talk on my blog.”
This talk features Rodrigo Girão Serrão.
Diversity In Neurodiversity
“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.
I was diagnosed with ADHD in my late 20’s. Shortly after I made a career-change. This gave me a wonderful opportunity to reset and establish routines, patterns, and expectations while I continued to work on learning more about my neurodiversities and how I could best adjust.
There are stigmas in underrepresented communities where things like therapy and seeking help were not available or discouraged. In the black community I was encourage to pray my issues away or to mask them as to not make them the reason I get fired. Many folks in black/brown/LGBTQIA+ communities are learning the truth about mental health conditions and how they may or may not present in people.
This talk looks at what those being diagnosed for the first time can do to readjust expectations and what their neurotypical colleagues can to do to help with this adjustment period.”
This talk features Jay Miller – a Developer Advocate at Elastic.
Council Data Project – Infrastructure As Code For Civil Transparency & Accessibility
“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!
Presentation outline
– Introduction to Council Data Project (1.5 m)
– Presenter introduction (0.5 m)
– Background context and baseline domain knowledge (1.5 min)
– Design considerations for civic tech (1 min)
– Why Python? (1.5 min)
– Overview of CDP deployment system (1.5 min)
– Re-usable python modules within cdp-backend (4 min)
– Google Cloud, Firestore, FireO ORM
– Reusable modules for database, file store, transcription
– ETL pipelines and scripts
– Overview of cookiecutter-cdp-deployment (3 min)
– Generating project templates for easy deployments with Python cookiecutter
– Propagating updates across decentralized infrastructures
– Why Infrastructure as code (IaC)? (2 min)
– CDP’s infrastructure (5 min)
– Google Cloud Platform for database and storage
– Infrastructure management with Pulumi
– Leveraging Github Actions for FREE automated pipeline runs
– Web hosting through Github Pages
– Publishing release versions on PyPI (2 min)
– Learn more about/get involved with Council Data Project! (1 min)
– Thanks for listening! (0.5 min)
The exact time distribution for each topic may change, but this will be the general flow of the presentation.”
This talk features Isaac Na – a software engineer at Amazon.
Python Package Security Considerations
“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.
The talk begins with the importance of a secure package and vulnerabilities in the Python package index. Then, I will discuss Python packages such as Bandit for identifying common security issues in Python code and “safety” for dependency check. Next, I will discuss verifying and signing Python packages using GPG. Finally, I will discuss general guidelines for secure coding practices in Python.
Outline
- Importance of a secure package and vulnerabilities in python package index. (05 Minutes)
- Bandit for identifying common security issues in Python code (05 Minutes)
- safety for dependency check (05 Minutes)
- Verifying and signing PyPI and conda packages using GPG and Twine(03 Minutes)
- General guidelines for secure coding practices in Python (03 Minutes)
- semgrep static analyser (04 Minutes)
- Summary and Questions (05 Minutes )”
This topics features Gajendra Deshpande.
Programming Your Way Up A Skyscraper
“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!
There is a burgeoning industry for software development and open source tools to be used in building design and construction. I want to show everyone how much interest there is in open source tools in this sector and my intent is to gain audience interest and grow the open source community in Architecture.
This talk explains how I used Python to dive into open source tools for my projects. This includes scripting with open source tools like Dynamo, Rhino and Blender. My talk is meant to encourage others to learn how to use open source tools with Python and enhance their projects whether it is in digital or physical space.”
Thsi talk features Tadeh Hakopian – a developer & designer in architecture.
Day 2 Closing Remarks
Britt Gresham & Madison Swain-Bowden close us out for day 2!
Next Steps
If you want to be alerted about more programming content, be sure to subscribe to the Programming category via the bell in the bottom left corner.
And if you’re new to python programming, I highly suggest checking out my series on virtualenvwrapper.
Hope you have a prosperous rest of your day!
★↓FOLLOW ME ON SOCIAL MEDIA!↓★
Facebook | Twitter | Pinterest | Instagram
YouTube (Digital Marketing) | YouTube (Programming) | GitHub
Leave a Reply