PyCon AU 2017
2017-08-03..2017-08-08
Melbourne, Australia
PyCon AU ·
[PyCon AU 2010, PyCon AU 2015 OpenStack Miniconf, PyCon AU 2016, PyCon AU 2016 Science and Data Miniconf, PyCon AU 2017, PyCon AU 2019, PyCon AU 2023, PyCon AU 2024, PyCon AU 2025, PyCon AU 2026]
| title | author | length |
|---|---|---|
| Tuning In with SDR & Python | Jim Mussared | 40m |
Demonstrates receiving and generating RF with Python using GNU Radio Companion to auto-generate Python flowgraphs and a HackRF front end sampling at 20 MS/s… | ||
| Loop better: a deeper look at iteration in Python | Trey Hunner | 28m |
Shows that a generator like squares gets exhausted (tuple(squares) produces the numbers but sum(squares) after that returns 0) and that testing membership can… | ||
| Oh, I Found a Security Issue | Markus Holtermann | 26m |
Explains Django’s end-to-end security workflow: report to security@djangoproject.com, private triage and reviewer validation, backported patches across four… | ||
| Offline Django with Service Workers | Raphael Merx | 25m |
A Django-backed mobile web app for Timor-Leste uses service workers inside webviews to serve patient lists and notifications offline, pre-caching JSON… | ||
| Using MicroPython in the wild | Damien George | 32m |
MicroPython runs on boards from pyboard and micro:bit to ESP8266/ESP32 and can execute in 8 kilobytes of RAM, providing a REPL, hardware modules (ujson… | ||
| Program all the things - How to develop IoT devices using MicroPython | Anna Gerber | 31m |
Builds a Wi‑Fi IoT pet using MicroPython on ESP8266 dev boards (Adafruit Feather Huzzah, Wemos D1 Mini, NodeMCU), a 12‑LED neopixel ring, SSD1306 OLED, button… | ||
| Python to the (Little) People: teaching 300,000 students Python through the DT Curriculum | Amanda Hogan | 49m |
A national program launches an Australian Computing Academy website 27 July with free, curriculum-aligned Python challenges for primary and Year 7 classes… | ||
| The Messaging of Things | Mike Leonard | 30m |
Compares payload sizes and protocols with concrete numbers: plain JSON drops to 35 bytes JSON after trimming but HTTP headers inflate a POST to ~112 bytes… | ||
| Building the next-generation Conversational AI with Python and Deep Learning | David Low Jia Wei | 33m |
Shows building QA and dialog systems in Python using deep learning with ParlAI (20+ tasks, Mechanical Turk integration) and SQuAD-style training; claims an… | ||
| MicroPython for ESP32 | Nick Moore | 25m |
MicroPython runs on ESP32 with a working Wi‑Fi stack and TCP sockets, hardware SPI and PWM added, three UARTs and NeoPixel control verified on an IO‑board with… | ||
| MicroPython Energy Monitoring | Joel Stanley | 31m |
Australia uses about 900 PJ (≈250 TWh) yearly and household bills hide timing so a DIY meter helps. Uses an ESP8266/ESP32 running MicroPython/CircuitPython on… | ||
| Reflections on the Use of Python and Pygame in Senior IT | Jim Lloyd | 30m |
School runs a three-week practical where five students (a class of five) build prototype arcade-style educational games using Python 3 and Pygame. Tasks… | ||
| Using Python For Creating Hardware To Record FOSS Conferences | Tim Ansell | 34m |
Built a production HDMI capture system that turns presenter video into a webcam stream and debug serial data, implemented as an HDMI-to-USB box using FPGA… | ||
| Teaching Object-Oriented Programming with Python | Bruce Fuda | 34m |
Shows how Python is used to teach objects by building an inventory system in a game with concrete classes Pack, Item, Weapon and Food, demonstrating… | ||
| Remote DNA Sequencing and Analysis; Nanopore sequencing, FPGA boards and a fortunate Epiphany | Alexis Lucattini | 32m |
Portable nanopore MinION sequencing gives long but noisy reads — basecalling sits near ~85% accuracy and recent yields reach ~8 Gb (roughly 2–3× human… | ||
| Learn You a PyTorch! | Kendrick Tan | 20m |
Demo builds a small feedforward net and trains it while showing the concrete PyTorch workflows: a 28x28 → 32 → 10 network defined as nn.Module, move-to-GPU… | ||
| Python in Primary School | Emily de la Pena | 26m |
A community program scales to over 20 schools and 400 students in 18 months, teaching Scratch then moving Year 5–6 to Python using trinket where installs are… | ||
| Software for the Murchison Widefield Array radio telescope | Andrew B. Williams | 30m |
A working end-to-end pipeline controls the Murchison Widefield Array: 16 desert receivers digitize tiles, FPGA polyphase filterbanks make 256 coarse channels… | ||
| Teaching MicroPython with the BBC micro:bit at NCSS | Jim Mussared, Nicky Ringland | 32m |
At a ten‑day NCSS residential course for about 100–120 students split into Python and embedded streams the organisers replace Arduino with micro:bit boards… | ||
| Finding Currajong - Fuzzy string searches in Python | Martin Schweitzer | 28m |
Built a small Python app that searches a cleaned Gazetteer of Australia (~80,000 place names) for mistyped place names like Kurrajong, comparing algorithms by… | ||
| Using Python in a Data Hackathon | Tennessee J Leeuwenburg | 28m |
Shows a practical weekend workflow: prebuilt Anaconda/Jupyter shell scripts to avoid setup fights, use SQLite for portable ingestion, and prefer binary… | ||
| Rapid GUI development for IOT systems | David Tulloh | 17m |
A working prototype shows a glowing orb controlled by a Banana Pi using infrared, GPIO buttons and a tiny web GUI, with the back end kept as a single state… | ||
| Multitenant applications: how and why | Filipe de Alencar Ximenes | 25m |
Compares three concrete multitenancy patterns with runnable Django code: customer_id in every table (single shared schema, simple queries but manual filtering… | ||
| Can they really do that? - You'll be amazed at what skills our future coders will bring to your team | Pip Cleaves | 47m |
Australia now mandates digital technologies from kindergarten through year 10 with mandatory general‑purpose programming in years 7–8, and classrooms use… | ||
| Python: Ludicrous mode (with Django) | Tyson Clugg | 28m |
Latency is primarily a function of distance, not CPU or bandwidth: examples show 36 GB via carrier pigeon — 20 minute RTT -> 30 minutes total and NBN 1 Mbps ->… | ||
| A Really Gentle Introduction to Asyncio | Gregory Saunders | 31m |
Explains why waiting for IO wastes CPU cycles (SSD latencies measured in milliseconds while CPUs run billions of cycles) and how Python uses async/await… | ||
| PEP 498: The Monologue | Mariatta Wijaya | 20m |
PEP 498 adds a one-letter prefix that lets literal strings include Python expressions in braces so you write f-strings or formatted string literals instead of… | ||
| hunter2: A Symphony of Password Horror | Lilly Ryan | 30m |
History of password failures: plain‑text files at MIT, a nuclear launch code set to eight zeros, and leaks of “password” and “123456” persist. Practical fixes… | ||
| iPad App Development with Python | Chris Robinson | 30m |
School uses Pythonista on iPads with a full Python 2/3 interpreter so students code entirely on device and deploy to the App Store under the school developer… | ||
| Horrors of Distributed Systems | Andrew Godwin | 29m |
Covers concrete failure modes like bit flips in SSDs and RAM (Google finds ~1 bit flip/GB every two hours on non‑ECC RAM) and networking limits… | ||
| Tracking Land Conversion with the Eye in the Sky | Byron Allen | 27m |
Project uses Landsat 8 images (2013–2015) exported from Google Earth Engine, processed with rasterio/numpy/pandas and an Enhanced Vegetation Index input… | ||
| Django & JavaScript: A long and complicated friendship | Jen Zajac | 40m |
JavaScript has been part of Django since a 2005 core commit of 1715 lines, and modern projects replace inline scripts with a decoupled front end: Django REST… | ||
| Red User, Blue User, MyUser, auth.User | Russell Keith-Magee | 30m |
Django 1.5 adds true custom user models: choose either AbstractBaseUser (password + last_login) or AbstractUser (full fields) and register it with the… | ||
| Programming, Python, and Student-Directed Projects | Edwin Griffin | 31m |
A high‑school program scales Python across a 600‑student Year 11 cohort using an LMS, weekly deadlines and automated feedback (CROC) so students self‑direct… | ||
| Visualising data with Python | Clare Sloggett | 30m |
Live demos use the NEISS injury dataset to compare libraries: matplotlib for low-level control and nicer defaults, Seaborn for quick aggregated static plots… | ||
| Teaching Python Online to Primary Students | Marg Meijers | 31m |
Gifted online Python and block courses run to about 40 Tasmanian schools, started in 1998 (Click and Play), moved to Scratch then to Python in 2015 after… | ||
| Bowerbirds of Technology: Architecture and Operations at Less-Than-Facebook Scale | Sam Kitajima-Kimbrel | 29m |
Argues against copying Google scale solutions and gives concrete tradeoffs: Uber builds an append-only sparse 3D hashmap (Bigtable-like) and sacrifices joins… | ||
| Learn by Doing: Getting Students into FOSS | Josh Simmons | 27m |
Programs pay students to do real work: Google Summer of Code funds four months of mentored development with a community bonding period, evaluations and… | ||
| Improving PySpark Performance: Spark performance beyond the JVM | Holden Karau | 30m |
Shows that Python Spark suffers from double serialization between Python and the JVM and that the fastest wins come from changing primitives and where work… | ||
| How Django helped us make a better conference website | Christopher Neugebauer | 29m |
Replaces an aging monolith called zookeeper with a Django-based stack that reuses existing apps: Wagtail CMS for editorial pages, django-wiki integrated into… | ||
| Syntax Hijacking: Genius or Evil? | Tennessee J Leeuwenburg | 29m |
Builds a small wizardry library (code on GitHub) that literally rebinds indexing and printing, implements fuzzy lookup using Levenshtein distance scaled into a… | ||
| Concurrency and Parallelism From The Ground Up | Amber Brown | 29m |
Covers how CPUs, interrupts and OS schedulers create 15–60 ms time slice quanta and why ticks (Windows 15.6 ms, Linux ~4 ms) matter for context switches; shows… | ||
| Harnessing the APIs you didn't know existed | Katie Bell | 28m |
Shows concrete API use: queries HaveIBeenPwned to check batches of emails, handles 404s and rate limits, and parses JSON with Python’s requests and json… | ||
| One Data Pipeline to Rule Them All | Sam Kitajima-Kimbrel | 31m |
Built a Kafka-backed event pipeline to replace N^2 point-to-point ETLs, moving all records through Apache Kafka with Avro schemas validated at produce time and… | ||
| Introduction to profiling python performance with USDT | Chris Miceli | 29m |
Adds Python 3.6 USDT probes into CPython and demonstrates capturing garbage-collection start/stop and function entry/exit, using BCC/eBPF and systemtap (DTrace… | ||
| Fighting the controls: madness and tragedy for programmers | Daniele Procida | 01h 08m |
Debugging itself tends to induce loss of situational awareness by trapping developers in short try-again cycles, and aviation supplies concrete remedies: Air… | ||
| Call a C API from Python becomes more enjoyable with CFFI | Jean-Sébastien Bevilacqua | 28m |
Claims that using CFFI cuts development and maintenance effort when wrapping low‑level C APIs: a hand‑written C binding for the VidCon graphics API takes 1.5… | ||
| Scaling Down: Running Large Sites Locally | Andrew Godwin | 28m |
A practical account of running a huge Django site locally by building an internal tool called Bay that layers on Docker, supports dev modes for live-mounting… | ||
| We're no strangers to VoIP: Building the National Rick Astley Hotline | Paul Fenwick | 33m |
A DIY VoIP system that starts as a static TwiML MP3 and grows into a serverless hotline using Twilio + AWS Lambda + Zappa, handling more than 1,000 inbound… | ||
| Analysing a TwitterBot using TextBlob, NLTK and Python | Lachlan Blackhall | 30m |
Downloads about 2600 tweets from the Magical Realism Bot, uses Tweepy, TextBlob and NLTK to POS-tag each tweet and build parts-of-speech sequences and per-tag… | ||
| Wordsmiths - Operational Transformation in Python | Dion Misic | 20m |
Open-source Python library implements operational transformation for text with concrete code on GitHub and a pip install wordsmiths package; it implements… | ||
| The Importance of Design: maybe the users aren't wrong? | Charelle Collett | 29m |
Argues that user mistakes usually signal bad design and links poor design to security and safety failures: password rules that cause sticky-note passwords, a… | ||
| Front-end integration testing with splinter | Nick Coghlan | 30m |
Demo project stores Python release dates and verifies a client-side DataTables view by driving a real browser and asserting rendered rows. Uses Splinter… | ||
| Organizing conferences for learners: How we made it work in Namibia | Jessica Upani | 30m |
Organizing a learner-focused conference in Namibia scales differently: funding comes from ticket sales plus grants from the Python Software Foundation and the… | ||
| Mocking: virtual reality for your Python tests | Raphael Merx | 26m |
Shows how to replace external SMS, API and filesystem calls with Python’s unittest.mock / mock objects, walks through using side_effect and return_value to… | ||
| Identity 2.0: the what, why and how of social and federated login | Fraser Tweedale | 01h 12m |
Authentication is risky and cumbersome so the talk argues for outsourcing it to external providers to reduce password breaches and user friction, and… | ||
| Automated Python Powered Turret | Isaac McClure, Hail Kim | 27m |
Python code ties OpenCV HOG+SVM person detection to two $18 Logitech webcams and an ORB + BFMatcher stereo pipeline to compute disparity and pick the closest… | ||
| The Business of Community | VM Brasseur | 32m |
Advocates a concrete plan with three parts: benefit‑cost‑implementation framework, clear goals and measurable success criteria, and slow, trust‑first… | ||
| Covered in Bees! Deploying an app to 6 platforms in 20 minutes | Russell Keith-Magee | 32m |
Claims a Python app is packaged and running natively on six platforms in under 17 minutes. Uses cookiecutter, virtualenv and pip to scaffold, Toga for a single… | ||
| GraphQL: how to make clients enjoy using your API | Tomasz Modrzyński | 31m |
GraphQL is presented as a gateway layer that turns dozens of client REST calls into a single request, tested on examples like auctions/users/avatars and a user… | ||
| How to write a container daemon in Python | Anthony Shaw | 29m |
Claims a working container daemon implemented in ~140 lines of Python that pulls Docker tar layers and extracts them into a unionfs root, uses subprocess… | ||
| How to handle abandoned projects, Take Two | Katie McLaughlin | 37m |
A practical, experience-led runthrough of what actually works when code becomes abandoned: explains that GitHub fork is not a real fork (issues disabled by… | ||
| Hot reloading Python web-servers at scale | Chenyang Wu | 29m |
Instagram implements uWSGI master-fork to spawn a new master that execs updated code and then handsover workers using cheaper mode and controlled FIFO… | ||
| What nobody tells you about documentation | Daniele Procida | 31m |
Claims that effective docs split into four kinds of documentation — tutorials, how‑to guides, reference, and discussions — and that each must be written and… | ||
| Passing the Baton: Succession planning for your project | VM Brasseur | 31m |
Argues succession planning as a skills pipeline, not just CEO backup, using concrete practices: inventory critical roles, list duties, refactor big roles into… | ||
| Lessons from building serverless services in bleeding edge python | Jack Skinner | 30m |
Builds Flask APIs deployed with Zappa + Lambda and API Gateway, handling authentication via JWTs but hitting a pycrypto syntax error because Zappa ships… | ||
| Python 3 for People Who Haven't Been Paying Attention | Christopher Neugebauer | 31m |
Python 3 is now practical for most projects: 2to3 failed as a universal porting tool so the community settles on a common subset plus the compatibility layer… | ||
| Gradual Typing in Python | Tom Manderson | 28m |
History of function annotations and PEP 484 leads to the typing module and three main checkers: mypy, PyCharm and Google’s PyType; stub files live in typeshed… | ||
| Unit Testing with Requests | Jamie Lennox | 30m |
A practical how-to: requests-mock gives real requests.Response objects (status, raise_for_status, cookies), matches by URL/method/headers or regex, supports… | ||
| State Machines | Clinton Roy | 25m |
Introduces using the automat library and its MethodicalMachine class to replace ad hoc if‑checks with explicit states and transitions, demonstrated by a… | ||
| Time is an illusion | Dave Collins | 29m |
Defines UTC vs TAI and UT1, shows the second is 9,192,631,770 cycles and notes 27 leap seconds added since 1972, demonstrates how NTP, GPS and Google’s… | ||
| Prototyping Python Microservices in Production | Justin Akers | 29m |
Prototypes use Thrift RPC + IDL for cross-language endpoints, keep the IDL with the service and generate runtimes, and measure everything with Prometheus… | ||
| Lightflow - A lightweight, distributed workflow system | Andreas Moll | 30m |
Lightflow is a lightweight Python DAG workflow system built to run per-file pipelines at the Australian Synchrotron, using NetworkX, Celery, Redis, MongoDB and… | ||
| Code Reviews Using Art Critique Principles | Stacy Morse | 30m |
Applies formal art-critique steps to code review: establish rules and mandatory participation, require a pre-review checklist that insists on run relevant… | ||
| Programming Lego Mindstorms robots with Python | Stoyan Shopov | 29m |
601-piece EV3 kit boots a Debian-based ev3dev image from a microSD so Python runs natively; connect over SSH or use a Jupyter notebook RPC to execute code… | ||
| Improving Your Documentation: A talk for developers who want to write stuff good | Charelle Collett | 28m |
Documentation requires three concrete ingredients: knowledge, communication, time. Follow four steps: decide why people come, plan content, make text clear… | ||
| Comprehensible Comprehensions | Trey Hunner | 29m |
Explains that list comprehensions are a concise tool for transforming one iterable into another and nothing else, shows how to copy/paste a for-loop into a… | ||
| Saturday PM Lightning Talks | Tim Ansell, Nicky Ringland, Jim Mussared, Clinton McKinnon, Josh Simmons, Paul Weipa, Tim Leslie, Nick Moore, Andrew Lonsdale, Tishampati Dhar, Rhydwyn McGuire, Josh Driver, Fraser Tweedale, Mike Leonard, Ned Letcher, Luke Deller | 01h 10m |
Seven-minute rapid-fire demos cover working microPython on FPGA (real hardware and QEMU, $50 boards), a national course with 10,000 students need tutors, a… | ||
| Secrets of a WSGI master. | Graham Dumpleton | 32m |
mod_wsgi is the WSGI bridge for Apache and the talk shows concrete commands and configs that make it practical: pip install mod_wsgi then mod_wsgi-express… | ||
| The Wizardry of Metaprogramming | Mike Leonard | 30m |
Explains how Python’s type is the default metaclass so classes are constructed dynamically, shows that metaclasses can override __new__/__init__ (Django’s… | ||
| Video recording conferences and user groups using Python | Ryan Verner | 31m |
Automated conference video pipeline that replaces slow SD‑card editing with live mixing, automated encoding and YouTube uploads; handles a four‑stream… | ||
| From PyPI to Production: Shipping Software Responsibly. | Thomi Richards | 31m |
Argues a concrete pipeline: build an app with snapcraft, produce snaps are immutable packages that mount read‑only filesystems, push to the Snap Store with… | ||
| Decoding the Frustrations and Vulnerabilities of Modern Text Processing | Evan Kohilas | 25m |
Covers concrete failure modes and fixes: Python 3 treats text as Unicode so printing raw bytes breaks common exploit payloads and the pragmatic fix is… | ||
| An introduction to nodepool | Joshua Hesketh | 28m |
Nodepool is a VM provisioning system that builds and uploads consistent disk images, boots and retires clouds VMs on demand, and hands them to CI via Gearman… | ||
| Let's Run Python on a Supercomputer! | David Perry | 33m |
Shows how plain Python scales on an HPC stack: JIT with Numba yields 30x with Numba on a single core, using multiprocessing across an 8-core node gives 6x on 8… | ||
| StarLAB: Developing a hardware based learning platform for students | Clinton McKinnon | 27m |
Space‑sized sensor board turned classroom rover with thermometer, IR, ambient light, UV, barometer, IMU and camera, programmable over school Wi‑Fi via a… | ||
| Python vs Punch Out | Greg Hahn | 33m |
Uses neat-python to evolve neural nets that play an NES Punch-Out!! ROM via an NES emulator and pykeyboard input, scoring networks by a custom fitness… | ||
| Messy Sensor Data: A Programmer’s Cleaning Guide | Xavier Ho | 30m |
Shows how to clean messy sensor weather data with runnable steps: use read_csv(sep, parse_dates, dayfirst, infer_datetime_format, na_values=['-']) to parse TSV… | ||
| Lightning Talks - Sunday | Sam Kitajima-Kimbrel, Jason King, Evan Kohilas, Russell Keith-McGee, William Brown, Allen Rueben, Malcolm Ramsay, Zac Hatfield-Dodds, Daniel McCarthy, Lilly Ryan, Jeremy Rothstein, Nick Moore, Katie Bell, Peter Hall | 59m |
A rapid fire set of practical outcomes and gotchas: a custom CI (Beekeeper + Waggle) runs Docker on AWS ECS and cuts project CI to about $30/month vs $700–$800… | ||
| When Do We Belong? | Aurynn Shaw | 35m |
Argues that status in tech is earned by displays of contempt culture not merit and shows concrete examples: historical pushback against PHP and Rails, the… | ||
| Don't Look Back in Anger: Wildman Whitehouse and the Great Failure of 1858 | Lilly Ryan | 32m |
1858 attempt to lay the first transatlantic telegraph cable builds a 3,000 km copper line insulated with gutta-percha insulation and weighing about one ton per… | ||
| Teaching Python: Adapting to Diversity | Margot Phillipps | 31m |
Advocacy led to formal New Zealand digital-technology standards and an after-school Datacom program that taught Python in eight schools across deciles, with… | ||
| Conference Closing | Richard Jones | 27m |
Conference wrap lists concrete logistics and wins: videos already on YouTube thanks to AV who uploads same-day recordings, the Sprints move to the Pavilion at… | ||
| nothing matches | ||