RECENT TOPICS

Understanding Unicode By: Evan Hahn
Date: May 9, 2024, 7:45 p.m.

The farmer emoji (👩🏾‍🌾) is a bit of a mystery.

In Python, its length is 4.

Same in Ruby. In JavaScript, its length is 7. It's 15 in Go and 12 in Java. There's just one character here...shouldn't they all have the same length: 1?

To understand this madness, you need to understand a little about Unicode. Many developers, myself included, get intimidated by Unicode. What's "UTF-8"? What's a "code point"? What does "U+1F937" mean?

In this talk, I'll try to answer these questions so that the next time someone gets confused by the length of the farmer emoji, you can help.

Intro to Property-Based Testing with Hypothesis By: Paul Zuradzki
Date: April 11, 2024, 6 p.m.

One shortfall of example-based unit tests is that they only test known examples. Property-based testing lets you test against randomized inputs if you can specify properties that must be true of the code's behavior ("invariants"). You also test your function against extreme-values (aka, fuzzing).

In this talk, will review some examples of property-based tests using the Hypothesis library. We will demo automated test generation ("ghostwriting" tests) to make writing tests easier. We will demo stateful testing to confirm that all possible states are valid in a program.  Lastly, we will end with parting thoughts on how to specify properties. Often, the tricky part with PBT is knowing what to test! Since we are using randomized input, we need to specify properties that should hold true across all outputs.

Exploring Cellular Automata in Python using Golly By: Joshua Herman
Date: April 11, 2024, 6 p.m.

Golly is an open source, multiplatform tool for exploring various cellular automata (such as the game of life) that allows Python scripts to study and interact with the cellular automata. First we will look at very basic operation of the rule by studying the game of life and also inputting a new initial conditions such as gliders, still lifes and spaceships. Then we will switch over to study my cellular automata I created which I call  https://conwaylife.com/wiki/OCA:SnowLife and use Python scripts to analyze my cellular automata.

Headless CMS with Wagtail and Nextjs By: Josh Martin
Date: March 14, 2024, 6 p.m.

This talk will cover how to host a Wagtail/Django backend running on Digital Ocean with Dokku. And a Next.js frontend running on Vercel. This combination leads to an ultra-cheap solution for a scaleable and fault-tolerant solution for personal projects or startups.

ChiPy celebrates Pi Day By: Phil Robare
Date: March 14, 2024, 6 p.m.

The calculation of π to an insane number of digits is something that has an interesting history.  This talk will look at historic algorithms for the calculation π and implementation of the algorithms in Python.  And we will meditate upon how lucky we are to have computers to do the calculation. In doing this we will see things in the Python standard library that make it possible to calculate the crazy values needed in modern algorithms (e.g. one over a factorial cubed). The final demonstration is the calculation of π to 100 significant digits.

Getting Started with Software Testing in Python By: Paul Zuradzki
Date: March 14, 2024, 6 p.m.

The goal of this talk is to give you a roadmap on a journey to writing stronger code with software testing. How do you actually know if your code really works? How do you know that you didn't break something "over there" when you changed something "over here"? In this talk, we'll demonstrate common problems and solutions with respect to verifying code correctness and improving maintainability.

Maybe you've already started trying to learn testing and some things are still unclear: 
- "What is the point of a mock?",  
- "What is the difference between patching with pytest vs unittest or using a with-block vs a decorator?"
- "I get stuck writing a test as soon as I go to a nontrivial example."

Boosting Neuroimaging Analysis and Results Digestibility 🧠 By: Carlos A Aranibar
Date: Feb. 8, 2024, 6 p.m.

Make neuroimaging results easier to digest for patients and equip technicians with an enhanced toolkit featuring improved visualization and statistical analysis capabilities through MNE, an open-source Python Library.

From Cron to Airflow - Understanding the need for Schedulers By: Raymond Berg
Date: Feb. 8, 2024, 6 p.m.

Help! I want to run a simple task on a schedule how do I do that? Wait, remember when I said "a simple task", well it just got more complicated. And why isn't the data ready when my job runs?! Oh no, yesterdays job failed...what do I do?

These are all common problems lots of data analysts/engineers and scripters encounter. How do you solve them in a sustainable way? This intro talk is helpful for all who think about job scheduling.

BluPants: open-source educational Python bots By: Marcelo Sacchetin
Date: Jan. 11, 2024, 6 p.m.

This talk is about an open-source educational project based on Python:  blupants.com. My goal is to present it to the audience and hopefully find more people passionate about the topic like me who would be willing to help as open-source contributors. Attendees will learn how to use the REST API to control robots and how to extend it to new platforms and robots.

 

YouTube logo
What's in your AI code? Learn why every SCA tool is wrong, and how to deal with it By: Anand Sawant
Date: Jan. 11, 2024, 6 p.m.

With the rise in AI, there is more focus on Python dependency management and SCA scanning. Python's dependency management system makes it easy for developers to leave dependencies out of the manifest. This means that almost every SCA tool that relies on a manifest will be wrong. We show how leveraging program analysis techniques one can avoid the pitfalls of these so-called phantom dependencies.