RECENT TOPICS

Data Classes in Python 3.7: Why and How do They Compare to Existing Solutions? By: Brian Stempin By: Yiu Ming Huynh
Date: July 12, 2018, 6 p.m.
Python prides itself on being a language where “There should be one – and preferably only one – obvious way to do it” (PEP 20). One place where this isn’t really true is when it comes to the question of how to store data. There are several options: dictionaries, tuples, named tuples, vanilla Python classes, and Python classes decorated with the attrs library. PEP 557 adds a new way: Data classes. In this talk we will compare and contrast each approach, give listeners a way to figure out which one is best for their particular project, and share some performance metrics for those who are concerned with speed and memory footprints.
Calculating pi using Django and Solidity on the Ethereum Blockchain By: Joshua Herman
Date: April 12, 2018, 6 p.m.
After giving a whirlwind tour of what Ethereum and Solidity are I will show how to use Django and Web3py to deploy a smart contract that performs division.
Going with the flow: Intro to Airflow By: Matt Inwood
Date: April 12, 2018, 6 p.m.
Airflow is a great open source resource for managing ETL, or any other scheduled jobs. We'll go over the DAG-Task-Script Hierarchy; job triggers, logging, and the web interface. I'll also talk about some best practices, and different caveats and gotchas that you can come across from my personal experience implementing it.
A Robust Dev-to-Production Workflow for Home Use, Using Jupyter Notebooks and PyTest By: Leon Shernoff
Date: April 12, 2018, 6 p.m.
Working on a substantial Python project at home can be confusing and frustrating. A work environment can suddenly impact the direction of a project in unexpected ways, because of the many stakeholders; but they usually have a robust process in place for actually doing the coding (otherwise nothing gets done). Implementing a solid and productive workflow routine at home can be a challenge, but it is of great benefit for complex projects. This talk uses a sample text-processing project to demonstrate a home workflow design featuring sandboxing in Jupyter notebooks, migration of working routines to project-specific modules and straight-ahead Python files, and writing unit tests for these in PyTest.
Introduction to Keras By: Chris Gruber
Date: March 8, 2018, 6 p.m.
Keras is a popular framework for building neural networks in Python. Using Keras, a developer can define and train a neural network in just a few lines of code. Keras also includes a number of pre-built networks to build state-of-the-art models for language translation, image recognition, etc. This talk will consist of an overview of Keras and its features, and a demo in which we build and train a classifier for the MNIST hand-written digit dataset.
Formatted strings in Python 3.6 By: Phil Robare
Date: March 8, 2018, 6 p.m.
3.6 has introduced a fourth way to format output from a Python program. PEP 498 introduced a new kind of string literals: f-strings, or formatted string literals. Formatted string literals are prefixed with 'f' and are similar to the format strings accepted by str.format(). They contain replacement fields surrounded by curly braces. The replacement fields are expressions, which are evaluated at run time, and then formatted using the format() protocol This talk will give a quick overview of syntax, usage, and possibly abuse of this new feature.
mitmproxy: Lift the veil on server-side HTTP(s) interaction By: Ross Heflin
Date: March 8, 2018, 6 p.m.
When writing web frontends there's powerful tools for understanding backend calls made by a website (Network tab in Chrome, Firefox, Webkit'sm Dev Tools and HAR analyzers). These are (reasonably) great for figuring out what requests a browser is making to backend servers & what came back. When dealing with server-side code its somewhat harder to see all requests made to other systems in context of what requests came into the server-side api without instrumenting your code with lots of (often incomplete) logging. During the last 5 years, I've worked through many issues in various languages/frameworks and libraries, where the only common thread was (sometimes complex) communication with other systems over HTTP(S) by using mitmproxy. This talk will cover a variety of use cases, demonstrating some useful capabilities of this versatile tool with minimal (if any) changes to existing code regardless of source language, server-side framework, and HTTP client used.
Pyo: DSP and synthesis software for Python By: Aaron Krister Johnson
Date: Jan. 11, 2018, 6 p.m.

This presentation will introduce "pyo", a C-level library with Python bindings that is designed for musical/audio synthesis, and my own software "microcsound", which is a score-generation front-end to Csound, a well-know audio synthesis programming language. In particular, microcsound was designed to allow a richer vocabulary of musical pitch (alt-tuned scales, microtones, N-pitches per octave, etc.) than the one available via standard 12-notes per octave tuning of typical Western music. So, there will be some explanation of the historical background that drove the creation of this software, but it should be a fascinating topic for all. I will give brief demonstrations of the kind of out-of-the-box fun one can have with sound using Pyo, and snippets of the kind of work I've done with both it, and with microcsound. Anyone interested in the possibilities presented by Python software for electronic music, and/or electronic music in general, should find this talk interesting, informative, and entertaining.

YouTube logo
I Am Open Source (And So Can You!) By: Aly Sivji
Date: Jan. 11, 2018, 6 p.m.

Open Source Software (OSS) has changed the world in countless ways and has provided us with wonderful innovations such as the Python programming language. As Pythonistas, we use OSS every single day but only a fraction of us give back to the community. This talk will discuss the benefits of contributing to open source in the context of my experience as a newbie pandas contributor. I will also provide a Getting Started guide so you, too, can become an Open Source Contributor!

YouTube logo
Mentorship Finals Fall '17 By: Sydney Huppert
Date: Dec. 14, 2017, 6 p.m.

Mentorship Finals Fall '17

YouTube logo