DevOops Opening
Education Open
Science, Data & Analytics Open
Opening Session
I consider myself relatively new to the open source world; my first open source contribution was in summer of 2016. Pretty soon I found myself being given commit rights to other people’s open source projects. Being a new open source maintainer brings a set of unique challenges that I was not fully prepared for. In this talk, I will share my journey and the things I’ve learned along the way, and some advice for other aspiring open source maintainers and contributors.
Cities have locked down and we have no idea when we’ll be able to host large outreach events in person again. How do we persevere with our mission to get girls involved with tech? Can we sustain the communities built up over years online and maintain impact and enjoyment?
In this moderated panel, we'll hear from three experienced data science practitioners on how issues of data privacy, algorithmic bias, and misaligned incentives play out in their professional lives, as well as their perspectives on how we can actively work towards more ethical AI.
Governments around the globe accept technology as a one-stop-shop solution promising the future socially, economically... nothing that can't be improved or solved with a tech unicorn! But what are the costs that come with embracing technology as the solution to every analogue issue? The COVID19 crisis has laid bare the challenges of public trust, confidence and expectations that individuals have of technology. In this session we will look at how a perfectly tailored technical solution can impact individual's rights and liberties; and discuss the design parameters to mitigate such impacts.
What exactly is contact tracing, and how can Bluetooth help to slow the spread of a pandemic? How can I balance my own privacy with communal health? Can a simple app actually make it safe to go back to the football?
Online Python programming course offered in response to a COVID-19 pandemic lockdown
It feels like it should be easy, but its not... you think, “it shouldn't take too long“, wrong again.
This talk is about some things you should think about/read about/know about as you dive into geospatial data. It will present some tools, videos, websites, etc, which might be useful as you forge your own path on the map of possibilities. Just an overall solid 25 minutes of geo-goodnes... with python!
The aim of this talk is to inspire you to cross over to the geospatial side of data if you have not already, to give you some pointers if you are on your way, and to make you laugh/sigh at all the stuff you have had to learn to be where you are if you have been at it for a while.
Biometrics are widely regarded by the public, and many developers, as heightened security. Their actual track record tells a very different story. Biometric technologies are systematically making the world a less safe place. We have an obligation to do something about that. And we can.
In this talk, you'll learn about the breathtaking range of biometrics being tracked and assessed. You'll learn about dangerously wrong conclusions being drawn. You'll learn about spurious underlying premises and untrustworthy training data, and widespread misuses that are determining life and death decisions in government, policing, and health monitoring.
Most importantly, you'll learn how to assess these technologies, and avoid contributing ito their development, misuse, and proliferation.
Before I went to uni - I had around 8 years of python experience, and so I thought learning C would be trivial, and was excited to move on from C back to python. However, it was much more difficult than I expected! There were areas in C that were super easy to grasp thanks to my python experience, but there were areas that were harder to grasp as a result of of my python experience...
Now I'm a tutor for the university teaching C! I now ask the question - is teaching C better than teaching Python for formal CS education?
This talk covers the devops for a data pipeline channeling images from a self-hosted Passive Rain Radar in Nairobi to WebApps, Mobile apps and bots in Twitter and WhatsApp. The idea was put together in a restaurant and hastily deployed by 2 engineers. It continues run (and to fail in weird ways) 6 months in. Shoestrings hold together a service with 1000's of users with around 70% uptime.
Data science and software engineering are getting more and more intertwined with each other. But what is the common grounds between the two? How do we define the boundaries of the two disciplines? This talk will discuss the role of python in terms of development process for software engineers working in a data science environment. We will also tackle the different aspects of software engineering in relation to working with a data science oriented team.
This presentation explores a year 12 Internet of Things project in which students had to design a maze-solving robot that could save victims from a hypothetical fire. The robot was built using Lego but using a Raspberry Pi micro-controller. The Raspberry Pi hosted a Flask web server that interacted with the robot and saved sensor data to an SQLite database. Students had to design and create all components of the project and create an effective web interface to the robot. Some students even enhanced their projects with a voice synthesizer and a Pi Cam to provide a live video stream.
Interactive notebooks, whether Jupyter, google colab, or others are fantastic for lots of things. A range of options to visualise results, advanced markdown use for communicating process and interpretation, and simple to learn for newbies. But they also get a bad rap for encouraging poor programming techniques which make notebook-code hard to reuse.
As a recent notebook-trained data science bootcamp grad, I’m excited to share what I’ve learned from my move into the real-world of organisational data about the strengths and challenges of notebooks. I’m not an evangelist for notebook lovers or loathers - just someone figuring out how to use tools to make things that work. Hopefully this talk will help you think through the choice to notebook or not more intentionally.
Streamlit is a framework that allows you to build interactive analytical apps very rapidly. It is gaining popularity among data scientists and analysts around the world as it helps them make a data dashboard in Python (you heard it right, no JS required :D) that is elegant and aesthetically pleasing.
The median time to discovery for a secret key leaked to GitHub is 20 seconds. By the time you realise your mistake and rotate your secrets, it could be too late. In this talk, we'll look at some techniques for secret management which won't disrupt your workflow, while keeping your services safe.
Much of our Science, Technology, Engineering, and Maths education starts from a foundation of facts and known answers. This teaches our kids that the point of STEM is to Get The RIght Answer, whereas the best thing about STEM disciplines is actually fixing things and solving problems. In this talk I will show how ADSEI is dedicated to raising Heretics, and why Heresy is something we desperately need right now, both in the Data Science industry and the world as a whole.
This talk delves into the psychology of shadow IT, the opportunities that can grow out of the corporate underground, and how to get these systems out of the shadows and into the light.
The magic of floating point numbers sometimes bursts. The results are a wall of NaNs, Infs, and other errors, followed by frustrating debugging. We will explore the reasons for floats’ inconvenient behaviour, and ways for avoiding it.
System Packages, pip install --user, virtualenv and conda. We have never had so many ways to install python packages, and yet it is becoming increasingly hard to tell exactly where all the packages you depend on are coming from and even harder to reproduce the same package setup twice.
In this talk we'll learn how Nix package manager can provide a complete dependency management solution for python projects. Setting up isolated, reproducible development and build environments can be easy and fun, and can even directly generate incredibly svelte docker images with ease.
The talk begins with introduction to deception technology, deception types and methods, deceptive security life cycle. In this talk, we will demonstrate the following deception tools implemented using python language:
• WebTrap (https://github.com/IllusiveNetworks-Labs/WebTrap): is designed to create deceptive webpages to deceive and redirect attackers away from real websites. The deceptive webpages are generated by cloning real websites, specifically their login pages.
• DemonHunter (https://github.com/RevengeComing/DemonHunter): is a distributed low interaction honeypot with Agent/Master design
Finally, we will conclude the talk with how built a deception tool and demonstrate its working. We will demonstrate how our count-based validation technique combined with the LSTM machine learning algorithm was used to protect from XPath injection attacks. We will also demonstrate how deceiving attackers can be an effective strategy in protecting resources.
Excel is used a lot in businesses and other spheres; however, sometimes data in Excel can be untidy and hard to extract data from. This talk will show you how to extract data from spreadsheets using Python.
How can we create environments for students to learn programming skills that allow them to thrive without overwhelming them?
Have you ever clicked the 💎 FREE GEMS 💎 button and been served an ad, only to find you're now trialing a game?
Come along and learn what those ads really are (and how we can use Python to remove them, all while still keeping your precious gems! 💎😉 )
Asynchronous Celery tasks that manipulate a MySQL/Galera database from a Django application can produce very interesting behavior when HAProxy is involved. This talk discusses these issues, and proposes remedies available to both application developers and infrastructure operators.
This talk introduces dask-image, a python library for distributed image processing. Targeted towards applications involving large array data too big to fit in memory, dask-image is built on top of numpy, scipy, and dask allowing easy scalability and portability from your laptop to the supercomputing cluster. It is of broad interest for a diverse range of data analysis applications such as video/streaming data, computer vision, and scientific fields including astronomy, microscopy and geosciences. We will provide a general overview of the dask-image library, then discuss mixing and matching with your own custom functions, and present a practical case study of a python image processing pipeline.
We live in a world of technology. Unfortunately, the software we build has bugs and sometimes vulnerabilities that cause headaches and haunt us at night. It is on us as engineers to not make security issues in the first place. But it is on everybody involved to provide support when an issue exists.
The number of machine learning algorithms available and the options presented for their configuration presents a bewildering array of choices. This talk will discuss strategies and algorithms for making these choices in a principled way.
I have a side project. It's a web app. It got popular. Uh-oh.
Track Close
Education Close
DjangoCon AU Open
Internet companies collect staggering quantities of data about us - both with and without our knowledge. Thanks to Europe's GDPR legislation most companies now let you export your data back out again. But what can you do with it? I'll show how to use the powerful combination of SQLite and Datasette to take control of your digital life and build a private data warehouse for your own personal analytics.
A story of a construction project manager who fell into the deep world of Django and Python
Have you ever heard “You have to be this tall to operate a mobile phone?”. Programming for diversity serves as an unquestionable indicator that your software embraces and cares about your users’ safety and comfort. Join me on a thought-provoking look at how you can program with Python for Accessibility.
Have you ever developed a novel Machine learning model or application just to wait for this to be put in production - sometimes days, weeks or even months? This talk will focus on MLOps and how you can adopt these practises no matter the size of your team to enhance your idea to production workflows.
Are you working on Machine Learning or Data Science? Have you ever thought: "I am sure this could be automated. Or at least I could be optimising my workflows to make them more efficient but I do not want to do DevOps? If so this talk is for you, we will cover some MLOps tools and approaches to help you make better use of your resources while automating your Data Science workflows and their robustness.
In 2017 I came one keypress from causing Google's main backbone to largely fall off the Internet. This is the story of how we used that incident as a learning opportunity, how a lack of buy-in hindered further improvements, and how an existing toolkit of python libraries allowed testing and validation tools to be quickly built, preventing any chance of a recurrence.
DevOops Close
Maps can help you tell amazing stories with your data and a lot of datasets we come across have a location component in them. Leveraging location data to create beautiful maps was once a daunting endeavor done only by cartographers with artistic skills but now with a pinch of python and some open-source help we can easily create interactive maps with our data
GeoDataframes are awesome for working with GIS data in Python as it provides the goodness of pandas for geographic data, So let's use them to create some cool interactive maps
Django 3.1 has asynchronous views - but the next step is to put asynchronous support right into the beating heart of Django, its ORM. Learn the challenges of asynchronous API design in Python, how threading is crucial even in an async world, and what it takes to teach this ORM dog new tricks.
Who in their right mind would pick Django -in 2020- to develop a software as a service? Who would even go as far as using PostgreSQL schemas for doing multi-tenancy? Well, according to the star count of some GitHub repositories on the topic, many! In this talk, we'll cover the major challenges of doing multi-tenancy in Django through PostgreSQL schemas. Come along to discover whether all those people are wrong (or not), and whether you'd be de facto wrong (or not) for taking this path.
There exists some beautiful mathematical models of economies and disease that offer insights, for instance, into how our economies can crash. Traditionally, exploring these models have involved a lot of specialist mathematical programming. Here we showcase a small python framework that simplifies the programming of these kinds of models by leveraging python libraries such as dash and scipy. The framework exposes a built-in UI that allows an interactive exploration of how economies might collapse, or diseases break out into epidemics.
This talk contains discussion of epidemiological modelling of COVID-19, and of measures of violence in a nation state.
DjangoCon AU Close
Science, Data & Analytics Close
Everything you need to know about PyConline.
This year has felt like we fell into a strange land, full of new rules, new dangers, things the wrong size. But unlike Alice on her trip through the looking glass, we have company, and we have community.
Python, more than any other programming language I can think of, is full of people who identify themselves as part of a community, and we can use that identity to accomplish so much. What is the "style guide" of a Pythonista, how are they equipped, what do they see when they look in a mirror? Who are you going to be this year?
Headless Wagtail + GatsbyJS Progressive Web App Generator - in the style of modern static site generations, pre-fetched to provide a speed and performance. Can I build something really cool, quickly? We have the power of two of the most popular frameworks, proven to scale with some of the largest software products in the world.
The Zen of Python, the well known list of 20 Python aphorisms (of which only 19 are written down), contains a lot of prescriptive advice for what makes "Good" Python code… or it would, if one of them didn't give you permission to ignore the rest of them.
Focusing on one piece of the 19 aphorisms, this talk explores the contradictions in the Zen of Python's advice, and how even with prescriptive rules, writing "Good" Python remains a subjective exercise.
Staircase is a new python package on the data analysis scene, providing a framework built around the notion of step-functions. A rich variety of methods, which follow from the algebra of functions, including arithmetic operations, relational operations, logical operations allow for sophisticated analysis which may otherwise prove challenging or time consuming. In addition, the package provides functionality for univariate analysis, aggregations and compatibility with pandas.Timestamp.
The Python Global Interpreter Lock is an eternal monster under the bed of developers, but it doesn't need to be. This talk will teach you how to take the GIL into account when deploying and scaling Python applications in containers: what it means for ops teams, how to design a good Python deployment, and how to ensure it isn't negatively impacting your systems.
With data-science teams increasingly requiring domain knowledge, transforming a group of domain specific engineers into a functioning data-science team can be a challenge. In this talk we will explore how a team of engineers moved from a tangled MATLAB codebase to a functioning Python data-analysis pipeline, and some of the lessons learned along the way.
It’s a Friday night and you’re really hitting it off with the customer service assistant that has popped up in the right hand corner chat window of your web browser. But are they real, or a chatbot? How do you tell?
Are your Docker builds taking forever? Let’s look at high-level approaches and easy to implement tricks to speed up your build and protect your coding flow from annoying delays.
Very often we in our daily usage of Python, we face errors related to $PATH, $PYTHONPATH, or other import related errors. A clear understanding of the import system helps us to fix these errors properly, and build extensions on top of the import system.
This talk follows this template to explain what goes on in the background when you execute from spam import ham
, or any other import statement. Additionally, it discusses import hooks(PEP-302) and how to use them.
Developing a new deep learning model requires a large amount of data to be collected and annotated. While the process of data collection can be expedited by making use of publicly available data, it can be time consuming to annotate and label the large amounts of data needed to train a high accuracy model.
Annotation tools for audio data, especially speech data, are currently very limited. This talk explores the development of a tool that takes a novel ‘semi-automated’ approach to speech audio annotation. This new approach streamlines the normally monotonous process of manual annotation, by creating a modular system and graphical interface. It combines manual human annotation with automated annotation that leverages a mixture of technologies, including pre-trained models, existing speech-recognition APIs, and model training-inference loops.
The talk will discuss the concepts and building blocks of such a semi-automated pipeline for data annotation. A live demo of the annotation interface will be shown.
What are GitHub Actions? Why should I use them? How can I make them?
Tests can be helpful: they can find bugs in new code, check for regressions in old code, and clarify precisely what the code is meant to do. On the other hand, writing tests is often tedious - and it's rare to think of an error when testing that you forgot when writing the code.
My solution? Use tools that write tests for you!
Whether you're a novice Pythonista or gnarled wizard, this talk about property-based fuzzing and code introspection will educate, entertain, and help take your testing to the next level.
As programmers we believe that the true nature of code exists in a text file. A good programmer can construct the magic sequence of characters in their head and their fingers blur as they stream line after line of code into the keyboard without error.
Is this reality? Not even close. There are many problems with representing and editing code in text and we're so used to them just we don't see it.
Software testing can be difficult, complicated and frustrating. In this presentation I will talk about some of the reasons why, and more importantly what we might do to make it easier, simpler and perhaps even satisfying. This talk is for beginners and experienced developers.
In this talk, we will deep dive into the world of Medical Imaging and Radiology, in particular. We will soar through the mighty oceans of various kinds of diseases and limitations of AI with the prevalent Deep Learning architectures which are at our disposal. At this point, we will also delve into the progress that has been made in the domain of integrative healthcare which is the amalgamation of AI and Medicine (and, pathology).
Most of us have written python programs. Many have written modules. Some have packaged and uploaded them to servers for distribution. And a significant portion of these packages could be made better.
I propose a talk expressing the need for these tools and the advantage of using them with a toy python program for Nim.
Approximately 20% of the world's population has some form of disability. Despite this, the vast majority of software isn't fully accessible. Making your systems readily usable for everyone is a complex process. Using good design principles and following the WCAG standards is a starting point, but how can you be sure that you're meeting the guidelines? And what if your users have access issues that aren't covered by the standards?
In this talk, we'll learn how to meet a variety of accessibility requirements by breaking down a series of real-world case studies. We'll look at why it's important to evaluate the accessibility of your software, what goes wrong when assessments don't happen, and how to apply these lessons to design systems that work for everyone.
In games development and computer graphics, one is sometimes limited when designing assets such as textures, models and level designs by hand. An entirely handcrafted game is limited in content to that which the creator specifically put in. Procedural generation remedies this by using a combination of algorithms and stochastic aspects to programmatically certain kind of data, in this case terrain and game assets, in quantities beyond that which would be possible to design manually
This talk will cover the process of procedurally generating a landscape using open-simplex noise and adding realism using simulated erosion.
You may know dunder init (__init__
), but how well do you know about other Python “magic” functions? Why are dunder functions not accessible? in this talk, I am going to show you the secrets of the Dunder functions and what purposes they have. Once the mystery is solved, we will see the beauty of those functions.
By 2025, there will be over 8 billion voice assistants in use. Speech recognition, chatbots, virtual assistants and smart speakers are all types of voice assistant. But as with many other technologies, issues of bias in the intent, design, execution and evolution of voice assistants are evident.
Many voice assistants today fail to accurately recognise speakers who have accents, or who speak lesser-known languages. Synthesised voices represent well known languages only. There are a range of reasons for this - the under-representation of minorities in technology, commercial drivers and under-resourced languages.This talk will take the audience on a tour of these issues, highlighting the open source efforts in the field that provide opportunities to redress this state of affairs.
This talk will be an introduction and overview of these Graph databases that are so hot right now, and how you can drive them using python.
Writing good code is hard, especially if the codebase is large. This talk discusses tips and tricks for writing code that is not only easier to maintain, but will also be easier for other people to learn.
In late 2019, my city, City of Whittlesea, Victoria, sought works by local artists on the theme of "SOS Climate Change”.
My submission, "Natural Sequence or Fabricated" won the "People's Choice Award" and uses MicroPython-powered microcontrollers to create a dynamic sculpture on the theme.
This talk will take the attendees through solving the problems encountered in building the sculpture.
This talk introduces the simple concepts of Lambda calculus with hands-on implementation of the application of the Lambda function with Python. This talk will be helpful to students with background equivalent to undergraduate degrees in mathematics or computer science.
List comprehensions, decorators and white space are some of the well-known killer features of Python. But what about the humble queue? They're elegant, have a wide variety of uses and help you to avoid a large class of programming errors. We live in an asynchronous world with many things going on at the same time. Queues help us manage that complexity. In this talk, we explain some of the super powers of queues and how you can use them to turbocharge your next project.
How well do you think you understand time? All kinds of things in our lives rely on having at least a basic understanding of how "time" works. But sometimes you need more than just a basic understanding... so come with me on a brief tour of time.
Wearable technology isn't all fancy smart devices with AR and IoT, come learn how you can transform own garments into an eTextiles project with the Circuit Playground Express and Circuit Python.
At some point, every engineer has to decide whether to write tests or ship the feature and move on. Testing code that uses S3 is often overlooked. But think of all the important things your application uses S3 for! Metadata storage, logs, and static file hosting, to name a few.
Testing code that uses S3 is really easy. This talk goes over three ways to test S3 and leaves you with code examples that you can take to your next project.
We're used to thinking of source code as text, and thinking of "coding" as
manipulating source files with text editors, but there are other ways to
think about programming.
What assumptions from 50 years ago are holding us back today?
One of the most important but overlooked aspects of developing a Machine learning model is how the categorical variables have been encoded or represented to the underlying predictive algorithm.An expertise in ability to handle categorical variables can some times be more powerful than using the state of the art Machine learning models.We will learn some of the best methodologies in the Industry for handling categorical data and will also discuss some quick intuitions on when to try what.
In this talk, a math equation will be given as a benchmark. Instead of optimizing it with Cython (painful and unpythonic), I will give three Pythonic solutions to accelerate NumPy. At the end, the pros and cons of three solutions will be given as well as some recommendations based on my experience.
We built a system for deploying, managing and monitoring hundreds of Internet-of-Things devices in a museum; let us show you why & how.
Command-line applications and interfaces are used by both newcomers and experienced Python developers everyday. But do you know how they came to be? Hop on to this ship as we go through the CLI galaxy and look at its history, explore the CLI anatomy and discover some Python packages that can help us create them. We’ll then emulate one of the most popular CLIs of our time by writing our own CLI using Click, and see how we can package it and publish it on PyPI. Are you ready to travel faster-than-light using this ship’s Infinite Improbability Drive? Carry your towel!
Our organization, Environmental Data & Governance Initiative, created a series of Jupyter Notebooks that allow for customizable reports on emissions, inspections, compliance, and enforcement data stored in the US Environmental Protection Agency (EPA)’s Enforcement and Compliance History Online (ECHO) database. ECHO includes compliance data on air, water, and hazardous waste laws for all facilities. Data should serve communities and not just corporate polluters. Communities should be able to have more resources for collecting and analysing environmental data while retaining the power to decide what they can do with their data. We wrote code using GeoPandas, NumPy, MatPlotLib, and Seaborn libraries to generate reports based on the data. Users simply run the notebook to generate a report for their area of interest. We have Notebooks set up to generate several different types of reports: analyzing inspections, violations, enforcement actions, and greenhouse gas emissions by zip-code, congressional district, or watershed; or investigating a company, location, or facility of concern across regulatory statutes. The data visualizations also explore environmental racism -- the disproportionate impact of environmental hazards on people of color. By making environmental compliance data more accessible and pliable through our Jupyter Notebooks, and supplementing the numbers with storytelling, data visualization, and socio-political contextualization, we highlight the chronic issue of industrial violations, the state enforcement activities in areas of interest to our partners, unaddressed inadequacies of legal emissions standards in protecting public health, and levers of political action and collaboration available to address these issues. The goal of this project is to use the power of Jupyter Notebooks to visualize publicly available data in a way that encourages folks to hold the government and industries accountable.
You know what happens inside your test functions, but what machinery operates around that to put the dots (or E's and F's!) on your screen? This talk will open up the internals of Django's test framework and describe the various steps of the test process, and some examples of customzing it.
All professionals possess some measure of expertise, and not only is this expertise useful, it is usually also necessary to do the job. In general, this expertise is viewed as a good thing.
But what if there is an issue with expertise? Is expertise always a good thing?
We'll wrap up and tell you all about what's in store for tomorrow and next year.
Did you see something AMAZING at PyConline that you really want to tell your opinions about? Have a cool project that you want to share with the world? Can you rant for 5 minutes about the history of hardware shop consolidation (please don’t do this) in New South Wales in the 20th century? Then we have just the opportunity for you!
MarioKart 8 Deluxe tournament
Drop into the #jackbox channel. We'll play some Jackbox Games. Group sizes vary with games, but audiences can participate in most games.
Games will be family friendly versions of those offered in Jackbox Quintpack. You do not need those games to play, just a device with an internet connection.
Join along with, or just watch, members of the community as they create and decorate Python things. Could be art! Could be cake! Could be lego! It could be a massive laser installation that projects the curly boi sign! Let’s get together and make something with our hands.
MarioKart 8 Deluxe tournament
Rube Codeberg
Would you like to visit new islands abroad? Expand your list of ACNH-playing friends? Maybe just share stories about your experiences? The ACNH channel is here for you. You can create smaller, ad-hoc meetups throughout the day, or join us at 5PM for a more coordinated island-hopping tour as a relaxing way to cap-off the day.