<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>PyVideo.org - Python</title><link href="https://pyvideo.org/" rel="alternate"></link><link href="https://pyvideo.org/feeds/tag_python.atom.xml" rel="self"></link><id>https://pyvideo.org/</id><updated>2025-05-16T00:00:00+00:00</updated><subtitle></subtitle><entry><title>A Python Takeover</title><link href="https://pyvideo.org/europython-2011/a-python-takeover.html" rel="alternate"></link><published>2011-07-24T00:00:00+00:00</published><updated>2011-07-24T00:00:00+00:00</updated><author><name>Mark Ramm-Christensen</name></author><id>tag:pyvideo.org,2011-07-24:/europython-2011/a-python-takeover.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Mark Ramm-Christensen - 23 June 2011 in &amp;quot;Track
Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Two years ago I started working on SourceForge with a couple of python
developers. Back then the site was written in PHP and was in some ways
buried in technical debt. Everything is different today, we have a …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Mark Ramm-Christensen - 23 June 2011 in &amp;quot;Track
Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Two years ago I started working on SourceForge with a couple of python
developers. Back then the site was written in PHP and was in some ways
buried in technical debt. Everything is different today, we have a
complete set of tools for Ticket tracking, Wiki documents, Git,
Mercurial, Subversion, and IRC - all written in Python, and now released
as open source software.&lt;/p&gt;
&lt;p&gt;This is the story of how the amazing libraries, tools, and talent in the
Python web community has radically changed an established company, and
allowed us to reinvent sourceforge.net.&lt;/p&gt;
&lt;p&gt;This talk will go over our tech stack, talk about the libraries we used,
the way we solved scalability, internationalization, and performance
issues issues. Ultimately we know that without python, we could not have
built a flexible plugin based system, and gotten permission from
management to open source it.&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="community"></category><category term="performance"></category><category term="python,"></category><category term="sourceforge"></category><category term="web"></category></entry><entry><title>Django productivity tips and tricks</title><link href="https://pyvideo.org/europython-2011/django-productivity-tips-and-tricks.html" rel="alternate"></link><published>2011-07-24T00:00:00+00:00</published><updated>2011-07-24T00:00:00+00:00</updated><author><name>Simone Federici</name></author><id>tag:pyvideo.org,2011-07-24:/europython-2011/django-productivity-tips-and-tricks.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Simone Federici - 23 June 2011 in &amp;quot;Track Ravioli&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;I will show in this talk some tips, tricks and best practices for some
recurring patterns in the django application development.&lt;/p&gt;
&lt;p&gt;This is not a list of tools and applications, but rather a homemade
summary of code snippets …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Simone Federici - 23 June 2011 in &amp;quot;Track Ravioli&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;I will show in this talk some tips, tricks and best practices for some
recurring patterns in the django application development.&lt;/p&gt;
&lt;p&gt;This is not a list of tools and applications, but rather a homemade
summary of code snippets and design best practices. All in all, the goal
is: no mistakes and go faster.&lt;/p&gt;
&lt;p&gt;Topics include: python, users, forms, jquery, virtualenv, distribute,
buildbot, etc. …&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="design"></category><category term="django"></category><category term="patterns"></category><category term="python,"></category></entry><entry><title>Snakes on a cloud: the OpenStack project</title><link href="https://pyvideo.org/europython-2011/snakes-on-a-cloud-the-openstack-project.html" rel="alternate"></link><published>2011-07-24T00:00:00+00:00</published><updated>2011-07-24T00:00:00+00:00</updated><author><name>Thierry Carrez</name></author><id>tag:pyvideo.org,2011-07-24:/europython-2011/snakes-on-a-cloud-the-openstack-project.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Thierry Carrez - 23 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;OpenStack is an innovative open source project written in Python, backed
by Rackspace Hosting and NASA, building a massively-scalable and
reliable cloud computing platform.&lt;/p&gt;
&lt;p&gt;The first part of this talk will clarify the place of OpenStack in the …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Thierry Carrez - 23 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;OpenStack is an innovative open source project written in Python, backed
by Rackspace Hosting and NASA, building a massively-scalable and
reliable cloud computing platform.&lt;/p&gt;
&lt;p&gt;The first part of this talk will clarify the place of OpenStack in the
general &amp;quot;cloud&amp;quot; landscape and explain why a fully open cloud
infrastructure stack is necessary to avoid vendor lock-in. We'll then
focus on the OpenStack project goals, its developer community, its open
design and release processes, and the developer tools it chose.&lt;/p&gt;
&lt;p&gt;The second part of the talk will present into more technical details the
different components of OpenStack: Nova (compute) and Swift (storage),
including the Python libraries that are used (libvirt, SQLAlchemy,
eventlet…). A Q&amp;amp;A session at the end of the talk will give the audience
a chance to clear any remaining dark area.&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="cloud"></category><category term="design"></category><category term="hosting"></category><category term="infrastructure"></category><category term="openstack"></category><category term="python,"></category></entry><entry><title>Sqlkit: empowering database access</title><link href="https://pyvideo.org/europython-2011/sqlkit-empowering-database-access.html" rel="alternate"></link><published>2011-07-24T00:00:00+00:00</published><updated>2011-07-24T00:00:00+00:00</updated><author><name>Alessandro Dentella</name></author><id>tag:pyvideo.org,2011-07-24:/europython-2011/sqlkit-empowering-database-access.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Alessandro Dentella - 23 June 2011 in &amp;quot;Track
Spaghetti&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;It's very easy to access databases with Python, and there are many ORMs
allowing a high level of abstraction. Still, it's a long road from there
to interactive handling of data, even for very simple tasks.&lt;/p&gt;
&lt;p&gt;Sqlkit tries …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Alessandro Dentella - 23 June 2011 in &amp;quot;Track
Spaghetti&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;It's very easy to access databases with Python, and there are many ORMs
allowing a high level of abstraction. Still, it's a long road from there
to interactive handling of data, even for very simple tasks.&lt;/p&gt;
&lt;p&gt;Sqlkit tries to act as a bridge, offering some mega-widgets that allow
you to build GUI applications or directly access data using the
'sqledit' application, shipped with sqlkit; sqlkit is built with PyGTK
and SQLAlchemy.&lt;/p&gt;
&lt;p&gt;This presentation covers some of the most powerful features of sqlkit,
and shows how easy it is to build small programs for personal use, as
well as rich and complex applications. It primarily focuses on two
points: how easy it is to create data forms (eventually with one2many or
many2many, thanks to a original definition of layouts), and the template
system based on OpenOffice which allows easy report creation.&lt;/p&gt;
&lt;p&gt;This presentation shows how sqlkit can be used both as application
development framework and as a tool to help us while developing other
applications (e.g.: Django, OpenERP,… ).&lt;/p&gt;
&lt;p&gt;To deliver a gradual presentation, we'll use the configuration system of
sqledit, starting from a minimal configuration (a single URL) we'll add
elements to that until we'll have a full application.&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="database"></category><category term="forms"></category><category term="framework"></category><category term="gui"></category><category term="openoffice"></category><category term="python,"></category></entry><entry><title>Exploit your GPU power with PyCUDA (and friends)</title><link href="https://pyvideo.org/europython-2011/exploit-your-gpu-power-with-pycuda-and-friends.html" rel="alternate"></link><published>2011-07-21T00:00:00+00:00</published><updated>2011-07-21T00:00:00+00:00</updated><author><name>Stefano Brilli</name></author><id>tag:pyvideo.org,2011-07-21:/europython-2011/exploit-your-gpu-power-with-pycuda-and-friends.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Stefano Brilli - 22 June 2011 in &amp;quot;Track Spaghetti&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;CUDA technology permits to exploit the power of modern NVIDIA GPUs. In
this talk, after a brief introduction to GPU architecture, we will focus
on how CUDA got inside Python through libraries like PyCUDA and others…&lt;/p&gt;
&lt;p&gt;By some …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Stefano Brilli - 22 June 2011 in &amp;quot;Track Spaghetti&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;CUDA technology permits to exploit the power of modern NVIDIA GPUs. In
this talk, after a brief introduction to GPU architecture, we will focus
on how CUDA got inside Python through libraries like PyCUDA and others…&lt;/p&gt;
&lt;p&gt;By some examples we will show the main concepts and techniques for good
GPU programming.&lt;/p&gt;
&lt;p&gt;This talk targets anyone who wants to know how to exploit this
technology from Python, the suitable use cases, the using techniques and
the do-not-using techniques to get the best from his own GPU&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="gpu"></category><category term="nvidia"></category><category term="pycuda"></category><category term="python,"></category><category term="technology"></category></entry><entry><title>Debugging and profiling techniques</title><link href="https://pyvideo.org/europython-2011/debugging-and-profiling-techniques.html" rel="alternate"></link><published>2011-07-20T00:00:00+00:00</published><updated>2011-07-20T00:00:00+00:00</updated><author><name>Giovanni Bajo</name></author><id>tag:pyvideo.org,2011-07-20:/europython-2011/debugging-and-profiling-techniques.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Giovanni Bajo - 22 June 2011 in &amp;quot;Track Spaghetti&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This talk will give on overview over some common problems related to
profiling and debugging CPython applications (especially desktop-based
ones).&lt;/p&gt;
&lt;p&gt;The following subjects will be covered:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Debugging of memory/resource leaks (circular references, &lt;strong&gt;del&lt;/strong&gt;,
weakref, garbage collector, etc …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Giovanni Bajo - 22 June 2011 in &amp;quot;Track Spaghetti&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This talk will give on overview over some common problems related to
profiling and debugging CPython applications (especially desktop-based
ones).&lt;/p&gt;
&lt;p&gt;The following subjects will be covered:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Debugging of memory/resource leaks (circular references, &lt;strong&gt;del&lt;/strong&gt;,
weakref, garbage collector, etc.). We will show in details how the
memory management of Python objects work and we will show a few
tricks to track memory leaks&lt;/li&gt;
&lt;li&gt;Python code profiling (profile/hotshots/cProfile, design of small
tests, etc.). We will show how to measure, profile, and analyse an
application to spot performance problems and solve them.&lt;/li&gt;
&lt;li&gt;Post-mortem step-by-step debugging of C/C++ extension under Windows.
We will show how to setup Visual Studio for debugging, how to see a
traceback in case of an unexpected segfault, and how to further debug
and solve the crash.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This talk is aimed at intermediate Python programmers, who have already
developed non-trivial Python applications but have never &amp;quot;jumped
through&amp;quot; the interpreter abstraction layer. If you feel a little lost
when you see a segfault from a Python program or you don't have a clear
idea how memory is collected in Python, this talk is perfect for you.&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="cpython"></category><category term="debugging"></category><category term="design"></category><category term="memory"></category><category term="performance"></category><category term="profiling"></category><category term="python,"></category></entry><entry><title>Django: trucchi per migliorare la produttività</title><link href="https://pyvideo.org/europython-2011/django-trucchi-per-migliorare-la-produttivita.html" rel="alternate"></link><published>2011-07-13T00:00:00+00:00</published><updated>2011-07-13T00:00:00+00:00</updated><author><name>Simone Federici</name></author><id>tag:pyvideo.org,2011-07-13:/europython-2011/django-trucchi-per-migliorare-la-produttivita.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Simone Federici - 22 June 2011 in &amp;quot;Track Italiana Big
Mac &amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Proverò ad illustrare in questi 60 minuti alcuni consigli e best
practices, da utilizzare nello sviluppo di applicazioni django based.&lt;/p&gt;
&lt;p&gt;Non è un mero elenco di tools e/o applicazioni, bensì un bignami di
snippets e …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Simone Federici - 22 June 2011 in &amp;quot;Track Italiana Big
Mac &amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Proverò ad illustrare in questi 60 minuti alcuni consigli e best
practices, da utilizzare nello sviluppo di applicazioni django based.&lt;/p&gt;
&lt;p&gt;Non è un mero elenco di tools e/o applicazioni, bensì un bignami di
snippets e tips architetturali. Tutto sommato l’obbiettivo è non
sbagliare e andare più veloci.&lt;/p&gt;
&lt;p&gt;Argomenti trattati: python, users, forms, jquery, virtualenv,
distribute, buildbot, ecc…&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="django"></category><category term="python,"></category></entry><entry><title>Meteorology, Climate and Python: desperately trying to forget technical details</title><link href="https://pyvideo.org/europython-2011/meteorology-climate-and-python-desperately-tryi.html" rel="alternate"></link><published>2011-07-13T00:00:00+00:00</published><updated>2011-07-13T00:00:00+00:00</updated><author><name>Claude Gibert</name></author><id>tag:pyvideo.org,2011-07-13:/europython-2011/meteorology-climate-and-python-desperately-tryi.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Claude Gibert - 24 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="section" id="contents"&gt;
&lt;h4&gt;Contents&lt;/h4&gt;
&lt;p&gt;Python is a great language for writing programming frameworks. Python
frameworks are normally addressed to software developers who are Python
professionals. I developed a software package in a scientific
institution, designed to be used by non-programmers, but …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Claude Gibert - 24 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="section" id="contents"&gt;
&lt;h4&gt;Contents&lt;/h4&gt;
&lt;p&gt;Python is a great language for writing programming frameworks. Python
frameworks are normally addressed to software developers who are Python
professionals. I developed a software package in a scientific
institution, designed to be used by non-programmers, but also designed
to enable customisation through programming by some users. I finally
designed a three level package:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;A Python programming framework, addressed whoever wanted to invest in
Python and had plans to develop applications;&lt;/li&gt;
&lt;li&gt;An application built on that framework with an interface designed for
non-programmers;&lt;/li&gt;
&lt;li&gt;Ways of customising the behaviour of the application by providing
some basic Python functions or more elaborated code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One of the challenges was to offer an application with an easy to use
interface, not graphical, not web-based and not requiring Python
programming. This interface was necessary for batch processing.&lt;/p&gt;
&lt;p&gt;This talk addresses how this project was carried out, the technical
solutions adopted and how Python was introduced in an operational
scientific institution (&lt;a class="reference external" href="http://www.ecmwf.int"&gt;http://www.ecmwf.int&lt;/a&gt;) where most users were
Fortran programmers. Python was introduced as early as 2004 and it was a
challenge to gain acceptance. I will also make a parallel with a project
I am currently working on for NASA (&lt;a class="reference external" href="http://gmao.gsfc.nasa.gov/"&gt;http://gmao.gsfc.nasa.gov/&lt;/a&gt;).
&lt;em&gt;Desperately trying to forget technical details&lt;/em&gt; summarises how I tried,
using Python, to help Meteorology scientists to focus on their domain of
expertise instead of constantly solving technical problems.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="background"&gt;
&lt;h4&gt;Background:&lt;/h4&gt;
&lt;p&gt;The disciplines of Meteorology and Climate involve numerical modelling
of physical phenomena. The amount of data going in and out of the model
is considerable. The organisation and the storage of data is
complicated, their post-processing is a challenge. Scientists need to
access and process input and output data to monitor the trends of the
input data and to evaluate the performance of their models. Those
statistics, diagnostics, plots and verifications are crucial to the
improvement of the quality of the models. Finding the right data,
decoding it, transforming it to be ready for use are necessary steps to
initiate the pre-processing. All these actions are fundamentally the
same between different prediction centres, but the data organisation and
file formats can differ.&lt;/p&gt;
&lt;/div&gt;
</content><category term="EuroPython 2011"></category><category term="framework"></category><category term="nasa"></category><category term="parallel"></category><category term="performance"></category><category term="python,"></category><category term="scientific"></category></entry><entry><title>Programmazione MapReduce in Python con Pydoop</title><link href="https://pyvideo.org/europython-2011/programmazione-mapreduce-in-python-con-pydoop.html" rel="alternate"></link><published>2011-07-13T00:00:00+00:00</published><updated>2011-07-13T00:00:00+00:00</updated><author><name>Simone Leo</name></author><id>tag:pyvideo.org,2011-07-13:/europython-2011/programmazione-mapreduce-in-python-con-pydoop.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Simone Leo - 23 June 2011 in &amp;quot;Track Italiana Big Mac &amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Hadoop è la principale implementazione open source di MapReduce, il
paradigma di calcolo distribuito su larga scala di Google. L'API nativa
di Hadoop è in Java e le opzioni built-in per la programmazione in
Python - Streaming …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Simone Leo - 23 June 2011 in &amp;quot;Track Italiana Big Mac &amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Hadoop è la principale implementazione open source di MapReduce, il
paradigma di calcolo distribuito su larga scala di Google. L'API nativa
di Hadoop è in Java e le opzioni built-in per la programmazione in
Python - Streaming e Jython - presentano diversi inconvenienti: la prima
consente di accedere solo a un piccolo sottoinsieme delle funzionalità
di Hadoop, mentre la seconda ha tutte le limitazioni di Jython rispetto
a CPython.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://pydoop.sourceforge.net"&gt;Pydoop&lt;/a&gt; è un'API per Hadoop che rende
disponibile buona parte delle funzionalità di Hadoop al programmatore
Python, consentendo lo sviluppo in CPython. I suoi moduli di base sono
wrapper Boost.Python per l'interfaccia C/C++ di Hadoop.&lt;/p&gt;
&lt;p&gt;Il talk consiste in un tutorial su MapReduce/Hadoop e in una
presentazione dell'API Pydoop, con l'obiettivo principale di avvicinare
le community di Hadoop e Python. Può essere utile, anche se non
strettamente necessaria, una conoscenza di base della programmazione
distribuita.&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="community"></category><category term="hadoop"></category><category term="java"></category><category term="jython"></category><category term="mapreduce"></category><category term="python,"></category><category term="tutorial"></category></entry><entry><title>Python 3: the Next Generation (is here already)</title><link href="https://pyvideo.org/europython-2011/python-3-the-next-generation-is-here-already-0.html" rel="alternate"></link><published>2011-07-13T00:00:00+00:00</published><updated>2011-07-13T00:00:00+00:00</updated><author><name>Wesley J. Chun</name></author><id>tag:pyvideo.org,2011-07-13:/europython-2011/python-3-the-next-generation-is-here-already-0.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] wesley chun - 21 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Python is currently at a crossroads: Python 2 has taken it from a quiet
word- of-mouth language to primetime, with many companies around the
world using it and an ever-increasing global marketshare of the
programming world. But now …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] wesley chun - 21 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Python is currently at a crossroads: Python 2 has taken it from a quiet
word- of-mouth language to primetime, with many companies around the
world using it and an ever-increasing global marketshare of the
programming world. But now comes Python 3, the first version of the
language that is not backwards compatible with previous releases.&lt;/p&gt;
&lt;p&gt;What does this mean? Are all my Python programs going to break? Will I
have to rewrite everything? How much time do I have? When is Python 2
going to be EOL'd? Is the language undergoing a complete rewrite and
will I even recognize it? What are the changes between Python 2 and 3
anyway? Also, the next generation is already here, as Python 3 is over
two years old now. What has been ported so far, and what is its current
status? Are migration plans or transition tools available? If I want to
start learning Python, should I do Python 2 or Python 3? Are all Python
2 books obsolete?&lt;/p&gt;
&lt;p&gt;We will attempt to answer all of these questions and more. Join us!&lt;/p&gt;
&lt;p&gt;OUTLINE/TOPICS&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Python 2 vs. Python 3&lt;/li&gt;
&lt;li&gt;Introduction to Python 3&lt;/li&gt;
&lt;li&gt;Backwards Compatibility&lt;/li&gt;
&lt;li&gt;Generational Changes&lt;/li&gt;
&lt;li&gt;Key Differences&lt;/li&gt;
&lt;li&gt;Role of Remaining Python 2.x releases&lt;/li&gt;
&lt;li&gt;Transition &amp;amp; Migration Plans &amp;amp; Tools&lt;/li&gt;
&lt;li&gt;Futures&lt;/li&gt;
&lt;/ul&gt;
</content><category term="EuroPython 2011"></category><category term="learning"></category><category term="migration"></category><category term="python,"></category></entry><entry><title>Python for High Performance and Scientific Computing</title><link href="https://pyvideo.org/europython-2011/python-for-high-performance-and-scientific-comput.html" rel="alternate"></link><published>2011-07-13T00:00:00+00:00</published><updated>2011-07-13T00:00:00+00:00</updated><author><name>Andreas Schreiber</name></author><id>tag:pyvideo.org,2011-07-13:/europython-2011/python-for-high-performance-and-scientific-comput.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Andreas Schreiber - 23 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Python is an accepted high-level scripting language with a growing
community in academia and industry. It is used in a lot of scientific
applications in many different scientific fields and in more and more
industries, for example, in …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Andreas Schreiber - 23 June 2011 in &amp;quot;Track Lasagne&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Python is an accepted high-level scripting language with a growing
community in academia and industry. It is used in a lot of scientific
applications in many different scientific fields and in more and more
industries, for example, in engineering or life science). In all fields,
the use of Python for high- performance and parallel computing is
increasing. Several organizations and companies are providing tools or
support for Python development. This includes libraries for scientific
computing, parallel computing, and MPI. Python is also used on many core
architectures and GPUs, for which specific Python interpreters are being
developed. A related topic is the performance of the various interpreter
and compiler implementations for Python. The talk gives an overview of
Python’s use in HPC and Scientific Computing and gives information on
many topics, such as Python on massively parallel systems, GPU
programming with Python, scientific libraries in Python, and Python
interpreter performance issues. The talk will include examples for
scientific codes and applications from many domains.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="http://bit.ly/k94rC4"&gt;Slides&lt;/a&gt;&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="community"></category><category term="engineering"></category><category term="gpu"></category><category term="hpc"></category><category term="interpreters"></category><category term="parallel"></category><category term="performance"></category><category term="python,"></category><category term="scientific"></category></entry><entry><title>Python(x,y): diving into scientific Python</title><link href="https://pyvideo.org/europython-2011/pythonxy-diving-into-scientific-python.html" rel="alternate"></link><published>2011-07-13T00:00:00+00:00</published><updated>2011-07-13T00:00:00+00:00</updated><author><name>Vincent Noel</name></author><id>tag:pyvideo.org,2011-07-13:/europython-2011/pythonxy-diving-into-scientific-python.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Vincent Noel - 22 June 2011 in &amp;quot;Training Pizza
Margherita &amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This training session will introduce the Python scientific stack to
beginner or intermediate-level Python programmers. The basics of
scientific programming with Python will be presented:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;creation of arrays and structured arrays using numpy&lt;/li&gt;
&lt;li&gt;fast, loopless manipulation of …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Vincent Noel - 22 June 2011 in &amp;quot;Training Pizza
Margherita &amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This training session will introduce the Python scientific stack to
beginner or intermediate-level Python programmers. The basics of
scientific programming with Python will be presented:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;creation of arrays and structured arrays using numpy&lt;/li&gt;
&lt;li&gt;fast, loopless manipulation of numpy arrays through fancy indexing
and vectorized functions&lt;/li&gt;
&lt;li&gt;convenient saving/loading of array variables using numpy&lt;/li&gt;
&lt;li&gt;improved interactive use through ipython&lt;/li&gt;
&lt;li&gt;data analysis using various scipy modules (signal analysis, image
classification, etc)&lt;/li&gt;
&lt;li&gt;plotting large time series, histograms, scatterplots, images etc.
using matplotlib&lt;/li&gt;
&lt;li&gt;saving/loading large datasets in structured scientific formats such
as netCDF, HDF (depending on interest)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These concepts will be used in coding exercises, in the programming
environnement provided by the Python(x,y) distribution, which is freely
downloadable and includes recent versions of Python, numpy and
matplotlib. The Python(x,y) distribution runs on Windows, which will be
the OS of choice for this session. You should still be able to follow
the examples in other Python distributions, e.g. EPD.&lt;/p&gt;
&lt;p&gt;The entire talk (PDF), code samples and data files can be downloaded
from the following
&lt;a class="reference external" href="http://www.lmd.polytechnique.fr/~noel/EP2011/DivingIntoSci%20entificPython.zip"&gt;archive&lt;/a&gt;&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="analysis"></category><category term="datasets"></category><category term="image"></category><category term="numpy"></category><category term="python,"></category><category term="scientific"></category><category term="scipy"></category></entry><entry><title>Sfrutta la potenza della GPU con PyCUDA (e compagni)</title><link href="https://pyvideo.org/europython-2011/sfrutta-la-potenza-della-gpu-con-pycuda-e-compag.html" rel="alternate"></link><published>2011-07-13T00:00:00+00:00</published><updated>2011-07-13T00:00:00+00:00</updated><author><name>Stefano Brilli</name></author><id>tag:pyvideo.org,2011-07-13:/europython-2011/sfrutta-la-potenza-della-gpu-con-pycuda-e-compag.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Stefano Brilli - 22 June 2011 in &amp;quot;Track Italiana Big
Mac &amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;CUDA è una tecnologia che permette di sfruttare la potenza di calcolo
delle moderne schede video prodotte da NVIDIA. In questo talk, dopo una
breve introduzione all'architettura della GPU, si vedrà come CUDA entra
all'interno di …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Stefano Brilli - 22 June 2011 in &amp;quot;Track Italiana Big
Mac &amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;CUDA è una tecnologia che permette di sfruttare la potenza di calcolo
delle moderne schede video prodotte da NVIDIA. In questo talk, dopo una
breve introduzione all'architettura della GPU, si vedrà come CUDA entra
all'interno di Python attraverso librerie come PyCUDA e non solo…&lt;/p&gt;
&lt;p&gt;Mediante alcuni esempi si metteranno in luce i concetti e le pratiche
fondamentali per una buona programmazione della GPU.&lt;/p&gt;
&lt;p&gt;Il talk è rivolto a chiunque voglia conoscere come sfruttare questa
tecnologia all'interno di Python, i casi in cui è conveniente
utilizzarla, le pratiche da adottare e le pratiche da non adottare per
trarre il massimo dalla propria GPU.&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="gpu"></category><category term="pycuda"></category><category term="python,"></category></entry><entry><title>Spotify and Python: love at first sight</title><link href="https://pyvideo.org/europython-2011/spotify-and-python-love-at-first-sight.html" rel="alternate"></link><published>2011-07-13T00:00:00+00:00</published><updated>2011-07-13T00:00:00+00:00</updated><author><name>Jon Åslund</name></author><id>tag:pyvideo.org,2011-07-13:/europython-2011/spotify-and-python-love-at-first-sight.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Jon Åslund - 20 June 2011 in &amp;quot;Track Spaghetti&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This is a story about how Spotify started, how we evolved, where we are
today and how Python has always been a big part of our success. Where do
we use it? Where do we not use it …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Jon Åslund - 20 June 2011 in &amp;quot;Track Spaghetti&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This is a story about how Spotify started, how we evolved, where we are
today and how Python has always been a big part of our success. Where do
we use it? Where do we not use it? Learn about the Unix way and the
Debian way of maintaining a healthy love for Python, while two-timing
with other languages such as Java and C++.&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="java"></category><category term="python,"></category></entry><entry><title>Creare videogames con Panda3D</title><link href="https://pyvideo.org/europython-2011/creare-videogames-con-panda3d.html" rel="alternate"></link><published>2011-07-07T00:00:00+00:00</published><updated>2011-07-07T00:00:00+00:00</updated><author><name>Claudio Desideri</name></author><id>tag:pyvideo.org,2011-07-07:/europython-2011/creare-videogames-con-panda3d.html</id><summary type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Claudio Desideri - 21 June 2011 in &amp;quot;Track Italiana Big
Mac&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;In questo talk spiegherò quali opportunità ci offre il game-engine
Panda3D nel momento in cui vogliamo creare un videogioco da zero.
Spiegherò com'è strutturato al suo interno e i concetti di base per
capire come funziona …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Summary&lt;/h3&gt;&lt;p&gt;[EuroPython 2011] Claudio Desideri - 21 June 2011 in &amp;quot;Track Italiana Big
Mac&amp;quot;&lt;/p&gt;
&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;In questo talk spiegherò quali opportunità ci offre il game-engine
Panda3D nel momento in cui vogliamo creare un videogioco da zero.
Spiegherò com'è strutturato al suo interno e i concetti di base per
capire come funziona, ma mostrerò anche prove pratiche e pezzi di
codice.&lt;/p&gt;
&lt;p&gt;Può partecipare chiunque abbia una conoscenza di base di Python, anche
se non ha mai lavorato con applicazioni realtime 3D. L'obiettivo è
mostrare come creare un semplice videogioco che risponda agli input
immessi dall'utente e come utilizzare al meglio questo potente engine.&lt;/p&gt;
</content><category term="EuroPython 2011"></category><category term="ci"></category><category term="panda3d"></category><category term="python,"></category><category term="realtime"></category></entry><entry><title>Python Performance: Past, Present and Future</title><link href="https://pyvideo.org/europython-2019/python-performance-past-present-and-future.html" rel="alternate"></link><published>2019-07-12T00:00:00+00:00</published><updated>2019-07-12T00:00:00+00:00</updated><author><name>Victor Stinner</name></author><id>tag:pyvideo.org,2019-07-12:/europython-2019/python-performance-past-present-and-future.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Python Performance: Past, Present and Future&lt;/p&gt;
</content><category term="EuroPython 2019"></category><category term="python"></category></entry><entry><title>Python Standard Library, The Hidden Gems</title><link href="https://pyvideo.org/europython-2019/python-standard-library-the-hidden-gems.html" rel="alternate"></link><published>2019-07-12T00:00:00+00:00</published><updated>2019-07-12T00:00:00+00:00</updated><author><name>Alessandro Molina</name></author><id>tag:pyvideo.org,2019-07-12:/europython-2019/python-standard-library-the-hidden-gems.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;The Python Standard Library is a very rich toolset, which is the reason
why Python is stated to come with &amp;quot;batteries included&amp;quot;. In such an
amount of features and tools it's easy to get lost and miss some of the
less unknown modules or gems hidden within the whole …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;The Python Standard Library is a very rich toolset, which is the reason
why Python is stated to come with &amp;quot;batteries included&amp;quot;. In such an
amount of features and tools it's easy to get lost and miss some of the
less unknown modules or gems hidden within the whole load of functions
and classes.&lt;/p&gt;
&lt;p&gt;This talk aims at showcasing some recipes, snippets and usages of
standard library modules and functions that are less known or that are
not covered in the most common books and tutorials available for Python.&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;The talk will try to showcase a bunch of short examples in the hope to
foster the &amp;quot;oh, wow! I didn't think about that&amp;quot; reaction at least once
in the audience.&lt;/div&gt;
&lt;div class="line"&gt;We will see how frequently for tasks where you used third party
libraries or frameworks a solution bultin into the standard library is
already available, and such solution is guaranteed to be maintained
and well working for the years to come thanks to the standard library
reliability and stability.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The showcased examples are took from the “Modern Python Standard Library
Cookbook” book that I authored.&lt;/p&gt;
</content><category term="EuroPython 2019"></category><category term="CPython"></category><category term="Debugging"></category><category term="Development"></category><category term="General"></category><category term="python"></category></entry><entry><title>The soul of the beast</title><link href="https://pyvideo.org/europython-2019/the-soul-of-the-beast.html" rel="alternate"></link><published>2019-07-12T00:00:00+00:00</published><updated>2019-07-12T00:00:00+00:00</updated><author><name>Pablo Salgado</name></author><id>tag:pyvideo.org,2019-07-12:/europython-2019/the-soul-of-the-beast.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="section" id="why"&gt;
&lt;h4&gt;Why&lt;/h4&gt;
&lt;p&gt;The audience will discover one of the core pieces of the language that
sits at the middle of the decisions about what new rules can or cannot
be implemented in the Python programming language. They will learn how
the particularities of the grammar limit what can be achieved …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="section" id="why"&gt;
&lt;h4&gt;Why&lt;/h4&gt;
&lt;p&gt;The audience will discover one of the core pieces of the language that
sits at the middle of the decisions about what new rules can or cannot
be implemented in the Python programming language. They will learn how
the particularities of the grammar limit what can be achieved but also
serve to maintain the language consistent, powerful but straightforward.
Attendants will learn how core developers solved some challenging
scenarios that arise as a consequence of said limitations or how others
cannot be resolved unless Python gets a significant transformation in
the internal mechanism that parses the grammar. Finally, they will learn
how a new rule is added to the CPython grammar, serving as a perfect
example of how all the pieces come together. In summary, the audience
will gain a more technical response to why people perceive the Python
programming language as easy but powerful one and at the same time will
gain some insight on how to understand and extend the pieces that form
it. This talk will not only help members of the audience understand
better the design of the language a how grammars and parser work, but
will also help people wanting to contribute to CPython understanding the
general structure of the compiler pipeline and how to work on it.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="who"&gt;
&lt;h4&gt;Who&lt;/h4&gt;
&lt;p&gt;This talk is for those that want to understand Python a bit deeper: not
only how everything works under the hood but also what are the technical
decisions in its making and what are the consequences. The talk is
targeted to all Python programmers, no matter the skill level as
everyone will find something for their particular level of expertise:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Beginner programmers will be introduced in the topic of language
grammars and will learn what a Grammar is and what are the building
blocks. Also, the audience members in this level will gain insight into
how everything is thread together in CPython.&lt;/li&gt;
&lt;li&gt;Medium and advanced programmers will learn some in-depth technical
details and how they relate to features they already know and
understand. The talk not only will try to enlight some new areas related
to grammar technicalities, parser features and design and CPython
implementation details but will also connect many pieces of information
to explain how the small technical decisions impact the bigger picture.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="outline"&gt;
&lt;h4&gt;Outline&lt;/h4&gt;
&lt;p&gt;Who am I&lt;/p&gt;
&lt;p&gt;What is the Python Grammar&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;What is grammar?&lt;/li&gt;
&lt;li&gt;How they look like.&lt;/li&gt;
&lt;li&gt;Elements: terminal symbols, nonterminal symbols, productions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The properties of Python Grammar?&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Leftmost derivation&lt;/li&gt;
&lt;li&gt;1 token lookahead&lt;/li&gt;
&lt;li&gt;No epsilon productions! (Plus what epsilon productions are)&lt;/li&gt;
&lt;li&gt;Some immediate consequences of these properties.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;How the Python parser generator works&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;General structure of the parser generator.&lt;/li&gt;
&lt;li&gt;Non Deterministic Finite Automata&lt;/li&gt;
&lt;li&gt;Deterministic Finite Automata.&lt;/li&gt;
&lt;li&gt;Some examples (with cool graphs!) generated from the
python grammar and the parser generator of the actual
finite automatas that Python uses.&lt;/li&gt;
&lt;li&gt;Concrete syntax trees.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Advantages of the grammar (or &amp;quot;why Python is so easy to understand)&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;LL(1) grammars are context-free (no state to maintain while
parsing).&lt;/li&gt;
&lt;li&gt;LL(1) grammars are simple to implement and very fast to parse.&lt;/li&gt;
&lt;li&gt;LL(1) grammars are very limited, keeping the language simple&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Disadvantages of the grammar:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Grammar ambiguity.&lt;/li&gt;
&lt;li&gt;LL(1) grammars need some hacks for very simple things.&lt;/li&gt;
&lt;li&gt;How keyword arguments were incorporated in the grammar with a hack:
The grammar rule is very strange because it is &amp;quot;fixed&amp;quot; in the Abstract
syntax tree&lt;/li&gt;
&lt;li&gt;Why parenthesized with statements cannot be implemented (with
statements
formed of multiple elements surrounded by parenthesis and separated by
commas).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Implementing a new grammar rule in CPython: the arrow operator :&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;A complete mini-tutorial on how to introduce a new operator: A -&amp;gt; B
that gets executed as A.&lt;strong&gt;rarrow&lt;/strong&gt;(B).&lt;/li&gt;
&lt;li&gt;Altering the grammar and generating the new parser.&lt;/li&gt;
&lt;li&gt;Introducing a new token.&lt;/li&gt;
&lt;li&gt;Changing the tokenizer.&lt;/li&gt;
&lt;li&gt;Changing the Abstract Syntax Tree Generator.&lt;/li&gt;
&lt;li&gt;Changing the compiler.&lt;/li&gt;
&lt;li&gt;Implementing the new opcode.&lt;/li&gt;
&lt;li&gt;Implementing the &lt;strong&gt;rarrow&lt;/strong&gt; protocol.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The future and summary of the talk:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;We have been discussing in the CPython discourse to change the
parser generator to something
more powerful.&lt;/li&gt;
&lt;li&gt;Dangers and advantages of other parser generators.&lt;/li&gt;
&lt;li&gt;What other implementations are using?&lt;/li&gt;
&lt;li&gt;Summary of the talk&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><category term="EuroPython 2019"></category><category term="Abstractions"></category><category term="CPython"></category><category term="Performance"></category><category term="python"></category></entry><entry><title>Advanced pytest</title><link href="https://pyvideo.org/europython-2019/advanced-pytest.html" rel="alternate"></link><published>2019-07-11T00:00:00+00:00</published><updated>2019-07-11T00:00:00+00:00</updated><author><name>Raphael Pierzina</name></author><id>tag:pyvideo.org,2019-07-11:/europython-2019/advanced-pytest.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;There are many reasons why I think pytest is a fantastic test framework:
assertion introspection, setup and teardown with fixtures, parametrized
tests. But plugins are the real game changer!&lt;/p&gt;
&lt;p&gt;We'll dive right into customizing a test suite by developing a series of
pytest plugins based on a few neat …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;There are many reasons why I think pytest is a fantastic test framework:
assertion introspection, setup and teardown with fixtures, parametrized
tests. But plugins are the real game changer!&lt;/p&gt;
&lt;p&gt;We'll dive right into customizing a test suite by developing a series of
pytest plugins based on a few neat hacks. We'll learn how to
automatically add markers to slow running tests, run only tests that use
a fixture which can be specified on the CLI, generate test reports in a
custom format, and automatically create GitHub issues for test
regressions. We'll wrap up this talk by using Cookiecutter to create
Python packages from our plugins that are ready to be published on PyPI.&lt;/p&gt;
</content><category term="EuroPython 2019"></category><category term="Test Libraries (pytest/nose/...)"></category><category term="Testing"></category><category term="python"></category></entry><entry><title>Introduction to Python and MongoDB</title><link href="https://pyvideo.org/europython-2019/introduction-to-python-and-mongodb.html" rel="alternate"></link><published>2019-07-11T00:00:00+00:00</published><updated>2019-07-11T00:00:00+00:00</updated><author><name>Joe Drumgoole</name></author><id>tag:pyvideo.org,2019-07-11:/europython-2019/introduction-to-python-and-mongodb.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;This talk will give anyone who has a basic knowledge of Python insight
into how&lt;/div&gt;
&lt;div class="line"&gt;easy it is to build database applications using the PyMongo Python
library for MongoDB. There will be live coding!&lt;/div&gt;
&lt;/div&gt;
</content><category term="EuroPython 2019"></category><category term="python"></category></entry><entry><title>Testing Microservices: fast and with confidence</title><link href="https://pyvideo.org/europython-2019/testing-microservices-fast-and-with-confidence.html" rel="alternate"></link><published>2019-07-11T00:00:00+00:00</published><updated>2019-07-11T00:00:00+00:00</updated><author><name>Stephan Jaensch</name></author><id>tag:pyvideo.org,2019-07-11:/europython-2019/testing-microservices-fast-and-with-confidence.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;A main advantage of microservices is improved developer velocity. One
roadblock to achieving it is giving developers the confidence that their
changes are correct and safe, which is a challenging problem in such a
distributed architecture. Typical approaches involve relying on
automated end- to-end testing, which is costly to …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;A main advantage of microservices is improved developer velocity. One
roadblock to achieving it is giving developers the confidence that their
changes are correct and safe, which is a challenging problem in such a
distributed architecture. Typical approaches involve relying on
automated end- to-end testing, which is costly to set up, develop tests
for and run.&lt;/p&gt;
&lt;p&gt;In this talk I will explore an approach to testing that does not require
the presence of any external dependencies (not even &amp;quot;fake&amp;quot; or &amp;quot;test
double&amp;quot; implementations of them), but provides many of the benefits of
an end-to-end test. Come by to learn about how we can use a downstream
service's API specification to make sure the system under test interacts
with it in the correct way (&amp;quot;contract testing&amp;quot;) - a key ingredient
missing from most unit or integration test setups. We'll then go even
further to cover testing scenarios that previously could only be covered
with end-to-end tests: how to maintain and validate state of your
downstream dependencies.&lt;/p&gt;
</content><category term="EuroPython 2019"></category><category term="Distributed Systems"></category><category term="Microservices"></category><category term="Testing"></category><category term="python"></category></entry><entry><title>“When a biologist met Python”</title><link href="https://pyvideo.org/europython-2019/when-a-biologist-met-python.html" rel="alternate"></link><published>2019-07-11T00:00:00+00:00</published><updated>2019-07-11T00:00:00+00:00</updated><author><name>Maria Molina-Contreras</name></author><id>tag:pyvideo.org,2019-07-11:/europython-2019/when-a-biologist-met-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Biology and computing are closer than we usually think, for example
many algorithms are inspired in biology patterns, and complementary to
that, researchers needs special algorithms to have a better
understanding of our environment. Thus, there is a strong relation an
dependency.&lt;/div&gt;
&lt;div class="line"&gt;In the past years, Biology has been …&lt;/div&gt;&lt;/div&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Biology and computing are closer than we usually think, for example
many algorithms are inspired in biology patterns, and complementary to
that, researchers needs special algorithms to have a better
understanding of our environment. Thus, there is a strong relation an
dependency.&lt;/div&gt;
&lt;div class="line"&gt;In the past years, Biology has been transformed into computational
biology. Therefore&lt;/div&gt;
&lt;div class="line"&gt;technological advances helps us to predict physical interactions
between atoms and DNA, because we are being able to integrate
information from biology into algorithms.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Python has become a popular programming language in biosciences because
it has a clean syntax that makes it easy to read language. In addition
to this, there are many modules (toolkits) extending to different
biological domains, like metabolomics, structure analysis,
phylogenomics, molecular biology and others. Python is currently
improving researcher’s workflow, helping us to focus on the theory or
experimental part, instead of fighting with old buggy applications.&lt;/p&gt;
&lt;p&gt;This talk aims to be oriented to all audiences (with/without biological
background) since we will go together through an amazing adventure into
the natural sciences using tools like Biopython, Bokeh, Networkx, Ecopy
and much more! Are you brave enough to follow me on this journey?&lt;/p&gt;
</content><category term="EuroPython 2019"></category><category term="Algorithms"></category><category term="Data Science"></category><category term="Natural Science"></category><category term="Scientific Libraries (Numpy/Pandas/SciKit/...)"></category><category term="python"></category></entry><entry><title>Accelerate your Deep Learning Inferencing with the Intel® DL Boost technology</title><link href="https://pyvideo.org/europython-2019/accelerate-your-deep-learning-inferencing-with-the-intelr-dl-boost-technology.html" rel="alternate"></link><published>2019-07-10T00:00:00+00:00</published><updated>2019-07-10T00:00:00+00:00</updated><author><name>Shailen Sobhee</name></author><id>tag:pyvideo.org,2019-07-10:/europython-2019/accelerate-your-deep-learning-inferencing-with-the-intelr-dl-boost-technology.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Learn about Intel® Deep Learning Boost, also known as Vector Neural
Network Instructions (VNNI), a new set of AVX-512 instructions, that are
designed to deliver significantly more efficient Deep Learning
(Inference) acceleration. Through this technology, I will show you how
you can perform low-precision (INT8) inference much faster on …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Learn about Intel® Deep Learning Boost, also known as Vector Neural
Network Instructions (VNNI), a new set of AVX-512 instructions, that are
designed to deliver significantly more efficient Deep Learning
(Inference) acceleration. Through this technology, I will show you how
you can perform low-precision (INT8) inference much faster on hardware
that support the VNNI instruction set (for example, the 2nd generation
Intel Xeon Scalable processors, codenamed, Cascade Lake). In the live
Jupyter notebook session, you can will be able to see the benefits of
this new hardware technology.&lt;/p&gt;
&lt;p&gt;Note: This is an advanced talk. Knowledge about Deep Learning,
Inferencing and basic awareness of hardware instruction sets would be
desirable.&lt;/p&gt;
</content><category term="EuroPython 2019"></category><category term="Data Science"></category><category term="Deep Learning"></category><category term="Performance"></category><category term="python"></category></entry><entry><title>From days to minutes, from minutes to milliseconds with SQLAlchemy</title><link href="https://pyvideo.org/europython-2019/from-days-to-minutes-from-minutes-to-milliseconds-with-sqlalchemy.html" rel="alternate"></link><published>2019-07-10T00:00:00+00:00</published><updated>2019-07-10T00:00:00+00:00</updated><author><name>Leonardo Rochael Almeida</name></author><id>tag:pyvideo.org,2019-07-10:/europython-2019/from-days-to-minutes-from-minutes-to-milliseconds-with-sqlalchemy.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Object Relational Mappers (ORMs) are awesome enhancers of developer
productivity. The freedom of having the library write that SQL and give
you back a useful, rich model instance (or a bunch of them) instead of
just a tuple or a list of records is simply amazing.&lt;/p&gt;
&lt;p&gt;But if you …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Object Relational Mappers (ORMs) are awesome enhancers of developer
productivity. The freedom of having the library write that SQL and give
you back a useful, rich model instance (or a bunch of them) instead of
just a tuple or a list of records is simply amazing.&lt;/p&gt;
&lt;p&gt;But if you forget you have an actual database behind all that
convenience, then it'll bite you back, usually when you've been in
production for a while, after you've accumulated enough data that your
once speedy application starts slowing down do a crawl.&lt;/p&gt;
&lt;p&gt;Databases work best when you ask them once for (or to do) a bunch of
stuff, instead of asking them lots of times for small stuff.&lt;/p&gt;
&lt;p&gt;We'll discuss how innocent looking attribute accesses on your model
instances translate to sequential queries (the infamous N+1 problem).&lt;/p&gt;
&lt;p&gt;Then we'll go through some practical solutions, taken from real cases,
that resulted in massive speed ups. We'll cover how changes in Python
code resulted in changes to the resulting SQL Queries.&lt;/p&gt;
&lt;p&gt;We'll see solutions not only for queries, but also for inserts and
updates, which tend to be less well documented.&lt;/p&gt;
&lt;p&gt;Though this talk focuses on SQLAlchemy, the lessons should be applicable
to most ORMs in most programing languages. The ideas discussed, and
solutions proposed are also valid for any storage back-end, not only SQL
databases.&lt;/p&gt;
&lt;p&gt;This talk is geared towards Python developers with systems that talk to
databases. It should be accessible to anyone who already programs in
Python (early intermediary level), but will be most useful for
developers with projects talking to SQL databases, specially using an
ORM like SQLAlchemy. Attendees will learn to detect how N+1 query
situations arise and how to work around them effectively. They will also
learn how to do mass inserts and mass updates with SQLAlchemy.&lt;/p&gt;
</content><category term="EuroPython 2019"></category><category term="Debugging"></category><category term="Performance"></category><category term="SQL Alchemy"></category><category term="python"></category></entry><entry><title>Python vs Rust for Simulation</title><link href="https://pyvideo.org/europython-2019/python-vs-rust-for-simulation.html" rel="alternate"></link><published>2019-07-10T00:00:00+00:00</published><updated>2019-07-10T00:00:00+00:00</updated><author><name>Alisa Dammer</name></author><id>tag:pyvideo.org,2019-07-10:/europython-2019/python-vs-rust-for-simulation.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Both Python and Rust are getting more and more popularity. Although it
is unfair to compare them directly, this talk aims to provide a clear
comparison with a pre-defined criteria applied to a specific use-case.&lt;/div&gt;
&lt;div class="line"&gt;Writing a simulation engine is very similar to writing a game engine
and requires …&lt;/div&gt;&lt;/div&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Both Python and Rust are getting more and more popularity. Although it
is unfair to compare them directly, this talk aims to provide a clear
comparison with a pre-defined criteria applied to a specific use-case.&lt;/div&gt;
&lt;div class="line"&gt;Writing a simulation engine is very similar to writing a game engine
and requires certain features from a language or framework.&lt;/div&gt;
&lt;div class="line"&gt;Possible comparison criteria:&lt;/div&gt;
&lt;div class="line"&gt;1. Performance&lt;/div&gt;
&lt;div class="line"&gt;2. Simplicity&lt;/div&gt;
&lt;div class="line"&gt;3. Amount of code necessary for a MVP&lt;/div&gt;
&lt;div class="line"&gt;4. Utilities: docs, tests, profile&lt;/div&gt;
&lt;div class="line"&gt;5. Compatibility&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;Tl;dr&lt;/div&gt;
&lt;div class="line"&gt;Do I want to go back to Python after Rust? Maybe+)&lt;/div&gt;
&lt;/div&gt;
</content><category term="EuroPython 2019"></category><category term="Code Analysis"></category><category term="Development"></category><category term="Rust"></category><category term="python"></category></entry><entry><title>Python's Parallel Programming Possibilities - 4 levels of concurrency</title><link href="https://pyvideo.org/europython-2019/pythons-parallel-programming-possibilities-4-levels-of-concurrency.html" rel="alternate"></link><published>2019-07-10T00:00:00+00:00</published><updated>2019-07-10T00:00:00+00:00</updated><author><name>Samuel Colvin</name></author><id>tag:pyvideo.org,2019-07-10:/europython-2019/pythons-parallel-programming-possibilities-4-levels-of-concurrency.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;I'm going to talk about the 4 main levels of parallelism in modern
Computing:&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;- multiple (virtual) machines&lt;/div&gt;
&lt;div class="line"&gt;- multiple processes&lt;/div&gt;
&lt;div class="line"&gt;- multiple threads&lt;/div&gt;
&lt;div class="line"&gt;- multiple green threads, aka asyncio&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Why you might use each of them, how to go about doing so with python and
some of the pitfalls you might fall …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;I'm going to talk about the 4 main levels of parallelism in modern
Computing:&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;- multiple (virtual) machines&lt;/div&gt;
&lt;div class="line"&gt;- multiple processes&lt;/div&gt;
&lt;div class="line"&gt;- multiple threads&lt;/div&gt;
&lt;div class="line"&gt;- multiple green threads, aka asyncio&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Why you might use each of them, how to go about doing so with python and
some of the pitfalls you might fall into along the way.&lt;/p&gt;
&lt;p&gt;To do so, I'll give short examples in code of achieving each level:&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;- leveraging multiple hosts using RQ, and also the possibility of RPC
with HTTP&lt;/div&gt;
&lt;div class="line"&gt;- multiprocessing and threading using their respective modules from
the python standard library&lt;/div&gt;
&lt;div class="line"&gt;- asyncio demonstrated with AIOHTTP&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;That sounds great, but there are &amp;quot;gotchas&amp;quot; you should know about before
you get started, for example:&lt;/p&gt;
&lt;div class="line-block"&gt;
&lt;div class="line"&gt;- multiple machines can actually be multiple virtual machines on the
same host&lt;/div&gt;
&lt;div class="line"&gt;- effectively communicating between processes is hard, how can we go
about making it easier?&lt;/div&gt;
&lt;div class="line"&gt;- the limitations of threading and the GIL&lt;/div&gt;
&lt;div class="line"&gt;- run_in_executor - do we ever really need to use multiprocessing or
threading directly again&lt;/div&gt;
&lt;div class="line"&gt;- use of asyncio when dealing with both networking between hosts and
between processes - you end up using two different kinds of
concurrency at the same time. That can be confusing, but also awesome.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;I'll finish of by showcasing a library I built, arq which is a job
queueing and RPC library for python which uses asyncio and Redis.&lt;/p&gt;
</content><category term="EuroPython 2019"></category><category term="ASYNC / Concurrency"></category><category term="Messaging and Job Queues"></category><category term="Multi-Processing"></category><category term="Multi-Threading"></category><category term="python"></category></entry><entry><title>Advanced Infrastructure Management in Kubernetes using Python</title><link href="https://pyvideo.org/europython-2020/advanced-infrastructure-management-in-kubernetes-using-python.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Gautam Prajapati</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/advanced-infrastructure-management-in-kubernetes-using-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Automate managing complex applications in a cloud native way using Operators written in Python&lt;/p&gt;
&lt;p&gt;Many of us are using Kubernetes in production. A Kubernetes Operator is a way to automate packaging, deploying, and managing of a Kubernetes Application. It is a software alternative to a human operator who has …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Automate managing complex applications in a cloud native way using Operators written in Python&lt;/p&gt;
&lt;p&gt;Many of us are using Kubernetes in production. A Kubernetes Operator is a way to automate packaging, deploying, and managing of a Kubernetes Application. It is a software alternative to a human operator who has deep knowledge of how to set up, deploy, and manage a particular piece of infrastructure and what to do if it isn’t behaving correctly. Let’s see how we can automate all of this while staying in the Python ecosystem.&lt;/p&gt;
&lt;p&gt;It will be helpful to know some basic concepts of Kubernetes(Deployments, Services, Pods, Configmap etc.) and Celery(docs.celeryproject.org) to get the most out of this talk.&lt;/p&gt;
&lt;p&gt;Talk is divided into four phases.&lt;/p&gt;
&lt;p&gt;Phase I - Problems and Opportunities
We're going to see some simple examples/problems where a lot of manual effort is involved so as to connect audience to the problem.
We're going to discuss problems with configuration management, database cluster setup and introduce the focus problem of the talk which is around automating the setup of a Celery cluster.&lt;/p&gt;
&lt;p&gt;Phase II - Incrementally Approaching the Solution
We're going to incrementally approach the automation each of the manual steps involved in running a Celery cluster in Production. We're going to discuss the extension capabilities in Kubernetes using CRDs and Custom Controllers which are going to help us manage our Celery cluster automagically.&lt;/p&gt;
&lt;p&gt;Phase III - Celery Operator in action
We're going to see the code of custom controller and the whole operator in action. We create the newly defined celery resource and see how the operator works on bringing up the worker and flower deployments and handles autoscaling based on queue length.&lt;/p&gt;
&lt;p&gt;Phase IV - Conclusion and Q&amp;amp;A
We're going to talk about different use-cases and what is world doing with Operators. We'll discuss the next steps for the Celery operator and some resources to help build operators. We'll end the talk with a Q&amp;amp;A.&lt;/p&gt;
&lt;p&gt;Slides for the talk are available on - &lt;a class="reference external" href="https://bit.ly/europython20-ppt"&gt;https://bit.ly/europython20-ppt&lt;/a&gt;
Celery Operator POC I built for this talk is open source - &lt;a class="reference external" href="https://github.com/brainbreaker/Celery-Kubernetes-Operator"&gt;https://github.com/brainbreaker/Celery-Kubernetes-Operator&lt;/a&gt;&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="DevOps general"></category><category term="Distributed Systems"></category><category term="Infrastructure"></category><category term="Messaging and Job Queues (RabbitMQ/Redis/...)"></category><category term="python"></category></entry><entry><title>Attractive GUIs with PySimpleGUI</title><link href="https://pyvideo.org/europython-2020/attractive-guis-with-pysimplegui.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Ruud van der Ham</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/attractive-guis-with-pysimplegui.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;With PySimpleGUI everyone can build powerful GUI applications without a steep learning curve.&lt;/p&gt;
&lt;p&gt;In the Python landscape, there are several high-end GUI packages. Of course, there’s tkinter which is part of the standard library. And there is wxPython and several versions of Qt. What they share is that …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;With PySimpleGUI everyone can build powerful GUI applications without a steep learning curve.&lt;/p&gt;
&lt;p&gt;In the Python landscape, there are several high-end GUI packages. Of course, there’s tkinter which is part of the standard library. And there is wxPython and several versions of Qt. What they share is that they are very flexible but not only have a steep learning curve but also take considerable development effort to realize even a simple user interface.
At the other of the spectrum, there are several design tools that either generate code of a layout structure. In many cases, the functionality is rather limited, though.
Relatively recent, an independent open-source developer (not me) has made a product that tries to bridge the gap between these two worlds: PySimpleGUI. This package runs on top of tkinter, QT for Windows, wxPython and Remi.
In this talk, I want to show the design methodology behind this fascinating product that might change the way people look at GUIs.
I will start with live coding a simple yet not evident program that shows the basic concepts. With this, I will demonstrate the design philosophy.
PySimpleGUI can also be used to implement a user-friendly interface as opposed to command-line interfaces.
From there, I will give an overview of some more elements present in this package.
Finally, I will show a full-featured GUI program with several bells and whistles.&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="Beginners"></category><category term="General"></category><category term="Human-Machine-Interaction"></category><category term="python"></category></entry><entry><title>Automate your tasks with Python and publish with Chat Apps</title><link href="https://pyvideo.org/europython-2020/automate-your-tasks-with-python-and-publish-with-chat-apps.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Anton Chernikov</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/automate-your-tasks-with-python-and-publish-with-chat-apps.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;That’s the way to build a Virtual Assistant for your team, the way to boost productivity.&lt;/p&gt;
&lt;p&gt;The technology is to take script written in a high-level language (Python), analyze its inputs/outputs, images or graphs display, other interactions with the user and build connectors to this script from …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;That’s the way to build a Virtual Assistant for your team, the way to boost productivity.&lt;/p&gt;
&lt;p&gt;The technology is to take script written in a high-level language (Python), analyze its inputs/outputs, images or graphs display, other interactions with the user and build connectors to this script from Chat Apps like Slack, Skype, and others. Imagine that you described your skill as a script and gave it to a software robot. And from that moment it is his skill, you and your colleagues can ask him any time to run this skill and give results. As a script author, you don't think about how to connect with different Chat Apps, how to control access, how to monitor that script works fine when colleagues run it, how to save logs, how to balance load if there are too many colleagues running script and so on, our platform does all of this so the author doesn't need to think about what is that software robot, how it works, the platform will understand script by itself. The author just drop script to the platform and tell to the platform which colleagues have the right to run this script.&lt;/p&gt;
&lt;p&gt;For whom?&lt;/p&gt;
&lt;p&gt;For teams who are in charge of Servers, Applications, API's, Data Bases, Analytical reports and other information technology items.&lt;/p&gt;
&lt;p&gt;For tasks like&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;to fetch diagnostic information from multiple data sources into Chat App, gather metrics/logs and analyzing them&lt;/li&gt;
&lt;li&gt;to take an action in case of incident right from a Chat App, rerouting users requests, server rebooting, launching new instances, and many other actions&lt;/li&gt;
&lt;li&gt;to give easy access via Chat App to APIs for team members and other coleagues&lt;/li&gt;
&lt;li&gt;to provide analytical reports by the request from Chat App, reports with graphs, images, tables, files, etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;These things are trivial to automate and share, you can do much more with Python, Chat App and smart script sharing platform.&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="Best Practice"></category><category term="Community"></category><category term="Operations"></category><category term="Workforce"></category><category term="python"></category></entry><entry><title>Deceptive Security using Python</title><link href="https://pyvideo.org/europython-2020/deceptive-security-using-python.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Gajendra Deshpande</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/deceptive-security-using-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Deceiving hackers to protect your resources&lt;/p&gt;
&lt;p&gt;Imagine you are passing through an unknown street at midnight and you find that some anti-social elements are following you. To save yourself from them you start running and look for a safe place to hide. On the way, you will find a …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Deceiving hackers to protect your resources&lt;/p&gt;
&lt;p&gt;Imagine you are passing through an unknown street at midnight and you find that some anti-social elements are following you. To save yourself from them you start running and look for a safe place to hide. On the way, you will find a good person and requests him to help you. He hides you in his place to protect you. When these anti-social elements visit a good person’s place and enquire about you, the good person misguides them and redirects them to some other place in order to protect you. This is exactly how deception works. In this analogy, YOU are the resources to be protected, anti-social elements are the hackers who want to gain access to the resources, and a good person is a deception technique that protects the resources from hackers by making them fall in the trap.&lt;/p&gt;
&lt;p&gt;The talk begins with an introduction to deception technology, deception types, and methods, a deceptive security life cycle. In this talk, we will demonstrate the following deception tools implemented using python language:
•       WebTrap (&lt;a class="reference external" href="https://github.com/IllusiveNetworks-Labs/WebTrap"&gt;https://github.com/IllusiveNetworks-Labs/WebTrap&lt;/a&gt;): 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 (&lt;a class="reference external" href="https://github.com/RevengeComing/DemonHunter"&gt;https://github.com/RevengeComing/DemonHunter&lt;/a&gt;):  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.&lt;/p&gt;
&lt;p&gt;How we implemented a deception tool in python using machine learning:
We designed a deception tool in python language using PyBRAIN package to model and mitigate XPath injection attacks for web services. It is known that XML can be used to store the data and this data can be queried using XPath query language. XPath is a query language, it has injection issues similar to SQL. To handle this issue, we proposed a solution, which uses a count-based validation technique and Long Short-Term Memory (LSTM) modular neural networks to identify and classify atypical behavior in user input. Once the atypical user input is identified, the attacker is redirected to fake resources to protect the critical data. Our experiment resulted in over 90% accuracy in the classification of input vectors.&lt;/p&gt;
&lt;p&gt;Outline
1. Introduction to deception, Deception types, Deception technology applicable methods and Deception Life cycle(08 Minutes)
2. Demonstration of WebTrap deception tool(04 Minutes)
3. Demonstration of DemonHunter deception tool(04 Minutes)
4. Discussion of our deception tool and demonstration(06 Minutes)
5. Conclusion and Questions(03 Minutes)&lt;/p&gt;
&lt;p&gt;Audience
No experience level of Python is needed. In general, anyone can attend this talk and learn about applying deception techniques and machine learning to application security.&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="Beginners"></category><category term="Machine-Learning"></category><category term="Security"></category><category term="python"></category></entry><entry><title>Elegant Exception Handling</title><link href="https://pyvideo.org/europython-2020/elegant-exception-handling.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Eyal Trabelsi</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/elegant-exception-handling.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Error handling is hard. Regardless of the approach you take, it usually means littering your application with checks and validations that greatly reduce code readability. So how can we tackle exceptions?&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="Python Skills"></category><category term="Python general"></category><category term="python"></category></entry><entry><title>Honey, There Is a Python in My Android Phone!</title><link href="https://pyvideo.org/europython-2020/honey-there-is-a-python-in-my-android-phone.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>James Ing Wei Tang</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/honey-there-is-a-python-in-my-android-phone.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This project was initiated during my Christmas vacation, inspired by Android Barcode Scanner as I was looking on the solution that I could catalogue my books by scanning the ISBN using android phone.
This quick solution did save me enormous amount of time in cataloguing my books. Intriguing by …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;This project was initiated during my Christmas vacation, inspired by Android Barcode Scanner as I was looking on the solution that I could catalogue my books by scanning the ISBN using android phone.
This quick solution did save me enormous amount of time in cataloguing my books. Intriguing by the design of APIs that can interact with android intents, I decided to dig further to understand how the APIs works. In concept, there is an RPC call between android app and python interpreter within the app that acts as a bridge, which allows python APIs to trigger Android intents, upon calling related APIs. For example, using the code snippet above, when Python GPS API is executed, the API will send request to Android GPS intent via the RPC call. Once Android intent receives the request, it will grab the GPS data, and passes the GPS data back to Python GPS API through the same channel.&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="conference"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="python"></category><category term="Gadgets"></category><category term="General"></category><category term="Python 3"></category></entry><entry><title>Lessons from the Trenches: rewriting and re-releasing virtualenv</title><link href="https://pyvideo.org/europython-2020/lessons-from-the-trenches-rewriting-and-re-releasing-virtualenv.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Bernat Gabor</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/lessons-from-the-trenches-rewriting-and-re-releasing-virtualenv.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;virtualenv is a tool that builds virtual environments for Python. It was first created in September 2007 and lived most of its life being a single file project with an increasing amount of (scary) workarounds within. It managed to grow until it was 2,700 lines of code. Maintaining …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;virtualenv is a tool that builds virtual environments for Python. It was first created in September 2007 and lived most of its life being a single file project with an increasing amount of (scary) workarounds within. It managed to grow until it was 2,700 lines of code. Maintaining this project became increasingly more troublesome, to the point where, we had more than 500 open issues at one point. In July 2019, I started working from scratch on a rewrite, with the goal of not just increasing the project's maintainability, but also to make it faster and add some new features that were just impossible or too hard to do in the existing code base. Fast forward six months to January 2020, when we released the first beta, with the first full release coming out on 10th February. It took a bit more than a month to squash all the open bugs tickets, but April started without any remaining open bug tickets. This talk will cover the lessons I've learned while on this journey.&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="Packaging"></category><category term="Virtual Env"></category><category term="python"></category></entry><entry><title>Speak Python with Devices</title><link href="https://pyvideo.org/europython-2020/speak-python-with-devices.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Petertc Chu</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/speak-python-with-devices.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;How Python can be used in IoT/infrastructure automation tasks&lt;/p&gt;
&lt;p&gt;The talk will be a getting start guide on controlling hardware devices with Python. We know Python users are very keen on multitasking and always wish to know more about how it can be used in different tasks. This …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;How Python can be used in IoT/infrastructure automation tasks&lt;/p&gt;
&lt;p&gt;The talk will be a getting start guide on controlling hardware devices with Python. We know Python users are very keen on multitasking and always wish to know more about how it can be used in different tasks. This talk will help audiences exploring new Python skillset. Audiences may be inspired by this talk and apply it to many scenarios, e.g., IoT and infrastructure automation.&lt;/p&gt;
&lt;p&gt;Intended audiences include:
1. wish to know how Python can be used beyond data analysis and web dev
2. a Pythonista who interested in craft some touchable things
3. want to acquire something new into your Python skillset&lt;/p&gt;
&lt;p&gt;Audiences are expected to have basic knowledge about:
1. Python syntax and control flow
2. Computer and operating system (especially UNIX)&lt;/p&gt;
&lt;p&gt;After this talk, audiences will have:
1. The basic idea of controlling devices with Python
2. Expanding their Python skillset. Know how to use Python in another interesting and useful task besides ML, web scrapping, etc.&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="CPython"></category><category term="Hardware/IoT"></category><category term="Other Hardware"></category><category term="Unix"></category><category term="python"></category></entry><entry><title>Static Typing in Python</title><link href="https://pyvideo.org/europython-2020/static-typing-in-python.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Dustin Ingram</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/static-typing-in-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Python is well-known as a programming language without static types. This means that you don’t need to say what a given variable will hold, or whether your function will return a string or an integer (or sometimes one, and sometimes another!). This has historically made Python a very …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Python is well-known as a programming language without static types. This means that you don’t need to say what a given variable will hold, or whether your function will return a string or an integer (or sometimes one, and sometimes another!). This has historically made Python a very flexible and beginner-friendly language.&lt;/p&gt;
&lt;p&gt;In this talk, we’ll discuss the advantages and disadvantages to a static type system, as well as recent efforts to introduce static typing to Python via optional “type hints” and various tools to aid in adding types to Python code. We’ll see what this means for Python, for Python programmers, and what the future has in store for Python’s type system.&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="Python 3"></category><category term="Static Analysis"></category><category term="Tooling"></category><category term="Type-Hinting"></category><category term="python"></category></entry><entry><title>Writing and Scaling Collaborative Data Pipelines with Kedro</title><link href="https://pyvideo.org/europython-2020/writing-and-scaling-collaborative-data-pipelines-with-kedro.html" rel="alternate"></link><published>2020-07-23T00:00:00+00:00</published><updated>2020-07-23T00:00:00+00:00</updated><author><name>Tam-Sanh Nguyen</name></author><id>tag:pyvideo.org,2020-07-23:/europython-2020/writing-and-scaling-collaborative-data-pipelines-with-kedro.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;How to get your Data Scientists and Data Engineers to play nice, both now and in the future.&lt;/p&gt;
&lt;p&gt;The goal of this talk is to introduce data pipeline developers to QuantumBlack's approach for keeping data pipelines healthy and sustainable and facilitating collaboration between data scientists and data engineers by …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;How to get your Data Scientists and Data Engineers to play nice, both now and in the future.&lt;/p&gt;
&lt;p&gt;The goal of this talk is to introduce data pipeline developers to QuantumBlack's approach for keeping data pipelines healthy and sustainable and facilitating collaboration between data scientists and data engineers by using our open source framework, Kedro. Attendees need between novice and intermediate knowledge of Python (enough to understand syntactic sugar and funargs) in order to appreciate this talk.&lt;/p&gt;
&lt;p&gt;As data continues to inform more and more business strategy, high quality, fully featured data pipelines have never been more critical. Small data scripts and single-coder science projects are not enough to keep up with the pace of day-to-day business and their ever-growing list of requirements. Now, more than ever, we need data engineers and data scientists to collaborate effectively. Yet, these two parties come with inherently competing needs.&lt;/p&gt;
&lt;p&gt;Data scientists need high data volatility and parameterization, for experimentation, and data engineers, on the other hand, need stability and performance, to deliver data. Furthermore, as pipelines grow, the cost of knowledge transfer and training new team members also increases. How can we get scientists and engineers to work well together, and sustain pipeline growth as the team also grows?&lt;/p&gt;
&lt;p&gt;For this, QuantumBlack created Kedro, a framework for writing data pipelines that addresses both the needs for flexibility and stability in its features and patterns of use. By using Kedro’s tools and operating model, we have enabled our teams to scale our single-developer, micro-pipes to industrial sized data processors with dozens of developers; all without sacrificing readability, quality, or stability. This talk will show you how.&lt;/p&gt;
</content><category term="EuroPython 2020"></category><category term="europython"></category><category term="europython-2020"></category><category term="europython-online"></category><category term="Best Practice"></category><category term="Data"></category><category term="Development"></category><category term="Open-Source"></category><category term="python"></category></entry><entry><title>Escrevendo Testes com Flask e #JustPython</title><link href="https://pyvideo.org/flask-conf-2018/escrevendo-testes-com-flask-e-justpython.html" rel="alternate"></link><published>2018-08-25T00:00:00+00:00</published><updated>2018-08-25T00:00:00+00:00</updated><author><name>Eduardo Mendes</name></author><id>tag:pyvideo.org,2018-08-25:/flask-conf-2018/escrevendo-testes-com-flask-e-justpython.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Escrevendo Testes com Flask e #JustPython - Palestra de Eduardo Mendes na Flask Conf 2018.&lt;/p&gt;
</content><category term="Flask Conf 2018"></category><category term="flask"></category><category term="testes"></category><category term="python"></category></entry><entry><title>Death to the spinner: event sourcing for reactive web apps</title><link href="https://pyvideo.org/flaskcon-2025/death-to-the-spinner-event-sourcing-for-reactive-web-apps.html" rel="alternate"></link><published>2025-05-16T00:00:00+00:00</published><updated>2025-05-16T00:00:00+00:00</updated><author><name>Chris May</name></author><id>tag:pyvideo.org,2025-05-16:/flaskcon-2025/death-to-the-spinner-event-sourcing-for-reactive-web-apps.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Chris May shows how to use Flask, SSE, and Datastar to build a reactive UI with introspectable data, all with Jinja templates and a single codebase.&lt;/p&gt;
</content><category term="FlaskCon 2025"></category><category term="Flask"></category><category term="FlaskCon"></category><category term="SSE"></category><category term="Datastar"></category><category term="Reactive UI"></category><category term="Jinja"></category><category term="Python"></category></entry><entry><title>Let’s PyScript: Flask frontends in Python!</title><link href="https://pyvideo.org/flaskcon-2025/lets-pyscript-flask-frontends-in-python.html" rel="alternate"></link><published>2025-05-16T00:00:00+00:00</published><updated>2025-05-16T00:00:00+00:00</updated><author><name>Nicholas Tollervey</name></author><id>tag:pyvideo.org,2025-05-16:/flaskcon-2025/lets-pyscript-flask-frontends-in-python.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Nicholas Tollervey live codes a chat system with a Flask API and PyScript UI. He and Paul Everitt talk about how PyScript works, and then take Q&amp;amp;A from the audience through the newly created app. Presented at FlaskCon 2025.&lt;/p&gt;
</content><category term="FlaskCon 2025"></category><category term="FlaskCon"></category><category term="Flask"></category><category term="API"></category><category term="PyScript"></category><category term="Python"></category></entry><entry><title>Python’s New Template Strings and Flask</title><link href="https://pyvideo.org/flaskcon-2025/pythons-new-template-strings-and-flask.html" rel="alternate"></link><published>2025-05-16T00:00:00+00:00</published><updated>2025-05-16T00:00:00+00:00</updated><author><name>Dave Peck</name></author><id>tag:pyvideo.org,2025-05-16:/flaskcon-2025/pythons-new-template-strings-and-flask.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Dave Peck and Paul Everitt describe how their new PEP 750 t-strings template strings work. They demonstrate problems that t-strings solve, and show how they might be used to write a new template system or enhance an existing one. Presented at FlaskCon 2025.&lt;/p&gt;
</content><category term="FlaskCon 2025"></category><category term="FlaskCon"></category><category term="PEP 750"></category><category term="t-strings"></category><category term="template strings"></category><category term="templating"></category><category term="Python"></category><category term="Flask"></category></entry><entry><title>Testing Flask and Quart apps with Playwright</title><link href="https://pyvideo.org/flaskcon-2025/testing-flask-and-quart-apps-with-playwright.html" rel="alternate"></link><published>2025-05-16T00:00:00+00:00</published><updated>2025-05-16T00:00:00+00:00</updated><author><name>Pamela Fox</name></author><id>tag:pyvideo.org,2025-05-16:/flaskcon-2025/testing-flask-and-quart-apps-with-playwright.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Pamela Fox shows how Playwright can be used to write and run tests against a Flask/Quart app in a browser. Presented at FlaskCon 2025.&lt;/p&gt;
</content><category term="FlaskCon 2025"></category><category term="FlaskCon"></category><category term="Playwright"></category><category term="Testing"></category><category term="Flask"></category><category term="Quart"></category><category term="Browser Testing"></category><category term="Python"></category></entry><entry><title>Turning Data into an Interactive Artwork That Tells a Story</title><link href="https://pyvideo.org/flaskcon-2025/turning-data-into-an-interactive-artwork-that-tells-a-story.html" rel="alternate"></link><published>2025-05-16T00:00:00+00:00</published><updated>2025-05-16T00:00:00+00:00</updated><author><name>Diane Phan</name></author><id>tag:pyvideo.org,2025-05-16:/flaskcon-2025/turning-data-into-an-interactive-artwork-that-tells-a-story.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Diane Phan describes her love of movies, music, and programming, and how she combined those into a fun app to share and map music memories. The audience is invited to use the live app during the talk. Presented at FlaskCon 2025.&lt;/p&gt;
</content><category term="FlaskCon 2025"></category><category term="FlaskCon"></category><category term="Movies"></category><category term="Music"></category><category term="Interactive"></category><category term="Flask"></category><category term="Python"></category></entry><entry><title>Python: A Medley of Programming Paradigms</title><link href="https://pyvideo.org/kiwi-pycon-2019/python-a-medley-of-programming-paradigms.html" rel="alternate"></link><published>2019-08-24T00:00:00+00:00</published><updated>2019-08-24T00:00:00+00:00</updated><author><name>Simon Merrick</name></author><id>tag:pyvideo.org,2019-08-24:/kiwi-pycon-2019/python-a-medley-of-programming-paradigms.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Exploring Python's multiple programming paradigms - Imperative, Procedural, Functional and Object Oriented - and their applications through Python examples.&lt;/p&gt;
</content><category term="Kiwi PyCon 2019"></category><category term="programming paradigms"></category><category term="python"></category></entry><entry><title>dask-image: distributed image processing for large data</title><link href="https://pyvideo.org/pycon-au-2020/dask-image-distributed-image-processing-for-large-data.html" rel="alternate"></link><published>2020-09-06T00:00:00+00:00</published><updated>2020-09-06T00:00:00+00:00</updated><author><name>Genevieve Buckley</name></author><id>tag:pyvideo.org,2020-09-06:/pycon-au-2020/dask-image-distributed-image-processing-for-large-data.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Genevieve Buckley&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/KHULAN"&gt;https://2020.pycon.org.au/program/KHULAN&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Image datasets are large, and becoming larger. The widely used benchmark dataset COCO (Common Objects in Context) contains 330,000 individual images. The average size of a single entry on the image database EMPIAR is over 1TB, and can easily …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Genevieve Buckley&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/KHULAN"&gt;https://2020.pycon.org.au/program/KHULAN&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Image datasets are large, and becoming larger. The widely used benchmark dataset COCO (Common Objects in Context) contains 330,000 individual images. The average size of a single entry on the image database EMPIAR is over 1TB, and can easily reach several terabytes.  Even where individual images are small enough to fit in-memory, many existing parallelization methods are difficult to scale seamlessly between a laptop and a supercomputing cluster. For instance, the python multiprocessing module is restricted to a single mode and can't take advantage of multiple compute nodes on a distributed supercomputing cluster.&lt;/p&gt;
&lt;p&gt;We need easy ways to work with large image data. This talk introduces dask-image, a python library for distributed image processing. The target audience are python programmers currently using numpy and scipy with large array data, where the whole dataset cannot fit in memory or is close to that limit. It's for people who want to get started with parallel processing, either because they have large single-image data, or because they want to do batch processing applying the same analysis to many smaller images (sometimes known an embarrassingly parallel problem). The specific image analysis functions provided by dask-image are of broad interest to a diverse range of analysis applications including (but not limited to) video/streaming data, computer vision, and scientific fields including astronomy, microscopy and geosciences.&lt;/p&gt;
&lt;p&gt;Specifically, this talk will cover:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;An overview of the dask-image library&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;Lazy image loading&lt;/li&gt;
&lt;li&gt;Image pre-processing functionality (convolutions, filters, etc.)&lt;/li&gt;
&lt;li&gt;Analysis of segmented images (distributed labeling, and measurements of those label regions)&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;li&gt;Mixing in your own custom analysis functions (using dask delayed, map_blocks, and map_overlap)&lt;/li&gt;
&lt;li&gt;A practical case study of a Python image processing pipeline&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;dask-image is open source, released under a BSD 3-Clause license, and can be installed using conda or pip. You can find the source code at &lt;a class="reference external" href="https://github.com/dask/dask-image"&gt;https://github.com/dask/dask-image&lt;/a&gt; and the quickstart guide at &lt;a class="reference external" href="https://github.com/dask/dask-examples/blob/master/applications/image-processing.ipynb"&gt;https://github.com/dask/dask-examples/blob/master/applications/image-processing.ipynb&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 13:55:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="GenevieveBuckley"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>DevOps for Data Science? - automate the boring stuff and leverage the OSS ecosystem</title><link href="https://pyvideo.org/pycon-au-2020/devops-for-data-science-automate-the-boring-stuff-and-leverage-the-oss-ecosystem.html" rel="alternate"></link><published>2020-09-06T00:00:00+00:00</published><updated>2020-09-06T00:00:00+00:00</updated><author><name>Dr.Tania Allard</name></author><id>tag:pyvideo.org,2020-09-06:/pycon-au-2020/devops-for-data-science-automate-the-boring-stuff-and-leverage-the-oss-ecosystem.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Dr. Tania Allard&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/WMMVSQ"&gt;https://2020.pycon.org.au/program/WMMVSQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Does your work (either research, non-profit or industry-based) depend on Machine learning, Data Science or data-intensive analyses? Have you ever wished you could automate some of the boring stuff while adding extra robustness to your workflows so that you …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Dr. Tania Allard&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/WMMVSQ"&gt;https://2020.pycon.org.au/program/WMMVSQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Does your work (either research, non-profit or industry-based) depend on Machine learning, Data Science or data-intensive analyses? Have you ever wished you could automate some of the boring stuff while adding extra robustness to your workflows so that you and your team can have greater confidence and work more efficiently?&lt;/p&gt;
&lt;p&gt;In this talk, I will present the concept of MLOps (kind of DevOps for ML scenarios, also referred to as DataOps or AIOps) and how adopting these practices can improve your team's workflows. You will learn how to automate some tasks within the ML lifecycle: from data transformation to model training, testing and validation, and deployment — making your workflows not only more seamless but your entire work more reproducible, reliable, and robust.
You do not need to be a DevOps engineer to benefit from these practices, but you can indeed leverage existing open-source tools and platforms to improve your Data Science workflows.
For completeness, I'll show a live end to end example, integrating MLOps practices for Machine Learning - from data processing to model training, validation and deployment. I will highlight the essential tips and tricks for each of the involved stages. You will leave the talk with practical recommendations and examples to get you started on adopting MLOps practices.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 16:35:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="Dr.TaniaAllard"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Extracting data from Excel with Python</title><link href="https://pyvideo.org/pycon-au-2020/extracting-data-from-excel-with-python.html" rel="alternate"></link><published>2020-09-06T00:00:00+00:00</published><updated>2020-09-06T00:00:00+00:00</updated><author><name>samuel oranyeli</name></author><id>tag:pyvideo.org,2020-09-06:/pycon-au-2020/extracting-data-from-excel-with-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;samuel oranyeli&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/FAEAH3"&gt;https://2020.pycon.org.au/program/FAEAH3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;How do you read data from Excel? How do you read data that has meaningful formats(rows or cells are colour coded)? Or pivot tables that need to be in tidy format? Or data with hierarchical formatting ? This talk will …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;samuel oranyeli&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/FAEAH3"&gt;https://2020.pycon.org.au/program/FAEAH3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;How do you read data from Excel? How do you read data that has meaningful formats(rows or cells are colour coded)? Or pivot tables that need to be in tidy format? Or data with hierarchical formatting ? This talk will show how to use Pandas, Openpyxl, and some other make-life-easy tools to extract data from Excel into Python in a tidy form and proceed to the next phase of our data analysis.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 13:20:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category><category term="samueloranyeli"></category></entry><entry><title>Rube Codeberg Competition</title><link href="https://pyvideo.org/pycon-au-2020/rube-codeberg-competition.html" rel="alternate"></link><published>2020-09-06T00:00:00+00:00</published><updated>2020-09-06T00:00:00+00:00</updated><author><name>Rube Codeberg Competition</name></author><id>tag:pyvideo.org,2020-09-06:/pycon-au-2020/rube-codeberg-competition.html</id><content type="html"></content><category term="PyCon AU 2020"></category><category term="australia"></category><category term="conference"></category><category term="programming"></category><category term="python"></category></entry><entry><title>Technosolutionism and human rights</title><link href="https://pyvideo.org/pycon-au-2020/technosolutionism-and-human-rights.html" rel="alternate"></link><published>2020-09-06T00:00:00+00:00</published><updated>2020-09-06T00:00:00+00:00</updated><author><name>Lucie Krahulcova</name></author><id>tag:pyvideo.org,2020-09-06:/pycon-au-2020/technosolutionism-and-human-rights.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Lucie Krahulcova&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/XWQNFM"&gt;https://2020.pycon.org.au/program/XWQNFM&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Technosolutionism proves that we need a multidisciplinary approach to tech design. In this session we will use the latest examples of the COVID19 apps to illustrate how a solution can be technically perfect while being perfectly inappropriate as a solution …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Lucie Krahulcova&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/XWQNFM"&gt;https://2020.pycon.org.au/program/XWQNFM&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Technosolutionism proves that we need a multidisciplinary approach to tech design. In this session we will use the latest examples of the COVID19 apps to illustrate how a solution can be technically perfect while being perfectly inappropriate as a solution to a given problem. We will work backwards from the location/data sharing/API changes which were happily adopted for covid apps to illustrate how/when those sorts of opportunities can be seized by governments and malicious third parties. We will cover the ways in which every dataset aggregated and generated is likely to be appropriated and abused. Why does that happen? How can we prevent that at the design stages? I will lean on my extensive history in the field to pull together examples where policy and agencies have grabbed at opportunities like this to seize additional power, and use it to highlight the urgency of addressing this issue as we go through the everyday. We can change the chaotic technosolutionism that happens by being better informed and better prepared to do our jobs with a critical eye.&lt;/p&gt;
&lt;p&gt;The session should leave the audience with a broader understanding of the challenges posed by one-stop-shop-technosolutionism and the essential questions that we as participants in the tech space have a responsibility for baking into our thinking and decision making.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 09:15:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="LucieKrahulcova"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Why the float did it NaN?</title><link href="https://pyvideo.org/pycon-au-2020/why-the-float-did-it-nan.html" rel="alternate"></link><published>2020-09-06T00:00:00+00:00</published><updated>2020-09-06T00:00:00+00:00</updated><author><name>Jakub Nabaglo</name></author><id>tag:pyvideo.org,2020-09-06:/pycon-au-2020/why-the-float-did-it-nan.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Jakub Nabaglo&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/RTT87N"&gt;https://2020.pycon.org.au/program/RTT87N&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Floating point numbers are designed to be magic. For most mundane tasks, your calculations ‘just work’, and you are not supposed to think too much about it.&lt;/p&gt;
&lt;p&gt;From time to time though, the magic stops working. The maths that’s …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Jakub Nabaglo&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/RTT87N"&gt;https://2020.pycon.org.au/program/RTT87N&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Floating point numbers are designed to be magic. For most mundane tasks, your calculations ‘just work’, and you are not supposed to think too much about it.&lt;/p&gt;
&lt;p&gt;From time to time though, the magic stops working. The maths that’s correct on a sheet of paper no longer gives the right results when done on a computer. Results of NaN or Inf, division by zero errors, and inaccurate answers have caused great frustration to many.&lt;/p&gt;
&lt;p&gt;To see why this happens, we will look under the hood of floating point numbers. Their structure in memory, and how it affects the accuracy of different operations. This is particularly relevant to data science, which entails lots of number crunching.&lt;/p&gt;
&lt;p&gt;We will see why subtraction is sometimes dangerous, why you should avoid multiplying probabilities, and why you should never invert a matrix. We will explore the tools Python, NumPy, and SciPy give us to avoid these pitfalls, such as LU decomposition and the LogAddExp trick.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 12:45:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="JakubNabaglo"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>3 ways to test S3 in Python</title><link href="https://pyvideo.org/pycon-au-2020/3-ways-to-test-s3-in-python.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Sanjay Siddhanti</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/3-ways-to-test-s3-in-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Sanjay Siddhanti&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/VXXUWE"&gt;https://2020.pycon.org.au/program/VXXUWE&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Benefits of testing code that uses S3&lt;/li&gt;
&lt;li&gt;In-depth code examples of three ways to test S3:&lt;/li&gt;
&lt;/ul&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Mock out the S3 API responses using botocore stubs&lt;/li&gt;
&lt;li&gt;Mock the S3 API using moto&lt;/li&gt;
&lt;li&gt;Spin up a LocalStack S3 instance and test against …&lt;/li&gt;&lt;/ol&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Sanjay Siddhanti&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/VXXUWE"&gt;https://2020.pycon.org.au/program/VXXUWE&lt;/a&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Benefits of testing code that uses S3&lt;/li&gt;
&lt;li&gt;In-depth code examples of three ways to test S3:&lt;/li&gt;
&lt;/ul&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Mock out the S3 API responses using botocore stubs&lt;/li&gt;
&lt;li&gt;Mock the S3 API using moto&lt;/li&gt;
&lt;li&gt;Spin up a LocalStack S3 instance and test against that&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 16:00:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="SanjaySiddhanti"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>A Reflection on Software Testing</title><link href="https://pyvideo.org/pycon-au-2020/a-reflection-on-software-testing.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Richard Jones</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/a-reflection-on-software-testing.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Richard Jones&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/MXZVY8"&gt;https://2020.pycon.org.au/program/MXZVY8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is an opinionated talk about issues I have observed during my career around software testing, including our conversations about it, but also the many materials produced describing how it should be done. One of my inspirations for this talk …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Richard Jones&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/MXZVY8"&gt;https://2020.pycon.org.au/program/MXZVY8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is an opinionated talk about issues I have observed during my career around software testing, including our conversations about it, but also the many materials produced describing how it should be done. One of my inspirations for this talk is the realisation that in some ways we have lost our way with testing, losing sight of some of the very early wisdom.&lt;/p&gt;
&lt;p&gt;I will talk about some of those conversations we have, the language we use, but I will also present some advice, with concrete examples, of how we all might improve how we approach and implement testing.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 13:00:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="RichardJones"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>A sack full of angry snakes: Taming your python dependencies with Nix</title><link href="https://pyvideo.org/pycon-au-2020/a-sack-full-of-angry-snakes-taming-your-python-dependencies-with-nix.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Thomas Woolford</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/a-sack-full-of-angry-snakes-taming-your-python-dependencies-with-nix.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Thomas Woolford&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/USWEYZ"&gt;https://2020.pycon.org.au/program/USWEYZ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Scientists, Researchers and Software Engineering projects should be paying attention to the reproducibility of their results. The best way to guarantee that the project you build today will be the same when built next week is to exactly specify your …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Thomas Woolford&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/USWEYZ"&gt;https://2020.pycon.org.au/program/USWEYZ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Scientists, Researchers and Software Engineering projects should be paying attention to the reproducibility of their results. The best way to guarantee that the project you build today will be the same when built next week is to exactly specify your dependency tree.&lt;/p&gt;
&lt;p&gt;Imperative package management approaches (such as apt/pip/conda) provide few assurances that the package version you get today is the same version you'll get tomorrow, or that installing packages in a different order won't change the versions resolved. The problem gets even harder when you want to integrate with native extensions that rely on platform libraries and the ephemeral contents of /usr/share/.&lt;/p&gt;
&lt;p&gt;In this talk I'll discuss how Nix package manager can provide a complete dependency management solution for python projects on Linux and Mac. Nix can install and track exact, reproducible versions of python packages and their transitive dependencies including platform libraries, down to the compiler version that created them. No more guessing why your teammate can trigger a bug that you can't reproduce.&lt;/p&gt;
&lt;p&gt;Nix can use this dependency info to quickly get new teammates up and running with a full development environment, no worries about the setup instructions being out of date or incompatible with their chosen OS flavor. Finally, Nix can build your project in a sealed build environment that prevents your project sneakily including files that haven't been declared as dependencies. You can then confidently deploy these builds as minimal docker images, VM images, or directly via nix package caches.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 13:20:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="ThomasWoolford"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>A website controlled Lego Robot using the Raspberry Pi</title><link href="https://pyvideo.org/pycon-au-2020/a-website-controlled-lego-robot-using-the-raspberry-pi.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Brad Nielsen</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/a-website-controlled-lego-robot-using-the-raspberry-pi.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Brad Nielsen&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/TVFCVP"&gt;https://2020.pycon.org.au/program/TVFCVP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 11:00:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="BradNielsen"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>All Hands on Deck – Handling Security Issues</title><link href="https://pyvideo.org/pycon-au-2020/all-hands-on-deck-handling-security-issues.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Markus Holtermann</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/all-hands-on-deck-handling-security-issues.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Markus Holtermann&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/U9GBBD"&gt;https://2020.pycon.org.au/program/U9GBBD&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We live in a world of technology and engineering where almost everything around us requires software. Unfortunately, the software we use or build has bugs. While most bugs can &amp;quot;just&amp;quot; be fixed, there are these other types of bugs, called …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Markus Holtermann&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/U9GBBD"&gt;https://2020.pycon.org.au/program/U9GBBD&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We live in a world of technology and engineering where almost everything around us requires software. Unfortunately, the software we use or build has bugs. While most bugs can &amp;quot;just&amp;quot; be fixed, there are these other types of bugs, called vulnerabilities. Vulnerabilities can be found in our own infrastructure, on customers' infrastructure, or — worse — around user data.&lt;/p&gt;
&lt;p&gt;Sadly, we see reports of leaked personal data on a daily basis. And when it comes to the companies who just had data leaked, it is astounding how rattled and unprepared they are for the situation. In fact, a lot of companies are puzzled when someone external approaches them about a possible security issue publicly. They don't know how to react and often react in the worst possible way: denial. But it is also about issues that are found from within the company. Issues that may not directly affect personal information. There is more to do than telling customers there is a security release of some software.&lt;/p&gt;
&lt;p&gt;IT security is a sheer endless topic to talk about. It is a mindset and a company culture that must be lived by each and everyone within a company. In this talk, I will point out what roles individual departments play. Because there are more questions to be answered than “how and when are customers informed about an issue and a corresponding solution”. Are details about the issue released, and if so, when, and will the details be released publicly or only to customers? How will a public outcry about an issue on social media be dealt with? Is the social media team equipped to handle the masses? Will the sales and marketing teams be able to handle a hesitant customers base? What legal implications does the issue have? Who coordinates, makes decisions, and stays on top all of these moving parts?&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 14:30:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="MarkusHoltermann"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>At The Root : Wagtail + Gatsby + GitPod</title><link href="https://pyvideo.org/pycon-au-2020/at-the-root-wagtail-gatsby-gitpod.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Dawn Wages</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/at-the-root-wagtail-gatsby-gitpod.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Dawn Wages&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/KBXD9E"&gt;https://2020.pycon.org.au/program/KBXD9E&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Exploring if a GatsbyJS progressive web app generator frontend with a headless Wagtail backend could be a solution for small-sized clients and personal projects when I want to &amp;quot;whip something up&amp;quot; quickly without sacrificing design, performance/hosting costs, user or …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Dawn Wages&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/KBXD9E"&gt;https://2020.pycon.org.au/program/KBXD9E&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Exploring if a GatsbyJS progressive web app generator frontend with a headless Wagtail backend could be a solution for small-sized clients and personal projects when I want to &amp;quot;whip something up&amp;quot; quickly without sacrificing design, performance/hosting costs, user or site editor experience (Can I have it all)? Gatsby (&lt;a class="reference external" href="https://www.gatsbyjs.org/"&gt;https://www.gatsbyjs.org/&lt;/a&gt;) is a open source framework based on React. Wagtail (&lt;a class="reference external" href="https://wagtail.io/"&gt;https://wagtail.io/&lt;/a&gt;) is a Django CMS with LOTS of cool features for content creators, and &amp;quot;plays nicely with everything else in your tech stack&amp;quot; (source: Wagtail) because its built on and easily integrates with all uses of Python.&lt;/p&gt;
&lt;p&gt;Why? Not only do I enjoy the new and shiny things as a consultant, both Wagtail and GatsbyJS are established frameworks and active communities that put considerable effort in providing a great product with a smooth developer experience. We enjoy the benefits of Django / Wagtail CMS, with a incredibly fast pre-fetched progressive web app with GatsbyJS. The goal is nice, fast and fun.&lt;/p&gt;
&lt;p&gt;I am approaching this talk by walking through how I started out with minimal experience with GatsbyJS or GraphQL, and moderate experience with React and headless Wagtail to creating and deploying (Netlify) this app. I am not an expert in either technology, but was able to quickly navigate getting started as well as identify lots of resources in both communities to build out in a more complex experience.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 10:25:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="DawnWages"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Biometric Unsecurity</title><link href="https://pyvideo.org/pycon-au-2020/biometric-unsecurity.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Carina C. Zona</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/biometric-unsecurity.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Carina C. Zona&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/9L3NTY"&gt;https://2020.pycon.org.au/program/9L3NTY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Examples are drawn from a globally geographically diverse range of areas.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 10:25:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="CarinaC.Zona"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Build your own data warehouse for personal analytics with SQLite and Datasette</title><link href="https://pyvideo.org/pycon-au-2020/build-your-own-data-warehouse-for-personal-analytics-with-sqlite-and-datasette.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Simon Willison</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/build-your-own-data-warehouse-for-personal-analytics-with-sqlite-and-datasette.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Simon Willison&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/73UK8X"&gt;https://2020.pycon.org.au/program/73UK8X&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Many data enthusiasts dream of analyzing their own personal data, but few find time to build their own pipeline for it. This talk will show you how to get started with personal analytics with the highest possible return on your …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Simon Willison&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/73UK8X"&gt;https://2020.pycon.org.au/program/73UK8X&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Many data enthusiasts dream of analyzing their own personal data, but few find time to build their own pipeline for it. This talk will show you how to get started with personal analytics with the highest possible return on your invested effort.&lt;/p&gt;
&lt;p&gt;SQLite is the ideal tool for building a personal data analysis pipeline: it's free, fast and widely supported. Each database is a single file on disk, so you don't need to set up a database server to start using it. Tools that import data into SQLite can be written in any programming language, and its JSON support means it can even ingest data that may not fit neatly in a standard relational database table.&lt;/p&gt;
&lt;p&gt;Datasette is a Python application that provides an interface over SQLite. It lets you bookmark and queries in your browser and export the results as JSON and CSV. The Datasette plugin ecosystem has over 30 plugins that extend Datasette in different ways, adding visualization tools, alternative export formats and more.&lt;/p&gt;
&lt;p&gt;I'll show how to combine SQLite, Datasette and some simple Python scripts to ingest personal data from multiple different sources and build a personal data warehouse for your digital life. Data sources will include:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Twitter&lt;/li&gt;
&lt;li&gt;Facebook&lt;/li&gt;
&lt;li&gt;Apple Photos&lt;/li&gt;
&lt;li&gt;LinkedIn&lt;/li&gt;
&lt;li&gt;Google (via Google Takeout)&lt;/li&gt;
&lt;li&gt;Foursquare / Swarm&lt;/li&gt;
&lt;li&gt;GitHub&lt;/li&gt;
&lt;li&gt;Apple Health&lt;/li&gt;
&lt;li&gt;23AndMe&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Techniques that work for an individual can work for organizations too. I'll finish by showing how this approach to working with data can scale up to solving professional problems in addition to personal analytics.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 16:00:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="SimonWillison"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Can you keep a secret?</title><link href="https://pyvideo.org/pycon-au-2020/can-you-keep-a-secret.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Aaron Bassett</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/can-you-keep-a-secret.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Aaron Bassett&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/UKBKTR"&gt;https://2020.pycon.org.au/program/UKBKTR&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We've all been guilty of hard-coding secrets at some point. It's just a quick hack, and you'll definitely go back and tidy it up later. But then you forget, and it's all too easy to &lt;cite&gt;git push&lt;/cite&gt; your API keys …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Aaron Bassett&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/UKBKTR"&gt;https://2020.pycon.org.au/program/UKBKTR&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We've all been guilty of hard-coding secrets at some point. It's just a quick hack, and you'll definitely go back and tidy it up later. But then you forget, and it's all too easy to &lt;cite&gt;git push&lt;/cite&gt; your API keys to GitHub.&lt;/p&gt;
&lt;p&gt;This easy to make mistake could end up [costing you thousands of dollars](&lt;a class="reference external" href="https://dev.to/juanmanuelramallo/i-was-billed-for-14k-usd-on-amazon-web-services-17fn"&gt;https://dev.to/juanmanuelramallo/i-was-billed-for-14k-usd-on-amazon-web-services-17fn&lt;/a&gt;), and with the [median time to discovery for a secret key leaked to GitHub being 20 seconds](&lt;a class="reference external" href="https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_04B-3_Meli_paper.pdf"&gt;https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_04B-3_Meli_paper.pdf&lt;/a&gt;) you could end up compromised before you have a chance to correct your error.&lt;/p&gt;
&lt;p&gt;In this talk, we'll look at techniques that you can use personally and within your development teams to properly store, share, and manage your secrets, as easily as possible, and most importantly without disrupting your workflow.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 12:45:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="AaronBassett"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Cracking open the COVIDSafe</title><link href="https://pyvideo.org/pycon-au-2020/cracking-open-the-covidsafe.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Yaakov Smith</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/cracking-open-the-covidsafe.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Yaakov Smith&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/URD9ER"&gt;https://2020.pycon.org.au/program/URD9ER&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As health authorities raced against the clock to restrict the spread of the Novel Coronavirus, bringing cities to a standstill, software developers too were racing to build a technological innovation. Their solution was ⁎✧˚₊ an app ༚⁎✧⁺  that would mystically allow you …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Yaakov Smith&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/URD9ER"&gt;https://2020.pycon.org.au/program/URD9ER&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As health authorities raced against the clock to restrict the spread of the Novel Coronavirus, bringing cities to a standstill, software developers too were racing to build a technological innovation. Their solution was ⁎✧˚₊ an app ༚⁎✧⁺  that would mystically allow you once again to go to the footy, hang out in pubs, return to work, and re-open the economy.&lt;/p&gt;
&lt;p&gt;With the Australian Government running an unprecedented campaign to get as many people as possible to download their particular app, what this app actually does is still widely misunderstood. Furthermore, the app is somehow supposed to be safe and protect your privacy, whilst still being useful enough to track you and provide that information to medical contact tracers. How can that even work?&lt;/p&gt;
&lt;p&gt;In this talk we will:
‹ul›
‹li›discover what contact-tracing is and why it is vital to curb the spread of the coronavirus‹/li›
‹li›explore how technology can be used to assist in the contact-tracing process‹/li›
‹li›analyze the COVIDSafe mobile apps for iOS and Android,‹/li›
‹li›discuss why you should, or shouldn’t, install COVIDSafe, and how contact-tracing apps try to balance personal security and privacy with the health needs of the greater community‹/li›
‹/ul›&lt;/p&gt;
&lt;p&gt;Those who attend this talk will learn about bluetooth-assisted contact tracing, exposure notification, and the shiny new new COVID-19 settings on their mobile phone&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 09:50:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="YaakovSmith"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Deceptive Security using Python</title><link href="https://pyvideo.org/pycon-au-2020/deceptive-security-using-python.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Gajendra Deshpande</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/deceptive-security-using-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Gajendra Deshpande&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/GGGTVY"&gt;https://2020.pycon.org.au/program/GGGTVY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Imagine you are passing through an unknown street at midnight and you find that some anti-social elements are following you. To save yourself from them you start running and look for a safe place to hide yourself. On the way …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Gajendra Deshpande&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/GGGTVY"&gt;https://2020.pycon.org.au/program/GGGTVY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Imagine you are passing through an unknown street at midnight and you find that some anti-social elements are following you. To save yourself from them you start running and look for a safe place to hide yourself. On the way, you will find a good person and request the person to help you. The person hides you in the secure place to protect you. When these anti-social elements visit a good person’s place and enquire about you, the good person misguides them and redirects them to some other place in order to protect you. This is exactly how deception works. In this analogy, YOU are the resources to be protected, anti-social elements are the hackers who want to gain access to the resources, and a good person is a deception technique that protects the resources from hackers by making them fall in the trap.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;How we implemented deception tool in python using machine learning&lt;/strong&gt;
We designed a deception tool in python language using PyBRAIN package to model and mitigate XPath injection attacks for web services. It is known that XML can be used to store the data and this data can be queried using XPath query language. XPath as a query language, it has injection issues similar to SQL. To handle this issue, we proposed a solution, which uses count-based validation technique and Long Short-Term Memory (LSTM) modular neural networks to identify and classify atypical behavior in user input. Once the atypical user input is identified, the attacker is redirected to fake resources to protect the critical data. Our experiment resulted in over 90% accuracy in classification of input vectors.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 13:20:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="GajendraDeshpande"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Decoding: programming beyond text files</title><link href="https://pyvideo.org/pycon-au-2020/decoding-programming-beyond-text-files.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Nick Moore</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/decoding-programming-beyond-text-files.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Nick Moore&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/LYRJGY"&gt;https://2020.pycon.org.au/program/LYRJGY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We'll explore the history of typewriters and find homoiconicity where you might not
be expecting it.&lt;/p&gt;
&lt;p&gt;We'll talk about structured data and explore the early visions of hypertext.&lt;/p&gt;
&lt;p&gt;We'll look at some specific examples of unusual programming environments
and consider …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Nick Moore&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/LYRJGY"&gt;https://2020.pycon.org.au/program/LYRJGY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We'll explore the history of typewriters and find homoiconicity where you might not
be expecting it.&lt;/p&gt;
&lt;p&gt;We'll talk about structured data and explore the early visions of hypertext.&lt;/p&gt;
&lt;p&gt;We'll look at some specific examples of unusual programming environments
and consider how a fresh look at these ideas can be applied to modern development.&lt;/p&gt;
&lt;p&gt;And finally we'll consider what a difference this could make to the work of programming.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 16:00:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="NickMoore"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Engineers to Data-Scientists with Python</title><link href="https://pyvideo.org/pycon-au-2020/engineers-to-data-scientists-with-python.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>James Schulte</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/engineers-to-data-scientists-with-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;James Schulte&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/BAC9R3"&gt;https://2020.pycon.org.au/program/BAC9R3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This talk centers around an early stage start-up reaching the scale-up phase of growth and having to move from an ad-hoc collection of MATLAB scripts to a functioning Python analysis pipeline. All while transforming a team of mechanical engineers into …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;James Schulte&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/BAC9R3"&gt;https://2020.pycon.org.au/program/BAC9R3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This talk centers around an early stage start-up reaching the scale-up phase of growth and having to move from an ad-hoc collection of MATLAB scripts to a functioning Python analysis pipeline. All while transforming a team of mechanical engineers into a functioning software engineering and data-science team.&lt;/p&gt;
&lt;p&gt;I will paint a picture of the work we do, and how the product was first created - including the wild selection of technologies, before talking about some of the challenges faced in migrating a large monolithic product to a modular codebase. I’ll discuss some the advantages and pitfalls of using Python, and how we trained non-software engineers to produce quality code.&lt;/p&gt;
&lt;p&gt;The talk has something for everyone, whether you’re a tech-lead responsible for training &amp;amp; developing your team, a business leader in a scaling startup, or a junior engineer thinking about how to improve.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 11:00:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="JamesSchulte"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Ensemble-X: Your personal strataGEM to build Ensembled Deep Learning Models for Medical Imaging</title><link href="https://pyvideo.org/pycon-au-2020/ensemble-x-your-personal-stratagem-to-build-ensembled-deep-learning-models-for-medical-imaging.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Alankrita Tewari</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/ensemble-x-your-personal-stratagem-to-build-ensembled-deep-learning-models-for-medical-imaging.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Dipam Paul, Alankrita Tewari&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/DUGUZZ"&gt;https://2020.pycon.org.au/program/DUGUZZ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Almost every individual today in the field of Data Science would know about the concept of Ensemble Learning in ML (ideally, the last chapter we read in the Machine Learning pedagogy). However, it is to also note that …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Dipam Paul, Alankrita Tewari&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/DUGUZZ"&gt;https://2020.pycon.org.au/program/DUGUZZ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Almost every individual today in the field of Data Science would know about the concept of Ensemble Learning in ML (ideally, the last chapter we read in the Machine Learning pedagogy). However, it is to also note that very few literatures exists to ensemble Deep Neural Architectures. Therefore, this is where we step forward and propose an approach to solve (almost) any medical imaging problem with the means of our Ensemble approach. Our approach does not just &amp;quot;solve&amp;quot; medical imaging problems but help practitioners to build unique and seamless architectures that almost never goes wrong (at least, not on your good days).&lt;/p&gt;
&lt;p&gt;Why use an Ensemble at all?&lt;/p&gt;
&lt;p&gt;In this section, I will try to anticipate the common notions one would have while reading this proposal and try to address the same in advance.&lt;/p&gt;
&lt;p&gt;Of course, there are brilliant pre-trained architectures available and building up a custom CNN architecture takes seconds today, right? Then, why take the extra headache of combining architectures after all?&lt;/p&gt;
&lt;p&gt;I wanted to give you a solid reason why then I thought I'll give you three:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Attaining state-of-the-art accuracy:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To elucidate on this, let's recall a very famous (or, infamous) chapter from our old books on Elementary Statistics that is - Central Limit Theorem. This theorem gives us two very important implications:&lt;/p&gt;
&lt;p&gt;There are two big implications of the Central Limit theorem:&lt;/p&gt;
&lt;p&gt;Ensembles of many random processes/variables converge to Gaussian distributions. That’s why normal distributions are everywhere.
When adding together random numbers, the variance of the sum is the sum of the variances of those numbers.
Which, in the essence of Machine/Deep Learning, translates to the fact that when we combine n (number of) architectures together then the combined architecture let's say, x will at all times produce better performance or results on standard metrics that every individual model in the n-cluster of models.&lt;/p&gt;
&lt;p&gt;A slight limitation:&lt;/p&gt;
&lt;p&gt;Central Limit Theorem also states that no matter how many models one tries to Ensemble one can never reach the accuracy of 1 (or, 100).&lt;/p&gt;
&lt;p&gt;But that's alright, I believe. We don't need to attain a full 100% accuracy to prove the reliability of a model, do we?&lt;/p&gt;
&lt;p&gt;Furthermore, we have proven this hypothesis of ours of attaining state-of-the-art accuracy in our published works with regards to the same. Kindly, refer.&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Model Diversity:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is arguably the most important contribution of ours out of all three which gives an indication of the reliability of our approach. Our experiments (which are also included in our papers) also goes on to show how well the architecture performs on external unseen examples - images which are not even part of the dataset.&lt;/p&gt;
&lt;p&gt;Why is this important?&lt;/p&gt;
&lt;p&gt;Elementary. We are dealing with Medical data where there is a plethora of possibilities, complications and unique cases. Hence, we can NEVER be too sure. Therefore, this was one of the most instrumental steps we had to set in motion in order to know if it's actually working or not.&lt;/p&gt;
&lt;p&gt;Future tangible implementation scope: Mobile App or Web App to be used in Clinics and Hospitals.&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Tackling the problem of Model Over-fitting:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In this contribution, we try to mitigate the problem of over-fitting to the greatest extent possible WITHOUT employing techniques such as Cross-Validation. The reason behind taking the entire dataset at once is very simple: Let's say you are dealing with a Binary-Class data with a huge class imbalance problem. Cross-Validation will not let you manually select the number of images that goes into each split that you make from each individual classes. It is also important to mention that the randomisation process ain't so bad altogether however, there's always room for improvements and alternate doors can also lead to better destinations.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 13:00:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="AlankritaTewari"></category><category term="DipamPaul"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Ensuring Black voices matter: Why your voice assistant is racist, and what we can do about it</title><link href="https://pyvideo.org/pycon-au-2020/ensuring-black-voices-matter-why-your-voice-assistant-is-racist-and-what-we-can-do-about-it.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Kathy Reid</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/ensuring-black-voices-matter-why-your-voice-assistant-is-racist-and-what-we-can-do-about-it.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Kathy Reid&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/99XMUR"&gt;https://2020.pycon.org.au/program/99XMUR&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;By 2025, there will be over 8 million voice assistants in the world. They are found on your mobile phone, in your home, in your car, and over time, will be embedded in many cyber-physical systems across the world. At …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Kathy Reid&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/99XMUR"&gt;https://2020.pycon.org.au/program/99XMUR&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;By 2025, there will be over 8 million voice assistants in the world. They are found on your mobile phone, in your home, in your car, and over time, will be embedded in many cyber-physical systems across the world. At the same time, there are over 7000 languages spoken in the world - &amp;quot;living languages&amp;quot;.&lt;/p&gt;
&lt;p&gt;But voice assistants support just a fraction of these languages. Moreover, accents and diversity within a spoken language are not well handled by voice assistants. For example, African American voices are much less likely to be correctly recognised by the speech recognition algorithms used within voice assistants. And as we start to interact with systems using voice, we have a human desire to listen to voices we resonate with. Voices like us. For many people, there are no synthesised voices that reflect their heritage, language, and gender expression.&lt;/p&gt;
&lt;p&gt;There are several techno-social reasons behind this state of affairs.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;The intent of a commercial voice assistant is to make money. This drives technical development in certain ways, such as certain languages being seen as more lucrative than others, irrespective of the number of speakers of that language. For example, there is more voice assistant support for Icelandic, a language spoken by 314,000 people, than there is for Kiswahili, a language spoken by over 100,000,000 people in Eastern Africa. Why? Money.&lt;/li&gt;
&lt;li&gt;The big tech companies behind voice assistants have typically poor gender and racial diversity in their talent pool. Diversity in developers leads to diversity in development.&lt;/li&gt;
&lt;li&gt;The data used for training speech recognition and speech synthesis models often has racial and gender biases. These can stem from both selection bias, but also broader systemic issues of inequality, such as the use of voice assistant technology to gather data - and the affordability of both that technology and its pre-requisites, such as internet access.&lt;/li&gt;
&lt;li&gt;Many languages are considered &amp;quot;low resource languages&amp;quot;. This means they often don't have written transcriptions, which are needed to train machine learning models. Those creating transcriptions often face the &amp;quot;transcription bottleneck&amp;quot; - a workflow impediment that means the creation of resources consumes significant labour time.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are many established and emerging open source tools - many in Python - and movements that individually are addressing aspects of this broader techno-social system. &lt;strong&gt;Together&lt;/strong&gt;, they can effect change so that everyone, everywhere can be afforded the benefits of voice technology.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub%5Fconfirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub%5Fconfirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 14:05:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="KathyReid"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>geospatial data and analysis is :exploding_head:</title><link href="https://pyvideo.org/pycon-au-2020/geospatial-data-and-analysis-is-exploding_head.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Gala</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/geospatial-data-and-analysis-is-exploding_head.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Gala&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/QJTSEP"&gt;https://2020.pycon.org.au/program/QJTSEP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here is my top level summary:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;its hard for everyone, you are not alone.&lt;/li&gt;
&lt;li&gt;snacks:
- points, lines and polygons
- projections (scream quietly into the void)
- WKT
- file types
- &amp;quot;simple&amp;quot; calculations&lt;/li&gt;
&lt;li&gt;pantry:
- libraries
- useful stuff on the internet
- quick wins
- other software …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Gala&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/QJTSEP"&gt;https://2020.pycon.org.au/program/QJTSEP&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here is my top level summary:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;its hard for everyone, you are not alone.&lt;/li&gt;
&lt;li&gt;snacks:
- points, lines and polygons
- projections (scream quietly into the void)
- WKT
- file types
- &amp;quot;simple&amp;quot; calculations&lt;/li&gt;
&lt;li&gt;pantry:
- libraries
- useful stuff on the internet
- quick wins
- other software
- debugging&lt;/li&gt;
&lt;li&gt;dinner:
- interesting problems
- other fun things&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub%5Fconfirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub%5Fconfirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 09:50:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="Gala"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Getting Over the Boring Stuff Quicker - Building a Semi-Automated Speech Audio Annotation Tool</title><link href="https://pyvideo.org/pycon-au-2020/getting-over-the-boring-stuff-quicker-building-a-semi-automated-speech-audio-annotation-tool.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Xin Liang</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/getting-over-the-boring-stuff-quicker-building-a-semi-automated-speech-audio-annotation-tool.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Xin Liang&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/MQWLLM"&gt;https://2020.pycon.org.au/program/MQWLLM&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 11:35:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="XinLiang"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>GitHub Actions &amp; Python</title><link href="https://pyvideo.org/pycon-au-2020/github-actions-python.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Jack McKew</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/github-actions-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Jack McKew&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/MRUT7W"&gt;https://2020.pycon.org.au/program/MRUT7W&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;GitHub Actions are free-to-use, plug &amp;amp; play blocks of continuous integration / continuous delivery (CICD).&lt;/p&gt;
&lt;p&gt;This talk will go into how GitHub actions help me maintain my open source Python packages (Pandas_Alive), and how I released my own GitHub Actions for automating …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Jack McKew&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/MRUT7W"&gt;https://2020.pycon.org.au/program/MRUT7W&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;GitHub Actions are free-to-use, plug &amp;amp; play blocks of continuous integration / continuous delivery (CICD).&lt;/p&gt;
&lt;p&gt;This talk will go into how GitHub actions help me maintain my open source Python packages (Pandas_Alive), and how I released my own GitHub Actions for automating the packaging of Python code to executables with PyInstaller.&lt;/p&gt;
&lt;p&gt;Tutorial blog posts I've written:&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://jackmckew.dev/github-actions-for-cicd.html"&gt;https://jackmckew.dev/github-actions-for-cicd.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://jackmckew.dev/how-to-make-github-actions.html"&gt;https://jackmckew.dev/how-to-make-github-actions.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;GitHub Actions I've released:&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://github.com/marketplace/actions/pyinstaller-windows"&gt;https://github.com/marketplace/actions/pyinstaller-windows&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://github.com/marketplace/actions/pyinstaller-linux"&gt;https://github.com/marketplace/actions/pyinstaller-linux&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://github.com/marketplace/actions/python-interrogate-check"&gt;https://github.com/marketplace/actions/python-interrogate-check&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Open source Python projects that GitHub actions help me maintain:&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://github.com/JackMcKew/pandas_alive"&gt;https://github.com/JackMcKew/pandas_alive&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This talk has a brief mention of animated graphs to do with the COVID-19 pandemic.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 11:35:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="JackMcKew"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Graph Databases will change your (freakin') life</title><link href="https://pyvideo.org/pycon-au-2020/graph-databases-will-change-your-freakin-life.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Elena Williams</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/graph-databases-will-change-your-freakin-life.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Elena Williams&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/A878CA"&gt;https://2020.pycon.org.au/program/A878CA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Relational and NoSQL DBs have ruled the roost for a couple of decades now, but in real life there's more to data than just tables or key-pairs. Graph DBMS technology has been coming along for the last decade-or-so and is …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Elena Williams&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/A878CA"&gt;https://2020.pycon.org.au/program/A878CA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Relational and NoSQL DBs have ruled the roost for a couple of decades now, but in real life there's more to data than just tables or key-pairs. Graph DBMS technology has been coming along for the last decade-or-so and is now quite mature. Everyone wants one, just ask a Fortune 500 company.&lt;/p&gt;
&lt;p&gt;I mean: why have a table when you can have a knowledge graph? Why not be able to whip up a recommendations engine (or indeed a fraud detector) in a few minutes?&lt;/p&gt;
&lt;p&gt;Graph databases store data in Graphs -- that is NOT chart-visualisation nor syntax standard on API layers (NOT a GraphQL talk), but per the paper written by the mathematician Euler in 1736: those data structures which are &amp;quot;nodes&amp;quot; connected by &amp;quot;relationships&amp;quot;.&lt;/p&gt;
&lt;p&gt;This talk will be a primer on what this all means, how they work and when they're a good idea to use. There will also be a demonstration and discussion about how to kick off with graph DBs driven by python, specifically for people who are familiar with conventional databases, but have never used Graph databases before, but might be curious.&lt;/p&gt;
&lt;p&gt;See code sample: &lt;a class="reference external" href="https://github.com/elena/graph-fun"&gt;https://github.com/elena/graph-fun&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 14:05:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="ElenaWilliams"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Hacking Playable Ads: What REALLY are they?</title><link href="https://pyvideo.org/pycon-au-2020/hacking-playable-ads-what-really-are-they.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Evan Kohilas</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/hacking-playable-ads-what-really-are-they.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Evan Kohilas&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/8TA7ZA"&gt;https://2020.pycon.org.au/program/8TA7ZA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Have you ever clicked the &lt;em&gt;FREE GEMS&lt;/em&gt; button and been served an ad, only to find you're now trialing a game?&lt;/p&gt;
&lt;p&gt;What are they? Are they running code?
If they are, can we hijack them?
If we can't, can we …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Evan Kohilas&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/8TA7ZA"&gt;https://2020.pycon.org.au/program/8TA7ZA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Have you ever clicked the &lt;em&gt;FREE GEMS&lt;/em&gt; button and been served an ad, only to find you're now trialing a game?&lt;/p&gt;
&lt;p&gt;What are they? Are they running code?
If they are, can we hijack them?
If we can't, can we bypass, or even replace them?&lt;/p&gt;
&lt;p&gt;And more importantly, what are they actually doing?
Are you really playing a game? Or are they bitcoin miners in disguise?&lt;/p&gt;
&lt;p&gt;Come along and join my adventurous curiosity as we learn to man in the middle these ads and discover what they're really about!&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 13:55:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="EvanKohilas"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>How a major museum runs on Python</title><link href="https://pyvideo.org/pycon-au-2020/how-a-major-museum-runs-on-python.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Greg Turner</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/how-a-major-museum-runs-on-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Greg Turner, Ali Haberfield, Simon Loffler&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/UKZXNT"&gt;https://2020.pycon.org.au/program/UKZXNT&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ACMI, the Australian Centre for the Moving Image, is the most visited museum of the moving image in the world. In 2019 we closed our doors, to reshape our Federation Square building in order to become …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Greg Turner, Ali Haberfield, Simon Loffler&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/UKZXNT"&gt;https://2020.pycon.org.au/program/UKZXNT&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;ACMI, the Australian Centre for the Moving Image, is the most visited museum of the moving image in the world. In 2019 we closed our doors, to reshape our Federation Square building in order to become more public-facing, and to house a major new permanent exhibition, The Story of the Moving Image.&lt;/p&gt;
&lt;p&gt;As you might imagine, we have a &lt;em&gt;lot&lt;/em&gt; of moving image to show, and a lot of fascinating objects to tell people about, all of which can be overwhelming to some audiences. That's why we designed and built a system called The Lens. Every visitor to the museum can pick up a Lens, which they use to collect objects and media to watch and explore in their own time. The Lens depends on a network of hundreds of Raspberry Pi devices to display media and interact with visitors, all running Opensourced Python code. All these devices need to be robust and maintainable in order to survive the 10-year lifespan of the exhibition.&lt;/p&gt;
&lt;p&gt;In this talk, we'll give you a tour of the technology at ACMI, including our Internet-of-Things fleet and management tools, and XOS, the eXperience Operating System, which provides content and configuration to the devices.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 16:35:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="AliHaberfield"></category><category term="GregTurner"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="SimonLoffler"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>How learning python helped me teach C in tertiary education</title><link href="https://pyvideo.org/pycon-au-2020/how-learning-python-helped-me-teach-c-in-tertiary-education.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Shrey Somaiya</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/how-learning-python-helped-me-teach-c-in-tertiary-education.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Shrey Somaiya&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/73HFNJ"&gt;https://2020.pycon.org.au/program/73HFNJ&lt;/a&gt;&lt;/p&gt;
&lt;dl class="docutils"&gt;
&lt;dt&gt;This talk is simply one about my experience of learning C from a python background&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last simple"&gt;
&lt;li&gt;what python features helped me understand C better (control flow, algorithm and problem breakdown design, functions, etc)&lt;/li&gt;
&lt;li&gt;what C features helped me understand python better …&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Shrey Somaiya&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/73HFNJ"&gt;https://2020.pycon.org.au/program/73HFNJ&lt;/a&gt;&lt;/p&gt;
&lt;dl class="docutils"&gt;
&lt;dt&gt;This talk is simply one about my experience of learning C from a python background&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last simple"&gt;
&lt;li&gt;what python features helped me understand C better (control flow, algorithm and problem breakdown design, functions, etc)&lt;/li&gt;
&lt;li&gt;what C features helped me understand python better (ie pointers in C helped me understand python lists, etc)&lt;/li&gt;
&lt;li&gt;how I use my python knowledge to teach C at University&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 10:25:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="ShreySomaiya"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>I don't need friends, I can build my own</title><link href="https://pyvideo.org/pycon-au-2020/i-dont-need-friends-i-can-build-my-own.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Sarah Levins</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/i-dont-need-friends-i-can-build-my-own.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Sarah Levins&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/E9AXJE"&gt;https://2020.pycon.org.au/program/E9AXJE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Chatbots have become commonplace in our lives. These days, you may find they are largely used as a form of customer service. But how does it make us feel when we know we’re talking to a program? A poor …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Sarah Levins&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/E9AXJE"&gt;https://2020.pycon.org.au/program/E9AXJE&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Chatbots have become commonplace in our lives. These days, you may find they are largely used as a form of customer service. But how does it make us feel when we know we’re talking to a program? A poor interaction can sour the user’s experience and put them off using a product.&lt;/p&gt;
&lt;p&gt;There is an art to making programmed responses feel natural. It’s not just about replying to our questions with the correct answer. Chatbots need to be programmed with the same abilities humans have to communicate. They need to be able to listen, understand and remember. This gives them the context of the conversation. So where do you start?&lt;/p&gt;
&lt;p&gt;In this talk i’ll cover some of the core concepts behind how web chatbots work, strategies used to train them to feel more human, and some Python tools that you can use to start building your own.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 11:00:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="SarahLevins"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Interactive Mapmaking with Python</title><link href="https://pyvideo.org/pycon-au-2020/interactive-mapmaking-with-python.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Sangarshanan</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/interactive-mapmaking-with-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Sangarshanan&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/DVV7W8"&gt;https://2020.pycon.org.au/program/DVV7W8&lt;/a&gt;&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Introduction (2 mins)&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;Who am I?&lt;/li&gt;
&lt;li&gt;Setting the expectations&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Working with Geodataframes (5 mins)&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;Reading Spatial data as a GeoDataframe&lt;/li&gt;
&lt;li&gt;The awesomeness of GeoDataframes (An overview of some of the amazing things you can do with a single line of code …&lt;/li&gt;&lt;/ul&gt;&lt;/dd&gt;&lt;/dl&gt;&lt;/li&gt;&lt;/ol&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Sangarshanan&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/DVV7W8"&gt;https://2020.pycon.org.au/program/DVV7W8&lt;/a&gt;&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Introduction (2 mins)&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;Who am I?&lt;/li&gt;
&lt;li&gt;Setting the expectations&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Working with Geodataframes (5 mins)&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;Reading Spatial data as a GeoDataframe&lt;/li&gt;
&lt;li&gt;The awesomeness of GeoDataframes (An overview of some of the amazing things you can do with a single line of code eg: Spatial joins, Manipulations and transformations)&lt;/li&gt;
&lt;li&gt;Now that we has established our love for geopandas lets map geodataframes&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Let the Mapmaking begin (10 mins)&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;Basic Non-Interactive maps with Geopandas and Matplotlib&lt;/li&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Creating basic interactive maps with Folium, Plotly &amp;amp; Kepler (GeoJSONPlots, Clustermaps, Heatmaps, H3gridmaps)&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;Conforming geodataframes to a format accepted by these libraries (usually JSON or a list of lists)&lt;/li&gt;
&lt;li&gt;Setting the right parameters for different plots&lt;/li&gt;
&lt;li&gt;Jazzing up the maps with additional layers, custom styles, tooltips, popups, colors etc&lt;/li&gt;
&lt;li&gt;Spatiotemporal Maps with Kepler.gl + Jupyter for handling huge datasets with ease&lt;/li&gt;
&lt;li&gt;Can we make it any easier ?&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;li&gt;Why can't making interactive maps be as easy as gdf.folium.plot()?&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;&lt;dl class="first docutils"&gt;
&lt;dt&gt;Enter Geopatra (8 mins)&lt;/dt&gt;
&lt;dd&gt;&lt;ul class="first last"&gt;
&lt;li&gt;The need for Geopatra (Could it be any Easier and Faster)&lt;/li&gt;
&lt;li&gt;Wrapping up popular mapmaking libraries for GeoDataframes&lt;/li&gt;
&lt;li&gt;Create interactive maps with just a single line&lt;/li&gt;
&lt;li&gt;Future work and Discussion :)&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Github: &lt;a class="reference external" href="https://github.com/Sangarshanan/geopatra"&gt;https://github.com/Sangarshanan/geopatra&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 17:10:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="Sangarshanan"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Introducing Lambda Calculus with Python</title><link href="https://pyvideo.org/pycon-au-2020/introducing-lambda-calculus-with-python.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Indranil Ghosh</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/introducing-lambda-calculus-with-python.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Indranil Ghosh&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/AL8WB3"&gt;https://2020.pycon.org.au/program/AL8WB3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We will be focusing on untyped lambda calculus and start by the simple definition of a function, that can be implemented with Python lambda. We will then discuss the concepts of &lt;strong&gt;abstraction&lt;/strong&gt; and &lt;strong&gt;application&lt;/strong&gt; in lambda calculus and then move …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Indranil Ghosh&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/AL8WB3"&gt;https://2020.pycon.org.au/program/AL8WB3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We will be focusing on untyped lambda calculus and start by the simple definition of a function, that can be implemented with Python lambda. We will then discuss the concepts of &lt;strong&gt;abstraction&lt;/strong&gt; and &lt;strong&gt;application&lt;/strong&gt; in lambda calculus and then move on to understand what a &lt;strong&gt;substitution&lt;/strong&gt; is and how can these be implemented in Python. We will finally study some combinators which are the basic building blocks of combinatory logic, before ending with encoding datatypes in lambda calculus and implementing the same with Python lambda. Datatypes we will be discussing are:&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Boolean values like TRUE and FALSE&lt;/li&gt;
&lt;li&gt;Logical operators like AND, OR and NOT&lt;/li&gt;
&lt;li&gt;Church Numerals&lt;/li&gt;
&lt;li&gt;Predicates&lt;/li&gt;
&lt;li&gt;Recursions&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 14:40:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="IndranilGhosh"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Journey into the Deep World of Web Development</title><link href="https://pyvideo.org/pycon-au-2020/journey-into-the-deep-world-of-web-development.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Andrew Kim</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/journey-into-the-deep-world-of-web-development.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Andrew Kim&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/RMY7LZ"&gt;https://2020.pycon.org.au/program/RMY7LZ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are you from a non-tech industry but want to learn web development? Have you tried doing the official Django tutorial and had no idea what was going on?&lt;/p&gt;
&lt;p&gt;This talk is a story about how I learnt Django and Python …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Andrew Kim&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/RMY7LZ"&gt;https://2020.pycon.org.au/program/RMY7LZ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are you from a non-tech industry but want to learn web development? Have you tried doing the official Django tutorial and had no idea what was going on?&lt;/p&gt;
&lt;p&gt;This talk is a story about how I learnt Django and Python coming from a non-tech industry, during the COVID-19 pandemic. I will cover tips for beginners on how best to get started with Django and Python.&lt;/p&gt;
&lt;p&gt;I will be sharing about mistakes that I made, resources that I found useful, and how I created connections both online and offline.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 16:00:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="AndrewKim"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Making Codebases Easier to Learn and Maintain</title><link href="https://pyvideo.org/pycon-au-2020/making-codebases-easier-to-learn-and-maintain.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Tennessee Leeuwenburg</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/making-codebases-easier-to-learn-and-maintain.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Tennessee Leeuwenburg&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/AT33MZ"&gt;https://2020.pycon.org.au/program/AT33MZ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learning a new codebase, returning to an old one, or exploring a new part of a system can sometimes be harder than it needs to be. This talk outlines tips and tricks for writing code that is both easier to …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Tennessee Leeuwenburg&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/AT33MZ"&gt;https://2020.pycon.org.au/program/AT33MZ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learning a new codebase, returning to an old one, or exploring a new part of a system can sometimes be harder than it needs to be. This talk outlines tips and tricks for writing code that is both easier to maintain and easier for other people to learn.&lt;/p&gt;
&lt;p&gt;Topics covered will include:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Documentation: both written and in-code&lt;/li&gt;
&lt;li&gt;Structure: how to organise code for readability and easy re-use&lt;/li&gt;
&lt;li&gt;Expression: how to improve comprehensibility of code&lt;/li&gt;
&lt;li&gt;Tests: how to maximise their usefulness&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 14:05:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="TennesseeLeeuwenburg"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Model Selection with Python: An Introduction to Hyper Parameter Tuning</title><link href="https://pyvideo.org/pycon-au-2020/model-selection-with-python-an-introduction-to-hyper-parameter-tuning.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Patrick Robotham</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/model-selection-with-python-an-introduction-to-hyper-parameter-tuning.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Patrick Robotham&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/LYBU8S"&gt;https://2020.pycon.org.au/program/LYBU8S&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The world of machine learning is like a restaurant that presents an incredibly complex menu. There are so many choices for modelling algorithms and settings that it's hard to keep up.  This talk discusses strategies for handling these choices in …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Patrick Robotham&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/LYBU8S"&gt;https://2020.pycon.org.au/program/LYBU8S&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The world of machine learning is like a restaurant that presents an incredibly complex menu. There are so many choices for modelling algorithms and settings that it's hard to keep up.  This talk discusses strategies for handling these choices in a principled, simple manner.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 14:30:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PatrickRobotham"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Of Django, PostgreSQL schemas, and your multi-million dollar idea</title><link href="https://pyvideo.org/pycon-au-2020/of-django-postgresql-schemas-and-your-multi-million-dollar-idea.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Lorenzo Peña</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/of-django-postgresql-schemas-and-your-multi-million-dollar-idea.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Lorenzo Peña&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/CRSJXF"&gt;https://2020.pycon.org.au/program/CRSJXF&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Although rough for the world, 2020 is proving a good year (and decade start) for Django. Boring batteries-included frameworks and established monolith makers are shining again, in a world where the hype-enchantment of JavaScript and micro-everything is starting to wear …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Lorenzo Peña&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/CRSJXF"&gt;https://2020.pycon.org.au/program/CRSJXF&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Although rough for the world, 2020 is proving a good year (and decade start) for Django. Boring batteries-included frameworks and established monolith makers are shining again, in a world where the hype-enchantment of JavaScript and micro-everything is starting to wear off and fall into a more mature position of tradeoffs. After 15 years of life, Django continues to prove solid, battle tested, and very capable of major undertakings in the web arena.&lt;/p&gt;
&lt;p&gt;Over the last decade, the competence of the framework has extended to the SaaS world, through a number of packages that have emerged as viable options for making Django multi-tenant. PostgreSQL concept of _schemas_ has opened a new exploration space for multi-tenancy, by combining the power of RDBMS native isolation with the reduced costs of managing a single database.&lt;/p&gt;
&lt;p&gt;However, nothing comes for free. The ease of using PostgreSQL schemas for multi-tenancy in Django comes at the expense of some challenges that must be overcome in the short, medium, and long term, if the project seeks to survive while gracefully escaling to success.&lt;/p&gt;
&lt;p&gt;In this talk we will cover the major challenges of doing multi-tenancy in Django through PostgreSQL schemas. You will learn the pros and cons of the approach as you move from tutorial-grade projects to massive multi-tenant behemoths. By the end, you will be able to answer whether or not this is going to be a feasible approach for your next multi-million dollar idea.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 17:45:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="LorenzoPeña"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Oh no! I think my project is outgrowing my Jupyter notebook. How do I survive?</title><link href="https://pyvideo.org/pycon-au-2020/oh-no-i-think-my-project-is-outgrowing-my-jupyter-notebook-how-do-i-survive.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Lydia Peabody</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/oh-no-i-think-my-project-is-outgrowing-my-jupyter-notebook-how-do-i-survive.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Lydia Peabody&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/BAAES3"&gt;https://2020.pycon.org.au/program/BAAES3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;An example-focused discussion of the pitfalls and strengths of interactive Python notebooks. Topics up for discussion:
Namespace pollution - what is it and why do I care?
Speed - when might my notebook be holding me back?
Pretty pictures - are there times …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Lydia Peabody&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/BAAES3"&gt;https://2020.pycon.org.au/program/BAAES3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;An example-focused discussion of the pitfalls and strengths of interactive Python notebooks. Topics up for discussion:
Namespace pollution - what is it and why do I care?
Speed - when might my notebook be holding me back?
Pretty pictures - are there times when even for visuals I might skip the notebook?
Transitions - I’m so comfortable using my notebook. How do I change in useful ways without grinding to a halt?
Functional combinations - can there be a happy middle ground between notebooks and scripts?&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 11:00:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="LydiaPeabody"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>On a shoe-string and a t2.small: scaling on a [zero] budget.</title><link href="https://pyvideo.org/pycon-au-2020/on-a-shoe-string-and-a-t2small-scaling-on-a-zero-budget.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Tom Eastman</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/on-a-shoe-string-and-a-t2small-scaling-on-a-zero-budget.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Tom Eastman&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/CNNG8R"&gt;https://2020.pycon.org.au/program/CNNG8R&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you work for a company, you probably have a decent-sized infrastructure budget. And when you're building a Django project, you have a lot of scope for scaling it up: Add more gunicorn workers! Split the async task workers into …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Tom Eastman&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/CNNG8R"&gt;https://2020.pycon.org.au/program/CNNG8R&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you work for a company, you probably have a decent-sized infrastructure budget. And when you're building a Django project, you have a lot of scope for scaling it up: Add more gunicorn workers! Split the async task workers into their own servers! Quadruple the RAM of the database instance! Beef up your Elasticache!&lt;/p&gt;
&lt;p&gt;Okay, but what if you can't just throw your employers' money at it? What if, to keep your side project affordable, you bought a reserved instance for it just a week before it started to go viral? What if the number of users starts going up 50% per week and... doesn't... stop...&lt;/p&gt;
&lt;p&gt;You're gonna have to get clever.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 14:30:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="TomEastman"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Oops! I Became an Open Source Maintainer! 😱</title><link href="https://pyvideo.org/pycon-au-2020/oops-i-became-an-open-source-maintainer.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Mariatta</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/oops-i-became-an-open-source-maintainer.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Mariatta&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/JZW83Q"&gt;https://2020.pycon.org.au/program/JZW83Q&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 09:15:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="Mariatta"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Opening Keynote: MirrorWorld</title><link href="https://pyvideo.org/pycon-au-2020/opening-keynote-mirrorworld.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Heidi Waterhouse</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/opening-keynote-mirrorworld.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Heidi Waterhouse&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/WAY9J7"&gt;https://2020.pycon.org.au/program/WAY9J7&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This talk is for anyone who feels alone, sitting in front of a monitor, with a mask hung on the door to the outside. Technology can't solve all our problems, and we shouldn't try, but the collective action of aligned …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Heidi Waterhouse&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/WAY9J7"&gt;https://2020.pycon.org.au/program/WAY9J7&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This talk is for anyone who feels alone, sitting in front of a monitor, with a mask hung on the door to the outside. Technology can't solve all our problems, and we shouldn't try, but the collective action of aligned communities can change the world. What has the Python community done, and what can we work on doing next? Where should we spend our resources, and how should we agree on priorities? What is investing in our present and what is for our future?&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 09:25:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="HeidiWaterhouse"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Outbreak Outreach - How COVID broke our program for the better</title><link href="https://pyvideo.org/pycon-au-2020/outbreak-outreach-how-covid-broke-our-program-for-the-better.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Renee Noble</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/outbreak-outreach-how-covid-broke-our-program-for-the-better.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Renee Noble&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/J9P8FY"&gt;https://2020.pycon.org.au/program/J9P8FY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Girls’ Programming Network has a well tested-formula for creating communities of girls and women centred around a passion for coding. But when pandemic strikes, is maintaining communities based around connecting with hundreds of like-minded people even possible? Is it …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Renee Noble&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/J9P8FY"&gt;https://2020.pycon.org.au/program/J9P8FY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Girls’ Programming Network has a well tested-formula for creating communities of girls and women centred around a passion for coding. But when pandemic strikes, is maintaining communities based around connecting with hundreds of like-minded people even possible? Is it even possible to run an online event that upholds our values? And will kids even want to sign up for more hours of online learning?&lt;/p&gt;
&lt;p&gt;I’ll take you through how we devised a plan to keep the GPN spirit alive online, with a dynamic schedule of learning, socialising and fun! I’ll show you the tech that made it all possible, tell you the lessons we learnt along the way, and let you in on some of the things we’ll be keeping in the long term.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 09:15:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="ReneeNoble"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Panel Discussion: Ethical AI - From talk to practice</title><link href="https://pyvideo.org/pycon-au-2020/panel-discussion-ethical-ai-from-talk-to-practice.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>From talk to practice</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/panel-discussion-ethical-ai-from-talk-to-practice.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Nigel Dalton, Fiona Milne, Arna Karick, Lizzie Silver&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/FNTEDL"&gt;https://2020.pycon.org.au/program/FNTEDL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As the fabric of civic infrastructure becomes increasingly digitised and data-driven, and our lives are nudged in the direction of what is presented as optimal many times a day, there is an increasing awareness …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Nigel Dalton, Fiona Milne, Arna Karick, Lizzie Silver&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/FNTEDL"&gt;https://2020.pycon.org.au/program/FNTEDL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As the fabric of civic infrastructure becomes increasingly digitised and data-driven, and our lives are nudged in the direction of what is presented as optimal many times a day, there is an increasing awareness of the importance of ethical AI. Issues that have been called out in particular are: data privacy, the harm that algorithmic bias can have, and the negative repercussions of unchecked recommendation systems blindly maximising engagement.&lt;/p&gt;
&lt;p&gt;That ethical AI has become part of the discourse of data and AI is a positive sign, but how do we move from just talk? Who is responsible? What can you do about these issues?&lt;/p&gt;
&lt;p&gt;In this moderated panel, we'll hear from three experienced data science practitioners on how these issues play out in their professional lives, as well as their perspectives on how we can actively work towards more ethical AI.&lt;/p&gt;
&lt;p&gt;We hope this discussion will provide a valuable backdrop upon which to reflect throughout the rest of the day as we cover a range of exciting topics in science, data, and analytics.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 09:15:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="ArnaKarick"></category><category term="FionaMilne"></category><category term="LizzieSilver"></category><category term="NigelDalton"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Piping Rain in Python - Adventures in a minute latency Radar Pipeline</title><link href="https://pyvideo.org/pycon-au-2020/piping-rain-in-python-adventures-in-a-minute-latency-radar-pipeline.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Tishampati Dhar</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/piping-rain-in-python-adventures-in-a-minute-latency-radar-pipeline.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Tishampati Dhar&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/ZKKE98"&gt;https://2020.pycon.org.au/program/ZKKE98&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In Australia we are used to live radar images provided by Bureau on Meterology (BoM). This agency provides forecasting and myriads of other services and has around 500 million in Annual budget. This is not the case in developing countries …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Tishampati Dhar&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/ZKKE98"&gt;https://2020.pycon.org.au/program/ZKKE98&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In Australia we are used to live radar images provided by Bureau on Meterology (BoM). This agency provides forecasting and myriads of other services and has around 500 million in Annual budget. This is not the case in developing countries like Kenya where the last operational weather radar instrument was seen some 30 years ago.&lt;/p&gt;
&lt;p&gt;Frustrated with the lack of live radar while in Nairobi a couple of engineers put together a passive radar system with an SDR and an Intel NUC. The data from this system travels via S3 and DynamoDB from screen capture tools on the endpoint device. Eventually gets exposed via API's to web and mobile apps running on some EC2 boxes ( no fancy kubernetes cluster to see here) . There are also a couple of Cron Jobs acting as Twitter and WhatsApp bots for followers. All this scratching your own itch infrastructure has slowly improved in uptime to 70% and supports around 5000 regular users. The entire data pipeline and web applications are written as set of small Python Services using Flask, OpenCV and ImageMagick.&lt;/p&gt;
&lt;p&gt;This talk will describe how the pipeline was put together incrementally with intermediate outputs and rapidly deployed using a basic &lt;cite&gt;git pull&lt;/cite&gt; based workflow. Along the way we will enumerate the numerous gotchas including the excessive S3 List usage, power failures on sensor site and dogpiling Twitter bots.  The budget for the operations remains 100's of dollars per month.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 10:25:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="TishampatiDhar"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Practicality Beats Purity: The Zen of Python’s Escape Hatch?</title><link href="https://pyvideo.org/pycon-au-2020/practicality-beats-purity-the-zen-of-pythons-escape-hatch.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Christopher Neugebauer</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/practicality-beats-purity-the-zen-of-pythons-escape-hatch.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Christopher Neugebauer&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/VVNEZR"&gt;https://2020.pycon.org.au/program/VVNEZR&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you type “import this” into a Python interpreter, you get PEP-20, 20* aphorisms that describe what “Good” Python code looks like. Most of these are prescriptive, and have been used to settle countless arguments about how Python should grow …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Christopher Neugebauer&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/VVNEZR"&gt;https://2020.pycon.org.au/program/VVNEZR&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you type “import this” into a Python interpreter, you get PEP-20, 20* aphorisms that describe what “Good” Python code looks like. Most of these are prescriptive, and have been used to settle countless arguments about how Python should grow, or how new ideas should be implemented.&lt;/p&gt;
&lt;p&gt;But in these 20 aphorisms (which you may know as the “Zen of Python”), there are some inherent contradictions.&lt;/p&gt;
&lt;p&gt;When “explicit is better than implicit” and “simple is better than complex”, what does it mean when being explicit means you must introduce complexity?&lt;/p&gt;
&lt;p&gt;When “readability counts” and “special cases aren’t special enough to break the rules”, what does it mean when making code more readable presents a special case in your codebase?&lt;/p&gt;
&lt;p&gt;The answer lies in one often-forgotten aphorism: “practicality beats purity”. When you can weigh practicality as a factor, you can decide that other factors are restrictive, and discard them as “impractical”. This idea shows up in many places in Python:&lt;/p&gt;
&lt;p&gt;Type hints can help you to be explicit, but they introduce complexity. Focusing on practicality means you can adopt type hints only when you need them. Decorators are simple, but can be used to introduce ambiguity. In many cases, the practical benefits of decorators outweigh their potential for misuse.&lt;/p&gt;
&lt;p&gt;But how far can the pursuit of practicality let you go? Does practicality let you treat the other 19 aphorisms as optional? Does practicality give you an escape hatch from the rest of the Zen of Python?&lt;/p&gt;
&lt;p&gt;In this talk, we’ll look at how practicality has been a guiding principle in the evolution of Python. We’ll look at how to weigh practicality in the face of the other 19 aphorisms of PEP-20, and we’ll look at how focusing on practicality can guide you towards these other attributes of good Python.&lt;/p&gt;
&lt;p&gt;(* per PEP-20, the Zen of Python contains “20 aphorisms, only 19 of which have been written down.”)&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 10:25:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="ChristopherNeugebauer"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Procedural Generation of Terrain</title><link href="https://pyvideo.org/pycon-au-2020/procedural-generation-of-terrain.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Suzanne Baxter</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/procedural-generation-of-terrain.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Suzanne Baxter&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/KLALFC"&gt;https://2020.pycon.org.au/program/KLALFC&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Procedural generation is the process of programmatically creating data. Its value is in generating large quantities of similar but not identical assets such as textures and models. This talk will cover the topic of using procedural generation to create a …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Suzanne Baxter&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/KLALFC"&gt;https://2020.pycon.org.au/program/KLALFC&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Procedural generation is the process of programmatically creating data. Its value is in generating large quantities of similar but not identical assets such as textures and models. This talk will cover the topic of using procedural generation to create a landscape, which will give an illustration of the strengths of procedural generation and ways to overcome its weaknesses.&lt;/p&gt;
&lt;p&gt;More specifically, the topics covered are:
- using layered opensimplex noise to create a heightmap, as well as an overview of types of noise and the shortcomings of purely noise-based terrain
- using image processing techniques to add mountain ranges in a manner more consistent with real-world geography than noise alone would allow
- further enhancing the terrain by converting it from a heightmap to voxels, and then applying an erosion simulation&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 13:35:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="SuzanneBaxter"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Publishing well-formed Python packages</title><link href="https://pyvideo.org/pycon-au-2020/publishing-well-formed-python-packages.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Julin S</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/publishing-well-formed-python-packages.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Julin S&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/HWU9J7"&gt;https://2020.pycon.org.au/program/HWU9J7&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;#### Why
Most of the well established projects follow some practices and has some mechanism in place to ensure better maintainability.&lt;/p&gt;
&lt;p&gt;But we can find a good number of packages online which are being developed without an equivalent mechanism.&lt;/p&gt;
&lt;p&gt;In this …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Julin S&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/HWU9J7"&gt;https://2020.pycon.org.au/program/HWU9J7&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;#### Why
Most of the well established projects follow some practices and has some mechanism in place to ensure better maintainability.&lt;/p&gt;
&lt;p&gt;But we can find a good number of packages online which are being developed without an equivalent mechanism.&lt;/p&gt;
&lt;p&gt;In this talk, I will mention some tools, which when used, can lay the foundation for a well formed package.&lt;/p&gt;
&lt;p&gt;#### Well-formed package&lt;/p&gt;
&lt;p&gt;A package whose source has some structure which makes testing and development more efficient and less error-prone.&lt;/p&gt;
&lt;p&gt;Such a package also makes working with its source a more pleasant experience.&lt;/p&gt;
&lt;p&gt;A well-formed package makes things easier for both the developer and the user.&lt;/p&gt;
&lt;p&gt;But it is easier to get started with a structure than to maintain that form. Which calls for a mechanism to maintain that structure.&lt;/p&gt;
&lt;p&gt;#### How&lt;/p&gt;
&lt;p&gt;The source code should adopt a style and stick with it. A linting tool like pylint can help with it.
Or you could use black.&lt;/p&gt;
&lt;p&gt;Use type annotations along with tools like mypy.&lt;/p&gt;
&lt;p&gt;Eliminate unused code with &lt;cite&gt;vulture&lt;/cite&gt;.&lt;/p&gt;
&lt;p&gt;Add tests to be sure that the different functionalities work as intended using tools like pytest or the built-in unittest.
This will be extremely useful to be sure that further modifications do not break existing code.&lt;/p&gt;
&lt;p&gt;Ensure proper test coverage with coverage.py
After all, adding tests isn't everything. One got to make sure it reaches every nook and corner.&lt;/p&gt;
&lt;p&gt;Automate tests with tox, nox, etc.&lt;/p&gt;
&lt;p&gt;Package the project in tune with the future of packaging.
setuptools, flit or poetry&lt;/p&gt;
&lt;p&gt;And add some CI/CD.&lt;/p&gt;
&lt;p&gt;Other tools like pre-commit, bumpversion, etc may also be used.&lt;/p&gt;
&lt;p&gt;#### Intended audience&lt;/p&gt;
&lt;p&gt;People who create and publish python packages.
The presentation is from the package developer's perspective and not exactly about the innards of the different python packaging tools.&lt;/p&gt;
&lt;p&gt;#### Pre-requisites&lt;/p&gt;
&lt;p&gt;Basic Python programming.
Git&lt;/p&gt;
&lt;p&gt;## Tentative talk outline&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Linting&lt;/li&gt;
&lt;li&gt;Type checking&lt;/li&gt;
&lt;li&gt;Eliminating dead code&lt;/li&gt;
&lt;li&gt;Tests&lt;/li&gt;
&lt;li&gt;Test coverage&lt;/li&gt;
&lt;li&gt;Test automation&lt;/li&gt;
&lt;li&gt;Packaging&lt;/li&gt;
&lt;li&gt;CI/CD&lt;/li&gt;
&lt;li&gt;Other tools&lt;/li&gt;
&lt;li&gt;Future of packaging&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;#### Speaker info (anonymized):&lt;/p&gt;
&lt;p&gt;Using Python for 5 years. Interested in text processing.&lt;/p&gt;
&lt;p&gt;Published a few packages to PyPI using different packaging tools.&lt;/p&gt;
&lt;p&gt;The proposed talk is derived from experience of creating them.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 13:00:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="JulinS"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Python Emergency Remote Teaching</title><link href="https://pyvideo.org/pycon-au-2020/python-emergency-remote-teaching.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Fernando Masanori</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/python-emergency-remote-teaching.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Fernando Masanori&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/PWZLAJ"&gt;https://2020.pycon.org.au/program/PWZLAJ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;During the pandemic lockdown of COVID-19, we found a very different context from the usual: a) students with much more time available for learning b) many students who did not have a personal computer and could only access classes by …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Fernando Masanori&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/PWZLAJ"&gt;https://2020.pycon.org.au/program/PWZLAJ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;During the pandemic lockdown of COVID-19, we found a very different context from the usual: a) students with much more time available for learning b) many students who did not have a personal computer and could only access classes by cell phone c) difficulty to realistically assess learning. In this lecture we will present the real experiences in a traditional programming course given during the Covid-19 pandemic.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 09:50:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="FernandoMasanori"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Python for Accessibility</title><link href="https://pyvideo.org/pycon-au-2020/python-for-accessibility.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Rory Preddy</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/python-for-accessibility.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Rory Preddy&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/VP3D73"&gt;https://2020.pycon.org.au/program/VP3D73&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My life is a hilarious roller coaster of miss-intended programming bugs because at 4 foot tall and 50 kilograms I completely fall off your radar.&lt;/p&gt;
&lt;p&gt;Why did my scale call me! Why does facial recognition see me as a child …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Rory Preddy&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/VP3D73"&gt;https://2020.pycon.org.au/program/VP3D73&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;My life is a hilarious roller coaster of miss-intended programming bugs because at 4 foot tall and 50 kilograms I completely fall off your radar.&lt;/p&gt;
&lt;p&gt;Why did my scale call me! Why does facial recognition see me as a child? These are all valid questions I often ask myself as I navigate my weird and different world. Have you heard the phrase “You have to be this tall for Micro-services”? well what about: “You have to be this tall to operate a mobile phone?”. I am finding it harder and harder to reach any button except for “#” and “9”.&lt;/p&gt;
&lt;p&gt;Building accessibility into the planning stages of programming can eliminate barriers for participation and create an inclusive environment for people with disabilities. Programming for diversity serves as an unquestionable indicator that your software embraces the diversity of your users and cares about their safety and comfort.&lt;/p&gt;
&lt;p&gt;Join me on a fascinating and thought-provoking look at how you can program for Accessibility with Python.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 16:00:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="RoryPreddy"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Queues - The Secret Sauce</title><link href="https://pyvideo.org/pycon-au-2020/queues-the-secret-sauce.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Jeremy Rotstein</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/queues-the-secret-sauce.html</id><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Jeremy Rotstein&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/NKWBA3"&gt;https://2020.pycon.org.au/program/NKWBA3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 14:40:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="JeremyRotstein"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Raising Heretics</title><link href="https://pyvideo.org/pycon-au-2020/raising-heretics.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Linda McIver</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/raising-heretics.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Linda McIver&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/DD7SGY"&gt;https://2020.pycon.org.au/program/DD7SGY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this talk, I want to show you how Data Science Education is key to nurturing a rationally sceptical, creative, ethical, problem solving population who can save the world.
I’m going to do that by looking at the problems …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Linda McIver&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/DD7SGY"&gt;https://2020.pycon.org.au/program/DD7SGY&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this talk, I want to show you how Data Science Education is key to nurturing a rationally sceptical, creative, ethical, problem solving population who can save the world.
I’m going to do that by looking at the problems we have in the Data Science and Technology communities today, and how those communities are shaping our world - problems and all.
We’re then going to explore the issues with our current education system in more depth. There is no such thing as perfect data, yet we treat data with more reverence than it deserves. Our entire education system is built on the idea of being measurable, yet all too often “measurable” winds up being the opposite of “meaningful”. We’ll consider how we got here, and how we can create an education system that focuses on meaningful outcomes, and develops our students into rational, ethical heretics,
All of these goals require us to get comfortable with the idea of uncertainty. To be prepared to challenge the status quo, query accepted wisdom, and even to question our own findings. We're going to talk about why uncertainty is important, and how we can get comfortable with it, especially in education.
Why should you take my word for it? I'll show you how data science projects work, with case studies from my own teaching, and examples of units ADSEI has created right across the curriculum, from Humanities to STEM.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 12:45:00 2020 at Floperator&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="LindaMcIver"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>So what is this time thing anyway?</title><link href="https://pyvideo.org/pycon-au-2020/so-what-is-this-time-thing-anyway.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Samuel Bishop</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/so-what-is-this-time-thing-anyway.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Samuel Bishop&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/DDCVAM"&gt;https://2020.pycon.org.au/program/DDCVAM&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a whirlwind tour of modern timekeeping. From the weird and wonderful timekeeping of astronomers, to what goes into the normal civil time you read on your watch. With fun stops through calendaring, atomic clocks, GPS, space probes, and …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Samuel Bishop&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/DDCVAM"&gt;https://2020.pycon.org.au/program/DDCVAM&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a whirlwind tour of modern timekeeping. From the weird and wonderful timekeeping of astronomers, to what goes into the normal civil time you read on your watch. With fun stops through calendaring, atomic clocks, GPS, space probes, and more along the way! As programmers, we work with dates and times on a regular basis and while most of us will never come across a TAI timestamp, or convert from UTC to TCB, there is a rich history behind our modern timekeeping with all its wonderful acronyms. Regardless of your level of skill or familiarity with timekeeping, I hope you can get something out of this introduction to timekeeping, illustrated with Python where applicable.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 14:40:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="SamuelBishop"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Speeding up Your Docker Image Build</title><link href="https://pyvideo.org/pycon-au-2020/speeding-up-your-docker-image-build.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Vladislav Supalov</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/speeding-up-your-docker-image-build.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Vladislav Supalov&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/7FP8AB"&gt;https://2020.pycon.org.au/program/7FP8AB&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are your Docker builds taking forever? Docker can be a valuable part of your tool belt, or a constant source of annoyance. This talk will walk you through frequent sources of slowness when building Docker images for Python projects, and …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Vladislav Supalov&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/7FP8AB"&gt;https://2020.pycon.org.au/program/7FP8AB&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are your Docker builds taking forever? Docker can be a valuable part of your tool belt, or a constant source of annoyance. This talk will walk you through frequent sources of slowness when building Docker images for Python projects, and ways how you can avoid or fix them. Let’s speed up an utterly slow Docker build together using the right high-level approach, easy to implement tricks and brand-new Docker features to speed up your build protect your coding flow from annoying delays.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 11:00:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="VladislavSupalov"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Staircase: fast analysis with step functions</title><link href="https://pyvideo.org/pycon-au-2020/staircase-fast-analysis-with-step-functions.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Riley Clement</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/staircase-fast-analysis-with-step-functions.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Riley Clement&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/3TDS8K"&gt;https://2020.pycon.org.au/program/3TDS8K&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This talk introduces the Staircase package – a new open source package with applications in data analysis.  It aims to take the audience on a journey from basics to more advanced usage at a comfortable pace.   A tutorial-esque style will be …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Riley Clement&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/3TDS8K"&gt;https://2020.pycon.org.au/program/3TDS8K&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This talk introduces the Staircase package – a new open source package with applications in data analysis.  It aims to take the audience on a journey from basics to more advanced usage at a comfortable pace.   A tutorial-esque style will be used to introduce fundamentals, followed by four examples abstracted from real world use cases.&lt;/p&gt;
&lt;p&gt;If you work with timestamped data and enjoy a little bit of math, mixed with a terrible sense of humour, then this talk could be right up your alley.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 10:25:00 2020 at Obvious&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="RileyClement"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Stop Writing Tests!</title><link href="https://pyvideo.org/pycon-au-2020/stop-writing-tests.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Zac Hatfield-Dodds</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/stop-writing-tests.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Zac Hatfield-Dodds&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/TCT3GH"&gt;https://2020.pycon.org.au/program/TCT3GH&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We often think of manual testing as slower and less effective than automated testing,
but most test suites haven't automated that much!  Computers can execute all our
pre-defined tests very quickly - and this is definitely a good thing, especially for …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Zac Hatfield-Dodds&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/TCT3GH"&gt;https://2020.pycon.org.au/program/TCT3GH&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We often think of manual testing as slower and less effective than automated testing,
but most test suites haven't automated that much!  Computers can execute all our
pre-defined tests very quickly - and this is definitely a good thing, especially for
regression tests - but the tricky parts are still done by humans.&lt;/p&gt;
&lt;p&gt;We select test cases (inputs) and check that the corresponding outputs make sense;
we write functions that &amp;quot;arrange, act, and assert&amp;quot; for our tests; and we decide -
or script via CI systems - which tests to execute and when.&lt;/p&gt;
&lt;p&gt;So lets explore some next-generation tools that we could use to automate these
remaining parts of a testing workflow!&lt;/p&gt;
&lt;p&gt;PROPERTY-BASED TESTING helps you to write more powerful tests by automating selection
of test cases: instead of listing input-output pairs, you describe the kind of data
you want and write a test that passes &lt;em&gt;for all X...&lt;/em&gt;.  We'll see a live demo, and
learn something about the Python builtins in the process!&lt;/p&gt;
&lt;p&gt;CODE INTROSPECTION, and a handy templating tool, can help write tests for you.
Do you need to know any more than which code to test, and what properties should hold?&lt;/p&gt;
&lt;p&gt;ADAPTIVE FUZZING tools take CI to its logical conclusion: instead of running a fixed
set of tests on each push, they sit on a server and run tests full-time... fine-tuning
themselves to find bugs in &lt;em&gt;your&lt;/em&gt; project and pulling each new commit as it lands!&lt;/p&gt;
&lt;p&gt;By the end of this talk, you'll know what these three kinds of tools can do -
and how to get started with automating the &lt;em&gt;rest&lt;/em&gt; of your testing tomorrow.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 11:35:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="ZacHatfield-Dodds"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Streamlit - Build interactive data dashboards quickly</title><link href="https://pyvideo.org/pycon-au-2020/streamlit-build-interactive-data-dashboards-quickly.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Jaimin Khanderia</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/streamlit-build-interactive-data-dashboards-quickly.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Jaimin Khanderia&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/RL8S3N"&gt;https://2020.pycon.org.au/program/RL8S3N&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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 that is elegant and aesthetically pleasing …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Jaimin Khanderia&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/RL8S3N"&gt;https://2020.pycon.org.au/program/RL8S3N&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;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 that is elegant and aesthetically pleasing. In my presentation, I’ll briefly state what is Streamlit and how it is super useful for data scientists and analysts. I’ll then go over the basic Streamlit components and examples that demonstrate how easy it is to make an interactive data dashboard in Python. (Yes you heard it right, no JavaScript required :D) By the end of this talk, you’ll know the basics of Streamlit and would be able to build an interactive web application for data visualization and analysis with just a few lines of code in Python.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 11:00:00 2020 at Curlyboi&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="JaiminKhanderia"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Sunday Lightning Talks (PyConline AU 2020)</title><link href="https://pyvideo.org/pycon-au-2020/sunday-lightning-talks-pyconline-au-2020.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Sunday Lightning Talks</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/sunday-lightning-talks-pyconline-au-2020.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Extremely Online Lightning Talks from the extremely online PyConline AU 2020.
CONTENT WARNING: Swearing, discussion of genocide.&lt;/p&gt;
&lt;p&gt;0:00 - Intro 🐈
1:40 - Tisham Dhar - Coding at Home with Kids
6:33 - Juan Morais - A bot that shares game development content in Spanish
11:11 - Peter Hall - Java is better …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Extremely Online Lightning Talks from the extremely online PyConline AU 2020.
CONTENT WARNING: Swearing, discussion of genocide.&lt;/p&gt;
&lt;p&gt;0:00 - Intro 🐈
1:40 - Tisham Dhar - Coding at Home with Kids
6:33 - Juan Morais - A bot that shares game development content in Spanish
11:11 - Peter Hall - Java is better than Python
16:57 - Evan Kohilas - How did we miss this?
21:28 - Kit Darko - why not throw my devices in the sea, and go live in a cave?
26:32 - Henry Walshaw - Calculating 5km of travel distance in Python
32:00 - Allan Whatmough - Meltano: open-source data pipelines
37:20 - Matt Cengia - Event Diversity, Inclusion, and Accessibility
40:32 - Keira Paterson - Why won't they just use password managers already!?
45:13 - Jason King - The king has entered the area
50:33 - Carl Karsten - My fav answer to &amp;quot;How can I program?&amp;quot;
56:10 - Anthony Agius - 5 minutes to explain 5 ways Facebook causes harm
1:01:28 - Jared Quinn - Take Full Control of Your Smart Home
1:06:52 - Rachel Bunder - Curly boi or cake?&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="australia"></category><category term="conference"></category><category term="programming"></category><category term="pycon"></category><category term="pyconau"></category><category term="pyconline"></category><category term="pyconlineau"></category><category term="python"></category></entry><entry><title>Taking Django's ORM Async</title><link href="https://pyvideo.org/pycon-au-2020/taking-djangos-orm-async.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Andrew Godwin</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/taking-djangos-orm-async.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Andrew Godwin&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/SLXVBU"&gt;https://2020.pycon.org.au/program/SLXVBU&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The quest to add &amp;quot;hybrid&amp;quot; asynchronous support to Django - where it can run both synchronous and asynchronous code - is a long one. Django 3.1 reached an important milestone with synchronous and asynchronous views, and now the next big step …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Andrew Godwin&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/SLXVBU"&gt;https://2020.pycon.org.au/program/SLXVBU&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The quest to add &amp;quot;hybrid&amp;quot; asynchronous support to Django - where it can run both synchronous and asynchronous code - is a long one. Django 3.1 reached an important milestone with synchronous and asynchronous views, and now the next big step is to take a long, hard look at the thing that makes up over half the Django codebase: the ORM.&lt;/p&gt;
&lt;p&gt;The ORM is gigantic, old, and complex - and has an API designed and tweaked over many years. We'll look at some of those design decisions and how they reflect in the world of async, the challenges that underlie a hybrid API, as well as how the safety-first nature of the ORM has to evolve to deal with new and exciting async ways of breaking things.&lt;/p&gt;
&lt;p&gt;We'll also dive into what it means to have asynchronous database backends, and how support for those are progressing in the Python world - and how we're trying to ship something that's useful before fully asynchronous database APIs are done.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Fri Sep  4 17:10:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="AndrewGodwin"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry><entry><title>Text files full of punctuation? There must be a better way to code.</title><link href="https://pyvideo.org/pycon-au-2020/text-files-full-of-punctuation-there-must-be-a-better-way-to-code.html" rel="alternate"></link><published>2020-09-05T00:00:00+00:00</published><updated>2020-09-05T00:00:00+00:00</updated><author><name>Katie Bell</name></author><id>tag:pyvideo.org,2020-09-05:/pycon-au-2020/text-files-full-of-punctuation-there-must-be-a-better-way-to-code.html</id><summary type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Katie Bell&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/HHPFHW"&gt;https://2020.pycon.org.au/program/HHPFHW&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The vast majority of code is written through some kind of text editor, whether it's notepad, a sophisticated IDE, or a heavily customised Vim environment. These tools mitigate common text editing problems like unclosed brackets and syntax errors, but can't …&lt;/p&gt;</summary><content type="html">&lt;h3&gt;Description&lt;/h3&gt;&lt;p&gt;Katie Bell&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://2020.pycon.org.au/program/HHPFHW"&gt;https://2020.pycon.org.au/program/HHPFHW&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The vast majority of code is written through some kind of text editor, whether it's notepad, a sophisticated IDE, or a heavily customised Vim environment. These tools mitigate common text editing problems like unclosed brackets and syntax errors, but can't eliminate them completely.&lt;/p&gt;
&lt;p&gt;In this talk we'll explore the underlying nature of code as a tree structure using Python's abstract syntax trees, and we'll compare real world examples of coding interfaces which represent these trees in different ways.&lt;/p&gt;
&lt;p&gt;So much of our thinking and tooling revolves around code being represented as text files that to step outside of this world means re-imagining how version control works and what real programming even is.&lt;/p&gt;
&lt;p&gt;Produced by NDV: &lt;a class="reference external" href="https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1"&gt;https://youtube.com/channel/UCQ7dFBzZGlBvtU2hCecsBBg?sub_confirmation=1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Python, PyCon, PyConAU, PyConline&lt;/p&gt;
&lt;p&gt;Sat Sep  5 11:35:00 2020 at Python 2&lt;/p&gt;
</content><category term="PyCon AU 2020"></category><category term="KatieBell"></category><category term="PyCon"></category><category term="PyConAU"></category><category term="PyConline"></category><category term="Python"></category><category term="pyconau"></category><category term="pyconau_2020"></category></entry></feed>