Past Meetings • Recent Topics


Thu, Sep 10 2020 at 06:00 PM at Remote Meeting

Fun with Finite State Machines
(15 Minutes)
By: Aly Sivji
Experience Level: Novice

Finite State Machines (FSM) are tools we can use to model simple and complex workflows. In this (non-mathematical) talk, we will learn about FSMs and examine how they can be used to improve software design. We’ll finish by diving deep into a couple of Python implementations of FSMs. Full disclosure: one of the implementations is a library I created.

Don't be beholden to your tools
(15 Minutes)
By: Dave Trollope
Experience Level: Novice

How KnowledgeHound innovated by breaking usage of existing tools to solve two immediate problems. A discussion of Django, SQLAlchemy, Pure Python, and Pandas.

Snakes on a Car: Or, Over-engineering a Toy
(30 Minutes)
By: Kat Cosgrove
Experience Level: Novice

Like a lot of engineers, I like to tinker. I also like hardware hacking, video games, and over-engineering the hell out of something. When my team at work decided to build a proof of concept demonstrating the possibility of fast over-the-air updates for edge devices, we settled on using a car as the example of an edge device. It’s flashy, you know? This also presented me with an opportunity to do all of the things I love, and call it work: build a self-driving RC car, and then let people race it around a track using a repurposed USB racewheel, a handful of open source tools, and whole lotta Python. DevOps, but make it fun.

9 Python enthusiasts attended this meeting.


Thu, Aug 13 2020 at 06:00 PM at Remote Meeting

Goodbye Print, Hello Debugger!
(25 Minutes)
By: Nina Zakharenko
Experience Level: Intermediate

Still debugging your code with print? Learn how to level up your ability to troubleshoot complex code situations by using the power of a fully-featured debugger in this talk aimed at all levels of programming ability. Debuggers allow you to examine your program state, watch as the values of important variables change, and even modify the content of variables on the fly. Once I gave up using print to debug, my productivity as a programmer increased, and yours can too! I’ll showcase the variety of debugger tools available - from pdb, the simplest command line debugger that’s part of the standard library, to fancy graphical debuggers available in Python IDEs. Join me as we walk through real code together using debugger tools in a hands-on way to help us diagnose problems and bugs. The skills you’ll learn in this talk will allow you to quickly use these tools in your own code bases for fun, school, or work.

What the heck's a Pixel and the California Consumer Privacy Act (CCPA)
(10 Minutes)
By: Sree Prasad
Experience Level: Novice

Even though it's technically only applicable to residents of California, the California Consumer Privacy Act (CCPA) is a major step in comprehensive data privacy legislation in the US that affects every single person in the US's most populated state. I'll go over what's in the CCPA and why it matters as well as share how my team managed to meet all the requirements for compliance just in time for the new year (when the CCPA went into effect).

Principles Driven Development - How PursuedPyBear decides what's important.
(30 Minutes)
By: Piper Thunstrom
Experience Level: Intermediate

PursuedPyBear (ppb) is a Python game development library.

PPB started like many projects: “How do I make my life easier?” Then teachers started asking if it could be built for teaching CS. That started the project on a path to have an extreme focus on API design and education. This distills the concepts that the ppb community have decided matter for long term health of the project, and the technical principles that came out of it.

14 Python enthusiasts attended this meeting.


Thu, Jul 09 2020 at 06:00 PM at Remote Meeting

Ten Ways to Fizz Buzz
(15 Minutes)
By: Joel Grus
Experience Level: Novice

Fizz Buzz is the following (simple) problem:

Print the numbers from 1 to 100, except that if the number is divisible by 3, instead print "fizz"; if the number is divisible by 5, instead print "buzz"; and if the number is divisible by 15, instead print "fizzbuzz".

My association with this problem began in 2016, when I wrote a blog post called Fizz Buzz in Tensorflow, the (possibly fictional) story of one such insulted programmer who decided to show up his interviewer by approaching Fizz Buzz as a deep learning problem. This post went modestly viral, and ever since then I have been seen as a thought leader in the Fizz Buzz space.

Accordingly, over the years I have come up with and/or collected various other stupid and/or clever ways of solving Fizz Buzz. I have not blogged about them, as I am not the sort of person who beats a joke to death, but occasionally I will tweet about them, and recently in response someone suggested that I write a book on "100 Ways of Writing Fizz Buzz in Python."

Now, I could probably come up with 100 ways of solving Fizz Buzz, but most of them would not be very interesting. Luckily for you, I was able to come up with 10 that are interesting in various ways, which I will barrel through in 15 minutes or less.

Introduction to AutoML
(60 Minutes)
By: Paco Nathan
Experience Level: Novice
Slides Link

AutoML is a very active area of AI research in academia as well as R&D work in industry. The public cloud vendors each promote some form of AutoML service. Tech unicorns have been developing AutoML services for their data platforms. Many different open source projects are available, which provide interesting new approaches.

But what does AutoML mean? Ostensibly automated machine learning will help put ML capabilities into the hands of non-experts, help improve the efficiency of ML workflows, and accelerate AI research overall. While in the long-term AutoML services promise to automate the end-to-end process of applying ML in real-world business use cases, what are the capabilities and limitations in the near-term?

