Past Meetings • Recent Topics

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 ->

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.

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.

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

SLIs, SLAs, SLD’OHs! Learning About Service Uptime from Homer Simpson
(30 Minutes)
By: Mason Egger
Experience Level: Novice

Building services is important, but what happens after they are built and running in production? How do we establish trust with our customers that our service will actually be available? Who creates these definitions and how do we measure them? Service Level Indicators (SLI), Agreements (SLA), and Objectives (SLO) are central to an operations mindset and foundational tools for effective Site Reliability Engineering. This talk will take you on a journey through Springfield as we discuss exactly what SLIs, SLAs, and SLOs are, how to measure them, what targets should be measured, how to define uptime, availability, and acceptable error rates, and what happens when they are breached. Attendees will leave with a clear understanding of how to monitor and report for their services, how SLIs, SLAs and SLOs can aid in this process, and how to implement them within their own teams.

Ray: A System for High-performance, Distributed Python Applications
(30 Minutes)
By: Dean Wampler
Experience Level: Intermediate

Ray is a framework for distribution and scaling of clustered, high-performance, Python applications. It is used in several ML/AI systems and production deployments. This talk explains the problems that Ray solves, including rapid execution of “tasks” and management of distributed state, such as model parameters during training. I’ll use several example applications to illustrate. You'll learn when and how to use Ray in your projects.

8 Python enthusiasts attended this meeting.

Thu, Mar 12 2020 at 06:00 PM at Echo Global Logistics

Python's Numeric Tower
(15 Minutes)
By: Phil Robare
Experience Level: Intermediate

Most computer languages offer "int"s and "reals" and maybe some support for "complex" or fixed point decimal. Python goes further. This talk will discuss built-in numeric types (such as Rational and Decimal), numeric types from Numpy, and the Abstract Base Classes that make it possible to add your own specialized numeric type and have it appear as part of the language.

What even is a process anyway?
(30 Minutes)
By: David Sutton
Experience Level: Novice

Have you ever wondered how your computers knows what programs are running? What about what happens behind the scenes when you start a program? This talk will cover the basics of how processes work, and how your operating system keeps track of what's running. By the end of it you will know enough to write your own basic versions of 'ps' or 'top'.

82 Python enthusiasts attended this meeting.