It's no secret Python's `pickle` module is unsafe. It's also very popular, especially in the scientific Python community. Many of its users actually have pretty good reasons to use it, so just telling them not to isn't very helpful. This talk explores how Pickles are unsafe, advanced exploitation techniques, and how we can make Pickles safer without giving up on its useful properties.
Have you ever wanted to teach a room full of students or your colleagues? It
turns out that it is difficult to setup the infrastructure needed to deliver source code
and documentation and then assess submissions! Suitable for full-time educators
and industrialists who instruct their colleagues, this talk explains how you can teach
programming using GitHub Classroom, Travis CI, and Python.
Regular expressions are used to define search patterns. Python provides regular expressions via the built in ‘re’ module, but they are hard to read, write, and understand. This talk will give you two tools conquer regex’s, a mental model, (demonstrated with props), of how they work, and a mini-language, “Simple Regex Language”, to create readable regex’s that easily translate into Python regex's.
There is a lot of hype around machine learning, but completing a project at work seems to be much harder than what online tutorials had advertised. In this talk, I will provide a few tips for different stages of a machine learning project like recognizing pitfalls, that I wished I knew when first navigating through my projects as a junior in the field.
My father is dying. He has ALS (Amyotrophic Lateral Sclerosis), of which there is no cure. Feeling powerless in the face of disease, I set out to do what I could: Build tech to ease his suffering, to help him feel more connected with his loved ones, and to share what I'm building for free. This is my story.
Web accessibility is important - about 1 in 5 people in the United States have some kind of disability, and not including them limits your reach. But once you've heard about the basics, how do you get started? In this talk, I'll walk you through the process of finding issues in your site, and discuss processes to fix them.
So you wrote a bunch of great unit tests but your site is still broken? Maybe it’s time to start investing in a suite of end-to-end regression tests. In this talk we'll explore practical examples of developing automated tests using Selenium (via Splinter) and exploratory testing using Jupyter sessions.
Earlier this year, in the spring of 2018, I bought a printer made in the late 80's in the parking lot of a Rax Roast Beef restaurant for $20. This started a nostalgic journey assisted by NumPy matrix slices and a can of WD-40. This talk will cover how I used Python to overcome three decades of history to get it printing again.
Python is a great asset to have in a developer's toolkit of languages. Although considered a scripting language, Python can create graphical user interfaces (GUIs) for your applications. GUI controls can be laid out programmatically or organized using a rapid application development (RAD) tool such as Glade. Come see how to build GUIs with Python and Glade.
BuzzFeed identified a need for Twitter to scrape our metadata more frequently, and worked with Twitter to build a new API that is currently in beta testing. In this talk I will go through the process of building a "Twitter Scraper" that accesses this new API. I will highlight various challenges encountered along the way, and show how I ultimately solved these problems.
I'd like to give a talk on the SymPy. It's probably the least well-known of the SciPy packages (so it's time to show it some love). It's a symbolic computation/Computer Algebra system in the same vein as Mathematica or Maple.
_I came for the language, but I stayed for the Community_ --Brett Cannon, Pycon 2014
Why? What draws us to community?
What makes a great Community?
How do we contribute?
I'll share some insights, some science, and some surprisingly
broad principles. I'll share what contributes, what parts are
similar to coding practices, and some ways you can contribute
to a great Community feeling.
If you've ever seen a talk on containers or Docker, it usually goes something like this: A "hello world" app is deployed and massively scaled up using some kind of magic framework or API. Nothing short of a magic trick, we usually feel impressed but have no idea what just happened. This talk is an intro to containers as explained by a Python dev for Python devs, without the magic tricks.
Attendees will see concepts for conversational interfaces used to create chatbots, and python libraries and code used to create them. Conversational interfaces are increasingly becoming a preferred way for users to engage with information, offering a more personalized user experience. The ability to understand user’s intent and take action makes it a good match for AI.
This talk covers the intersection of hardware, software, peanuts and cracker jacks. I'll share how I built an IoT baseball scoreboard using readily available hardware and software written in Python. I hope anyone who attends this talk will be entertained, learn some new things and leave feeling empowered to make their own IoT (field of) dreams come true.
We often build multiple websites and applications that share the same styles across multiple code bases (style guides/pattern libraries). Maintaining these styles becomes quite a task, and causes increasing frustration overtime. Fortunately it doesn’t have to be this way, and in this talk for designers and engineers, we’ll discuss how.
Many Python projects use Sphinx for documentation, so much so that Sphinx is like Python’s secret weapon. It’s a powerful, mature system for generating static content -- not just docs, but blogs and regular websites.
Sphinx can also be customized and extended in various ways, and here the trip gets wild and wooly. This talk takes a look at themes and extensions.
This talk is intended to be an introduction to implementing static typing into your python code. I will present information on how to implement static typing into new and existing code bases. Talk about the reasons why someone would want to implement static types and why I was against it only one year ago.
In this talk we'll take a look at how to cut down on the boilerplate required in making a well-behaved Python class. We'll first see how to make classes with proper string representations, comparability, iterability, and immutability. Then we'll dive into helper tools built-in to the standard library and available in third-party libraries.
Some have never automated tests and can’t check themselves before they wreck themselves. Others have 1000s of tests that are flaky, duplicative, and slow. Wa-do-we-do? GOOD testing is hard but not impossible. Start with proven advice from this talk!
As technology improves at a rapid rate, experimentation in the ways in which people interact with machines and computers becomes more significant. Most tools for communication are limiting as they only interact with a user on a basic level, usually on a two-dimensional plane. However, by taking advantage of new technology new interfaces can be designed in order to better interact with machines.
Constructive feedback can be difficult to receive gracefully and even harder to give effectively. In this session, we’ll discuss why peer-to-peer feedback is necessary for a healthy team dynamic, introduce techniques for sharing feedback with team members, and work through example scenarios.
Passwords suck. They're often weak and reused, making them one of the least secure parts of web applications. This is such a problem that entire industries of password managers and two-factor authentication products have popped up as extra layers of security. To really address this issue and make our users and products more secure, we need a more fundamental change.
We all have workflows in our daily lives. From simple ones in our personal lives, to terribly complex ones in our daily work, we could all benefit from automating these workflows. Airflow is the mechanism with which we can do this. In this talk, we will explore what Airflow is, and how we can leverage it to automate some of the tedium out of our daily lives.
I’m nine years old, and I want to be a video game developer. I learned about coding by watching my dad and asking questions. To me coding is like a “sport” and I think lots of kids would like to code if they had a chance to learn and build things. I’d like to tell you how I got started, and show some of the projects I’ve built. Then you can have ideas on how to help other kids get started.
Python 2 will no longer be supported past 2020, yet many organizations still haven't made the switch to Python 3. This talk is for anyone facing a 2-to-3 migration that they'd like to feel more confident about. Attendees will leave with the outline of a migration plan, some suggested focus areas, a knowledge of helpful tools, and links to resources they can use after the talk.
This talk will identify the key tools one might encounter when trying to distribute Python software, what they are used for, why they exist, and their history (including where their weird names come from). In addition, we'll see how they all work together, what it takes to make them work, and what the future has in store for Python packaging.
New product discovery is an established activity within brick-and-mortar grocery stores, but is still ripe for experimentation within an online setting. In this talk, we discuss a customer-level product recommendation system we developed for the Kroger Company, using Python, Apache Spark, and Apache Airflow.
Games make an excellent hack space for learning computer science topics, but they have their own language you’ll want to learn. Learn what an application loop is and how they look in practice. Get a crash course in 2d computer graphics. See a handful of examples of how to build games with multiple transitions. See a handful of anti-patterns. Get a quick summary of the game libraries.
We Pythonistas welcome newcomers with the wisdom of Tim Peter's "import this". The Zen of Python gives us general aphorisms on how to write Python and how to be a good Pythonista by offering loose guidelines that promotes discussion. What lessons can it teach us about Data Ethics? As data practitioners Now is Better than Never to define what our community will and won't do as it comes to data.
11:40 a.m.–12:30 p.m.
Cartoon 1, Cartoon 2
Memory use in long running processes is one of those problems that is a non-issue... until you've completely run out of memory. Now that you have hit the proverbial brick wall, how do you recover? In this talk, you'll learn about: memory profiling tools, utilizing Elasticsearch to track memory use on a live system, memory management of tiny objects, and other insights along the way.
Python, and more specifically, Jupyter Notebooks enable data analysis workflows to be reproducible without very much overhead. This talk will discuss how to use Jupyter Notebooks and the python ecosystem to incrementally improve the reproducibility, efficiency, and depth of your existing analysis workflow.
The developer hiring process is vulnerable. Let’s attack it!
We’ll draw on both the computer security penetration testing toolkit and from lessons learned the hard way across my decade of startup hiring. We'll break down the typical developer interview process. Then, we'll use the lens of social engineering and cognitive bias to identify specific tactics for acing interviews.
In this talk, we will engage in imaginative play with the python language by deliberately misusing the python special methods (dunders) to construct objects with very odd behavior. While such objects may be unsuitable for any "serious" programming, having fun observing their behavior can help to provide a much richer understanding of the python language and interpreter.
Serverless architectures are all the rage right now, but why? The cost savings? The developer story? Because it's shiny and new?
In this talk I will start with a basic Flask App and show the process of migrating to a serverless architecture on AWS using the Serverless framework. Along the way, we'll also highlight some of the tradeoffs developers make when choosing a serverless architecture.
This talk explores mentoring a FIRST FRC Robotics Team.
- FIRST stands for For Inspiration and Recognition of Science and Technology.
- FRC = FIRST Robotics Challenge
Specifically it gives an overview of using Python to teach students how to integrate Computer Vision capabilities into our FRC robot. Along the way we touch on all the juicy technical details.
Trustworthy results require reproducibility. Publishing code is necessary but not sufficient for complete reproducibility. Complex programs often depend on external code. This talk will introduce you to several ways to manage your software dependencies and data to pass reproducible software environments to peer-reviewers.
Cloud functions -- or "Serverless" -- allows you to put functions into play without the typical deployment effort. While the major cloud providers have their own FaaS, OpenWhisk -- an open source solution -- allows you to run function on any cloud, including on premises. Come see how you can run Python functions on your own terms.
The brilliantly conceived and executed Raspberry Pi platform is a wonderful tool for developing simple, cost effective, self-contained sensor-driven applications using Python, Flask and a little bit of ingenuity. This presentation is aimed at beginning to mid-level hobbyist with modest python skills or serious python programmers interested in hydroponics sensors.
Speaking English alone won't make you a journalist or author. The same is true of Python and becoming a professional developer or open source contributor. Many people are 'learning to code' to switch careers, but overlooking the other skills they'll need.
New developers will learn the when, why, and how of those other skills, while experienced devs can use this as a roadmap for mentoring.
You've just been given a task by your client. The problem seems simple at first, but after some research you find out that your problem is not just hard, it's NP-Hard! At first, a solution appears impossible but you're not to be stopped! You're a programmer! You got this! You have the Python! But... now what? How do you solve it?
Until recently, I was still writing Python command-line tools like it's the mid-00s. In this talk, you'll learn about the tools I found to modernize development, installation, and isolation as well as the libraries that make building CLIs and working with the OS easy. We'll cover Pipenv and how best to use it with setuptools, as well as Click and other libraries useful for this task.
Have you ever looked up at the sky and wondered if the International Space Station was flying by at that moment? In this live coding adventure we will cover the basics of scheduling tasks with RQ in Django by building a web app that sends you text message notifications whenever the ISS passes by your location. Technologies covered will be the ISS Open Notify API, Twilio SMS, RQ, and RQ Scheduler.
Python has quickly become THE language for network automation and programmability due to it’s combined simplicity and power. If you are a network engineer looking to get started with automation and Python, it can be tough to now where to start. This session proposes the modules and libraries every engineer should have in their tool bag.
When I started learning web dev, I dove into building my first Rails app. I didn’t know how it all worked, but after hours of hacking I had a blogging app running. I imagine many share a similar learning experience. Similarly, you don’t need a PhD to do deep learning, you can get started with Python skills and open-source frameworks. It can be fun and rewarding, and inspire you to dive deeper.