This talk surveys the landscape and history for projects and research efforts related to AutoML, looking beyond just hyperparameter optimization and considering the impact on end-to-end workflows and data science practices. We'll show sample code using different open source projects and provide pointers to online resources to learn more.

ChiPy Mentorship Returns
(15 Minutes)
By: Ben Xia-Reinert
Experience Level: Novice

The new ChiPy Mentorship site is going live on July 4th. While the structured, 13-week ChiPy Mentorship program is not returning, this app will enable members of the Chicago Python community who wish to be mentees and mentors to find and connect with each other. In this talk, we will explain how the app was made, what we are looking to accomplish, and how you can be a part of it.

9 Python enthusiasts attended this meeting.


Thu, Jun 11 2020 at 06:00 PM at Remote Meeting

Play Sounds AND Blink Lights: Cooperative Multitasking with CircuitPython
(25 Minutes)
By: Adam Forsyth
Experience Level: Novice

The Circuit Playground Express (CPX) is a small circuit board you can program with Python. But what if you want to make the lights blink and play sounds at the same time, while keeping the code for those two things separate? I'll briefly show you how to program the CPX with Python, then talk about how to run multiple pieces of code at the same time using generators. This talk was inspired by the closing keynote at PyCon 2019.

CoderHeroes + Code Your Dreams: Teaching every child to code, one app at a time
(10 Minutes)
By: Brianne Caplan
Experience Level: Novice

Brianne Caplan is the CEO and Founder at CoderHeroes, a kid-centered “learn to code” program where kids ages 7- 18 team-up with other brave and aspiring coders to build world-changing apps. Its buy-one-give-one model means that families who pay for classes are helping to fund Code Your Dreams programs for students in underserved neighborhoods. Brianne will talk about her team's work in bringing culturally relevant coding programs to underserved youth in Chicago. She will speak about the equity challenges that exist, as well as the opportunities that exist for us all to make a difference.

How to run your favorite Python package in R
(25 Minutes)
By: Jessica Garson
Experience Level: Intermediate

Reticulate is a package for R that allows you to run Python code inside of R. Since both Python and R are very popular for common data science tasks, it makes sense that you would want to use them together. In this talk, I'll demo how to run a Python package inside of R.

5 Python enthusiasts attended this meeting.


Thu, May 14 2020 at 06:00 PM at Remote Meeting

From Spreadsheets to DataFrames: Escaping Excel Hell with Python
By: Ryan McCoy
Experience Level: Novice
Slides Link

A spreadsheet is a wonderful invention and an excellent tool for certain jobs. All too often, however, spreadsheets are called upon to perform tasks that are beyond their capabilities. It is like the old saying, “If the only tool you have is a hammer, every problem looks like a nail.” But some problems are better addressed with a screwdriver, with glue, or with a swiss army knife.

Python is often called the Swiss army knife of the programming world, due to its versatility and flexibility in use. That is why it has become increasingly popular over time. Companies can adopt Python to perform some uniquely complex processes over the long-term. 

During this talk, Ryan will discuss his firsthand account of Excel Hell and how he managed to escape it using Python. He will also discuss of the relevant libraries he uses for web scraping, data processing, analysis, and visualization, including Requests, Pandas, Flask, and Airflow, as well as few strategies he uses when approaching problems with data. 

Ryan S. McCoy is a Data Engineer at gotem, LLC, where he is responsible for helping modernize the systems, data infrastructures, and analytics of companies primarily in the Financial Services industry, including Investment Managers, Hedge Funds, Venture Capital funds, and data vendors. Previously he spent a decade at several institutional investment funds located in St. Louis.

Github Repo -> https://github.com/ryansmccoy/spreadsheets-to-dataframes

Intro to Python kubernetes (k8s) client
(30 Minutes)
By: Nate Rock
Experience Level: Intermediate

Python has a great library for interacting with kubernetes (k8s) clusters. This talk will discuss two quick tools to get your feet wet when it comes to interacting with k8s using python and show you some of the things to look out for, as well as the basics of local vs intra-cluster security.

"the phone calls are coming from inside the house!"

The first service is a simple flask based application that will be running as a pod inside the cluster exposing the endpoint using a Service and Ingress resources. When you call the "/pod/versions" endpoint, it will return the versions of any applications running in the cluster as JSON. There are some security constraints built into k8s that you should be aware of when trying to access the k8s API internally. We will walk you through how to allow this service to access this API even with Role Based Access Control (RBAC) enabled using a ServiceAccount. This method will only grant this specific service inside a particular namespace read-only access to pod information for the cluster.

The second application will make use of this flask endpoint and be run from your local command. k8s config file to get access. We will then use it to compare a secondary application running in a different namespace. This is a smaller version of some real world tooling we use at Rally Health as we migrate from mesos to k8s and need to compare state between these two environments as well as between clusters in different environments. These techniques are just the tip of the iceberg, but ideally they should give you some idea as to what the kubernetes python client is capable of handling.

pudb
By: Erik Johnson
Experience Level: Novice

pudb is a feature-rich terminal-based debugger that is a great alternative to Python's built-in debugger (pdb). This demo will demonstrate how to launch into the debugger, as well as how to use its remote functionality to connect to and troubleshot multi-process apps which do not run in the foreground.

19 Python enthusiasts attended this meeting.