foreign
it is phenomenal what
Libby Berry on the Heckle mic
did you miss me
hi it's lightning talks time how are we
yes yeah applause applause
stop
again he is out of practice and you
don't need any training amazing okay
today we have 11 talks on
a variety of themes
uh
uh so uh basically first thing I'm going
to run through how this works uh I'm
going to introduce our upcoming speaker
before I do that I will always introduce
the person who is up on deck if I say
your name and you're up on deck that
means to go to the lectern that I point
at so that we don't have any breaks
between our talks awkward silence is
really awkward and Libby will have to
say stuff
yes
okay uh really important is that we keep
this thing to time
uh Russell here has a laptop so speakers
uh look at Russell he will tell you
exactly how much time you have remaining
in your talk when we get to about 10
seconds left
uh somebody in the audience will start
encouraging you to make some really
quiet Applause with your fingers
and then suddenly it will start turning
into Applause with hands and then when
we hit five minutes you need to make
really loud loud Applause so that the
people know to get off stage yeah
yeah first Nikki ringland
okay hello
um I'm gonna talk about well it depends
so here you are you're working on your
amazing awesome project and you find
yourself installing a dependency that's
great but hang on what even was that
what did you just install good news I
have live footage of your depend uh yes
that's that no okay here is your lovely
dependency tree it's beautiful and oh no
there's been a vulnerability or a
incompatible license that's just been
discovered in that tree if you are lucky
the problem is in a direct dependency of
yours if you are unlucky it might be in
an indirect or a transitive dependency
the problem with this is that it means
that you might need to wait for all for
that intermediate package or maybe all
of those intermediate packages to fix
before you can actually patch that
problem so you might have to wait for
them to remove that bad dependency you
might have to remove the entire path
that pulls in this dependency but this
involves considerable effort you added
that dependency for a reason right a
good reason right and then of course
there's the problem of your beautiful
nice clean dependency tree does not look
like this it usually looks a little bit
more like this it's a graph and probably
a pretty interconnected one and that
problem package that one down there well
uh there are a pretty oh no there are
lots of different ways that you depend
on that now in in Python we're not doing
too badly uh we've got floss that's a
reasonable number of defenses you might
be using Django that looks great or you
might oh no
and other languages well I'm not naming
names here
um so an a median thing in in uh
languages like go or python on the left
here we see we have about 10
dependencies but in languages like rust
or JavaScript more like 70 or 80 that's
a lot of dependencies to keep track of
and why would you want to keep track of
dependency oh yeah those problem things
some of you may remember look don't
worry there was a problem log for Shell
but it was okay because they patched it
pretty quickly that's great news all you
need to do is pull the new version bump
your dependency version the bad news
you've got to bump that dependency
version this is hard because in Maven
and however they use this thing more
often than not called the soft version
requirement which means that manual
effort was needed manual effort is bad
also it turned out that log4j ended up
more often than not really deep deep
down in the dependency graph uh this is
the depth at which log4j first occurred
in that dependency graph and if it's
five layers deep you've got a lot of
people who need to do manual effort
before you can actually fix your problem
so your problem more looks like this
uh-oh but we're not Java we're not Maven
we don't have these problems right well
what what would happen if something
similar happened in a different
ecosystem
so things like npm and pep the the
resolution algorithm prefers more recent
versions so that newer automatically
that fixed version is automatically
pulled in
um uh okay look there are some weirdness
that happens in other languages npm
might give you the old version and the
new version but we won't get into that
um the new patched version is going to
be automatically pulled into your
dependency trees you win unless the new
version that you just pulled in actually
introduces a bunch of problems uh like
what happened recently ish
a developer pushed deliberately breaking
versions of their dependency and then
that was automatically propagated across
the entire ecosystem when npm stepped in
and removed the versions it's ah look
it's all a giant mess dependencies are a
giant mess what what is better do we
pull in the new versions do we leave the
old stable versions I can't answer that
um I don't think I can even answer this
one what do I do one of the things you
can do is watch Evan's talk from
yesterday if you've got time travel or
can access the stream later another
thing you could do is look at your
graphs of your dependencies on
depths.dev and no no not not despair but
I I kid but really knowing is very
useful
um so this is a dependency graph uh look
at what these are all the paths to the
advisories maybe you only want to look
for one particular advisory at least
knowing the scale of your problem
is a start
okay so please go and fix this for us
use our data you can get it it's free
that you don't even need an API key go
to daps.dev use the API use the bigquery
data set please won't someone fix this
for us thank you very much
[Applause]
how'd you think mommy went
Everyone's a Critic yeah thanks Nikki
did anyone else's shoulders raise in
solidarity when they saw the dependency
graph that looked like a mess because
the mind sure did no
right uh up on Deck we have Terence but
first uh Daniel is going to talk about
crowdsource databases
hey everyone
um I've
it's good to see you in person
so I'm going to talk about a little bit
about the music brains first
it's a crowdsource database of CD
database CD information and other music
information
so if you've
heard all the music that goes on in
between sessions and you're joining
online
uh you might that music's done by Citrix
[Applause]
so
uh we've got music brains has got
millions of artists if you find an
artist we've probably got it
um from Python's perspective uh
I want you to go and download a music
brains Picard it's a music playing
attacker you add music to it and you'll
hopefully get met
um metadata so
this is the Beatles
it's got
no barcodes and all that sort of thing
um so this is sort of a project that I
sometimes do on the couch so
if you've got a couch and if you've got
a laptop
I feel free to create an account
um and see if there's anything missing
tackle your music and
if it's missing feel free to add it
um from once you get past the basics
um notice there's lots of EX things like
external external links so
um find people's social media handles
find their soundclouds
feel free to add that sort of thing if
it's missing
um if you go to some of the other
artists
you notice we've got a summary from
Wikipedia
that's linked through a project called
wikidata so if you haven't heard of
wikidata that's the data behind
lots of Wikipedia Pages the problem it's
trying to solve is you've got all these
different languages so you're going to
have your Spanish version of the
Wikipedia page to the English version
the Wikipedia page there's a whole bunch
of facts and a place to put all those
facts is
um we're here data
so if you go to a Wikipedia page
uh it's things like these info boxes
that all gets populated by wikidata
so
things like genre you only have to
upload play that in one place and all
the Wikipedia pages will instantly be
updated if they use the right templates
and that sort of thing
so once you've tagged your music
the next thing is to
add it starts to
um we had if needed uh
then you can extend that to Wikipedia
um the interesting thing for me when
you're trying to link these things is
the authority authority control template
which links several different databases
that are there for music so there's
um all the rights organizations of who
actually write write the songs and
things like that that all across links
probably
if um is it not your thing
uh
go to open street map
if you ever played a Pokemon go and the
map's not quite right you see a road
that's sort of creep sort of a meter off
they all import
openstreetmap data so
all you need to do is create accounts
it's got a web-based tool and you can
just move the lines slightly so it'll
matches properly if it annoys you feel
free to fix it
um that
there's other crowd Source things like
um scientific things if you've heard of
Galaxy Zoo they were trying to classify
different types of Glorious galaxies so
spherical and spiral
feel free to look for these sort of
things but while you're on the couch
feel free to do something useful
thank you
hey thanks Daniel it's um I saw Amanda
Hogan's talk before the afternoon tea
break and seeing the difficulties you
had fighting through trying to scrape
Wikipedia and seeing this Wiki data
stuff makes me excited for how much
easier it could be trying to try and
expand on those sorts of things uh on
Deck we have Gerard Hogan
but first we have Terence hunt who's
going to talk about
our favorite Airline
so evidently I don't work for Qantas no
it's Rivals I just want to say that for
transparency but I wanted to talk about
this because it's surprising how much we
sort of forget or forgive many companies
well some of the bad practices they do
about security
so before the world ended in 2020 I
managed to speak a squeak out one last
flight was a work trip flying back from
London to Melbourne by Dubai I was
sitting in my plane seat about to turn
my phone onto airplane mode when my
phone still somehow connected to the
airport Wi-Fi got three notifications
one from Instagram
one from Facebook Messenger
and one from Gmail
I didn't reset my pin though
well
crud there's kids around here I didn't
want to swear but yes
I only found out after when I learned
back in Melbourne that the person who
hacked me was my friend according to
them they kind of wanted to test it out
and thought it wouldn't be that easy to
hack me
and still whether or not depressed
charges and still considering that
however I didn't know that my friend was
the one that hacked me during my flight
from Dubai to Melbourne so I did what
any rational person would do I purchased
the super expensive plain Wi-Fi so I can
try and recover my account during the
long long flight and yes as you can
expect the internet speeds on a plane
fly across the Indian Ocean
isn't that fast but I persevered and
despite the numerous Network timeouts
and long waiting screens I managed to
change the pin through something that I
know
how you may ask well I'm not sure if
this is the current process but back
then if Qantas would ask these four
questions to verify my identity and yes
these are the same questions that my
friend got asked as well
I only need to answer three of the four
and looking back you can realize how
easily accessible this sort of
information is especially if you if this
is the person
that you trust like a friend for example
my birthday was available to all my
friends on Facebook and Twitter
and if they've been a friend for a long
time like let's say back at high school
it's pretty much game over
so first lesson don't make your security
questions at easily obtainable answers
now when I wrote this article when I
wrote an article about this back then
this was going to be a massive rant but
they changed it so now you can change
the security questions to be
something else you should review them I
should I recommend you to review them
the new set are slightly better than the
previous one instead of asking your date
of birth they ask like what's your
favorite book
okay I especially do love the
miscellaneous word or sentence option
because you can effectually make a
verification password so if you use
something like one password you can just
create another password field and there
you go Bob's your uncle
a bit of a side note please please
please stop using SMS as a multi-factor
authentication option
we all know why this is bad it is
however the most accessible option but
and I'm all of us are here are great
things thinkers and all that we really
should get rid of it this is the
ironically the only thing I agree with
Elon Musk we should get rid of it it
must go
fun fact
they know what this actually now offers
multi-factor authentication through an
authenticator app so if you didn't know
that congratulations now you know I'm
not saying this is something to do with
an article I wrote two years ago
but
um the only bad thing is it doesn't
extend to all Quantum Services so for
example Qantas of money so if you have a
Qantas credit card this is going to
protect you fun fact watches money is
actually owned by NAB
number three
your Qantas frequent flyer number can
give you access to everything we all
think it's some sort of membership
number right but the amount of
information that's connected to it
kind of concerns me for example you can
actually walk up to yourself
self-service kiosk put in someone's qff
number and you got someone's ticket
right there
or you can get away with a lot more
information than just a booking
reference
now if you're social media influencer
they no longer print this information
thankfully quantities did this since
October 2019 virgin did this in March 20
but not airlines not all Airlines do
this Emirates is a code share based on
printer
oh so why are we still doing this in
2023 there are
combination so we should change that
Qantas please fix this thank you
hey uh thanks Terence and uh thanks to
your mother
um and an extra thanks to your friend
for providing excellent lightning talk
material uh up on Deck we have Nick
Crouch but first Gerard Hogan who's
going to tell you something that you
really should know hi thanks everyone
yes um I have to start with the
confession uh first I have no slides
secondly I'm not a coder but all of my
friends all of my family and most of my
co-workers are so this is something that
is kind of near and dear to me
um
yes also there are four related Hogans
here today I'm it's not a coincidence
um but what I do for a job is I talk to
people
I'm a user experience researcher so I go
out into the world and talk to people
about what they like about the apps that
I work on what they hate what they want
what they wish they do and what they
really wish we'd stop doing
so um I feel incredibly privileged to be
able to do that because I get to see the
hard the hard work that our developers
and designers put into building things
out in the world and see how people
actually interact with those things
and if I could sum up what I've learned
in all the years that I've been doing
user research is that you are not your
user
um and I guess what that comes from is
seeing people try things in the real
world and being alarmed at how they try
and do things that you never thought
they'd do with your apps
um to tell you a bit of a story about
that I used to work for a bank and when
I worked there I was working on the
first generation of our iPad app so yes
it really was a very long time ago
um and we built this beautiful app that
actually won a ton of Design Awards and
we released it into the world
didn't get used very much
feedback was terrible
so we sat there and looked at it and
thought what is going on this thing is
beautiful so we went a couple of
researchers we went out into the world
and spoke to people and gave them the
app and said okay do some things with it
and what we found was people looked at
it and said
looks pretty but it doesn't do much
we're sitting there going what do you
mean it doesn't do much it has all these
amazing interactions you can drag One
account on top of the other and have it
transfer money it's beautiful
but the interactions were not
discoverable and so this is the this is
the root of the problem where you can
spend a lot of time building something
and you get so caught up in it that you
don't realize that for other people it's
not discoverable
and I so I guess what I'd like you to do
is bring that story Bracken back into
your own work
and think about all of the things that
you're deeply invested in that you've
spent all of this time developing and
chances are it's because what Drew
decoding in the first place or the thing
that you're working on now is because
it's something you care about deeply and
something that you want to work want to
use yourself
but maybe think about
all of those things and whether I say my
mum would be able to use them
now granted that's a hard thing to do to
put yourself in someone else's shoes and
so that's where user research comes in
go out into the world and talk to people
and honestly the easiest thing to do is
to give someone your app or your website
or whatever it is that you're working on
and say to them do a thing tell me how
that goes and watch them and generally
generally you might be alarmed by what
happens
um
people people designers often get very
upset when they see people doing things
in a way that they didn't expect or
they've changed the font size and it
doesn't make any sense things don't fit
on the screen anymore so there are a ton
of things that you learn only by talking
to people
and there are easy ways that you can do
this you don't need to be an actual user
experience researcher you don't need to
use expensive tools there are things
that you can find on the web like um
five second test lets you test designs
uh SurveyMonkey lets you build and send
surveys out into the world so there are
things that you can do yourself to
gather some of this knowledge so if I
could bring you back to my I want to put
this on a t-shirt slogan
is that you are not your user and
anytime you spend thinking like a
researcher and being out in the world
and talking to people about how they
might want to use your thing is just
going to make your end product better
so that's it thank you very much
thanks Gerard I am absolutely first in
line for those t-shirts that sounds
fantastic
yes not our use of it was the presenter
of you are not your user
which you were but you're not a user uh
Nick Crouch is up on this uh lectern but
first I have a card that says this
question will not be answered what is
the question let's ask yes
right so I would also like to pre-face
this by saying I am not a coder I don't
know anything about almost anything Tech
related but I do know about the Fast and
the Furious movies
uh this started because I realized that
every single one of the now 11 Fast and
the Furious movies have a different
naming scheme and I don't quite
understand how they've managed that and
I'm very very excited to see what they
do with ten two and possibly ten three
so I'm just going to list them off very
quickly uh we have the Fast and the
Furious Too Fast Too Furious the Fast
and the Furious Tokyo Drift Fast and
Furious Fast Five fast and furious six
Furious 7 the fate of the Furious
F9 and fast X and then there is the uh
the offshoot The Fast and the Furious
Hobson sure I think it's called
so
as I was looking at these I thought I'd
just write a couple of words about each
of them so that we can all be on the
same page so number one we've got Paul
Walker we've got Vin Diesel dear friends
now
number two uh this is the first one
without Vin Diesel in it which is
interesting because these are a Vin
Diesel passion project
uh number three is once again without
Vin Diesel it's the Tokyo Drift one it's
uh we're gonna come back to Tokyo Drift
it's um right number four
doesn't seem to matter at all number
five number five is the best one number
five is the one where the rock becomes
part of the uh crew I guess
uh and they have it's the ones that the
current
X
plus X2 plus X3 is trying to go back to
and we'll come back to that as well uh
number six is the one where Paul Walker
passed away
and that became a bit of a problem
because instead of having his character
die they kind of just made him drive
into the sunset literally
uh which becomes a problem
once we reach the end of the series
because now everyone's come back for
this big end thing and Paul Walker's
character kind of just looks like a bad
guy because he's not coming back to help
his friends uh so then maybe should have
just like made that go away so number
seven is where we have Jason Statham
join the team well he doesn't join the
team He's the bad guy also like spoilers
obviously
um
but also number seven is where we have
introduced our third bold main character
no fourth fourth ball main character uh
number eight is the there's there's a
lot of stuff with Charlize Theron and
there's a submarine uh number nine that
time they actually went to space I am
not joking they go to space in the ninth
movie uh number 10 we we get John Cena
which is a fun addition uh and it is the
end except they've confirmed there's at
least one more if not two more
right so I want to go back to Tokyo
Drift
to explain
the insanity that is the timeline of
these movies
they mostly are in order except for
Tokyo Drift they got to Tokyo Drift and
then decided to keep making movies
afterwards they kind of finalized it and
then went no we'll just keep going so
there is a character from Tokyo Drift
that is then killed off in that movie
and shows up again in the next one
so in order for that to happen they
decided to put number three
in between six and seven
um but then they got
to number six and decided they still
liked the character
so they reckoned it again
and didn't kill him off they put it
after credit scene where he mysteriously
didn't die
um
and they've done similar things three
times now uh there are three characters
who have died in a movie and then have
come back it happened with a a brain
damage Amnesia situation
and it's now about to happen we don't
know why because it's been it was
mysteriously suggested at the end of x
uh that another character is coming back
um honestly these movies
they're just ridiculous and I love them
so much because of that they stopped
being about cars in three they became
action movies in four and have just gone
off the rail since then and I love them
very much
um and that's it
thank you Jess
um
it's good we have more link jokes from a
lightning talk than we've had in years
which is great I found the list of uh 10
3 and 10 4 names uh we have tiger
jaguar and panther yeah personally I'm
looking forward to Beta Testing Fast and
Furious and Noma drift um
it's gonna be good
expecting big things up on Deck we have
Aleister Robertson but first Nick Crouch
hi I'm your friendly neighborhood
sponsorship coordinator
um first of all brief clap for the
sponsors
thank you no ads
um so uh quick show of hands who's heard
of streamlit
all right so there's a number of you in
the audience this is not going to be new
to you I'm very sorry for that um maybe
there's some new stuff before me
um that you didn't know about already
um yesterday sitting in the student
showcase uh I noticed and there was a
lot of conversations and a lot of a lot
of starts to talks that went I wanted to
build a thing
um but and then I got out flask and I've
learned HTML and JavaScript so I could
use flask really easily to build a UI
and I'm sitting there and I'm thinking I
mean these kids are amazing really like
to be to be upfront if you missed the
student showcase go back and watch it I
think it'll be on YouTube because it's
awesome
but I was sitting there thinking this is
not HTML and JavaScript column this is
pycon so
um with that in mind I want to show
everyone in the room how you can really
quickly build some apps in in Python
um that that aren't Russell's thing and
I apologize for that
um so this is streamlit on the left hand
side you can see the code on the right
hand side you can see the output so I've
got my St dot stop here all that's going
to do is act like a breakpoint so when I
hit Ctrl s you can see it says the
source file has changed I'm going to hit
always rerun so every time I change my
input file
it's going to refresh the page on the
right hand side so now what I can start
to do is really really easily build in
some data entry or data exfiltration
from somewhere
exfiltration is not the right word don't
do exfiltration
and yeah that's saved so so now I've got
my my load data I've taught it where to
go and so now
uh actually in the background we've
defined that method and it's reloaded on
the right hand side you can see I've got
cached data in here we'll come back to
that in a second so now I'm going to
come down here I'm going to put my St
dot stop after this block of code I'm
going to hit Ctrl s you can see I'm now
running load data because it's refreshed
on the right hand side and it's starting
to do the thing that I've asked it to do
you can see that's basically go and load
the data get 10 000 records out of it
and that's been done fantastic excellent
okay so you've got some data what do you
do with it well first thing is let's
take a look at it looking at data is
really really easy
looking at data consists of St dot write
dataframe
now I've got some data that I can look
at great I can scroll through my data
that's okay fine this is a data set from
Uber nobody cares it doesn't matter
in fact it's more interesting if you
chart it so fc.bychart gives you a bar
chart
it is literally just passing it passing
in a histogram that's that's pretty easy
um
now let's say I decided that rather than
just knowing how many rides I take
during it during different hours of the
day I'd prefer to know where I took
those rides um that's pretty easy as
well I can just use st.map to do that
so now I have a map of all my rides
um so if you've got geospatial data you
can start to map that within what
three minutes and 30 seconds
let's say rather than just mapping all
your rides you actually want to know
like where do you go at certain hours of
the day I've got a colleague that did
this with people getting picked up at
various times of the day in London on
their bike system he found somebody that
took like four hours to go 2ks it was
not the straightest of trips if you know
what I mean
so from here I've got a slider I can
take my slider move it page refreshes I
get a different cut of the data
take my slider move it across here page
refreshes I get a different cut of the
data that's because over on the left
hand side here I have my hour to filter
is an st dot slider right so very easy
to build input that data
um we also have code blocks in
streamlined that's pretty easy let's go
ahead St dot code
all of a sudden now I have a code block
with syntax highlighting and last but
not least
it has notifications
and it's last but not least because I'm
going to run out of time so you can see
down the bottom here it has
notifications so if you want to really
quickly and easily build out a an
application to explore data show data do
anything you really want with data and
you don't want to have to learn HTML I
don't want to learn HTML go ahead pip
install streamlit and then the command
is literally app run or streamlit run
app.pi you're done thank you
the Crouch everyone in no way saying
that the kids in the education showcase
were doing too much work
sorry he was saying that some of them
were doing too much work but you're
doing it really really well yeah
uh up on Deck we have uh Kate but first
Alistair Robertson with uh python for
infrastructure as code
hello everyone and welcome to my Ted I
mean python talk um this is my first
ever conference talk so thank you for
the opportunity okay
um I'm a devops engineer I work for a
camera based company called xid and I
kind of love python I'm going to talk
about infrastructure as code why we
picked polymy and Python and the tech
stack we use to manage thousands of
resources across multiple AWS accounts
when I'm talking about infrastructure as
code I'm talking about describing our
environment in some way and having that
description deployed with automation
this is the alternative to that
deploying by hand and documenting and
Confluence or never documenting at all
that some of us are familiar with in my
world the AWS World infrastructure
doesn't only mean servers and routers it
includes a plethora of value-add managed
services like Amazon guard Duty and
security Lake anything that can manage
with an API in general the stages for
managing your infrastructure with code
begin with declaring your resources in
some way and then their dependencies on
each other you then schedule The
Ordering of deployment so you can deploy
as much in parallel as possible and you
execute finally you manage your state
somewhere so you can make changes or
remove infrastructure later on
I'm sure that the majority here has
heard of terraform but did you know that
you can declare your resources as though
you're instantiating classes in Python
rather than a perhaps unfamiliar domain
specific language and to pollumi it's a
terrible it's a competitor to terraform
and allows you to do just that along
with being able to leverage many other
fancy language features you might want
to use other languages are also
supported but we are at pycon and python
is my choice anyway palumi has a great
feature called Dynamic resources where
if we need custom resource functionality
you can write that in your own code but
have it play nicely with the resource
State model which we found unique pretty
heavily when you hit rough edges with
working with AWS
why would I want to use a programming
language to clear my infrastructure
rather than something with more rigid
structure I'll tell you why complexity
with great power comes great
responsibility and with a large
environment comes complexity to manage
our deployments span many AWS accounts
each performing different roles and
resources having cross-account
dependencies as such a very high level
of view of our cross about across
account dependencies looks a bit like
that
um
which as you can manage which you can as
you can imagine is a bit of an ordeal to
explain to new team members for the AWS
people here these dependencies are for
use cases like cross account log
delivery golden Ami building and
generating service control policies
we didn't just pick bulimian python on
Vibe alone we built out a test case of a
cross account Transit Gateway attachment
in terraform palumi ansible and a
heretic blend of Bodo 3 and cloud
formation so we chose the one that went
with palumi setting this up involves a
lot of jumping back and forth between
accounts writing in Python was the
nicest fit especially with the team that
was already comfort with python and we
moved forward with it
and so was born project skywater the
name project skywater is a nod to a
weather modification program by the US
Bureau of Reclamation in the 1970s and
they were performing cloud seeding to
control the weather unlike Reclamation
though and their rain clouds we've had
much more success with the digital cloud
all right let's walk through the tech
stack and talk about moving Parts first
up we're building skywater around the
palumi library so we need the palumi
engine which is a golang binary taking
care of the scheduling problems and
deploying resources we then also have
the polymer python Library which we use
in our code and they have the class
definitions that we instantiate to
represent a resource to create in AWS of
course it's never quite that simple the
polymer engine doesn't actually know how
to request resources from a cloud
provider various terraform providers are
wrapped to provide that implementation
they sit underneath the bloomy engine
and now we have our actual code base and
my last count we're sitting at about 71
000 lines of python not including
various configuration files that's just
talking pure python that's where the
codification of the overall environment
and the network designs exist notice the
suspicious space between the skywater
code base and the polymer components I
wonder what could possibly go there it's
more python we directly depend on I
think it's like 30 and then indirectly
on over 100 python libraries but
surprised that's not all the python we
have more python code implementing
Dynamic resources rather than that sit
underneath the engine rather than over
the engine because we're they're
performing the same job as the resource
providers I'd like to take a quick
moment to note that everything in that
sandwich between the skywater code base
and our Dynamic provider code are open
source projects we're using they're all
developed in the open free to use so we
do lean quite heavily on the open source
community and free as in speech software
giving back in the form of hopefully
detailed bug reports and delving into
the code in various places at this point
we have a nice little stack of things so
here are some Services we're having the
various bits work with and finally up to
this point where has Skyward have been
running the answer is probably my laptop
that's not exactly great for production
environment but as you can see there's
lots of bits lots of bits to install or
update independently and so Docker to
the rescue wrap up the tool chain and
voila works on my machine works on your
machine works in the cloud
thank you for listening to my stream of
Consciousness I hope it's been useful
I feel like no gigantic architecture
diagram was uh is complete without
Docker in it these days and I feel like
this is also a fantastic reminder that
lightning talks are a fantastic way to
get new speakers or new people in the
community used to presenting to an
audience so I highly highly encourage if
you're at all curious and has never done
it before sign up for a lightning talk
the Box will be open again tomorrow we
will be running lightning talks again
same time on Sunday yeah and this this
was Libby like two in-person pycons ago
oh boy and look what happened since yeah
I don't know if that's actually a
selling point
um
cement for lightning talks tomorrow yeah
yeah
um so up next we have another person
who's been really busy uh organizing the
conference and volunteering and these
sorts of things and they've been so busy
that they haven't been able to do two of
their favorite things during the weekend
and we're just going to give them five
minutes to do that
thank you so much my two favorite things
so on Deck Malcolm Ramsey yes my two
favorite things of being anxious and
playing video games we're gonna play
Celeste
so I sometimes complete this level in
five minutes and sometimes I don't so
this might you might have to clap me off
uh and I may not leave uh
my name's Kate my pronouns are they or
she either way one works
um I have or wow I have the things ADHD
and anxiety recently I learned to do a
meditation that actually works for uh
people with ADHD which was really
surprising and it was that we went her
in a circle and we held like a fidget
toy or a pen in our hands and we
described a few things about it and it
really reminded me of the things that I
do in video calls when I'm really bored
and no one's looking at me
which as I played this level of this
particular video game quite fast
um this is Celeste it is a wonderful
game it's about anxiety being trans and
climbing a mountain
I've got about a thousand hours in this
game so you don't have to be like this
uh but we will anyway
um the things that I liked about the
meditation session that I was in and I'm
sorry that I'm not making eye contact
it's because I have to look at the video
game in order to not die
um
oh my gosh please let me out thank you
there's the world answers
[Applause]
immediate the things I liked about it as
like a reminder of the different ways
that we can do meditation is that this
is a Precision repetitive a pattern that
I have done repeatedly many times but I
have to pay attention full attention to
this game except when I want to give a
talk at the same time for some God
unknown reason
um but you have to think about it and
what it does is it quiets up one of the
tracks that's always running in the back
of my brain
and it says you can't think about that
right now you're playing video game I
always used to be playing like bait
games like chime when I was in high
school when I was on video calls or
track Mania if I play track Mania I
would be swearing a lot more
um so we're playing Celeste today
um the other things that were part of
that were being aware of like the
contents and the attributes of the thing
that you're looking at we were talking
about our pens or our fidget toys as
like
just gonna reset that as like this thing
is cold this thing is smooth this thing
is hard in this case I'm thinking I'm
slightly short on that jump I didn't
extend their jump my hair is a trans
color instead of the gay colors and that
means that I'm not gonna live for very
long year
um
but we're all good here this one's
absolutely fine I could do the really
fancy trick but I don't know it so I'm
really
I usually don't die there
oh no one second the other thing that is
really good when you're giving a
presentation about speedrunning
especially is that you can just take a
second and regather your thoughts
um see think gee
and it's okay
well doing something that doesn't really
matter
that's pretty good I'm not going to be
able to finish the map in the five
minutes now but that's absolutely fine
this is a really long screen to die on
some things matter them more than others
some things don't but taking a moment to
breathe to be aware of the wind as we
can see the wind is quite strong here so
we're breathing pretty fast here but now
it stops
um having backups having another idea
for if something goes wrong you can have
something else that you can do
and having that as the background for
being aware of oh geez that was close
last time I gave a very similar talk at
my work I put about three f-bombs in
that so I'm doing really well if anyone
heard me say gosh
that took practice
um the other one that I like here is
that it's always progress
um because failing in this video game is
such a low cost
stuff as we can see over here that cost
me about three seconds and I'm failing a
lot and I still look like I'm pretty
good at the video game right
um
the cost is pretty low and it doesn't
matter all that much
thinking
yeah all right now we're going up we're
just gonna remember to breathe as we
bounce up here this is actually the
final screen which would be very funny I
didn't die thank you very much everyone
enjoy breathing thank you thank you
thank you thank you thank you cut them
off cutter and honestly
[Applause]
honestly props for getting through it
and talking I couldn't do that what are
you doing AV people why don't you put it
back on
keep doing what you're doing how dare
you
uh
they're doing great all right
um Ella pieteria on this side
uh I mentioned there'd be a variety of
topics uh one talk or two talks which
are not on a variety of topics and
here's a second of those talks Malcolm
all right so I know um some of you have
to fly home tomorrow unfortunately
um and you know you want to attend as
much of the conference and the lightning
talks possible so how late can you get
to the airport and still actually make
your flight
so there's an easy answer which is never
you just stay in Adelaide
that's worked out pretty well for me
um but you know you actually have
responsibilities so you should probably
go to work tomorrow maybe
um
so step one is
do some research so this is finding
other people that have done the work so
you don't have to do it yourself so how
early do people arrive for their flight
most commonly it's one and a quarter
hours
this is from a study at Christmas in
Italy yeah it's close enough
um and what does it actually look like
something like this
um so a lot of you yeah most people
around the one hour to one and a half
hours and some in the Tails
um so step two is let's collect some
data um so we need to know which flights
are actually leaving Adelaide
um and there's a flight um aware API for
that and we can just ask well how many
flights leaving Adelaide gives us great
list awesome
um we also need to know how many
passengers are on each flight the API
has most of those values
um but unfortunately that doesn't have
all of them so there's some manual data
collection process now in this I was
expecting uh you know a single plane
they'll have you know the same number of
passengers no not even by Airline
um so sorry for all the plane nodes
close enough is going to do
and now we need to make some options
about all the data in the model I'm
sorry I'm going to ignore that we have
international flights that you have to
arrive early afford everything's a
domestic flight I'm also going to assume
that the planes aren't quite full I'm
going 95
also any check-in or pre stuff that you
have to do uh add that time on yourself
um also we want to make it through
security or get to security 20 minutes
before the flight arrive departs
um so we can run from security if you're
on a gate a long way away uh I hope you
can run
um and the target time for security is
15 minutes which we will get to
hopefully in the second part of the
model so to do this
um building a model look for every
person that's coming into the airport
pick how early from our distribution
they're going to arrive for their flight
subtract that from their flight time and
then count up all the people and it
looks something like this
um so something that will be uh quite I
guess noticeable is that about uh just
before four there's a very big dip
um that's going to be very useful for
those of you that have flights
um close to close to then
um but have we actually answered the
question
um we've worked out how many people are
arriving but not how long the queue is
and what the optimal time is to actually
join that queue so you get through the
uh get to the security
um so let's do some more research uh so
how many people do we actually get
through a security Lane per minute on
average it's two and a half
um and there's some research behind that
um and then we also need to know the
number of lanes at the Adelaide airport
and there's seven of them one is
actually hiding so I hope you can find
it uh
so we need to model the people arriving
at security and how they they queue
there so not all the lanes are going to
always be open because that costs money
so when the queue gets too long we're
going to add some extra lanes and when
there's no demand as in the queue gets
shot we'll take them away
um and there's some modely stuff around
that but what happens if we get a queue
time that looks something like this uh
so yeah at around that 3 30 we've got
our five minute cues as well as at about
7 pm
and putting that all together
when should you arrive if your flight's
on there you can join the security snake
at um whatever time is in the
appropriate row and you'll get through
security 20 minutes before your flight
for those of you that aren't on this
list uh there's some more on the next
page maybe no it didn't update
um but yeah that's uh when you should
arrive to get to your flight on time
thank you
[Applause]
hey thank you for that uh
okay down to two talks uh up on Deck we
have Katie and we've gone from one talk
which is about snakes to board planes to
Ella who's going to talk about python on
a scientific research ship
hi everyone my name's Ella I work on the
RV investigator which is csiro's
research vessel I thought I'd just give
you a really quick overview of what the
vessel actually does rather than
anything too technical because there's
some pretty cool stuff going on on there
uh so just a little bit about the vessel
to begin with it's almost 100 meters in
length
um commissioned in 2014
there is about 20 ship Crews so that's
like the master the deckhands all the
people actually working on the ship
there's 10 csiro staff so that includes
me on the data acquisition and
processing team we have geophysical
survey mappers we have electronics and
we also have hydrochemistry and we work
on there in 12-hour shifts covering 24
hours worth of range so either 2 A.M to
2PM or 2 P.M to 2 am
um and then we've got 30 science
participants so they apply to be on
there they can be from within csiro or
from Australian universities or any kind
of research that happens within
Australia and they apply to come on and
use the ship
uh here's just a little map of some of
the places we go we do go all the way
around Australia into the Indian and
Pacific Oceans and often at least once a
year we will go down near Antarctica to
have a look at what's going on down
there
uh so this is just some broad overview
of the capabilities there's lots of labs
we can add containers on there's sonar
we've got drop cues we've got something
called DMV silent raiding which makes us
a really good scientific ship we can do
sediment coring and a few other things
and I'm going to show some pictures of
so the first one is ctd and water
sampling so on the way down we get
oceanography and on the way up we get
water samples these are then analyzed by
our hydrochemists and there's just a
picture of the office room and what that
looks like it can get very full of
scientists when they get excited
uh then we have the geophysical survey
mapping so we have lots of Sounders on
board and some really cool stuff going
on here we've got
um the Cocos Islands we did some mapping
of those which the scientists love and
we also had a we have a lot of
shipwrecks come through that
um everyone seems to love the shipwrecks
everyone thinks they're pretty cool
uh lots of back deck deployments not too
much data for me on these ones but there
is data being collected we do some
fishing so we get biological we get
um coring down on the ocean floor we've
got weather balloons lots of good stuff
Argo floats long-term Moorings
and then we also have the atmospherics
so if you look up at the middle oh I'm
running out of time if you look up at
the middle one that is the met and
Atmospheric station and then the two
balls on the sides are actually our
satellite Communications
and finally one of my favorites the
decode toad camera so that gets put into
the water and we get to see a video of
the ocean floor
where does python come into this it
comes in in when or for me at least in
data acquisition so we've got that
system here of the ctd all those
different atmospherics temperature
sensors water sensors everything you can
think of and we'll put them into a
program an open source program called
openavidas which is python we're using
tons of really good stuff in there
making contributions we've got a lot of
research vessels around the world who
are using this program and I think for
any hobbyists that just want to collect
some data you can read over UDP you can
read over serial you can read it over
file it's actually a super cool program
we then spit that out to files to time
scale to um and then send that off for
people to use back on Shore we also have
I've seen some grafana coming up in
people's presentations we use grafana to
view all this data live to make
decisions about
um
about deployments and what we want to do
on them those vsats that I was showing
you before they can make things extra
interesting because we don't always have
the same Cloud integration that some of
you guys might be used to everything has
to be done on the ship we don't always
necessarily have guaranteed connection
back to shore but very exciting we did
just put on starlink and it is going
quite well
um yeah so basically lots of really
interesting stuff going on on the
investigator if you want to come and
have a chat to me about any of those
things please let me know and uh yeah
we're gonna leave it there
that is your job you delivered that so
casually you sound like a scientific
adventurer
okay uh up on Deck we have Daisy
um and I lied earlier I said there are
only two talks that were on the same
subject I found another two talks that
are on the same subject we have another
speed running presentation welcome Katie
sorry a presentation speedrunning
excellent hello the very first thing I
have to tell you about public speaking
is that you might freak out here's a
secret everyone freaks out even the most
experienced speakers freak out but
giving a presentation in front of people
is actually super intimidating but as
soon as you start getting going
everything seems easier but what if they
hate my talk you might think here's one
thing to remember people came to your
talk for a reason probably because it's
in a set of lightning talks and they
can't leave not to see you crash and
burn though but they want to learn
something from you people are going to
remember your talk for you not your
slides slides are a mechanism to help
you remember the points you want to tell
and your story and you get to have cool
pictures but I'm not a lecturer I'm not
teaching you are though you could be
teaching people one of two things
something they didn't already know or
reinforce something that they already
know which is super useful and now the
most important thing I have to tell you
about presenting to an audience is they
do not care what you did
you wrote a million lines of code
you worked out how to create widgets to
help synergize the fiscal prudencies of
Fubar Corp huh they care about why why
did you do the thing there's power in
stories but especially for technical
presentations tell me how you did the
thing let people be able to play with
the toys that you had so much fun with
and then they can learn and do that on
Monday at their office at their desk
once you have an idea now you have to
bring the content which probably means
slides you don't have to have them I
like them so let's talk about that here
are opinions some things to do on
average aim for about a slight a minute
lightning talks don't count pick one
thing do you want people to remember
after your talk do not assume any
technical or prior knowledge level of
your audience fit your audience a work
presentation will feel different to a
meet-up or a conference but it might use
the same deck you are allowed to do that
fun fact I've presented this deck
exactly as is at all three use images to
help people visualize what you're saying
where appropriate do the actual demo if
you have one if you're going to put
words on the screen make sure they are
legible use speaker notes to help you
remember what you say practice your talk
you've got to practice I know it sucks
you also need to time your talk and
you've got to practice I know it sucks
but you don't have to be speaking the
entire time take a drink of water
don't do don't do walls of flare text on
slide it is really distracting if you
have a demo do not fake it do not use
memes they distract people from your
content cat pictures are only okay if
they are part of your demo do not read
your slides out loud that's what blog
posts are for you are on stage perform
but there's such thing as over doing it
if you're co-presenting don't try to
fake banter with your presenter it's
really weird if you've been practicing
you don't have to you know when you're
supposed to talk
you do not have to take questions
answering questions on the Fly is a
completely different skill to giving a
presentation you are absolutely more
than welcome to say I'll answer that in
the hallway later thank you do not use
tlas a three-letter acronyms the one
thing you can end up teaching your
audience is how to use your three-letter
acronym in a sentence but Katie I hear
lament it's just you hard I have so much
to do well yeah 15 minute presentation
is not going to be written in 15 minutes
more like 15 hours you have to set aside
time to prepare and practice your talk
and this all takes time but Katie what
if my presentation is boring people have
chosen to attend your talk to hear what
you have to say but you are never going
to enrapture 100 of your audience find
the people who are engaging with you and
talk to them but Katie I don't know what
to say well here's my easy eight-step
plan pick your main point write a rough
outline write a script cut that script
up in slides add some visuals read it
out loud to someone else if possible
plushies count and time it with
presentations you are giving focused
technical content within a fixed time
with accompanying visuals practice to
ensure you finish within the time
allowed to respect your audience and
practice it again thanks but one more
thing you are not Steve Jobs and neither
am I there is no one more thing you do
not have to have a gimmick to make
people want to pay attention to you your
audience wants you to succeed they want
to learn from you they are your allies
in this and they're probably really
happy that it's you on stage right now
and not this one minute thank you
Christopher
just be you and all else will follow
you've got this
thank you
[Music]
don't
Libby what did you think of that talk I
feel very perceived particularly with
the line about not fainting banter what
do you think I think that's fascinating
Libby
profound
thanks Katie that is
that is the last of our lightning talks
for today everybody please thank our
presenters
also thanks to David and Evan the
lightning talk elves for this year
uh and
the person who we gifted a scepter to
several years ago now can't get rid of
her Libby Barry
asked to be thanked
and of course the AV people for making
this look seamless as they always do
lightning talk submissions will be open
at morning T tomorrow if you're inspired
by this and want to give a talk uh you
should definitely give a talk and I will
definitely send out the notifications on
time so you have an adequate time to
prepare your talks
lastly thank you to Chris
see you tomorrow here's Daisy
yeah