This talk covers five unexpected pieces of advice for writing better code comments. From an editor change to some sound writing advice, it takes a brief journey into a few habits of successful commenters. Disclaimer: opinions ahead!
Publicly funded fire departments are critical to our society. We rely on them for fire prevention and fighting, and their influence has shaped our cities for centuries. It's time the software industry learned from history and created a public service of our own.
Linear programming is a useful computational technique for finding minima or maxima of a complex system by breaking it into a series of linear equations which describe the systems. It has many practical applications in industry, medicine, agriculture and in retail environments. Together we will explore simple linear programming problems using Python and the module Pulp.
Todd Leonhardt, Kevin Van Brunt
Interactive command-line (CLI) applications are extremely popular in the DevOps and Security communities as well as for internal tooling and automation. Have you ever wanted to build an awesome CLI application using Python but don't know where to get started? This talk will show you how to use the cmd2 package to quickly and easily build feature-rich and user-friendly CLI apps in Python.
Integer linear programming (ILP) is a powerful framework for solving optimization problems related to scheduling, resource allocation, vehicle routing, and many other areas. This talk will give a brief introduction to ILP and show how to solve a real-world vehicle routing problem using Google's open-source python library for ILP.
A/V Streaming has been used widely but being able to manipulate the stream on your custom requirements has always been challenging. We discuss how we can overcome with this challenge and build custom streaming pipeline with the help of open source multimedia framework and Python libraries for Gst, Gib, and GObject.
pytest is a testing framework that makes writing and running Python tests simpler. Adopting new tooling in a large system is often a burden. How can you introduce pytest gradually with minimal pain?
Cancer treatment often focuses on organ of origin, but different types can occur in one organ. Gene expression provides valuable clues of the cancer type, but studying data manually is difficult. Instead, we use variational autoencoding, a deep learning method, to derive 36-dimensional feature space from 5000-dimensional gene space and show its efficacy in classification and a TSNE visualization.
Writing code that functions correctly is only part of the development process. The majority of our time is spent reading, maintaining and refactoring our code.
In this talk we will discuss how when we see our work as code curation we actually enable our job to be much easier and productive.
The Hadoop ecosystem created a wide array of amazing tools and technologies that made processing of large amounts of data easier and more fun. In this talk I will go through how to use Raspberry Pi 2s to create a distributed cluster worthy of interesting data analysis. I will use Apache Spark and other open source, easy to obtain software and hardware for data insights.
Project documentation is easy to neglect. Keep your docs inside your source repo and learn how to automatically build and publish beautiful docs on every commit. Viewers will leave with a new mindset on how to handle documentation, tooling for this process, and an easy-to-implement method to achieve this.
Machine Learning is something you'll see referenced very frequently now in everything from marketing materials to sales pitches, and job postings. With so much hype it can be hard to distinguish what people mean when they say Machine Learning. In this talk we will demystify Machine Learning by understanding its core concepts and applying that knowledge to real world examples.
Arpan Jain, Kawthar Shafie Khorassani
Deep Learning(DL) has attracted a lot of attention in recent years, and python has been the front runner language when it comes to the framework and implementation. Training of DL models remains a challenge as it requires a huge amount of time and computational resources. We will discuss the distributed training of the Deep Neural Network using the MPI across multiple GPUs or CPUs.
This talk discusses deploying and running Django web applications in production using Twitter PEX.
Development environments can become cumbersome over time, with setup occasionally filling multiple pages of documentation and making onboarding new team members a difficult task. Whether you deploy your Python application using containers or not, Docker Compose is a great tool for defining development environments that closely mirror production and can be spun up with a single command.
As the scale of modern data has grown, so has the need for tooling to handle its growing list of challenges. Whether performing reporting, bulk ingestion, or ETL processes, it is important to maintain flexibility and ensure proper monitoring. Luigi provides a robust toolkit to perform a wide variety of data pipelining tasks, and can be easily integrated into existing workflows with ease.
Christopher T. Miller
If you’ve ever joined a new team, you know that there are hidden rules for how the team operates: what they value in their day-today work, what is important to them.
Breaking news: teams are hard. We document our code... shouldn't we document our team's values and ideals?
Deborah Diller Harris
Why is feature engineering considered the "dark art" of machine learning? Transforming raw data into a form that your machine learning algorithm can utilize seems mysterious and downright frightening! Bring your wizard hat and join me as this machine learning apprentice shares her personal book of feature engineering incantations.
Gregory M. Kapfhammer, Madelyn M. Kapfhammer
What is important to you when it comes to text editors? To find out, join us in comparing VS Code and Vim. From version control integration to source code highlighting, with auto-completion, testing, virtual environments, snippets, code navigation and linting in between, learn how VS Code and Vim handle each feature and decide for yourself what fits your programming preferences when using Python.
Data comes in many shapes and sizes. In this session, we’ll look into the process of converting audio files into valuable data.
Pytest is a widely-used, full-featured Python testing tool that helps you write better programs. Did you know that you can easily enhance and customize Pytest through the use of plugins? In this talk, you will learn all about some of the useful Pytest plugins that are available, and learn how to create your own plugins.
Python provides a great set of built-in tools and third-party libraries for data analysis. Modern personal devices like smart watches or phones generate streams of data about body metrics, location, movement, and more. I describe Python-based methods for extracting and analyzing data from personal smart devices. I applied these methods to track and change habits and behaviors to lose 25 pounds.
if statements allow us to selectively execute code based on conditional logic. Overusing conditionals results in code that is hard to understand and difficult to modify. This talk will demonstrate how to refactor
if statements into polymorphic classes, resulting in cleaner program design. After this session, you will be able to implement complex conditional logic using simple Python classes.
Computer Vision aims to teach computers to interact with the visual world. It has applications navigation, automated inspection, assisting the visually impaired, and so much more. In this talk, I will explain and demonstrate how you can use Computer Vision to locate and identify a playing card in a live video feed.
In this talk, we'll explore how maintaining a sense of fun and whimsy in science has a profound effect on discovery, innovation and progress.
We will build a CPU focused on transparency, interactivity, and modularity. Our CPU has a configurable architecture and machine language. Yes, you can invent your own assembly instructors to add functionality. We will cover registers, data/address busses, memory (ROM/RAM), IO, and assemblers.
It is easy to cling to the familiar to avoid the unknown – even when unfamiliar approaches better serve your work. My talk explores this fact, specifically, by looking at the technical and emotional dimensions of my less-than-easy journey from writing raw SQL to using the Django ORM.
Jason R. Coombs
Writing software with no defects is extremely difficult and expensive, but the lessons learned from such ambitious projects can inform our approach for a more practical development technique. This talk looks at how principles from zero-defect engineering, functional programming, and refactoring come together to produce robust, readable, and reliable code.
Applications rely on data, and relational databases are a convenient way to organize structured information. Object-relational mappers like SQLAlchemy and Django’s ORM are complex libraries, but they aren’t black magic. De-mystify some of the magic as we build the basics of an ORM in under an hour.
This session covers improvements to the Python language with 3.6 an 3.7. We will discuss aspects such as f-strings, formal typing, the various kinds of tuples, more precise timing, better hashing, etc.
Haven't gotten around to building that personal blog? How about a website for your side project? Python actually has a rich ecosystem of web development tools that are easy to learn and fun to use! Bring your laptop and follow along as we build a personal blog LIVE in this talk using the pip package: CodeRed CMS (based on Wagtail and Django).
Esther B. Gotfryd, MSN, NP-C
Do you sometimes feel like a pile of legacy code? Do you dread refactoring yourself into a "new hotness,” due to the insurmountable amount of work it may take? Do you want to break free, but are unsure of where to start? Look no further, as this session will embark on a journey to refactor you, one red-green test at a time, starting with the highest priority issues first.
Large datasets are vital for the majority of analytic and machine learning tasks. But what happens when the data you need isn't available in some convenient and easily obtainable form? This talk will go through the process of data scraping to create a dataset that can be then used for various analytical or machine learning tasks.
Eventbrite is exploring a new machine learning approach that allows us to harvest data from customer search logs and automatically tag events based upon their content. The results have allowed us to provide users with a better inventory browsing experience.
It never seems to be the right time to enter the sweet world of microservices. Each time you use "serverless" in a conversation, it dies right there near the water-cooler. How do you produce a POC, tests, a build, and proper security if your teammates can’t come along? In this talk you will learn to: build, debug, validate, test, secure, and deploy with a build pipeline using a Python framework.
Python is such a popular language for good reason: Its principles are strong. However, if Python is “the second-best language for everything”… that means the first-best is often chosen instead. Oh no! How can Pythonistas survive a project or workplace without our favorite language? Take a deep breath, because I’ll show you how to apply things that make Python great to other software spaces.
In today’s world of developing services we tend to move fast and with that comes mistakes. This talk will discuss using post-mortems to turn incidents into opportunities for improvement, instead of just an opportunity to assign blame.
Python has many built in magic functions that are used internally by classes for certain actions. For example, adding two numbers calls the
__add__ method and iterating over a list calls the
__iter__ method. I will expand on this Duck Typing principle and enumerate over a range of magic methods that you can add to your classes to have a cleaner codebase.
Mediocre Programmers? What is that? Shouldn't we want to be great programmers instead? In this talk we'll discuss what it means to be a mediocre programmer. We'll consider the many pitfalls that may befall you on your journey, from self-doubt to burnout, and share tips for how to cope with the challenges of programming and when it might be time to try something new.
Sphinx is a documentation generator used by the core Python documentation and numerous other projects in the Python ecosystem. Sphinx supports cross-references between documentation sets via its ‘intersphinx’ extension; however, proper configuration is not always straightforward, and cross-references can be finicky to craft correctly. This talk aims to demystify these riddles of intersphinx usage.
Docstrings are a common convention in Python programming, but their value may be taken for granted. In the absence of docstrings, schools of thought on writing effective code involve using many comments or using few if any comments. I will argue that docstrings improve upon these approaches, and then explore how they can positively impact encapsulation, testing, documentation, and design.
Have you ever struggled with finding ways to present data visualizations and/or results to non-technical audiences in a coherent and engaging manner? In this talk, I'll detail how I overcame such a challenge by using Dash to build an interactive app for firefighters to use during performance testing of their rescue equipment.
Matthew Brower, Krista Readout
Python and R are two of the most popular languages used for data analysis. They are often pitted against each other in pros and cons lists, where users feel forced to pick just one. Each has unique advantages, and it's now easier than ever to use them harmoniously. Python or R? Why not both?
Honeybee colonies throughout North America have declined precipitously due to parasites, pesticides, and poor nutrition over the past two decades. Monitoring hive health autonomously assists beekeeper efforts. We developed a model which automatically detects events in bee hive weight data assisting data collection efforts improving data quality for future machine learning models to be developed.
Taking lessons from adult learning theory and from examples of hundreds of bootcamp students, this talk will walk through what I have learned about accelerated adult learning and tell you the what and the why around techniques that you can use to more efficiently pick up your next technology in record time.
You might have overheard yet another acronym "gRPC" getting thrown when talking about a replacement of REST or when mentioning microservices. In this talk, we will be looking into what gRPC is, the reasons why you would use it, how you would use it with Python and talk about considerations for running gRPC services in production.
I love reading books, but I love lending them out even more! In order to keep track of my personal library, a daunting task indeed, I’ve employed Python, a Raspberry Pi, and an RFID reader. Take a tour through what it’s like working with hardware, Python, and putting it all together into a useful web application. This is a beginner friendly talk, so don’t worry if you’ve never worked with hardware