diff --git a/public/pycon-au-2024/schedule/v/20240903.1/widgets/schedule.json b/public/pycon-au-2024/schedule/v/20240903.1/widgets/schedule.json index cf34a09c..cde3e54e 100644 --- a/public/pycon-au-2024/schedule/v/20240903.1/widgets/schedule.json +++ b/public/pycon-au-2024/schedule/v/20240903.1/widgets/schedule.json @@ -1 +1 @@ -{"talks": [{"code": "ACKK3A", "id": 1069859, "title": "Causal Discovery in Python", "abstract": "A review and comparison of software available for causal discovery in Python. Causal discovery means learning \"what causes what\" from your data. The input is a tabular dataset; the output is a causal graphical model (or a set of potential models) over your features. If feature A affects feature B, there should be an arrow A-->B in the causal graphical model. Causal discovery is useful for hypothesis generation, experiment selection, and for testing our assumptions around causation.\r\n\r\nI'll give a brief intro to causal discovery, then review the following packages: py-tetrad, causal-learn, tigramite, causalnex, and cdt (causal discovery toolbox). The packages have some overlap but different emphases: each one implements at least one algorithm not covered by the other packages, making them useful in different situations. If time permits I'll finish with a quick demo, showing each package learning a model from the same dataset.", "speakers": ["Q7H3M8"], "track": 4873, "start": "2024-11-22T09:20:00+11:00", "end": "2024-11-22T09:50:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795363+00:00", "state": null, "do_not_record": false}, {"id": 1069857, "title": {"en": "[placeholder] Education Track Keynote"}, "start": "2024-11-21T22:20:00Z", "end": "2024-11-22T09:50:00+11:00", "room": 3412}, {"code": "ZCKWM3", "id": 1069858, "title": "Why UUIDs are Secretly Incredibly Fascinating", "abstract": "What even is '06462f89-b4ef-7f7d-8000-edda1bba5155' and why should you actually care?\r\n\r\n(you should, but \"why\"?)", "speakers": ["KCADCR"], "track": 4872, "start": "2024-11-22T09:20:00+11:00", "end": "2024-11-22T09:50:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795324+00:00", "state": null, "do_not_record": false}, {"code": "79HGSW", "id": 1069861, "title": "A Lazy Person's Guide to Building REST Clients or: How I Learned to Stop Worrying and Love Dunder Overrides", "abstract": "Sick of writing lots of dedicated methods to perform the same tasks? Want to write less code? This talk may be for you! \r\n\r\nREST API's are ubiquitious, and a very useful way to send and recieve data from various services. However, building them can often feel repetitive and boring. So, because I was lazy, and sick of doing it I decided to override specific dunder methods to write less boiler plate code, and keep myself interested.\r\n\r\nWas it easier? Probably not. Did it require less work than a normal implementation? Also probably not. Did it make my code more readable and portable? Definitely not. But it was fun, and I learnt how overriding Python's magic methods - often called dunders - could be useful. Let me share the lessons I learnt with you and inspire your own ideas.", "speakers": ["NTEJEK"], "track": 4872, "start": "2024-11-22T10:00:00+11:00", "end": "2024-11-22T10:30:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795425+00:00", "state": null, "do_not_record": false}, {"code": "3GPQDE", "id": 1069860, "title": "Teaching Digital Technologies in Australian schools with Python and the Kookaberry", "abstract": "There are around 6,200 primary schools around Australia, and the curriculum has a requirement to teach Digital Technologies, which includes a coding portion. There are many challenges here, not least which is enabling the approximately 150,000 primary school teachers with the skills and resources to teach programming to young students. The AustSTEM foundation was set up to assist in this area, and developed a MicroPython based learning platform, which consists of a pocket-sized computing device that integrates with a web-based coding and teaching environment. The teaching material has many hands-on activities, with connections to nature and science. In this talk we will discuss this teaching platform, how it can help students transition from block-based programming to textual coding, and show some of the successes we have had so far in Australian classrooms.", "speakers": ["BHTKP3"], "track": 4871, "start": "2024-11-22T10:00:00+11:00", "end": "2024-11-22T10:30:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.795394+00:00", "state": null, "do_not_record": false}, {"code": "WB8HTT", "id": 1069862, "title": "Verifying and evaluating scientific results with the open source package \"scores\"", "abstract": "Verifying, evaluating or interpreting complex data requires specialist tools and methods. Many data scientists, programmers and scientists will be familiar with some evaluation metrics such as accuracy, mean squared error or true positive rate. There are many situations where these scores are insufficient for assessing correctness, accuracy or suitability of a model or prediction. The challenge of verifying models and predictions affects most fields of science, engineering, and many machine learning applications.\r\n\r\nThis talk will introduce \"scores\", an open source Python package for verifying and evaluating labelled, n-dimensional (multidimensional) data at any scale. \"scores\" includes over 50 metrics, statistical techniques and data processing tools. The software repository can be found at https://github.com/nci/scores and the documentation can be found at https://scores.readthedocs.io/ .\r\n\r\nThis talk is suitable for beginner, intermediate and expert audiences. Developers and data scientists who are familiar mainly with tabular data, such as supported by the pandas library, may be interested in the additional functionality offered by \"scores\" (and the xarray library it utilises). For those learning about more advanced methods, every metric and statistical test has a companion Jupyter Notebook tutorial. For expert users already familiar with these ideas, you may be interested in some of the novel scoring methods not commonly found in other packages. \r\n\r\nCome to this talk to hear about:\r\n - The difference between tabular data, n-dimensional data, and labelled n-dimensional data\r\n - Examples of using a common metric from \"scores\" on labelled, n-dimensional data\r\n - Examples of using \"scores\" for interrogating data in multiple dimensions\r\n - Examples of where basic methods overlook important considerations\r\n - Examples of using some of the more complex metrics in \"scores\"", "speakers": ["ZZQ9TE"], "track": 4873, "start": "2024-11-22T10:00:00+11:00", "end": "2024-11-22T10:30:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795456+00:00", "state": null, "do_not_record": false}, {"id": 1069865, "title": {"en": "Morning break"}, "start": "2024-11-21T23:30:00Z", "end": "2024-11-22T11:00:00+11:00", "room": 3412}, {"id": 1069863, "title": {"en": "Morning break"}, "start": "2024-11-21T23:30:00Z", "end": "2024-11-22T11:00:00+11:00", "room": 3411}, {"id": 1069864, "title": {"en": "Morning break"}, "start": "2024-11-21T23:30:00Z", "end": "2024-11-22T11:00:00+11:00", "room": 3410}, {"code": "NLZQAA", "id": 1069866, "title": "Django on AWS for chump change", "abstract": "Some cheap and definitely not employer approved ways to run Django on AWS infrastructure on a budget", "speakers": ["JFJVXW"], "track": 4872, "start": "2024-11-22T11:00:00+11:00", "end": "2024-11-22T11:30:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795651+00:00", "state": null, "do_not_record": false}, {"code": "YYN7YH", "id": 1069867, "title": "How Smart is AI? \u2013 Real projects to build real understanding", "abstract": "Chat GPT is all the rage in schools, and everyone is talking about AI, but how do we give students a real understanding of AI\u2019s capabilities and limitations? In this talk I\u2019ll demo how you can get students coding their own projects that explore (free) GPT technologies, integrating their own data sources, and contemplating when AI is the right solution.", "speakers": ["TQKR8P"], "track": 4871, "start": "2024-11-22T11:00:00+11:00", "end": "2024-11-22T11:30:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.795684+00:00", "state": null, "do_not_record": false}, {"code": "MQQJYE", "id": 1069868, "title": "Commissioning tools at the Australian Synchrotron, or, how to get a bazillion dollars worth of toys to play nicely together", "abstract": "Discover the innovative work happening at the Australian Synchrotron, where high-energy X-rays support research across Australia and neighbouring countries. The scientific computing team uses Python to connect to hardware, orchestrate experiments, and process data.\r\n\r\nWe'll focus on a Python Dash interface developed to commission new positioners and detectors. This interface automatically generates Gaussian statistics. It includes pages for both one positioner and one detector (1D) or two positioners and one detector (2D), and allows users to click on a 2D Gaussian to take horizontal and vertical slices.\r\n\r\nAdditionally, we will discuss best programming practices, such as implementing unit tests, maintaining DRY principles, and using linting tools to improve code quality. Good programming practices work beautifully in a scientific environment. Join us to learn how these techniques can enhance your work with Python.", "speakers": ["JJR3W8"], "track": 4873, "start": "2024-11-22T11:00:00+11:00", "end": "2024-11-22T11:30:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795715+00:00", "state": null, "do_not_record": false}, {"code": "DQGVLY", "id": 1069870, "title": "Simplifying Python Web App Operations: Automating K8s Ops with Open Source", "abstract": "After creating a great web app using Python such as with flask, the next hurdle to production is how to make it available to users and operate it. And not just your app, but also ingress, the database, observability and the list goes on. We will go through your options for simplifying the operations of your web app using open source tooling. This will include using k8s directly, helm charts, IaaC using pulumi and new tooling developed by Canonical using juju. By the end of the talk you will have seen the benefits and drawbacks of each which will help you make an informed decision on which tool best suits your needs!", "speakers": ["ATDLZU"], "track": 4872, "start": "2024-11-22T11:40:00+11:00", "end": "2024-11-22T12:10:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795775+00:00", "state": null, "do_not_record": false}, {"code": "9MLDVZ", "id": 1069871, "title": "Astronomy with Python, for non-astronomers", "abstract": "Astronomers have been dealing with digital data since the 1980s and online databases \r\nsince the early 90's, and now, almost all research astronomers use Python to access and \r\nprocess that data. Most astronomical database are open to the public, and most research\r\nsoftware tools are either open source, or freely available. I'll give an intro, aimed at \r\nnon-astronomers, to some Python packages (astropy, skyfield) and online research tools.\r\n\r\nThis talk will give an overview on what tools and databases are available and how to access \r\nthem. Maybe you're writing a game, and you want the 3D locations and properties of the \r\nnearest 10,000 stars (or extrasolar planets, or galaxies). Maybe you're building a Solar\r\npanel that tracks the Sun, or a camera mount that tracks the International Space\r\nStation. Maybe you're trying to model shadow lengths and directions in satellite images. Or\r\nmaybe you just want to play around with real telescope images that haven't had a PR \r\ndepartment make them 'prettier'...", "speakers": ["9JGCPM"], "track": 4873, "start": "2024-11-22T11:40:00+11:00", "end": "2024-11-22T12:10:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795804+00:00", "state": null, "do_not_record": false}, {"code": "XHTJ3S", "id": 1069869, "title": "Transitioning from VB to Python \u2013 Mapping a 6 month journey", "abstract": "In the past decade, this school has consistently exceeded VCE expectations in Software Development, largely due to well-developed resources, consistency in use of programming language (Visual Basic) and progression of skills through year 7 to year 12. However, a gap analysis in the teaching methodology has highlighted conceptual computational thinking and problem-solving skills as a key gap in the current offering. This was attributed to the curriculum's skills-based focus and the Covid-era teaching practice of flipped learning via video tutorials. \r\n\r\nThis has presented an opportunity to overhaul the teaching methodology to focus on equipping students with the skills to apply their learning in different contexts. Some key aspects of this transformation include a more live coding technique and transitioning to Python as the preferred programming language, due to its versatility and future prospects for students. \r\n\r\nWe present this roadmap which leads to a complete overhaul of our teaching programmes from year 7 to year 12, scaffolding Python across Applied Computing, STEM projects, Robotics and Game development over the next 6 months.", "speakers": ["BNHHZ9", "MK9KK8"], "track": 4871, "start": "2024-11-22T11:40:00+11:00", "end": "2024-11-22T12:10:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.795745+00:00", "state": null, "do_not_record": false}, {"code": "WLCHUM", "id": 1069873, "title": "Enhancing Programming Ability with Playful Learning and Karel", "abstract": "Beginner programmers often struggle to understand and trace program execution, which is worsened by underdeveloped debugging and testing skills. Beginners may also lack confidence or are easily demotivated, which can hinder learning. To assist students in developing these skills and build confidence we created a set of playful programming challenges and competition using Karel the Robot. The Karel system provides a 2D \u201cgrid world\u201d where the Karel character can move and interact with its environment. The 2D world is visualised for students so that they can immediately see how their program changes the environment step by step as well as the final program state. This is in contrast to traditional languages where learners must develop and maintain a mental model of the program state. This talk will cover our approach, preliminary results and feedback from students showing an increase in confidence and interest in programming. We will also share how this approach can be applied to other learning contexts.", "speakers": ["VXBVLZ", "8NDWMQ"], "track": 4871, "start": "2024-11-22T12:20:00+11:00", "end": "2024-11-22T12:50:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.795861+00:00", "state": null, "do_not_record": false}, {"code": "JV9WT7", "id": 1069872, "title": "Explore, annotate, and analyse multidimensional image data with napari", "abstract": "napari is an n-dimensional image viewer for Python. If you\u2019ve ever tried `plt.imshow(arr)` and made Matplotlib unhappy because `arr` has more than two dimensions, then napari might be for you! napari will gladly display higher-dimensional arrays by providing sliders to explore additional dimensions. But napari can also: overlay derived data, such as points, segmentations, polygons, surfaces, and more; and annotate and edit these data, using standard data structures like NumPy or Zarr arrays, allowing you to seamlessly weave exploration, computation, and annotation in image analysis.", "speakers": ["8NFJSF", "S7AU83"], "track": 4873, "start": "2024-11-22T12:20:00+11:00", "end": "2024-11-22T12:50:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795832+00:00", "state": null, "do_not_record": false}, {"code": "M3KJ3V", "id": 1069874, "title": "Notes on Over-Engineering: A Project Post-Mortem", "abstract": "Join me for a retrospective on a reusable Django app for providing shared database multi-tenancy, complete with automatic tenant-specific queryset filtering, automatic tenant selection middleware, REST framework support, and comprehensive test coverage. This app, despite its sophistication, was never used in production. Let's explore why it was ultimately deemed over-engineered and unnecessary, and what lessons we can learn from this experience.", "speakers": ["RSUKRU"], "track": 4872, "start": "2024-11-22T12:20:00+11:00", "end": "2024-11-22T12:50:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795891+00:00", "state": null, "do_not_record": false}, {"id": 1069877, "title": {"en": "Lunch"}, "start": "2024-11-22T01:50:00Z", "end": "2024-11-22T13:50:00+11:00", "room": 3411}, {"id": 1069876, "title": {"en": "Lunch"}, "start": "2024-11-22T01:50:00Z", "end": "2024-11-22T13:50:00+11:00", "room": 3410}, {"id": 1069875, "title": {"en": "Lunch"}, "start": "2024-11-22T01:50:00Z", "end": "2024-11-22T13:50:00+11:00", "room": 3412}, {"code": "NUUJAN", "id": 1069880, "title": "Who tests the testers? Making and testing pipelines", "abstract": "You likely have a good pipeline that either runs tests, lints, or deployments for your project.\r\n\r\nBut when it comes to changing that pipeline, how sure are you that it works before taking those changes live?", "speakers": ["AHET73"], "track": 4872, "start": "2024-11-22T13:50:00+11:00", "end": "2024-11-22T14:20:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796117+00:00", "state": null, "do_not_record": false}, {"code": "7DJWKZ", "id": 1069878, "title": "From Keyword Chaos to Clarity: Conquering a Complex Systematic Review with Python", "abstract": "How can you find relevant needles in a haystack of 25,000 academic abstracts when keyword searching is useless? I explore how I used Python to automate my way out of systematic review hell.", "speakers": ["JTPU7J"], "track": 4873, "start": "2024-11-22T13:50:00+11:00", "end": "2024-11-22T14:20:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796056+00:00", "state": null, "do_not_record": false}, {"code": "Z3KYJZ", "id": 1069879, "title": "Build Your Own IoT! Fun With Python and Raspberry Pi.", "abstract": "This talk will discuss building a basic streaming data pipeline for IoT applications using Python and Raspberry Pi. Attendees will have the opportunity to learn about Raspberry Pi, Apache Kafka + Kafka Connect, and solar power generation.", "speakers": ["7SWEAL"], "track": 4871, "start": "2024-11-22T13:50:00+11:00", "end": "2024-11-22T14:20:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.796087+00:00", "state": null, "do_not_record": false}, {"code": "KFVD3Z", "id": 1069881, "title": "As a Teacher. I have no Time to learn Programming - Streamline Assignment Marking with Python", "abstract": "Teaching is a demanding job that takes away the initiative to learn or improve in programming skills. I therefore decided to streamline some of my assignment marking using Python. The time I spent in developing the Python scripts could then be offset by the efficiency and accuracy I gained from the automation. \r\n\r\nIn this presentation, I will demonstrate how to populate student details into their individual Excel mark sheets, check marking mistakes, automate mark adjustment and collect data from individual mark sheets. \r\n\r\nWhile the above automation can be achieved using standard tools offered by Microsoft by putting the programming logic into Excel formulae or Visual Basic for Application, I will argue using Python to separate the logic from data is a better approach in terms of programming practice and Cybersecurity.", "speakers": ["WREQBQ"], "track": 4871, "start": "2024-11-22T14:30:00+11:00", "end": "2024-11-22T15:00:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.796146+00:00", "state": null, "do_not_record": false}, {"code": "XHM7N7", "id": 1069883, "title": "Coding Competition Software VS Murphy's Law", "abstract": "Imagine agreeing to develop a full stack web app to host a coding competition for thousands of students. Then standing at a podium in front of a large crowd as your app crashes and you discover that you might be in too deep.\r\n\r\nThat was my first year of a four year journey of learning to program \"properly\" and build something robust and useful. The full story includes more spectacular fails, hacking and an eventually an app students loved using to program algorithms that do battle in contests based on game theory. The app is built on React / FastAPI and SQLmodel ORM", "speakers": ["VJPZ7L"], "track": 4872, "start": "2024-11-22T14:30:00+11:00", "end": "2024-11-22T15:00:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796204+00:00", "state": null, "do_not_record": false}, {"code": "3JHULA", "id": 1069882, "title": "Data Morph: A Cautionary Tale of Summary Statistics", "abstract": "Statistics do not come intuitively to humans; they always try to find simple ways to describe complex things. Given a complex dataset, they may feel tempted to use simple summary statistics like the mean, median, or standard deviation to describe it. However, these numbers are not a replacement for visualizing the distribution.\r\n\r\nTo illustrate this fact, researchers have generated many datasets that are very different visually, but share the same summary statistics. In this talk, I will discuss *Data Morph*, an open source package that builds on previous research using simulated annealing to perturb an arbitrary input dataset into a variety of shapes, while preserving the mean, standard deviation, and correlation to multiple decimal points. I will showcase how it works, discuss the challenges faced during development, and explore the limitations of this approach.", "speakers": ["9WJJPL"], "track": 4873, "start": "2024-11-22T14:30:00+11:00", "end": "2024-11-22T15:00:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796175+00:00", "state": null, "do_not_record": false}, {"id": 1069884, "title": {"en": "Afternoon break"}, "start": "2024-11-22T04:00:00Z", "end": "2024-11-22T15:30:00+11:00", "room": 3410}, {"id": 1069886, "title": {"en": "Afternoon break"}, "start": "2024-11-22T04:00:00Z", "end": "2024-11-22T15:30:00+11:00", "room": 3412}, {"id": 1069885, "title": {"en": "Afternoon break"}, "start": "2024-11-22T04:00:00Z", "end": "2024-11-22T15:30:00+11:00", "room": 3411}, {"code": "XUNCWK", "id": 1069888, "title": "Leveraging the Rich Spatiotemporal Features of live cell imaging with Machine Learning and AI", "abstract": "Live cell imaging is a microscopy technique, where scientists can observe dynamics of living cells across time. One such method, known as lattice lightsheet microscopy captures these processes at high spatiotemporal detail. However, current analyses methods do not always capture the complexities of these feature rich datasets. \r\nIn this talk, I will use an example of programmed cell death, where cells are exposed to different drugs. Using python packages, such as scikit-image and tsfresh, I will demonstrate how we extract morphological and spatiotemporal features of cells. We use these features to train a supervised machine learning (ML) model to predict which drug treatment the cells were exposed to. \r\nFurthermore, using explainable AI with Shapley values, we identify key feature combinations that distinguish the cellular response to each drug. This approach enables data-driven hypothesis generation, allowing us to infer underlying phenotypes and correlate them to the biological processes.", "speakers": ["HVQBMZ"], "track": 4873, "start": "2024-11-22T15:30:00+11:00", "end": "2024-11-22T16:00:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796377+00:00", "state": null, "do_not_record": false}, {"id": 1069887, "title": {"en": "Student Showcase"}, "start": "2024-11-22T04:30:00Z", "end": "2024-11-22T17:20:00+11:00", "room": 3412}, {"code": "CQDJ9K", "id": 1069889, "title": "From minutes to seconds: Capillary auto-alignment with python and opencv", "abstract": "Samples used for diffraction experiments at the Australian Synchrotron, a research facility in Melbourne, are typically presented as finely ground powders confined inside very thin (1mm or less) glass capillaries. These samples are irradiated with X-rays in order to uncover their atomic crystal structures. Amongst our research areas, we study applications in mining, solar cells, perovskites, hydrogen storage, and geology, where understanding material properties at the atomic level can lead to advancements such as enhancing mineral extraction processes, improving solar cell efficiency, developing better hydrogen storage solutions, and analysing the composition of meteorites.\r\n\r\nTo ensure good data quality, the capillary needs to rotate precisely around its centre of rotation in front of the X-ray beam. Alignment of the centre of rotation is usually a manual operation that relies on the human eye and expertise to discern that the capillary is straight and stationary while it rotates around its axis; this process can be lengthy, error-prone, and difficult to achieve, especially for non-experts.\r\n\r\nIn this talk, I will demonstrate how we have united Python, OpenCV, and motion control systems to automate the capillary alignment procedure at the Australian Synchrotron, reducing the time to align a sample from several minutes to just 10 seconds.", "speakers": ["MSEC3L"], "track": 4873, "start": "2024-11-22T16:10:00+11:00", "end": "2024-11-22T16:40:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796406+00:00", "state": null, "do_not_record": false}, {"code": "A78TC9", "id": 1069890, "title": "Avocado, Cheese, Grape, Tomato or: How I Used Python to Stop Worrying and Love Emoji in Bioinformatics", "abstract": "Bioinformatics is the science of understanding and analysing biological information, such as the genetic information contained in DNA. It combines the disciplines of biology, computer science, and mathematics. If this seems daunting, don\u2019t panic, because this talk will focus on two open-source Python packages I have developed, FASTQE and Biomojify, that make common bioinformatics file formats intuitive and accessible\u2026. by using emoji.\r\n\r\nFASTQE simplifies DNA sequencing data analysis by taking numerical quality scores for the data, and summarising them using emoji to quickly convey the good, the bad, and the ugly of sequence data quality. Whether for training, outreach, or debugging, this tool can easily turn unremarkable data quality analysis into an appealing visualisation.\r\n\r\nBiomojify takes the concept further by converting plain text data to use emoji. In DNA, for example, the conventional format represents individual A, C, G, and T nucleotides as plain text. Biomojify substitutes them with emojis such as avocado, cheese, grape, and tomato. It supports various bioinformatics file formats and supports user defined emoji mapping. It can be used to teach the underlying biological concepts behind bioinformatics data, by simplifying specialised data structures for a general audience. \r\n\r\nScience communication is hard. These tools transform complex bioinformatics data into engaging, emoji-based visualisations, making bioinformatics concepts more accessible and adding an element of fun to scientific education and communication.", "speakers": ["HBDX9R"], "track": 4873, "start": "2024-11-22T16:50:00+11:00", "end": "2024-11-22T17:20:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796435+00:00", "state": null, "do_not_record": false}, {"id": 1069891, "title": {"en": "First Timers Session"}, "start": "2024-11-22T21:25:00Z", "end": "2024-11-23T08:45:00+11:00", "room": 3410}, {"id": 1069892, "title": {"en": "Conference Opening (Saturday)"}, "start": "2024-11-22T22:00:00Z", "end": "2024-11-23T09:25:00+11:00", "room": 3410}, {"id": 1069893, "title": {"en": "Keynote (to be announced) "}, "start": "2024-11-22T22:25:00Z", "end": "2024-11-23T10:10:00+11:00", "room": 3410}, {"id": 1069894, "title": {"en": "Morning break"}, "start": "2024-11-22T23:10:00Z", "end": "2024-11-23T10:40:00+11:00", "room": 3410}, {"id": 1069896, "title": {"en": "Morning break"}, "start": "2024-11-22T23:10:00Z", "end": "2024-11-23T10:40:00+11:00", "room": 3411}, {"id": 1069895, "title": {"en": "Morning break"}, "start": "2024-11-22T23:10:00Z", "end": "2024-11-23T10:40:00+11:00", "room": 3412}, {"code": "MBZSKZ", "id": 1069899, "title": "Where am I? What am I doing? Mobile App development in Python", "abstract": "A modern mobile phone isn't just a powerful CPU and display. It's a collection of incredibly sophisticated portable sensors: multiple cameras, a high resolution GPS, accelerometers and more. In this talk, you'll learn how to build and run an app on your phone that can access these sensors, using nothing but Python.", "speakers": ["LDFVBH"], "track": 4870, "start": "2024-11-23T10:40:00+11:00", "end": "2024-11-23T11:10:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.796732+00:00", "state": null, "do_not_record": false}, {"code": "JD8WMZ", "id": 1069898, "title": "AI perceptions of gender", "abstract": "Why does AI perceive gender? Is this something that can be fixed? Should it be fixed? Explore the results of my research encompassing art, AI and gender theory to find out the why and how of gender perception.", "speakers": ["PFTMME"], "track": 4870, "start": "2024-11-23T10:40:00+11:00", "end": "2024-11-23T11:10:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796703+00:00", "state": null, "do_not_record": false}, {"code": "MW7E7N", "id": 1069897, "title": "Making an open source package - lessons learned", "abstract": "Making an open source package is pretty hard in 2024. Expectations are high, and there\u2019s a lot to take into account. I recently developed an open source package. This talk covers what worked, what didn\u2019t work, what I would do again and what I would do differently.\r\n\r\nI developed an open source package called \u201cscores\u201d ( https://github.com/nci/scores , https://scores.readthedocs.io/ ). This is not a presentation about what \u201cscores\u201d does, but instead covers the lessons I learned. Despite being an experienced software developer and having used lots of open source software, there was still a lot to learn (and a lot to figure out) about open source package maintenance.\r\n\r\nEvery package is different, but this is what I did and these are the lessons I learned. \r\n\r\n- Technical Matters:\r\n - How to lay things out on disk\r\n - Configuration files\r\n - Automated testing\r\n - Type hinting\r\n - Linting and other static analysis tools\r\n - Code layout and design\r\n- Documentation:\r\n - What documentation to produce\r\n - Picking and using a tech stack\r\n - Rendering (documentation often renders differently in different locations)\r\n- Ecosystem Integration:\r\n - How to fit in well with the tools around you\r\n - Versioning \r\n - Publishing to PyPI\r\n - How and what to automate\r\n - How to do releases\r\n- Community Considerations:\r\n - Code review standards\r\n - Clear presentation of information\r\n - Understanding your user base and audience", "speakers": ["ZZQ9TE"], "track": 4870, "start": "2024-11-23T10:40:00+11:00", "end": "2024-11-23T11:10:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796674+00:00", "state": null, "do_not_record": false}, {"code": "TWFSTJ", "id": 1069900, "title": "Serpents and Ducks: wrangling data with Python and DuckDB", "abstract": "Got a billion rows of data in a weird file format? Wishing you could wrangle a dataframe from a geospatial dataset? A bit lost interacting with a remote API? Let\u2019s wrangle some data with Python and DuckDB. \r\n\r\nDuckDB executes analytical SQL queries without the need for a server. DuckDB features a deep and deceptively simple integration with the Python ecosystem, allowing us to query, wrangle, and output data, alongside all your favourite Python tools.. Its powerful analytical features and rich integrations position DuckDB as an invaluable tool for anyone working with analytical data in Python, helping you solve complex problems with ease and elegance. \r\nIn this practical talk, we\u2019ll introduce DuckDB, a fast and versatile analytical database to keep in your data toolkit. We\u2019ll go through how to use the DuckDB Python client effectively, taking advantage of DuckDB\u2019s efficient data processing features, as well as its integrations with libraries like Pandas and Ibis.", "speakers": ["87LT9Q", "PAMFZZ"], "track": 4870, "start": "2024-11-23T11:20:00+11:00", "end": "2024-11-23T11:50:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796760+00:00", "state": null, "do_not_record": false}, {"code": "Q78MDT", "id": 1069901, "title": "Embeddings: How Computers Learned to Read", "abstract": "As large language models take over the world, we\u2019re now working alongside machines that can read, write and converse \u2013 coding with CoPilot, chatting with ChatGPT and drawing with DALL-E. But how do machines, which fundamentally operate on binary code, achieve such remarkable feats? The answer lies in embeddings. Embeddings allow us to represent complex data - whether it's text, images, or even abstract concepts - as dense vectors of numbers. In this presentation, we'll demystify embeddings and give you a practical and intuitive understanding of how they work.", "speakers": ["7D78ZU"], "track": 4870, "start": "2024-11-23T11:20:00+11:00", "end": "2024-11-23T11:50:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796789+00:00", "state": null, "do_not_record": false}, {"code": "ZEKYUW", "id": 1069903, "title": "Performant Python", "abstract": "An introduction to writing performant Python code - the \"what, why, where, when and many how's\" of performance analysis, testing, tools and techniques.", "speakers": ["97JLNB"], "track": 4870, "start": "2024-11-23T12:00:00+11:00", "end": "2024-11-23T12:30:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796846+00:00", "state": null, "do_not_record": false}, {"code": "LGDUVR", "id": 1069902, "title": "ML ain\u2019t your only hammer: adding mathematical optimisation to the data scientist\u2019s toolbox", "abstract": "The purpose of this presentation is to introduce the audience to the field of mathematical optimisation - what it is, how it differs from machine learning, and the types of problems it is best suited to solve.\r\n\r\nThe first section will provide this context and background - describing the anatomy of an optimisation problem, and what the model building process looks like. We will touch on the characteristics common to optimisation problems seen across multiple industries.\r\n\r\nWe will then build a simple optimisation model together, demonstrating how the model building process compares to the machine learning approach.\r\n\r\nFinally, we will end by exploring some of the most fascinating applications of mathematical optimisation in industry, focussing on the characteristics that the audience can map to challenges that are specific to their own industry.", "speakers": ["HQSSZQ"], "track": 4870, "start": "2024-11-23T12:00:00+11:00", "end": "2024-11-23T12:30:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796817+00:00", "state": null, "do_not_record": false}, {"id": 1069904, "title": {"en": "Lunch"}, "start": "2024-11-23T01:30:00Z", "end": "2024-11-23T13:30:00+11:00", "room": 3412}, {"id": 1069906, "title": {"en": "Lunch"}, "start": "2024-11-23T01:30:00Z", "end": "2024-11-23T13:30:00+11:00", "room": 3410}, {"id": 1069905, "title": {"en": "Lunch"}, "start": "2024-11-23T01:30:00Z", "end": "2024-11-23T13:30:00+11:00", "room": 3411}, {"code": "CERBXC", "id": 1069907, "title": "from seeds import plants: using IoT to grow healthy herbs", "abstract": "With the current climate crisis and the rise of households growing their own fruits, vegetables and herbs, the efficient use of potable water is crucial now more than ever. However, the majority of plant watering systems are either manual or time based - that is, they water plants on a pre-defined schedule. This talk will describe a simple automated watering system programmed with micropython and various extensions to the core product to simplify existing features and add new capabilities using various internet of things devices and data analytics tools.", "speakers": ["DEZCB8"], "track": 4870, "start": "2024-11-23T13:30:00+11:00", "end": "2024-11-23T14:00:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.796979+00:00", "state": null, "do_not_record": false}, {"code": "HMWPGH", "id": 1069908, "title": "Introducing Potnia: A Python language library for the conversion of ancient texts to Unicode", "abstract": "The last five years have seen a significant increase in the application of machine learning to the study of ancient scripts. Applications are broad, and include recognition via Optical Character Recognition (OCR), textual restoration, palaeographic analysis, topic modelling, representation learning, decipherment and machine translation (Sommerschield 2023). A large number of ancient language corpora have been digitised in recent decades, supporting this research. However, while the necessary Unicode blocks for many of these ancient scripts are available, a number of these data sets are still presented as Romanised transliterations.\r\n\r\nIn response to this situation, we have created Potnia (https://pypi.org/project/potnia/), an open-source Python language library under the Apache 2.0 license, designed to convert such transliterated texts to Unicode. The session image accompanying this proposal provides an example of Potnia\u2019s conversion process, with a Romanised transliteration of a Linear B text as the input, and the Unicode representation of this same text as the output. This conversion is crucial for downstream machine learning tasks, as tokenisation in the original Unicode script allows for more accurate representation of linguistic structures and mitigates potential biases introduced by transliteration.\r\n\r\nPotnia's flexible architecture, built on Python's object-oriented principles, employs string manipulation techniques and regular expressions to handle various complexities inherent in ancient texts, such as uncertain readings, missing elements, and script-specific notations. At present, the library can be used for Linear B texts, with functionality for Linear A, Sumerian and Akkadian soon to follow.\r\n\r\nPotnia's design allows for easy addition of new scripts, each with its own set of rules for tokenisation, regularisation, and character mapping. This extensibility positions us well for future inclusion of additional scripts. To ensure reliability and facilitate open-source contributions, we've implemented a comprehensive test suite using pytest, with test cases defined in YAML files for easy expansion. This approach covers key functionalities across different scripts and simplifies the process of adding new test scenarios as the library grows.\r\n\r\nReferences\r\nSommerschield, T., Y. Assael, J. Pavlopoulos, V. Stefanak, A. Senior, C. Dyer, J. Bodel, J. Prag, I. Androutsopoulos, and N.D. Freitas. 2023. \u201cMachine Learning for Ancient Languages: A Survey.\u201d Computational Linguistics 49 (3): 1\u201345. doi:10.1162/coli_a_00481.", "speakers": ["ZUWBQU", "YJFZGW"], "track": 4870, "start": "2024-11-23T13:30:00+11:00", "end": "2024-11-23T14:00:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:43:33.467965+00:00", "state": null, "do_not_record": false}, {"code": "R9ZKZC", "id": 1069909, "title": "Let's make a working implementation of async functions in Python 2.1, also, why you might want to use a more recent version of Python", "abstract": "Often I hear people lamenting that Python has too many features and that older versions of Python were better for that exact reason.\r\n\r\nTo make those people happy, we're going to pick apart the features of Python that enable the `async`/`await` syntax, layer by layer, until we happen upon a working implementation of coroutines that will function in Python 2.1.\r\n\r\nSomewhere in this talk will be some useful discussions about why recent syntactic developments in Python are a good thing actually, but let's not lie, you're reading this abstract for the stunt content. You'll get what you came for.", "speakers": ["QWCHX7"], "track": 4870, "start": "2024-11-23T13:30:00+11:00", "end": "2024-11-23T14:00:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797069+00:00", "state": null, "do_not_record": false}, {"code": "HFXFLZ", "id": 1069912, "title": "MicroPython: The best bits!", "abstract": "MicroPython continues to grow in popularity. But _why_? What is it about this pint-sized version of Python that makes it so darn compelling? What are the best bits of MicroPython? \r\n\r\nJoin me in this talk for a whirlwind tour of some of the most exciting features of this modern embedded programming language.", "speakers": ["N9ZZWG"], "track": 4870, "start": "2024-11-23T14:10:00+11:00", "end": "2024-11-23T14:40:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797189+00:00", "state": null, "do_not_record": false}, {"code": "CFS9GH", "id": 1069910, "title": "What Python Can Learn From Other Languages", "abstract": "Python is great! It's been a mainstay of web development and systems programming for decades and is on the cutting edge of many fields like scientific computing. But there is always more to improve, both in the language itself and how we use it. This talk will look at how ideas and features from other languages like Ruby, Go, and PHP could be used to improve Python!", "speakers": ["MY7QMZ"], "track": 4870, "start": "2024-11-23T14:10:00+11:00", "end": "2024-11-23T14:40:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797109+00:00", "state": null, "do_not_record": false}, {"code": "9KD9HJ", "id": 1069911, "title": "Cultural and Linguistic Influences on Translation: A Study of Novels", "abstract": "How do translations preserve the original meaning, style, and sentiment of texts across different languages and cultural contexts? This intriguing question drives our study as we delve into the complexities of translation.\r\n\r\nWe examine how sentiment analysis results differ for the same text in various languages, aiming to understand the role of language families in these variations. Using natural language processing techniques in Python, we analyse novels from diverse genres, time periods, and cultural backgrounds to uncover generalisable translation patterns.\r\n\r\nOur study seeks to answer whether translations of words, ideas, and societal contexts in novels are influenced by the cultural contexts into which they are translated. By highlighting the importance of accurate and culturally relevant translations, we emphasise how they play a crucial role in preserving cultural and societal knowledge, ensuring that the richness of the original text is maintained across languages.", "speakers": ["R3ENGB", "GNVTMG"], "track": 4870, "start": "2024-11-23T14:10:00+11:00", "end": "2024-11-23T14:40:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797139+00:00", "state": null, "do_not_record": false}, {"code": "YNDDJR", "id": 1069913, "title": "Walking the Tree of Life \u2013 Adventures in Phylogenetics", "abstract": "\"What's the last common ancestor of a bear and a weasel?\"\r\n\"Which animals are more related to pigs than cows?\"\r\n\"Are birds reptiles?\"\r\n\"Am I a fish?\"\r\n\r\nWith a recent interest in phylogeny \u2013 the science of evolution, diversification, and speciation \u2013 these are the kinds of questions I've been asking myself. I wanted to find a tool that would let me examine the relationships between species and find the answers to these questions, but, as I looked around I couldn't find anything that did what I wanted. So I made it myself.\r\n\r\nCome with me as I share my journey that led me to talk to some of Australia's top scientists, give up on talking to other top scientists, and accidentally stumble my way into making an actual contribution to science. Learn why I made this tool, how I made this tool, what stage it's at, and where you can use it yourself. And maybe learn some things about life on Earth along the way.\r\n\r\nOh, and to answer the questions above: dog-bears, peccaries, yes, and yes!", "speakers": ["8UFZNX"], "track": 4870, "start": "2024-11-23T14:50:00+11:00", "end": "2024-11-23T15:20:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797222+00:00", "state": null, "do_not_record": false}, {"code": "8UXYBS", "id": 1069915, "title": "Wait, is Wi-Fi just blinking lights?", "abstract": "Wi-Fi, the mysterious computer blabber. Have you ever wondered how are computers yapping away from under our noses? What secrets must they hold? In this talk we will cover the magic of Wi-Fi, how it works in detail and we will even get our own wireless communication system going using Python and micro-controllers.", "speakers": ["YCFJET"], "track": 4870, "start": "2024-11-23T14:50:00+11:00", "end": "2024-11-23T15:20:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797278+00:00", "state": null, "do_not_record": false}, {"code": "GF3NJK", "id": 1069914, "title": "Failsafes and Safety Fails: How to crash a train and other lessons for software engineers", "abstract": "Software builders and operators have long looked to transport and aviation for lessons in engineering practices and safety. Today, we\u2019ll turn our attention to the railways as we take 20 years of hindsight to look at the \u2018Broady runaway\u2019 and what it can teach us. This talk will dive into the ATSB\u2019s subsequent safety investigation, recommendations and parallels in the software world, offering us critical lessons in complex system design and incident management.\r\n\r\nFor software engineers, architects, managers and executives this is an opportunity for us to reflect and learn from the past so that we can build more resilient and easier to operate platforms in the future.\r\n\r\nOur runaway train is a 3 car electrical multiple unit (EMU) that, in 2003, did the full 17km Broadmeadows to Spencer st run in just 16 minutes, famously without a driver on board. The cause of the runaway and resulting collision with a stationary diesel locomotive has been the talk of many rail enthusiasts ever since, especially since there were no fatalities or serious injuries.", "speakers": ["PB9BKD"], "track": 4870, "start": "2024-11-23T14:50:00+11:00", "end": "2024-11-23T15:20:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797250+00:00", "state": null, "do_not_record": false}, {"id": 1069916, "title": {"en": "Afternoon break"}, "start": "2024-11-23T04:20:00Z", "end": "2024-11-23T15:50:00+11:00", "room": 3411}, {"id": 1069918, "title": {"en": "Afternoon break"}, "start": "2024-11-23T04:20:00Z", "end": "2024-11-23T15:50:00+11:00", "room": 3410}, {"id": 1069917, "title": {"en": "Afternoon break"}, "start": "2024-11-23T04:20:00Z", "end": "2024-11-23T15:50:00+11:00", "room": 3412}, {"id": 1069919, "title": {"en": "Lightning Talks (Saturday)"}, "start": "2024-11-23T04:50:00Z", "end": "2024-11-23T16:50:00+11:00", "room": 3410}, {"id": 1069920, "title": {"en": "Conference Opening (Sunday)"}, "start": "2024-11-23T22:00:00Z", "end": "2024-11-24T09:20:00+11:00", "room": 3410}, {"id": 1069921, "title": {"en": "Keynote (to be announced)"}, "start": "2024-11-23T22:20:00Z", "end": "2024-11-24T10:05:00+11:00", "room": 3410}, {"id": 1069924, "title": {"en": "Morning break"}, "start": "2024-11-23T23:05:00Z", "end": "2024-11-24T10:35:00+11:00", "room": 3410}, {"id": 1069922, "title": {"en": "Morning break"}, "start": "2024-11-23T23:05:00Z", "end": "2024-11-24T10:35:00+11:00", "room": 3411}, {"id": 1069923, "title": {"en": "Morning break"}, "start": "2024-11-23T23:05:00Z", "end": "2024-11-24T10:35:00+11:00", "room": 3412}, {"code": "8HBU3Z", "id": 1069926, "title": "Using Multiple Databases in Django Applications", "abstract": "Over six years ago, three engineers from Sydney started working on an insurtech platform with global ambitions. They chose Django, even though two of them had no prior experience with the framework. Nevertheless, the project became a success, affirming that choosing Django was a great technical decision.\r\n\r\nThis is a real-life story about the challenges the team faced while scaling the project and changing the database architecture, all while maintaining uninterrupted services for millions of customers. We will cover some of the key technical decisions the team made, how Django supported us in migrating from a single database to a multi-database architecture, and examine the architectural benefits of using multiple databases in data-intensive applications.", "speakers": ["VQZYV9"], "track": 4870, "start": "2024-11-24T10:35:00+11:00", "end": "2024-11-24T11:05:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797649+00:00", "state": null, "do_not_record": false}, {"code": "LYLY7H", "id": 1069927, "title": "Quantifying Nebraska", "abstract": "[In 2020, xkcd published _Dependency_](https://xkcd.com/2347/), which posited that \"all modern digital infrastructure\" is ultimately transitively dependent on \"a project some random person in Nebraska has been thanklessly maintaining since 2003\".\r\n\r\nHow can we find these projects and ensure that their maintainers get the thanks and \u2014 more importantly \u2014 the resources they need?", "speakers": ["8LCDDU"], "track": 4870, "start": "2024-11-24T10:35:00+11:00", "end": "2024-11-24T11:05:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797727+00:00", "state": null, "do_not_record": false}, {"code": "QTWAGZ", "id": 1069925, "title": "Better dataframes", "abstract": "Dataframes are an abstraction that proven extremely useful for data analysis in dynamic languages like S, R, Python, and Julia. The Pandas package has been dominant in Python for around 15 years but its design is now showing its age. There is now a vibrant and messy ecosystem of potential disruptors to the status quo for data analysis tasks in Python.\r\n\r\nThis talk will help you make sense of the mess. It will give you a comprehensive review of the strengths and weaknesses of the challengers, including Polars, Ibis, Vaex, Modin, Dask, and the PySpark Pandas API (formerly known as Koalas). It will also review efforts to unify the PyData landscape such as Apache Arrow, the dataframe interchange protocol, Narwhals, and the Ibis project from the original author of Pandas, Wes McKinney.", "speakers": ["3WXCVF"], "track": 4870, "start": "2024-11-24T10:35:00+11:00", "end": "2024-11-24T11:05:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797621+00:00", "state": null, "do_not_record": false}, {"code": "P7UKEN", "id": 1069928, "title": "Dependency management: the cause of\u2014and solution to\u2014all supply chain problems", "abstract": "How many dependencies does your software project have? How much confidence do you have in them? We sometimes say in open source there is safety in \u2018eyes on the code\u2019, but with supply chain attacks on the rise, who is really watching?\r\n\r\nMost software is built with hundreds if not thousands of direct and transitive dependencies, and those dependencies change every day. Our analysis shows that up to 20% of PyPI packages change their dependency graphs multiple times per week. Ensuring that each one of these dependencies is trustworthy is a daunting task.\r\n\r\nIn this talk, we will share some stats and stories from building deps.dev. We will look at what it means for a project to be healthy, dig into the complexities of dependency resolution algorithms, and recommend tools that can make practical dependency management possible if not easy.", "speakers": ["X99XWA"], "track": 4870, "start": "2024-11-24T11:15:00+11:00", "end": "2024-11-24T11:45:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797757+00:00", "state": null, "do_not_record": false}, {"code": "9ZRRJY", "id": 1069930, "title": "How to confirm that the index you added actually improves query performance", "abstract": "Database indexes allow us to speed up queries by providing a method to quickly look up data. However, do we always check that they actually improve performance? In this talk, I explain how and why an automatically added database index did not get used by the queries we expected. Together we will go through SQL produced from Django ORM, index structures and generating database query plans to unravel what was actually going on behind the scenes in our queries.", "speakers": ["WRLNJE"], "track": 4870, "start": "2024-11-24T11:15:00+11:00", "end": "2024-11-24T11:45:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797829+00:00", "state": null, "do_not_record": false}, {"code": "U3YKPB", "id": 1069929, "title": "Rethinking Data Catalogs: The Promise and Pitfalls", "abstract": "The promise of data catalogs, a single source of truth for your organisation's data, often clashes with the reality of under-utilised features, redundancy across various data catalog solutions across teams, adoption challenges and a lack of clear strategy.\r\n\r\n\r\nThis talk will pose some critical questions concerning current approaches of choosing and implementing data catalogs:\r\n\r\n\r\n- Do you actually need a Data catalog?\r\n- Are data catalogs becoming just glorified registries without much practical use?\r\n- Why do organisations find themselves juggling multiple catalogs?\r\n- Is there a synergy between System Catalog & Data Catalog?\r\n- How do you identify the right fit and what are the considerations?\r\n- How to measure success for a data catalog?\r\n\r\nWe'll dissect the reasons behind these challenges and share our experience of implementing data catalogs across different organisations.", "speakers": ["3DCSNN", "98HVRZ"], "track": 4870, "start": "2024-11-24T11:15:00+11:00", "end": "2024-11-24T11:45:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797786+00:00", "state": null, "do_not_record": false}, {"code": "DQPW7L", "id": 1069932, "title": "Adding File System context to pathlib", "abstract": "Adding file system specific information (e.g. how to match case, whether to follow symlinks) to pathlib Path objects, instead of adding such arguments to methods taking Path objects.", "speakers": ["ZY7KJB"], "track": 4870, "start": "2024-11-24T11:55:00+11:00", "end": "2024-11-24T12:25:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797887+00:00", "state": null, "do_not_record": false}, {"code": "LALLKX", "id": 1069933, "title": "The perfect setup? Not setup.py! Building packages the right way", "abstract": "Everyone loves package management! Python's packaging systems have continued to evolve over the years. Specifications such as environment markers, custom backends, and static build configurations have been introduced. Additionally new package managers like Poetry and Hatch have emerged.\r\n\r\nYet despite the updates, many projects are still living in the 2010s - using a setup.py file to specify the build configuration for their package. setup.py is notoriously difficult to learn and a common vector for launching attacks during install.\r\n\r\nThis talk will discuss why it's time to move away from using setup.py and how to do it.\r\n\r\nWe will see how setup.py is used and abused - from downloading huge datasets (*cough* AI *cough*), modifying the system, and most critically how malicious payloads can be included to execute when setup.py is evaluated. Arbitrary code in setup.py makes security analysis harder and creates more work for PyPI administrators.\r\n\r\nThe talk will detail the new (as of 7 years ago) methods of describing build configurations in pyproject.toml and setup.cfg, giving examples of how to use these methods. The examples will include how to achieve what once required dynamic code to include data like readme contents, version numbers and requirements. The limits of pyproject.toml and setup.cfg will also be covered.\r\n\r\nFinally, the talk will outline how moving away from setup.py improves the Python packaging universe, how it makes life easier for ensuring Python security, and what can be done to drive adoption of pyproject.toml.", "speakers": ["CGMRAQ"], "track": 4870, "start": "2024-11-24T11:55:00+11:00", "end": "2024-11-24T12:25:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797915+00:00", "state": null, "do_not_record": false}, {"code": "UKJB7J", "id": 1069931, "title": "Follow the Postgres brick road: a journey of testing against a real database server", "abstract": "Tests are good. Code that uses a database is good. Testing code that uses a database is great\u2026 But it's not so easy to do well. Let's follow our journey through various pitfalls to make testing against a local PostgreSQL instance informative, reliable and fast, so that we have fewer horrible surprises once code gets to production.", "speakers": ["PGYLJB"], "track": 4870, "start": "2024-11-24T11:55:00+11:00", "end": "2024-11-24T12:25:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797858+00:00", "state": null, "do_not_record": false}, {"id": 1069935, "title": {"en": "Lunch"}, "start": "2024-11-24T01:25:00Z", "end": "2024-11-24T13:30:00+11:00", "room": 3411}, {"id": 1069934, "title": {"en": "Lunch"}, "start": "2024-11-24T01:25:00Z", "end": "2024-11-24T13:30:00+11:00", "room": 3410}, {"id": 1069936, "title": {"en": "Lunch"}, "start": "2024-11-24T01:25:00Z", "end": "2024-11-24T13:30:00+11:00", "room": 3412}, {"code": "WYZEUQ", "id": 1069938, "title": "With Xonsh use Python as your shell: No more switching between shell and Python syntax!", "abstract": "Many of us employ shells (like Bash, Zsh or PowerShell) in the terminal to \u201cget admin things done\u201d on our computer. For the actual programming then we switch to Python to \u201cget real things done\u201d.\r\n\r\nBut what if you could use Python in your programs *and* in the terminal? Welcome to Xonsh, a shell and a Python REPL in one. This unique feature helps very much to get all things in the terminal done quicker, safer and to have more fun on the way!", "speakers": ["BHGMDT"], "track": 4870, "start": "2024-11-24T13:30:00+11:00", "end": "2024-11-24T14:00:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.798081+00:00", "state": null, "do_not_record": false}, {"code": "ZGCQSY", "id": 1069937, "title": "Setting Up Your Python Community for Success: Lessons from the Melbourne Python User Group", "abstract": "Discover best practices in managing a meetup which fosters a vibrant open-source ecosystem and maintains engaged membership and volunteers from experiences within the Melbourne Python User Group. Learn best practices for organizing successful meetups, hackathons, and collaborative projects that drive community engagement and innovation.", "speakers": ["XPM9RU"], "track": 4870, "start": "2024-11-24T13:30:00+11:00", "end": "2024-11-24T14:00:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.798052+00:00", "state": null, "do_not_record": false}, {"code": "C37SMX", "id": 1069939, "title": "Django, REST and OpenAPI - a gentle introduction", "abstract": "Django is an all-parts-included framework that is one of the most popular ways of building a website in Python. But for many websites that's not enough - we also need a REST-based API with an OpenAPI specification so that other programs can read and work with our data. This talk will cover the Python packages that can provide these facilities and how to integrate them into your existing website.", "speakers": ["RB3PZZ"], "track": 4870, "start": "2024-11-24T13:30:00+11:00", "end": "2024-11-24T14:00:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.798110+00:00", "state": null, "do_not_record": false}, {"code": "NFZKYP", "id": 1069941, "title": "Time and Time Again", "abstract": "Time is one of the few forces that remain outside of human control. Attempting to understand it is hard enough, but attempting to make computers understand it is a frequent and common source of errors, especially across different cultures and calendars.\r\n\r\nThis talk will explore a number of different ways of understanding and expressing the flow of time, as well as common and uncommon edge cases to account for when building software.", "speakers": ["P9CXX8"], "track": 4870, "start": "2024-11-24T14:10:00+11:00", "end": "2024-11-24T14:40:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.798166+00:00", "state": null, "do_not_record": false}, {"code": "MVAF7U", "id": 1069942, "title": "How we used Python to try and save lives", "abstract": "Google Crisis Response saved lives and tried to make the world better. And all of it was in Python.", "speakers": ["AK9RMY"], "track": 4870, "start": "2024-11-24T14:10:00+11:00", "end": "2024-11-24T14:40:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.798194+00:00", "state": null, "do_not_record": false}, {"code": "S7E8T7", "id": 1069940, "title": "Three Django Apps in a Trenchcoat: Writing an event management website with not a lot of time", "abstract": "Come and hear how I wrote 3 Django apps in a trenchcoat to run a ~300+ person scout camp, from making event registration a breeze, to conducting everyone's movements throughout the entire event.", "speakers": ["CYVHAC", "QD8GMS"], "track": 4870, "start": "2024-11-24T14:10:00+11:00", "end": "2024-11-24T14:40:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.798138+00:00", "state": null, "do_not_record": false}, {"code": "UKK9K9", "id": 1069943, "title": "Lowering the Gangplank: How Writing Songs Relates to Templating", "abstract": "Templating is awesome! It makes automation easier and takes away a lot of the tedious work required to maintain and build new things. Now, what if I told you that the way we utilise templates is somewhat similar to how songs are written? In this talk I will lower the proverbial gangplank from our templating ship as we cross over into the land of song writing and discover how these two concepts are linked.", "speakers": ["FTUWNC"], "track": 4870, "start": "2024-11-24T14:50:00+11:00", "end": "2024-11-24T15:20:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.798222+00:00", "state": null, "do_not_record": false}, {"code": "WCUHJ8", "id": 1069945, "title": "Turtles all the way down: Abstractions and when we should use them", "abstract": "Abstractions are one of the greatest tools in all of programming. But sometimes we reach for them too often. How do we know when we should use an abstraction, and when we should just use the ones that already exist.", "speakers": ["9JG7DV"], "track": 4870, "start": "2024-11-24T14:50:00+11:00", "end": "2024-11-24T15:20:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.798279+00:00", "state": null, "do_not_record": false}, {"code": "B8RJPR", "id": 1069944, "title": "Space Django: Migrating and Redesigning a Database while Hunting for Satellites.", "abstract": "Being a fast-paced startup and developing a completely new product in the Space Industry is very challenging, and moving fast wasn\u2019t just a requirement but essential. It's the kind of environment that is hard to think too much ahead, and for that reason, our database was created to address the problems we had at hand. \r\nAfter a while, new products and features were required, and our database couldn't handle all of them. That\u2019s when we decided to move our data to a newly designed database instance with proper relationships, able to handle more features, higher workloads and scalable. During the planning phase, several approaches were discussed, such as creating a script to copy the data and some off-the-shelf software that we thought could handle that for us. However, the complexity of implementing those approaches wasn\u2019t feasible with our deadlines for releasing the new product. So, we decided to copy the data using Django ORM (our product was already using Django), the idea was to avoid the complexity of creating complex SQL Queries to copy data to new tables while keeping the data consistency and integrity.\r\nIn this presentation, we aim to demonstrate how our database was limiting the company\u2019s scalability and how we fixed those problems by migrating to a new database schema whilst maintaining two database instances, one for internal operations and the other for customer-facing functions. Moreover, we show how we did that using object-oriented programming in combination with Django\u2019s ORM to migrate our database without the need to handle complex SQL commands to copy data, keep relationships, and create new ones.", "speakers": ["EJ9MHD"], "track": 4870, "start": "2024-11-24T14:50:00+11:00", "end": "2024-11-24T15:20:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.798250+00:00", "state": null, "do_not_record": false}, {"id": 1069948, "title": {"en": "Afternoon break"}, "start": "2024-11-24T04:20:00Z", "end": "2024-11-24T15:50:00+11:00", "room": 3412}, {"id": 1069946, "title": {"en": "Afternoon break"}, "start": "2024-11-24T04:20:00Z", "end": "2024-11-24T15:50:00+11:00", "room": 3410}, {"id": 1069947, "title": {"en": "Afternoon break"}, "start": "2024-11-24T04:20:00Z", "end": "2024-11-24T15:50:00+11:00", "room": 3411}, {"id": 1069949, "title": {"en": "Lightning Talks (Sunday)"}, "start": "2024-11-24T04:50:00Z", "end": "2024-11-24T16:50:00+11:00", "room": 3410}, {"id": 1069950, "title": {"en": "Closing Address (Sunday)"}, "start": "2024-11-24T05:50:00Z", "end": "2024-11-24T17:30:00+11:00", "room": 3410}], "version": "20240903.1", "timezone": "Australia/Melbourne", "event_start": "2024-11-22", "event_end": "2024-11-24", "tracks": [{"id": 4870, "name": {"en": "Main Conference"}, "description": {}, "color": "#FC0101"}, {"id": 4871, "name": {"en": "Education"}, "description": {}, "color": "#FFBF00"}, {"id": 4872, "name": {"en": "DevOops"}, "description": {}, "color": "#00BA1E"}, {"id": 4873, "name": {"en": "Scientific Python"}, "description": {}, "color": "#0078A4"}], "rooms": [{"id": 3410, "name": {"en": "Goldfields Theatre"}, "description": {}}, {"id": 3411, "name": {"en": "Eureka 2"}, "description": {}}, {"id": 3412, "name": {"en": "Eureka 3"}, "description": {}}], "speakers": [{"code": "GNVTMG", "name": "Eliz So", "avatar": ""}, {"code": "YJFZGW", "name": "Kabir Manandhar Shrestha", "avatar": ""}, {"code": "HVQBMZ", "name": "Pradeep Rajasekhar", "avatar": ""}, {"code": "N9ZZWG", "name": "Matt Trentini", "avatar": "https://pretalx.com/media/avatars/ea42d30f7cda55601ae9931f5579abe0_nQNiRQD.jpg"}, {"code": "9JGCPM", "name": "Andrew Williams", "avatar": "https://pretalx.com/media/avatars/JC_9591-head.png"}, {"code": "MY7QMZ", "name": "Noah Kantrowitz", "avatar": "https://pretalx.com/media/avatars/headshot_00YX2vK.jpg"}, {"code": "PFTMME", "name": "J. Rosenbaum", "avatar": "https://pretalx.com/media/avatars/headshot1_PdnFrwR.jpeg"}, {"code": "3DCSNN", "name": "Harmeet Sokhi", "avatar": "https://pretalx.com/media/avatars/1aa9a192090001f30be351ac4c8021f5_vMdEteR.jpg"}, {"code": "P9CXX8", "name": "Yaakov", "avatar": "https://pretalx.com/media/avatars/MicrosoftTeams-image-smaller_j754fqe.jpg"}, {"code": "97JLNB", "name": "Anna Tisch", "avatar": ""}, {"code": "7SWEAL", "name": "A.J. Fisher", "avatar": "https://pretalx.com/media/avatars/1712749524080_SatwVlO.jfif"}, {"code": "ATDLZU", "name": "David Andersson", "avatar": "https://pretalx.com/media/avatars/1615684432676_U5XDwSy.jpeg"}, {"code": "JJR3W8", "name": "Mel", "avatar": ""}, {"code": "RSUKRU", "name": "Sam Bishop", "avatar": "https://pretalx.com/media/avatars/avatar-sp1_PGtPyGB.jpg"}, {"code": "8UFZNX", "name": "Jack Reichelt", "avatar": "https://pretalx.com/media/avatars/profile-pic_qQ6v2SB.png"}, {"code": "8NFJSF", "name": "Juan Nunez-Iglesias", "avatar": "https://pretalx.com/media/avatars/425e61a8c6b77bd5d300cd1991ec3f15_n565tME.jpg"}, {"code": "XPM9RU", "name": "Renaldi Gondosubroto", "avatar": "https://pretalx.com/media/avatars/Renaldi_Headshot_2_2ykNW11.png"}, {"code": "HBDX9R", "name": "Andrew Lonsdale", "avatar": "https://pretalx.com/media/avatars/32eac8bd4629b636cb2f7eb1adfc1e30_XwrpOAA.jpg"}, {"code": "FTUWNC", "name": "Chelsea Finnie", "avatar": "https://pretalx.com/media/avatars/PenguSquare2_vrBAf4Y.png"}, {"code": "EJ9MHD", "name": "Artur Baruchi", "avatar": "https://pretalx.com/media/avatars/IMG_8138_rqZjrzD.png"}, {"code": "VXBVLZ", "name": "Stephen Tierney", "avatar": "https://pretalx.com/media/avatars/stierney_small_PfgTgMf.jpg"}, {"code": "8NDWMQ", "name": "Alison Wong", "avatar": "https://pretalx.com/media/avatars/AlisonWONGFinal_TtKrbTY.jpg"}, {"code": "9JG7DV", "name": "Mark Lakewood", "avatar": "https://pretalx.com/media/avatars/Profile_photo_kLZb4p5.jpg"}, {"code": "HQSSZQ", "name": "Dr Jack Simpson", "avatar": "https://pretalx.com/media/avatars/jack_KOm8jei_KQth295.jpg"}, {"code": "PB9BKD", "name": "Jack Skinner", "avatar": "https://pretalx.com/media/avatars/228a543862b1b9c1e7f3b812620b1471_D363AsG.jpg"}, {"code": "87LT9Q", "name": "Simon Aubury", "avatar": ""}, {"code": "LDFVBH", "name": "Russell Keith-Magee", "avatar": "https://pretalx.com/media/avatars/b91373320dbc3bc52fcd870d3b21748f_UHhnDR7.jpg"}, {"code": "VQZYV9", "name": "Artem Kolesnikov", "avatar": "https://pretalx.com/media/avatars/photo_IgPBVll.jpg"}, {"code": "WRLNJE", "name": "Suzannah Cooper", "avatar": ""}, {"code": "BHTKP3", "name": "Damien George", "avatar": "https://pretalx.com/media/avatars/DSC_9022-crop_95so5l7.JPG"}, {"code": "KCADCR", "name": "Tom Eastman", "avatar": "https://pretalx.com/media/avatars/52298146141_97cb5031f9_k_Kyf5T1H.jpg"}, {"code": "AHET73", "name": "Evan Kohilas", "avatar": "https://pretalx.com/media/avatars/ebd48c4b1d85878d6035ad6ac3631070_90Vo0dw.jpg"}, {"code": "7D78ZU", "name": "Liam Bluett", "avatar": ""}, {"code": "WREQBQ", "name": "Haggen So", "avatar": ""}, {"code": "ZZQ9TE", "name": "Tennessee Leeuwenburg", "avatar": "https://pretalx.com/media/avatars/Profile_Photo_Tennessee_Leeuwenburg_JwewX1k.jpg"}, {"code": "YCFJET", "name": "Felipe Tavares", "avatar": "https://pretalx.com/media/avatars/profile-pic11_NglMWbQ.png"}, {"code": "8LCDDU", "name": "Adam Harvey", "avatar": "https://pretalx.com/media/avatars/36d8c4d60eaed7139aa0ab88378590c0_QjHrX33.jpg"}, {"code": "CGMRAQ", "name": "Caleb Brown", "avatar": ""}, {"code": "QWCHX7", "name": "Christopher Neugebauer", "avatar": "https://pretalx.com/media/avatars/chrisjrn-unicorn_LLQw4TY.jpg"}, {"code": "9WJJPL", "name": "Stefanie Molin", "avatar": "https://pretalx.com/media/avatars/li_7EgJHSM.jpeg"}, {"code": "AK9RMY", "name": "Anthony Baxter", "avatar": ""}, {"code": "VJPZ7L", "name": "Sanjin", "avatar": ""}, {"code": "BNHHZ9", "name": "Pravin vaz", "avatar": ""}, {"code": "ZY7KJB", "name": "Clinton Roy", "avatar": "https://pretalx.com/media/avatars/0898bb664197d0f27e15f5677a183de7_Yod0P7l.jpg"}, {"code": "BHGMDT", "name": "Leo Broska", "avatar": "https://pretalx.com/media/avatars/1c8d1308bafaa6eb869321d5dca427cd_6ulmg7M.jpg"}, {"code": "PGYLJB", "name": "Huon Wilson", "avatar": "https://pretalx.com/media/avatars/profile.jpg_IRjIpGe.png"}, {"code": "JTPU7J", "name": "Edwina Mead", "avatar": "https://pretalx.com/media/avatars/Untitled_M6iVsMc.png"}, {"code": "MK9KK8", "name": "Carolyn Gekas", "avatar": ""}, {"code": "RB3PZZ", "name": "Paul Wayper", "avatar": "https://pretalx.com/media/avatars/c6d06e8c0df6789364ac68f7aeaed800_lQgt0db.jpg"}, {"code": "3WXCVF", "name": "Ed Schofield", "avatar": ""}, {"code": "Q7H3M8", "name": "Lizzie Silver", "avatar": "https://pretalx.com/media/avatars/Silver_Lizzie_4eAibq1.jpg"}, {"code": "MSEC3L", "name": "Emily Massahud", "avatar": "https://pretalx.com/media/avatars/emily_massahud_pLJtvvo.jpg"}, {"code": "X99XWA", "name": "Nicky Ringland", "avatar": "https://pretalx.com/media/avatars/cd3e4475f0521c4df69598eae54502ae_oLtz3hX.jpg"}, {"code": "JFJVXW", "name": "Luke Wiwatowski", "avatar": "https://pretalx.com/media/avatars/b76ad1749a253bb98395d9a566c99ad6_Y2eAHoO.jpg"}, {"code": "DEZCB8", "name": "Anthony I. Joseph", "avatar": "https://pretalx.com/media/avatars/Image_from_iOS_XuOClu6.jpg"}, {"code": "98HVRZ", "name": "Vishal Srivastava", "avatar": "https://pretalx.com/media/avatars/self_low_res_3_18IqiHv.jpg"}, {"code": "R3ENGB", "name": "Anneysha Sarkar", "avatar": ""}, {"code": "TQKR8P", "name": "Renee Noble", "avatar": "https://pretalx.com/media/avatars/renee_pycon_tpf6eur.jpeg"}, {"code": "S7AU83", "name": "Draga Doncila Pop", "avatar": ""}, {"code": "CYVHAC", "name": "Matt Cengia", "avatar": "https://pretalx.com/media/avatars/signal-2022-07-03-19-36-05-9942_BaFQYmw_AS6w9Tc.jpg"}, {"code": "NTEJEK", "name": "Ash Bek", "avatar": "https://pretalx.com/media/avatars/2589332414bf1618600e2bcafa1307f3f50ecfdc_YbHvJd4.webp"}, {"code": "ZUWBQU", "name": "Emily Tour", "avatar": "https://pretalx.com/media/avatars/Knossos_Site_2_WM4L6aW.jpg"}, {"code": "QD8GMS", "name": "Luke Byrnes", "avatar": "https://pretalx.com/media/avatars/5e753a48150c4b90dd6addba390e5029_A1kEdh3.jpg"}, {"code": "PAMFZZ", "name": "Ned Letcher", "avatar": "https://pretalx.com/media/avatars/ned_profile_pic_sxnDbKl.jpg"}]} +{"talks": [{"code": "ACKK3A", "id": 1069859, "title": "Causal Discovery in Python", "abstract": "A review and comparison of software available for causal discovery in Python. Causal discovery means learning \"what causes what\" from your data. The input is a tabular dataset; the output is a causal graphical model (or a set of potential models) over your features. If feature A affects feature B, there should be an arrow A-->B in the causal graphical model. Causal discovery is useful for hypothesis generation, experiment selection, and for testing our assumptions around causation.\r\n\r\nI'll give a brief intro to causal discovery, then review the following packages: py-tetrad, causal-learn, tigramite, causalnex, and cdt (causal discovery toolbox). The packages have some overlap but different emphases: each one implements at least one algorithm not covered by the other packages, making them useful in different situations. If time permits I'll finish with a quick demo, showing each package learning a model from the same dataset.", "speakers": ["Q7H3M8"], "track": 4873, "start": "2024-11-22T09:20:00+11:00", "end": "2024-11-22T09:50:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795363+00:00", "state": null, "do_not_record": false}, {"id": 1069857, "title": {"en": "[placeholder] Education Track Keynote"}, "start": "2024-11-21T22:20:00Z", "end": "2024-11-22T09:50:00+11:00", "room": 3412}, {"code": "ZCKWM3", "id": 1069858, "title": "Why UUIDs are Secretly Incredibly Fascinating", "abstract": "What even is '06462f89-b4ef-7f7d-8000-edda1bba5155' and why should you actually care?\r\n\r\n(you should, but \"why\"?)", "speakers": ["KCADCR"], "track": 4872, "start": "2024-11-22T09:20:00+11:00", "end": "2024-11-22T09:50:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795324+00:00", "state": null, "do_not_record": false}, {"code": "79HGSW", "id": 1069861, "title": "A Lazy Person's Guide to Building REST Clients or: How I Learned to Stop Worrying and Love Dunder Overrides", "abstract": "Sick of writing lots of dedicated methods to perform the same tasks? Want to write less code? This talk may be for you! \r\n\r\nREST API's are ubiquitious, and a very useful way to send and recieve data from various services. However, building them can often feel repetitive and boring. So, because I was lazy, and sick of doing it I decided to override specific dunder methods to write less boiler plate code, and keep myself interested.\r\n\r\nWas it easier? Probably not. Did it require less work than a normal implementation? Also probably not. Did it make my code more readable and portable? Definitely not. But it was fun, and I learnt how overriding Python's magic methods - often called dunders - could be useful. Let me share the lessons I learnt with you and inspire your own ideas.", "speakers": ["NTEJEK"], "track": 4872, "start": "2024-11-22T10:00:00+11:00", "end": "2024-11-22T10:30:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795425+00:00", "state": null, "do_not_record": false}, {"code": "3GPQDE", "id": 1069860, "title": "Teaching Digital Technologies in Australian schools with Python and the Kookaberry", "abstract": "There are around 6,200 primary schools around Australia, and the curriculum has a requirement to teach Digital Technologies, which includes a coding portion. There are many challenges here, not least which is enabling the approximately 150,000 primary school teachers with the skills and resources to teach programming to young students. The AustSTEM foundation was set up to assist in this area, and developed a MicroPython based learning platform, which consists of a pocket-sized computing device that integrates with a web-based coding and teaching environment. The teaching material has many hands-on activities, with connections to nature and science. In this talk we will discuss this teaching platform, how it can help students transition from block-based programming to textual coding, and show some of the successes we have had so far in Australian classrooms.", "speakers": ["BHTKP3"], "track": 4871, "start": "2024-11-22T10:00:00+11:00", "end": "2024-11-22T10:30:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.795394+00:00", "state": null, "do_not_record": false}, {"code": "WB8HTT", "id": 1069862, "title": "Verifying and evaluating scientific results with the open source package \"scores\"", "abstract": "Verifying, evaluating or interpreting complex data requires specialist tools and methods. Many data scientists, programmers and scientists will be familiar with some evaluation metrics such as accuracy, mean squared error or true positive rate. There are many situations where these scores are insufficient for assessing correctness, accuracy or suitability of a model or prediction. The challenge of verifying models and predictions affects most fields of science, engineering, and many machine learning applications.\r\n\r\nThis talk will introduce \"scores\", an open source Python package for verifying and evaluating labelled, n-dimensional (multidimensional) data at any scale. \"scores\" includes over 50 metrics, statistical techniques and data processing tools. The software repository can be found at https://github.com/nci/scores and the documentation can be found at https://scores.readthedocs.io/ .\r\n\r\nThis talk is suitable for beginner, intermediate and expert audiences. Developers and data scientists who are familiar mainly with tabular data, such as supported by the pandas library, may be interested in the additional functionality offered by \"scores\" (and the xarray library it utilises). For those learning about more advanced methods, every metric and statistical test has a companion Jupyter Notebook tutorial. For expert users already familiar with these ideas, you may be interested in some of the novel scoring methods not commonly found in other packages. \r\n\r\nCome to this talk to hear about:\r\n - The difference between tabular data, n-dimensional data, and labelled n-dimensional data\r\n - Examples of using a common metric from \"scores\" on labelled, n-dimensional data\r\n - Examples of using \"scores\" for interrogating data in multiple dimensions\r\n - Examples of where basic methods overlook important considerations\r\n - Examples of using some of the more complex metrics in \"scores\"", "speakers": ["ZZQ9TE"], "track": 4873, "start": "2024-11-22T10:00:00+11:00", "end": "2024-11-22T10:30:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795456+00:00", "state": null, "do_not_record": false}, {"id": 1069865, "title": {"en": "Morning break"}, "start": "2024-11-21T23:30:00Z", "end": "2024-11-22T11:00:00+11:00", "room": 3412}, {"id": 1069863, "title": {"en": "Morning break"}, "start": "2024-11-21T23:30:00Z", "end": "2024-11-22T11:00:00+11:00", "room": 3411}, {"id": 1069864, "title": {"en": "Morning break"}, "start": "2024-11-21T23:30:00Z", "end": "2024-11-22T11:00:00+11:00", "room": 3410}, {"code": "NLZQAA", "id": 1069866, "title": "Django on AWS for chump change", "abstract": "Some cheap and definitely not employer approved ways to run Django on AWS infrastructure on a budget", "speakers": ["JFJVXW"], "track": 4872, "start": "2024-11-22T11:00:00+11:00", "end": "2024-11-22T11:30:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795651+00:00", "state": null, "do_not_record": false}, {"code": "YYN7YH", "id": 1069867, "title": "How Smart is AI? \u2013 Real projects to build real understanding", "abstract": "Chat GPT is all the rage in schools, and everyone is talking about AI, but how do we give students a real understanding of AI\u2019s capabilities and limitations? In this talk I\u2019ll demo how you can get students coding their own projects that explore (free) GPT technologies, integrating their own data sources, and contemplating when AI is the right solution.", "speakers": ["TQKR8P"], "track": 4871, "start": "2024-11-22T11:00:00+11:00", "end": "2024-11-22T11:30:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.795684+00:00", "state": null, "do_not_record": false}, {"code": "MQQJYE", "id": 1069868, "title": "Commissioning tools at the Australian Synchrotron, or, how to get a bazillion dollars worth of toys to play nicely together", "abstract": "Discover the innovative work happening at the Australian Synchrotron, where high-energy X-rays support research across Australia and neighbouring countries. The scientific computing team uses Python to connect to hardware, orchestrate experiments, and process data.\r\n\r\nWe'll focus on a Python Dash interface developed to commission new positioners and detectors. This interface automatically generates Gaussian statistics. It includes pages for both one positioner and one detector (1D) or two positioners and one detector (2D), and allows users to click on a 2D Gaussian to take horizontal and vertical slices.\r\n\r\nAdditionally, we will discuss best programming practices, such as implementing unit tests, maintaining DRY principles, and using linting tools to improve code quality. Good programming practices work beautifully in a scientific environment. Join us to learn how these techniques can enhance your work with Python.", "speakers": ["JJR3W8"], "track": 4873, "start": "2024-11-22T11:00:00+11:00", "end": "2024-11-22T11:30:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795715+00:00", "state": null, "do_not_record": false}, {"code": "DQGVLY", "id": 1069870, "title": "Simplifying Python Web App Operations: Automating K8s Ops with Open Source", "abstract": "After creating a great web app using Python such as with flask, the next hurdle to production is how to make it available to users and operate it. And not just your app, but also ingress, the database, observability and the list goes on. We will go through your options for simplifying the operations of your web app using open source tooling. This will include using k8s directly, helm charts, IaaC using pulumi and new tooling developed by Canonical using juju. By the end of the talk you will have seen the benefits and drawbacks of each which will help you make an informed decision on which tool best suits your needs!", "speakers": ["ATDLZU"], "track": 4872, "start": "2024-11-22T11:40:00+11:00", "end": "2024-11-22T12:10:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795775+00:00", "state": null, "do_not_record": false}, {"code": "9MLDVZ", "id": 1069871, "title": "Astronomy with Python, for non-astronomers", "abstract": "Astronomers have been dealing with digital data since the 1980s and online databases \r\nsince the early 90's, and now, almost all research astronomers use Python to access and \r\nprocess that data. Most astronomical database are open to the public, and most research\r\nsoftware tools are either open source, or freely available. I'll give an intro, aimed at \r\nnon-astronomers, to some Python packages (astropy, skyfield) and online research tools.\r\n\r\nThis talk will give an overview on what tools and databases are available and how to access \r\nthem. Maybe you're writing a game, and you want the 3D locations and properties of the \r\nnearest 10,000 stars (or extrasolar planets, or galaxies). Maybe you're building a Solar\r\npanel that tracks the Sun, or a camera mount that tracks the International Space\r\nStation. Maybe you're trying to model shadow lengths and directions in satellite images. Or\r\nmaybe you just want to play around with real telescope images that haven't had a PR \r\ndepartment make them 'prettier'...", "speakers": ["9JGCPM"], "track": 4873, "start": "2024-11-22T11:40:00+11:00", "end": "2024-11-22T12:10:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795804+00:00", "state": null, "do_not_record": false}, {"code": "XHTJ3S", "id": 1069869, "title": "Transitioning from VB to Python \u2013 Mapping a 6 month journey", "abstract": "In the past decade, this school has consistently exceeded VCE expectations in Software Development, largely due to well-developed resources, consistency in use of programming language (Visual Basic) and progression of skills through year 7 to year 12. However, a gap analysis in the teaching methodology has highlighted conceptual computational thinking and problem-solving skills as a key gap in the current offering. This was attributed to the curriculum's skills-based focus and the Covid-era teaching practice of flipped learning via video tutorials. \r\n\r\nThis has presented an opportunity to overhaul the teaching methodology to focus on equipping students with the skills to apply their learning in different contexts. Some key aspects of this transformation include a more live coding technique and transitioning to Python as the preferred programming language, due to its versatility and future prospects for students. \r\n\r\nWe present this roadmap which leads to a complete overhaul of our teaching programmes from year 7 to year 12, scaffolding Python across Applied Computing, STEM projects, Robotics and Game development over the next 6 months.", "speakers": ["BNHHZ9", "MK9KK8"], "track": 4871, "start": "2024-11-22T11:40:00+11:00", "end": "2024-11-22T12:10:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.795745+00:00", "state": null, "do_not_record": false}, {"code": "WLCHUM", "id": 1069873, "title": "Enhancing Programming Ability with Playful Learning and Karel", "abstract": "Beginner programmers often struggle to understand and trace program execution, which is worsened by underdeveloped debugging and testing skills. Beginners may also lack confidence or are easily demotivated, which can hinder learning. To assist students in developing these skills and build confidence we created a set of playful programming challenges and competition using Karel the Robot. The Karel system provides a 2D \u201cgrid world\u201d where the Karel character can move and interact with its environment. The 2D world is visualised for students so that they can immediately see how their program changes the environment step by step as well as the final program state. This is in contrast to traditional languages where learners must develop and maintain a mental model of the program state. This talk will cover our approach, preliminary results and feedback from students showing an increase in confidence and interest in programming. We will also share how this approach can be applied to other learning contexts.", "speakers": ["VXBVLZ", "8NDWMQ"], "track": 4871, "start": "2024-11-22T12:20:00+11:00", "end": "2024-11-22T12:50:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.795861+00:00", "state": null, "do_not_record": false}, {"code": "JV9WT7", "id": 1069872, "title": "Explore, annotate, and analyse multidimensional image data with napari", "abstract": "napari is an n-dimensional image viewer for Python. If you\u2019ve ever tried `plt.imshow(arr)` and made Matplotlib unhappy because `arr` has more than two dimensions, then napari might be for you! napari will gladly display higher-dimensional arrays by providing sliders to explore additional dimensions. But napari can also: overlay derived data, such as points, segmentations, polygons, surfaces, and more; and annotate and edit these data, using standard data structures like NumPy or Zarr arrays, allowing you to seamlessly weave exploration, computation, and annotation in image analysis.", "speakers": ["8NFJSF", "S7AU83"], "track": 4873, "start": "2024-11-22T12:20:00+11:00", "end": "2024-11-22T12:50:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.795832+00:00", "state": null, "do_not_record": false}, {"code": "M3KJ3V", "id": 1069874, "title": "Notes on Over-Engineering: A Project Post-Mortem", "abstract": "Join me for a retrospective on a reusable Django app for providing shared database multi-tenancy, complete with automatic tenant-specific queryset filtering, automatic tenant selection middleware, REST framework support, and comprehensive test coverage. This app, despite its sophistication, was never used in production. Let's explore why it was ultimately deemed over-engineered and unnecessary, and what lessons we can learn from this experience.", "speakers": ["RSUKRU"], "track": 4872, "start": "2024-11-22T12:20:00+11:00", "end": "2024-11-22T12:50:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.795891+00:00", "state": null, "do_not_record": false}, {"id": 1069877, "title": {"en": "Lunch"}, "start": "2024-11-22T01:50:00Z", "end": "2024-11-22T13:50:00+11:00", "room": 3411}, {"id": 1069876, "title": {"en": "Lunch"}, "start": "2024-11-22T01:50:00Z", "end": "2024-11-22T13:50:00+11:00", "room": 3410}, {"id": 1069875, "title": {"en": "Lunch"}, "start": "2024-11-22T01:50:00Z", "end": "2024-11-22T13:50:00+11:00", "room": 3412}, {"code": "NUUJAN", "id": 1069880, "title": "Who tests the testers? Making and testing pipelines", "abstract": "You likely have a good pipeline that either runs tests, lints, or deployments for your project.\r\n\r\nBut when it comes to changing that pipeline, how sure are you that it works before taking those changes live?", "speakers": ["AHET73"], "track": 4872, "start": "2024-11-22T13:50:00+11:00", "end": "2024-11-22T14:20:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796117+00:00", "state": null, "do_not_record": false}, {"code": "7DJWKZ", "id": 1069878, "title": "From Keyword Chaos to Clarity: Conquering a Complex Systematic Review with Python", "abstract": "How can you find relevant needles in a haystack of 25,000 academic abstracts when keyword searching is useless? I explore how I used Python to automate my way out of systematic review hell.", "speakers": ["JTPU7J"], "track": 4873, "start": "2024-11-22T13:50:00+11:00", "end": "2024-11-22T14:20:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796056+00:00", "state": null, "do_not_record": false}, {"code": "Z3KYJZ", "id": 1069879, "title": "Build Your Own IoT! Fun With Python and Raspberry Pi.", "abstract": "This talk will discuss building a basic streaming data pipeline for IoT applications using Python and Raspberry Pi. Attendees will have the opportunity to learn about Raspberry Pi, Apache Kafka + Kafka Connect, and solar power generation.", "speakers": ["7SWEAL"], "track": 4871, "start": "2024-11-22T13:50:00+11:00", "end": "2024-11-22T14:20:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.796087+00:00", "state": null, "do_not_record": false}, {"code": "KFVD3Z", "id": 1069881, "title": "As a Teacher. I have no Time to learn Programming - Streamline Assignment Marking with Python", "abstract": "Teaching is a demanding job that takes away the initiative to learn or improve in programming skills. I therefore decided to streamline some of my assignment marking using Python. The time I spent in developing the Python scripts could then be offset by the efficiency and accuracy I gained from the automation. \r\n\r\nIn this presentation, I will demonstrate how to populate student details into their individual Excel mark sheets, check marking mistakes, automate mark adjustment and collect data from individual mark sheets. \r\n\r\nWhile the above automation can be achieved using standard tools offered by Microsoft by putting the programming logic into Excel formulae or Visual Basic for Application, I will argue using Python to separate the logic from data is a better approach in terms of programming practice and Cybersecurity.", "speakers": ["WREQBQ"], "track": 4871, "start": "2024-11-22T14:30:00+11:00", "end": "2024-11-22T15:00:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.796146+00:00", "state": null, "do_not_record": false}, {"code": "XHM7N7", "id": 1069883, "title": "Coding Competition Software VS Murphy's Law", "abstract": "Imagine agreeing to develop a full stack web app to host a coding competition for thousands of students. Then standing at a podium in front of a large crowd as your app crashes and you discover that you might be in too deep.\r\n\r\nThat was my first year of a four year journey of learning to program \"properly\" and build something robust and useful. The full story includes more spectacular fails, hacking and an eventually an app students loved using to program algorithms that do battle in contests based on game theory. The app is built on React / FastAPI and SQLmodel ORM", "speakers": ["VJPZ7L"], "track": 4872, "start": "2024-11-22T14:30:00+11:00", "end": "2024-11-22T15:00:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796204+00:00", "state": null, "do_not_record": false}, {"code": "3JHULA", "id": 1069882, "title": "Data Morph: A Cautionary Tale of Summary Statistics", "abstract": "Statistics do not come intuitively to humans; they always try to find simple ways to describe complex things. Given a complex dataset, they may feel tempted to use simple summary statistics like the mean, median, or standard deviation to describe it. However, these numbers are not a replacement for visualizing the distribution.\r\n\r\nTo illustrate this fact, researchers have generated many datasets that are very different visually, but share the same summary statistics. In this talk, I will discuss *Data Morph*, an open source package that builds on previous research using simulated annealing to perturb an arbitrary input dataset into a variety of shapes, while preserving the mean, standard deviation, and correlation to multiple decimal points. I will showcase how it works, discuss the challenges faced during development, and explore the limitations of this approach.", "speakers": ["9WJJPL"], "track": 4873, "start": "2024-11-22T14:30:00+11:00", "end": "2024-11-22T15:00:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796175+00:00", "state": null, "do_not_record": false}, {"id": 1069884, "title": {"en": "Afternoon break"}, "start": "2024-11-22T04:00:00Z", "end": "2024-11-22T15:30:00+11:00", "room": 3410}, {"id": 1069886, "title": {"en": "Afternoon break"}, "start": "2024-11-22T04:00:00Z", "end": "2024-11-22T15:30:00+11:00", "room": 3412}, {"id": 1069885, "title": {"en": "Afternoon break"}, "start": "2024-11-22T04:00:00Z", "end": "2024-11-22T15:30:00+11:00", "room": 3411}, {"code": "XUNCWK", "id": 1069888, "title": "Leveraging the Rich Spatiotemporal Features of live cell imaging with Machine Learning and AI", "abstract": "Live cell imaging is a microscopy technique, where scientists can observe dynamics of living cells across time. One such method, known as lattice lightsheet microscopy captures these processes at high spatiotemporal detail. However, current analyses methods do not always capture the complexities of these feature rich datasets. \r\nIn this talk, I will use an example of programmed cell death, where cells are exposed to different drugs. Using python packages, such as scikit-image and tsfresh, I will demonstrate how we extract morphological and spatiotemporal features of cells. We use these features to train a supervised machine learning (ML) model to predict which drug treatment the cells were exposed to. \r\nFurthermore, using explainable AI with Shapley values, we identify key feature combinations that distinguish the cellular response to each drug. This approach enables data-driven hypothesis generation, allowing us to infer underlying phenotypes and correlate them to the biological processes.", "speakers": ["HVQBMZ"], "track": 4873, "start": "2024-11-22T15:30:00+11:00", "end": "2024-11-22T16:00:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796377+00:00", "state": null, "do_not_record": false}, {"id": 1069887, "title": {"en": "Student Showcase"}, "start": "2024-11-22T04:30:00Z", "end": "2024-11-22T17:20:00+11:00", "room": 3412}, {"code": "CQDJ9K", "id": 1069889, "title": "From minutes to seconds: Capillary auto-alignment with python and opencv", "abstract": "Samples used for diffraction experiments at the Australian Synchrotron, a research facility in Melbourne, are typically presented as finely ground powders confined inside very thin (1mm or less) glass capillaries. These samples are irradiated with X-rays in order to uncover their atomic crystal structures. Amongst our research areas, we study applications in mining, solar cells, perovskites, hydrogen storage, and geology, where understanding material properties at the atomic level can lead to advancements such as enhancing mineral extraction processes, improving solar cell efficiency, developing better hydrogen storage solutions, and analysing the composition of meteorites.\r\n\r\nTo ensure good data quality, the capillary needs to rotate precisely around its centre of rotation in front of the X-ray beam. Alignment of the centre of rotation is usually a manual operation that relies on the human eye and expertise to discern that the capillary is straight and stationary while it rotates around its axis; this process can be lengthy, error-prone, and difficult to achieve, especially for non-experts.\r\n\r\nIn this talk, I will demonstrate how we have united Python, OpenCV, and motion control systems to automate the capillary alignment procedure at the Australian Synchrotron, reducing the time to align a sample from several minutes to just 10 seconds.", "speakers": ["MSEC3L"], "track": 4873, "start": "2024-11-22T16:10:00+11:00", "end": "2024-11-22T16:40:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796406+00:00", "state": null, "do_not_record": false}, {"code": "A78TC9", "id": 1069890, "title": "Avocado, Cheese, Grape, Tomato or: How I Used Python to Stop Worrying and Love Emoji in Bioinformatics", "abstract": "Bioinformatics is the science of understanding and analysing biological information, such as the genetic information contained in DNA. It combines the disciplines of biology, computer science, and mathematics. If this seems daunting, don\u2019t panic, because this talk will focus on two open-source Python packages I have developed, FASTQE and Biomojify, that make common bioinformatics file formats intuitive and accessible\u2026. by using emoji.\r\n\r\nFASTQE simplifies DNA sequencing data analysis by taking numerical quality scores for the data, and summarising them using emoji to quickly convey the good, the bad, and the ugly of sequence data quality. Whether for training, outreach, or debugging, this tool can easily turn unremarkable data quality analysis into an appealing visualisation.\r\n\r\nBiomojify takes the concept further by converting plain text data to use emoji. In DNA, for example, the conventional format represents individual A, C, G, and T nucleotides as plain text. Biomojify substitutes them with emojis such as avocado, cheese, grape, and tomato. It supports various bioinformatics file formats and supports user defined emoji mapping. It can be used to teach the underlying biological concepts behind bioinformatics data, by simplifying specialised data structures for a general audience. \r\n\r\nScience communication is hard. These tools transform complex bioinformatics data into engaging, emoji-based visualisations, making bioinformatics concepts more accessible and adding an element of fun to scientific education and communication.", "speakers": ["HBDX9R"], "track": 4873, "start": "2024-11-22T16:50:00+11:00", "end": "2024-11-22T17:20:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796435+00:00", "state": null, "do_not_record": false}, {"id": 1069891, "title": {"en": "First Timers Session"}, "start": "2024-11-22T21:25:00Z", "end": "2024-11-23T08:45:00+11:00", "room": 3410}, {"id": 1069892, "title": {"en": "Conference Opening (Saturday)"}, "start": "2024-11-22T22:00:00Z", "end": "2024-11-23T09:25:00+11:00", "room": 3410}, {"id": 1069893, "title": {"en": "Keynote - Revealed Soon! "}, "start": "2024-11-22T22:25:00Z", "end": "2024-11-23T10:10:00+11:00", "room": 3410}, {"id": 1069894, "title": {"en": "Morning break"}, "start": "2024-11-22T23:10:00Z", "end": "2024-11-23T10:40:00+11:00", "room": 3410}, {"id": 1069896, "title": {"en": "Morning break"}, "start": "2024-11-22T23:10:00Z", "end": "2024-11-23T10:40:00+11:00", "room": 3411}, {"id": 1069895, "title": {"en": "Morning break"}, "start": "2024-11-22T23:10:00Z", "end": "2024-11-23T10:40:00+11:00", "room": 3412}, {"code": "MBZSKZ", "id": 1069899, "title": "Where am I? What am I doing? Mobile App development in Python", "abstract": "A modern mobile phone isn't just a powerful CPU and display. It's a collection of incredibly sophisticated portable sensors: multiple cameras, a high resolution GPS, accelerometers and more. In this talk, you'll learn how to build and run an app on your phone that can access these sensors, using nothing but Python.", "speakers": ["LDFVBH"], "track": 4870, "start": "2024-11-23T10:40:00+11:00", "end": "2024-11-23T11:10:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.796732+00:00", "state": null, "do_not_record": false}, {"code": "JD8WMZ", "id": 1069898, "title": "AI perceptions of gender", "abstract": "Why does AI perceive gender? Is this something that can be fixed? Should it be fixed? Explore the results of my research encompassing art, AI and gender theory to find out the why and how of gender perception.", "speakers": ["PFTMME"], "track": 4870, "start": "2024-11-23T10:40:00+11:00", "end": "2024-11-23T11:10:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796703+00:00", "state": null, "do_not_record": false}, {"code": "MW7E7N", "id": 1069897, "title": "Making an open source package - lessons learned", "abstract": "Making an open source package is pretty hard in 2024. Expectations are high, and there\u2019s a lot to take into account. I recently developed an open source package. This talk covers what worked, what didn\u2019t work, what I would do again and what I would do differently.\r\n\r\nI developed an open source package called \u201cscores\u201d ( https://github.com/nci/scores , https://scores.readthedocs.io/ ). This is not a presentation about what \u201cscores\u201d does, but instead covers the lessons I learned. Despite being an experienced software developer and having used lots of open source software, there was still a lot to learn (and a lot to figure out) about open source package maintenance.\r\n\r\nEvery package is different, but this is what I did and these are the lessons I learned. \r\n\r\n- Technical Matters:\r\n - How to lay things out on disk\r\n - Configuration files\r\n - Automated testing\r\n - Type hinting\r\n - Linting and other static analysis tools\r\n - Code layout and design\r\n- Documentation:\r\n - What documentation to produce\r\n - Picking and using a tech stack\r\n - Rendering (documentation often renders differently in different locations)\r\n- Ecosystem Integration:\r\n - How to fit in well with the tools around you\r\n - Versioning \r\n - Publishing to PyPI\r\n - How and what to automate\r\n - How to do releases\r\n- Community Considerations:\r\n - Code review standards\r\n - Clear presentation of information\r\n - Understanding your user base and audience", "speakers": ["ZZQ9TE"], "track": 4870, "start": "2024-11-23T10:40:00+11:00", "end": "2024-11-23T11:10:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796674+00:00", "state": null, "do_not_record": false}, {"code": "TWFSTJ", "id": 1069900, "title": "Serpents and Ducks: wrangling data with Python and DuckDB", "abstract": "Got a billion rows of data in a weird file format? Wishing you could wrangle a dataframe from a geospatial dataset? A bit lost interacting with a remote API? Let\u2019s wrangle some data with Python and DuckDB. \r\n\r\nDuckDB executes analytical SQL queries without the need for a server. DuckDB features a deep and deceptively simple integration with the Python ecosystem, allowing us to query, wrangle, and output data, alongside all your favourite Python tools.. Its powerful analytical features and rich integrations position DuckDB as an invaluable tool for anyone working with analytical data in Python, helping you solve complex problems with ease and elegance. \r\nIn this practical talk, we\u2019ll introduce DuckDB, a fast and versatile analytical database to keep in your data toolkit. We\u2019ll go through how to use the DuckDB Python client effectively, taking advantage of DuckDB\u2019s efficient data processing features, as well as its integrations with libraries like Pandas and Ibis.", "speakers": ["87LT9Q", "PAMFZZ"], "track": 4870, "start": "2024-11-23T11:20:00+11:00", "end": "2024-11-23T11:50:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796760+00:00", "state": null, "do_not_record": false}, {"code": "Q78MDT", "id": 1069901, "title": "Embeddings: How Computers Learned to Read", "abstract": "As large language models take over the world, we\u2019re now working alongside machines that can read, write and converse \u2013 coding with CoPilot, chatting with ChatGPT and drawing with DALL-E. But how do machines, which fundamentally operate on binary code, achieve such remarkable feats? The answer lies in embeddings. Embeddings allow us to represent complex data - whether it's text, images, or even abstract concepts - as dense vectors of numbers. In this presentation, we'll demystify embeddings and give you a practical and intuitive understanding of how they work.", "speakers": ["7D78ZU"], "track": 4870, "start": "2024-11-23T11:20:00+11:00", "end": "2024-11-23T11:50:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796789+00:00", "state": null, "do_not_record": false}, {"code": "ZEKYUW", "id": 1069903, "title": "Performant Python", "abstract": "An introduction to writing performant Python code - the \"what, why, where, when and many how's\" of performance analysis, testing, tools and techniques.", "speakers": ["97JLNB"], "track": 4870, "start": "2024-11-23T12:00:00+11:00", "end": "2024-11-23T12:30:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.796846+00:00", "state": null, "do_not_record": false}, {"code": "LGDUVR", "id": 1069902, "title": "ML ain\u2019t your only hammer: adding mathematical optimisation to the data scientist\u2019s toolbox", "abstract": "The purpose of this presentation is to introduce the audience to the field of mathematical optimisation - what it is, how it differs from machine learning, and the types of problems it is best suited to solve.\r\n\r\nThe first section will provide this context and background - describing the anatomy of an optimisation problem, and what the model building process looks like. We will touch on the characteristics common to optimisation problems seen across multiple industries.\r\n\r\nWe will then build a simple optimisation model together, demonstrating how the model building process compares to the machine learning approach.\r\n\r\nFinally, we will end by exploring some of the most fascinating applications of mathematical optimisation in industry, focussing on the characteristics that the audience can map to challenges that are specific to their own industry.", "speakers": ["HQSSZQ"], "track": 4870, "start": "2024-11-23T12:00:00+11:00", "end": "2024-11-23T12:30:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.796817+00:00", "state": null, "do_not_record": false}, {"id": 1069904, "title": {"en": "Lunch"}, "start": "2024-11-23T01:30:00Z", "end": "2024-11-23T13:30:00+11:00", "room": 3412}, {"id": 1069906, "title": {"en": "Lunch"}, "start": "2024-11-23T01:30:00Z", "end": "2024-11-23T13:30:00+11:00", "room": 3410}, {"id": 1069905, "title": {"en": "Lunch"}, "start": "2024-11-23T01:30:00Z", "end": "2024-11-23T13:30:00+11:00", "room": 3411}, {"code": "CERBXC", "id": 1069907, "title": "from seeds import plants: using IoT to grow healthy herbs", "abstract": "With the current climate crisis and the rise of households growing their own fruits, vegetables and herbs, the efficient use of potable water is crucial now more than ever. However, the majority of plant watering systems are either manual or time based - that is, they water plants on a pre-defined schedule. This talk will describe a simple automated watering system programmed with micropython and various extensions to the core product to simplify existing features and add new capabilities using various internet of things devices and data analytics tools.", "speakers": ["DEZCB8"], "track": 4870, "start": "2024-11-23T13:30:00+11:00", "end": "2024-11-23T14:00:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.796979+00:00", "state": null, "do_not_record": false}, {"code": "HMWPGH", "id": 1069908, "title": "Introducing Potnia: A Python language library for the conversion of ancient texts to Unicode", "abstract": "The last five years have seen a significant increase in the application of machine learning to the study of ancient scripts. Applications are broad, and include recognition via Optical Character Recognition (OCR), textual restoration, palaeographic analysis, topic modelling, representation learning, decipherment and machine translation (Sommerschield 2023). A large number of ancient language corpora have been digitised in recent decades, supporting this research. However, while the necessary Unicode blocks for many of these ancient scripts are available, a number of these data sets are still presented as Romanised transliterations.\r\n\r\nIn response to this situation, we have created Potnia (https://pypi.org/project/potnia/), an open-source Python language library under the Apache 2.0 license, designed to convert such transliterated texts to Unicode. The session image accompanying this proposal provides an example of Potnia\u2019s conversion process, with a Romanised transliteration of a Linear B text as the input, and the Unicode representation of this same text as the output. This conversion is crucial for downstream machine learning tasks, as tokenisation in the original Unicode script allows for more accurate representation of linguistic structures and mitigates potential biases introduced by transliteration.\r\n\r\nPotnia's flexible architecture, built on Python's object-oriented principles, employs string manipulation techniques and regular expressions to handle various complexities inherent in ancient texts, such as uncertain readings, missing elements, and script-specific notations. At present, the library can be used for Linear B texts, with functionality for Linear A, Sumerian and Akkadian soon to follow.\r\n\r\nPotnia's design allows for easy addition of new scripts, each with its own set of rules for tokenisation, regularisation, and character mapping. This extensibility positions us well for future inclusion of additional scripts. To ensure reliability and facilitate open-source contributions, we've implemented a comprehensive test suite using pytest, with test cases defined in YAML files for easy expansion. This approach covers key functionalities across different scripts and simplifies the process of adding new test scenarios as the library grows.\r\n\r\nReferences\r\nSommerschield, T., Y. Assael, J. Pavlopoulos, V. Stefanak, A. Senior, C. Dyer, J. Bodel, J. Prag, I. Androutsopoulos, and N.D. Freitas. 2023. \u201cMachine Learning for Ancient Languages: A Survey.\u201d Computational Linguistics 49 (3): 1\u201345. doi:10.1162/coli_a_00481.", "speakers": ["ZUWBQU", "YJFZGW"], "track": 4870, "start": "2024-11-23T13:30:00+11:00", "end": "2024-11-23T14:00:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:43:33.467965+00:00", "state": null, "do_not_record": false}, {"code": "R9ZKZC", "id": 1069909, "title": "Let's make a working implementation of async functions in Python 2.1, also, why you might want to use a more recent version of Python", "abstract": "Often I hear people lamenting that Python has too many features and that older versions of Python were better for that exact reason.\r\n\r\nTo make those people happy, we're going to pick apart the features of Python that enable the `async`/`await` syntax, layer by layer, until we happen upon a working implementation of coroutines that will function in Python 2.1.\r\n\r\nSomewhere in this talk will be some useful discussions about why recent syntactic developments in Python are a good thing actually, but let's not lie, you're reading this abstract for the stunt content. You'll get what you came for.", "speakers": ["QWCHX7"], "track": 4870, "start": "2024-11-23T13:30:00+11:00", "end": "2024-11-23T14:00:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797069+00:00", "state": null, "do_not_record": false}, {"code": "HFXFLZ", "id": 1069912, "title": "MicroPython: The best bits!", "abstract": "MicroPython continues to grow in popularity. But _why_? What is it about this pint-sized version of Python that makes it so darn compelling? What are the best bits of MicroPython? \r\n\r\nJoin me in this talk for a whirlwind tour of some of the most exciting features of this modern embedded programming language.", "speakers": ["N9ZZWG"], "track": 4870, "start": "2024-11-23T14:10:00+11:00", "end": "2024-11-23T14:40:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797189+00:00", "state": null, "do_not_record": false}, {"code": "CFS9GH", "id": 1069910, "title": "What Python Can Learn From Other Languages", "abstract": "Python is great! It's been a mainstay of web development and systems programming for decades and is on the cutting edge of many fields like scientific computing. But there is always more to improve, both in the language itself and how we use it. This talk will look at how ideas and features from other languages like Ruby, Go, and PHP could be used to improve Python!", "speakers": ["MY7QMZ"], "track": 4870, "start": "2024-11-23T14:10:00+11:00", "end": "2024-11-23T14:40:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797109+00:00", "state": null, "do_not_record": false}, {"code": "9KD9HJ", "id": 1069911, "title": "Cultural and Linguistic Influences on Translation: A Study of Novels", "abstract": "How do translations preserve the original meaning, style, and sentiment of texts across different languages and cultural contexts? This intriguing question drives our study as we delve into the complexities of translation.\r\n\r\nWe examine how sentiment analysis results differ for the same text in various languages, aiming to understand the role of language families in these variations. Using natural language processing techniques in Python, we analyse novels from diverse genres, time periods, and cultural backgrounds to uncover generalisable translation patterns.\r\n\r\nOur study seeks to answer whether translations of words, ideas, and societal contexts in novels are influenced by the cultural contexts into which they are translated. By highlighting the importance of accurate and culturally relevant translations, we emphasise how they play a crucial role in preserving cultural and societal knowledge, ensuring that the richness of the original text is maintained across languages.", "speakers": ["R3ENGB", "GNVTMG"], "track": 4870, "start": "2024-11-23T14:10:00+11:00", "end": "2024-11-23T14:40:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797139+00:00", "state": null, "do_not_record": false}, {"code": "YNDDJR", "id": 1069913, "title": "Walking the Tree of Life \u2013 Adventures in Phylogenetics", "abstract": "\"What's the last common ancestor of a bear and a weasel?\"\r\n\"Which animals are more related to pigs than cows?\"\r\n\"Are birds reptiles?\"\r\n\"Am I a fish?\"\r\n\r\nWith a recent interest in phylogeny \u2013 the science of evolution, diversification, and speciation \u2013 these are the kinds of questions I've been asking myself. I wanted to find a tool that would let me examine the relationships between species and find the answers to these questions, but, as I looked around I couldn't find anything that did what I wanted. So I made it myself.\r\n\r\nCome with me as I share my journey that led me to talk to some of Australia's top scientists, give up on talking to other top scientists, and accidentally stumble my way into making an actual contribution to science. Learn why I made this tool, how I made this tool, what stage it's at, and where you can use it yourself. And maybe learn some things about life on Earth along the way.\r\n\r\nOh, and to answer the questions above: dog-bears, peccaries, yes, and yes!", "speakers": ["8UFZNX"], "track": 4870, "start": "2024-11-23T14:50:00+11:00", "end": "2024-11-23T15:20:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797222+00:00", "state": null, "do_not_record": false}, {"code": "8UXYBS", "id": 1069915, "title": "Wait, is Wi-Fi just blinking lights?", "abstract": "Wi-Fi, the mysterious computer blabber. Have you ever wondered how are computers yapping away from under our noses? What secrets must they hold? In this talk we will cover the magic of Wi-Fi, how it works in detail and we will even get our own wireless communication system going using Python and micro-controllers.", "speakers": ["YCFJET"], "track": 4870, "start": "2024-11-23T14:50:00+11:00", "end": "2024-11-23T15:20:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797278+00:00", "state": null, "do_not_record": false}, {"code": "GF3NJK", "id": 1069914, "title": "Failsafes and Safety Fails: How to crash a train and other lessons for software engineers", "abstract": "Software builders and operators have long looked to transport and aviation for lessons in engineering practices and safety. Today, we\u2019ll turn our attention to the railways as we take 20 years of hindsight to look at the \u2018Broady runaway\u2019 and what it can teach us. This talk will dive into the ATSB\u2019s subsequent safety investigation, recommendations and parallels in the software world, offering us critical lessons in complex system design and incident management.\r\n\r\nFor software engineers, architects, managers and executives this is an opportunity for us to reflect and learn from the past so that we can build more resilient and easier to operate platforms in the future.\r\n\r\nOur runaway train is a 3 car electrical multiple unit (EMU) that, in 2003, did the full 17km Broadmeadows to Spencer st run in just 16 minutes, famously without a driver on board. The cause of the runaway and resulting collision with a stationary diesel locomotive has been the talk of many rail enthusiasts ever since, especially since there were no fatalities or serious injuries.", "speakers": ["PB9BKD"], "track": 4870, "start": "2024-11-23T14:50:00+11:00", "end": "2024-11-23T15:20:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797250+00:00", "state": null, "do_not_record": false}, {"id": 1069916, "title": {"en": "Afternoon break"}, "start": "2024-11-23T04:20:00Z", "end": "2024-11-23T15:50:00+11:00", "room": 3411}, {"id": 1069918, "title": {"en": "Afternoon break"}, "start": "2024-11-23T04:20:00Z", "end": "2024-11-23T15:50:00+11:00", "room": 3410}, {"id": 1069917, "title": {"en": "Afternoon break"}, "start": "2024-11-23T04:20:00Z", "end": "2024-11-23T15:50:00+11:00", "room": 3412}, {"id": 1069919, "title": {"en": "Lightning Talks (Saturday)"}, "start": "2024-11-23T04:50:00Z", "end": "2024-11-23T16:50:00+11:00", "room": 3410}, {"id": 1069920, "title": {"en": "Conference Opening (Sunday)"}, "start": "2024-11-23T22:00:00Z", "end": "2024-11-24T09:20:00+11:00", "room": 3410}, {"id": 1069921, "title": {"en": "Keynote - Revealed Soon!"}, "start": "2024-11-23T22:20:00Z", "end": "2024-11-24T10:05:00+11:00", "room": 3410}, {"id": 1069924, "title": {"en": "Morning break"}, "start": "2024-11-23T23:05:00Z", "end": "2024-11-24T10:35:00+11:00", "room": 3410}, {"id": 1069922, "title": {"en": "Morning break"}, "start": "2024-11-23T23:05:00Z", "end": "2024-11-24T10:35:00+11:00", "room": 3411}, {"id": 1069923, "title": {"en": "Morning break"}, "start": "2024-11-23T23:05:00Z", "end": "2024-11-24T10:35:00+11:00", "room": 3412}, {"code": "8HBU3Z", "id": 1069926, "title": "Using Multiple Databases in Django Applications", "abstract": "Over six years ago, three engineers from Sydney started working on an insurtech platform with global ambitions. They chose Django, even though two of them had no prior experience with the framework. Nevertheless, the project became a success, affirming that choosing Django was a great technical decision.\r\n\r\nThis is a real-life story about the challenges the team faced while scaling the project and changing the database architecture, all while maintaining uninterrupted services for millions of customers. We will cover some of the key technical decisions the team made, how Django supported us in migrating from a single database to a multi-database architecture, and examine the architectural benefits of using multiple databases in data-intensive applications.", "speakers": ["VQZYV9"], "track": 4870, "start": "2024-11-24T10:35:00+11:00", "end": "2024-11-24T11:05:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797649+00:00", "state": null, "do_not_record": false}, {"code": "LYLY7H", "id": 1069927, "title": "Quantifying Nebraska", "abstract": "[In 2020, xkcd published _Dependency_](https://xkcd.com/2347/), which posited that \"all modern digital infrastructure\" is ultimately transitively dependent on \"a project some random person in Nebraska has been thanklessly maintaining since 2003\".\r\n\r\nHow can we find these projects and ensure that their maintainers get the thanks and \u2014 more importantly \u2014 the resources they need?", "speakers": ["8LCDDU"], "track": 4870, "start": "2024-11-24T10:35:00+11:00", "end": "2024-11-24T11:05:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797727+00:00", "state": null, "do_not_record": false}, {"code": "QTWAGZ", "id": 1069925, "title": "Better dataframes", "abstract": "Dataframes are an abstraction that proven extremely useful for data analysis in dynamic languages like S, R, Python, and Julia. The Pandas package has been dominant in Python for around 15 years but its design is now showing its age. There is now a vibrant and messy ecosystem of potential disruptors to the status quo for data analysis tasks in Python.\r\n\r\nThis talk will help you make sense of the mess. It will give you a comprehensive review of the strengths and weaknesses of the challengers, including Polars, Ibis, Vaex, Modin, Dask, and the PySpark Pandas API (formerly known as Koalas). It will also review efforts to unify the PyData landscape such as Apache Arrow, the dataframe interchange protocol, Narwhals, and the Ibis project from the original author of Pandas, Wes McKinney.", "speakers": ["3WXCVF"], "track": 4870, "start": "2024-11-24T10:35:00+11:00", "end": "2024-11-24T11:05:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797621+00:00", "state": null, "do_not_record": false}, {"code": "P7UKEN", "id": 1069928, "title": "Dependency management: the cause of\u2014and solution to\u2014all supply chain problems", "abstract": "How many dependencies does your software project have? How much confidence do you have in them? We sometimes say in open source there is safety in \u2018eyes on the code\u2019, but with supply chain attacks on the rise, who is really watching?\r\n\r\nMost software is built with hundreds if not thousands of direct and transitive dependencies, and those dependencies change every day. Our analysis shows that up to 20% of PyPI packages change their dependency graphs multiple times per week. Ensuring that each one of these dependencies is trustworthy is a daunting task.\r\n\r\nIn this talk, we will share some stats and stories from building deps.dev. We will look at what it means for a project to be healthy, dig into the complexities of dependency resolution algorithms, and recommend tools that can make practical dependency management possible if not easy.", "speakers": ["X99XWA"], "track": 4870, "start": "2024-11-24T11:15:00+11:00", "end": "2024-11-24T11:45:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797757+00:00", "state": null, "do_not_record": false}, {"code": "9ZRRJY", "id": 1069930, "title": "How to confirm that the index you added actually improves query performance", "abstract": "Database indexes allow us to speed up queries by providing a method to quickly look up data. However, do we always check that they actually improve performance? In this talk, I explain how and why an automatically added database index did not get used by the queries we expected. Together we will go through SQL produced from Django ORM, index structures and generating database query plans to unravel what was actually going on behind the scenes in our queries.", "speakers": ["WRLNJE"], "track": 4870, "start": "2024-11-24T11:15:00+11:00", "end": "2024-11-24T11:45:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797829+00:00", "state": null, "do_not_record": false}, {"code": "U3YKPB", "id": 1069929, "title": "Rethinking Data Catalogs: The Promise and Pitfalls", "abstract": "The promise of data catalogs, a single source of truth for your organisation's data, often clashes with the reality of under-utilised features, redundancy across various data catalog solutions across teams, adoption challenges and a lack of clear strategy.\r\n\r\n\r\nThis talk will pose some critical questions concerning current approaches of choosing and implementing data catalogs:\r\n\r\n\r\n- Do you actually need a Data catalog?\r\n- Are data catalogs becoming just glorified registries without much practical use?\r\n- Why do organisations find themselves juggling multiple catalogs?\r\n- Is there a synergy between System Catalog & Data Catalog?\r\n- How do you identify the right fit and what are the considerations?\r\n- How to measure success for a data catalog?\r\n\r\nWe'll dissect the reasons behind these challenges and share our experience of implementing data catalogs across different organisations.", "speakers": ["3DCSNN", "98HVRZ"], "track": 4870, "start": "2024-11-24T11:15:00+11:00", "end": "2024-11-24T11:45:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797786+00:00", "state": null, "do_not_record": false}, {"code": "DQPW7L", "id": 1069932, "title": "Adding File System context to pathlib", "abstract": "Adding file system specific information (e.g. how to match case, whether to follow symlinks) to pathlib Path objects, instead of adding such arguments to methods taking Path objects.", "speakers": ["ZY7KJB"], "track": 4870, "start": "2024-11-24T11:55:00+11:00", "end": "2024-11-24T12:25:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.797887+00:00", "state": null, "do_not_record": false}, {"code": "LALLKX", "id": 1069933, "title": "The perfect setup? Not setup.py! Building packages the right way", "abstract": "Everyone loves package management! Python's packaging systems have continued to evolve over the years. Specifications such as environment markers, custom backends, and static build configurations have been introduced. Additionally new package managers like Poetry and Hatch have emerged.\r\n\r\nYet despite the updates, many projects are still living in the 2010s - using a setup.py file to specify the build configuration for their package. setup.py is notoriously difficult to learn and a common vector for launching attacks during install.\r\n\r\nThis talk will discuss why it's time to move away from using setup.py and how to do it.\r\n\r\nWe will see how setup.py is used and abused - from downloading huge datasets (*cough* AI *cough*), modifying the system, and most critically how malicious payloads can be included to execute when setup.py is evaluated. Arbitrary code in setup.py makes security analysis harder and creates more work for PyPI administrators.\r\n\r\nThe talk will detail the new (as of 7 years ago) methods of describing build configurations in pyproject.toml and setup.cfg, giving examples of how to use these methods. The examples will include how to achieve what once required dynamic code to include data like readme contents, version numbers and requirements. The limits of pyproject.toml and setup.cfg will also be covered.\r\n\r\nFinally, the talk will outline how moving away from setup.py improves the Python packaging universe, how it makes life easier for ensuring Python security, and what can be done to drive adoption of pyproject.toml.", "speakers": ["CGMRAQ"], "track": 4870, "start": "2024-11-24T11:55:00+11:00", "end": "2024-11-24T12:25:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.797915+00:00", "state": null, "do_not_record": false}, {"code": "UKJB7J", "id": 1069931, "title": "Follow the Postgres brick road: a journey of testing against a real database server", "abstract": "Tests are good. Code that uses a database is good. Testing code that uses a database is great\u2026 But it's not so easy to do well. Let's follow our journey through various pitfalls to make testing against a local PostgreSQL instance informative, reliable and fast, so that we have fewer horrible surprises once code gets to production.", "speakers": ["PGYLJB"], "track": 4870, "start": "2024-11-24T11:55:00+11:00", "end": "2024-11-24T12:25:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.797858+00:00", "state": null, "do_not_record": false}, {"id": 1069935, "title": {"en": "Lunch"}, "start": "2024-11-24T01:25:00Z", "end": "2024-11-24T13:30:00+11:00", "room": 3411}, {"id": 1069934, "title": {"en": "Lunch"}, "start": "2024-11-24T01:25:00Z", "end": "2024-11-24T13:30:00+11:00", "room": 3410}, {"id": 1069936, "title": {"en": "Lunch"}, "start": "2024-11-24T01:25:00Z", "end": "2024-11-24T13:30:00+11:00", "room": 3412}, {"code": "WYZEUQ", "id": 1069938, "title": "With Xonsh use Python as your shell: No more switching between shell and Python syntax!", "abstract": "Many of us employ shells (like Bash, Zsh or PowerShell) in the terminal to \u201cget admin things done\u201d on our computer. For the actual programming then we switch to Python to \u201cget real things done\u201d.\r\n\r\nBut what if you could use Python in your programs *and* in the terminal? Welcome to Xonsh, a shell and a Python REPL in one. This unique feature helps very much to get all things in the terminal done quicker, safer and to have more fun on the way!", "speakers": ["BHGMDT"], "track": 4870, "start": "2024-11-24T13:30:00+11:00", "end": "2024-11-24T14:00:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.798081+00:00", "state": null, "do_not_record": false}, {"code": "ZGCQSY", "id": 1069937, "title": "Setting Up Your Python Community for Success: Lessons from the Melbourne Python User Group", "abstract": "Discover best practices in managing a meetup which fosters a vibrant open-source ecosystem and maintains engaged membership and volunteers from experiences within the Melbourne Python User Group. Learn best practices for organizing successful meetups, hackathons, and collaborative projects that drive community engagement and innovation.", "speakers": ["XPM9RU"], "track": 4870, "start": "2024-11-24T13:30:00+11:00", "end": "2024-11-24T14:00:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.798052+00:00", "state": null, "do_not_record": false}, {"code": "C37SMX", "id": 1069939, "title": "Django, REST and OpenAPI - a gentle introduction", "abstract": "Django is an all-parts-included framework that is one of the most popular ways of building a website in Python. But for many websites that's not enough - we also need a REST-based API with an OpenAPI specification so that other programs can read and work with our data. This talk will cover the Python packages that can provide these facilities and how to integrate them into your existing website.", "speakers": ["RB3PZZ"], "track": 4870, "start": "2024-11-24T13:30:00+11:00", "end": "2024-11-24T14:00:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.798110+00:00", "state": null, "do_not_record": false}, {"code": "NFZKYP", "id": 1069941, "title": "Time and Time Again", "abstract": "Time is one of the few forces that remain outside of human control. Attempting to understand it is hard enough, but attempting to make computers understand it is a frequent and common source of errors, especially across different cultures and calendars.\r\n\r\nThis talk will explore a number of different ways of understanding and expressing the flow of time, as well as common and uncommon edge cases to account for when building software.", "speakers": ["P9CXX8"], "track": 4870, "start": "2024-11-24T14:10:00+11:00", "end": "2024-11-24T14:40:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.798166+00:00", "state": null, "do_not_record": false}, {"code": "MVAF7U", "id": 1069942, "title": "How we used Python to try and save lives", "abstract": "Google Crisis Response saved lives and tried to make the world better. And all of it was in Python.", "speakers": ["AK9RMY"], "track": 4870, "start": "2024-11-24T14:10:00+11:00", "end": "2024-11-24T14:40:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.798194+00:00", "state": null, "do_not_record": false}, {"code": "S7E8T7", "id": 1069940, "title": "Three Django Apps in a Trenchcoat: Writing an event management website with not a lot of time", "abstract": "Come and hear how I wrote 3 Django apps in a trenchcoat to run a ~300+ person scout camp, from making event registration a breeze, to conducting everyone's movements throughout the entire event.", "speakers": ["CYVHAC", "QD8GMS"], "track": 4870, "start": "2024-11-24T14:10:00+11:00", "end": "2024-11-24T14:40:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.798138+00:00", "state": null, "do_not_record": false}, {"code": "UKK9K9", "id": 1069943, "title": "Lowering the Gangplank: How Writing Songs Relates to Templating", "abstract": "Templating is awesome! It makes automation easier and takes away a lot of the tedious work required to maintain and build new things. Now, what if I told you that the way we utilise templates is somewhat similar to how songs are written? In this talk I will lower the proverbial gangplank from our templating ship as we cross over into the land of song writing and discover how these two concepts are linked.", "speakers": ["FTUWNC"], "track": 4870, "start": "2024-11-24T14:50:00+11:00", "end": "2024-11-24T15:20:00+11:00", "room": 3410, "duration": 30, "updated": "2024-09-03T10:14:51.798222+00:00", "state": null, "do_not_record": false}, {"code": "WCUHJ8", "id": 1069945, "title": "Turtles all the way down: Abstractions and when we should use them", "abstract": "Abstractions are one of the greatest tools in all of programming. But sometimes we reach for them too often. How do we know when we should use an abstraction, and when we should just use the ones that already exist.", "speakers": ["9JG7DV"], "track": 4870, "start": "2024-11-24T14:50:00+11:00", "end": "2024-11-24T15:20:00+11:00", "room": 3412, "duration": 30, "updated": "2024-09-03T10:14:51.798279+00:00", "state": null, "do_not_record": false}, {"code": "B8RJPR", "id": 1069944, "title": "Space Django: Migrating and Redesigning a Database while Hunting for Satellites.", "abstract": "Being a fast-paced startup and developing a completely new product in the Space Industry is very challenging, and moving fast wasn\u2019t just a requirement but essential. It's the kind of environment that is hard to think too much ahead, and for that reason, our database was created to address the problems we had at hand. \r\nAfter a while, new products and features were required, and our database couldn't handle all of them. That\u2019s when we decided to move our data to a newly designed database instance with proper relationships, able to handle more features, higher workloads and scalable. During the planning phase, several approaches were discussed, such as creating a script to copy the data and some off-the-shelf software that we thought could handle that for us. However, the complexity of implementing those approaches wasn\u2019t feasible with our deadlines for releasing the new product. So, we decided to copy the data using Django ORM (our product was already using Django), the idea was to avoid the complexity of creating complex SQL Queries to copy data to new tables while keeping the data consistency and integrity.\r\nIn this presentation, we aim to demonstrate how our database was limiting the company\u2019s scalability and how we fixed those problems by migrating to a new database schema whilst maintaining two database instances, one for internal operations and the other for customer-facing functions. Moreover, we show how we did that using object-oriented programming in combination with Django\u2019s ORM to migrate our database without the need to handle complex SQL commands to copy data, keep relationships, and create new ones.", "speakers": ["EJ9MHD"], "track": 4870, "start": "2024-11-24T14:50:00+11:00", "end": "2024-11-24T15:20:00+11:00", "room": 3411, "duration": 30, "updated": "2024-09-03T10:14:51.798250+00:00", "state": null, "do_not_record": false}, {"id": 1069948, "title": {"en": "Afternoon break"}, "start": "2024-11-24T04:20:00Z", "end": "2024-11-24T15:50:00+11:00", "room": 3412}, {"id": 1069946, "title": {"en": "Afternoon break"}, "start": "2024-11-24T04:20:00Z", "end": "2024-11-24T15:50:00+11:00", "room": 3410}, {"id": 1069947, "title": {"en": "Afternoon break"}, "start": "2024-11-24T04:20:00Z", "end": "2024-11-24T15:50:00+11:00", "room": 3411}, {"id": 1069949, "title": {"en": "Lightning Talks (Sunday)"}, "start": "2024-11-24T04:50:00Z", "end": "2024-11-24T16:50:00+11:00", "room": 3410}, {"id": 1069950, "title": {"en": "Closing Address (Sunday)"}, "start": "2024-11-24T05:50:00Z", "end": "2024-11-24T17:30:00+11:00", "room": 3410}], "version": "20240903.1", "timezone": "Australia/Melbourne", "event_start": "2024-11-22", "event_end": "2024-11-24", "tracks": [{"id": 4870, "name": {"en": "Main Conference"}, "description": {}, "color": "#FC0101"}, {"id": 4871, "name": {"en": "Education"}, "description": {}, "color": "#FFBF00"}, {"id": 4872, "name": {"en": "DevOops"}, "description": {}, "color": "#00BA1E"}, {"id": 4873, "name": {"en": "Scientific Python"}, "description": {}, "color": "#0078A4"}], "rooms": [{"id": 3410, "name": {"en": "Goldfields Theatre"}, "description": {}}, {"id": 3411, "name": {"en": "Eureka 2"}, "description": {}}, {"id": 3412, "name": {"en": "Eureka 3"}, "description": {}}], "speakers": [{"code": "GNVTMG", "name": "Eliz So", "avatar": ""}, {"code": "YJFZGW", "name": "Kabir Manandhar Shrestha", "avatar": ""}, {"code": "HVQBMZ", "name": "Pradeep Rajasekhar", "avatar": ""}, {"code": "N9ZZWG", "name": "Matt Trentini", "avatar": "https://pretalx.com/media/avatars/ea42d30f7cda55601ae9931f5579abe0_nQNiRQD.jpg"}, {"code": "9JGCPM", "name": "Andrew Williams", "avatar": "https://pretalx.com/media/avatars/JC_9591-head.png"}, {"code": "MY7QMZ", "name": "Noah Kantrowitz", "avatar": "https://pretalx.com/media/avatars/headshot_00YX2vK.jpg"}, {"code": "PFTMME", "name": "J. Rosenbaum", "avatar": "https://pretalx.com/media/avatars/headshot1_PdnFrwR.jpeg"}, {"code": "3DCSNN", "name": "Harmeet Sokhi", "avatar": "https://pretalx.com/media/avatars/1aa9a192090001f30be351ac4c8021f5_vMdEteR.jpg"}, {"code": "P9CXX8", "name": "Yaakov", "avatar": "https://pretalx.com/media/avatars/MicrosoftTeams-image-smaller_j754fqe.jpg"}, {"code": "97JLNB", "name": "Anna Tisch", "avatar": ""}, {"code": "7SWEAL", "name": "A.J. Fisher", "avatar": "https://pretalx.com/media/avatars/1712749524080_SatwVlO.jfif"}, {"code": "ATDLZU", "name": "David Andersson", "avatar": "https://pretalx.com/media/avatars/1615684432676_U5XDwSy.jpeg"}, {"code": "JJR3W8", "name": "Mel", "avatar": ""}, {"code": "RSUKRU", "name": "Sam Bishop", "avatar": "https://pretalx.com/media/avatars/avatar-sp1_PGtPyGB.jpg"}, {"code": "8UFZNX", "name": "Jack Reichelt", "avatar": "https://pretalx.com/media/avatars/profile-pic_qQ6v2SB.png"}, {"code": "8NFJSF", "name": "Juan Nunez-Iglesias", "avatar": "https://pretalx.com/media/avatars/425e61a8c6b77bd5d300cd1991ec3f15_n565tME.jpg"}, {"code": "XPM9RU", "name": "Renaldi Gondosubroto", "avatar": "https://pretalx.com/media/avatars/Renaldi_Headshot_2_2ykNW11.png"}, {"code": "HBDX9R", "name": "Andrew Lonsdale", "avatar": "https://pretalx.com/media/avatars/32eac8bd4629b636cb2f7eb1adfc1e30_XwrpOAA.jpg"}, {"code": "FTUWNC", "name": "Chelsea Finnie", "avatar": "https://pretalx.com/media/avatars/PenguSquare2_vrBAf4Y.png"}, {"code": "EJ9MHD", "name": "Artur Baruchi", "avatar": "https://pretalx.com/media/avatars/IMG_8138_rqZjrzD.png"}, {"code": "VXBVLZ", "name": "Stephen Tierney", "avatar": "https://pretalx.com/media/avatars/stierney_small_PfgTgMf.jpg"}, {"code": "8NDWMQ", "name": "Alison Wong", "avatar": "https://pretalx.com/media/avatars/AlisonWONGFinal_TtKrbTY.jpg"}, {"code": "9JG7DV", "name": "Mark Lakewood", "avatar": "https://pretalx.com/media/avatars/Profile_photo_kLZb4p5.jpg"}, {"code": "HQSSZQ", "name": "Dr Jack Simpson", "avatar": "https://pretalx.com/media/avatars/jack_KOm8jei_KQth295.jpg"}, {"code": "PB9BKD", "name": "Jack Skinner", "avatar": "https://pretalx.com/media/avatars/228a543862b1b9c1e7f3b812620b1471_D363AsG.jpg"}, {"code": "87LT9Q", "name": "Simon Aubury", "avatar": ""}, {"code": "LDFVBH", "name": "Russell Keith-Magee", "avatar": "https://pretalx.com/media/avatars/b91373320dbc3bc52fcd870d3b21748f_UHhnDR7.jpg"}, {"code": "VQZYV9", "name": "Artem Kolesnikov", "avatar": "https://pretalx.com/media/avatars/photo_IgPBVll.jpg"}, {"code": "WRLNJE", "name": "Suzannah Cooper", "avatar": ""}, {"code": "BHTKP3", "name": "Damien George", "avatar": "https://pretalx.com/media/avatars/DSC_9022-crop_95so5l7.JPG"}, {"code": "KCADCR", "name": "Tom Eastman", "avatar": "https://pretalx.com/media/avatars/52298146141_97cb5031f9_k_Kyf5T1H.jpg"}, {"code": "AHET73", "name": "Evan Kohilas", "avatar": "https://pretalx.com/media/avatars/ebd48c4b1d85878d6035ad6ac3631070_90Vo0dw.jpg"}, {"code": "7D78ZU", "name": "Liam Bluett", "avatar": ""}, {"code": "WREQBQ", "name": "Haggen So", "avatar": ""}, {"code": "ZZQ9TE", "name": "Tennessee Leeuwenburg", "avatar": "https://pretalx.com/media/avatars/Profile_Photo_Tennessee_Leeuwenburg_JwewX1k.jpg"}, {"code": "YCFJET", "name": "Felipe Tavares", "avatar": "https://pretalx.com/media/avatars/profile-pic11_NglMWbQ.png"}, {"code": "8LCDDU", "name": "Adam Harvey", "avatar": "https://pretalx.com/media/avatars/36d8c4d60eaed7139aa0ab88378590c0_QjHrX33.jpg"}, {"code": "CGMRAQ", "name": "Caleb Brown", "avatar": ""}, {"code": "QWCHX7", "name": "Christopher Neugebauer", "avatar": "https://pretalx.com/media/avatars/chrisjrn-unicorn_LLQw4TY.jpg"}, {"code": "9WJJPL", "name": "Stefanie Molin", "avatar": "https://pretalx.com/media/avatars/li_7EgJHSM.jpeg"}, {"code": "AK9RMY", "name": "Anthony Baxter", "avatar": ""}, {"code": "VJPZ7L", "name": "Sanjin", "avatar": ""}, {"code": "BNHHZ9", "name": "Pravin vaz", "avatar": ""}, {"code": "ZY7KJB", "name": "Clinton Roy", "avatar": "https://pretalx.com/media/avatars/0898bb664197d0f27e15f5677a183de7_Yod0P7l.jpg"}, {"code": "BHGMDT", "name": "Leo Broska", "avatar": "https://pretalx.com/media/avatars/1c8d1308bafaa6eb869321d5dca427cd_6ulmg7M.jpg"}, {"code": "PGYLJB", "name": "Huon Wilson", "avatar": "https://pretalx.com/media/avatars/profile.jpg_IRjIpGe.png"}, {"code": "JTPU7J", "name": "Edwina Mead", "avatar": "https://pretalx.com/media/avatars/Untitled_M6iVsMc.png"}, {"code": "MK9KK8", "name": "Carolyn Gekas", "avatar": ""}, {"code": "RB3PZZ", "name": "Paul Wayper", "avatar": "https://pretalx.com/media/avatars/c6d06e8c0df6789364ac68f7aeaed800_lQgt0db.jpg"}, {"code": "3WXCVF", "name": "Ed Schofield", "avatar": ""}, {"code": "Q7H3M8", "name": "Lizzie Silver", "avatar": "https://pretalx.com/media/avatars/Silver_Lizzie_4eAibq1.jpg"}, {"code": "MSEC3L", "name": "Emily Massahud", "avatar": "https://pretalx.com/media/avatars/emily_massahud_pLJtvvo.jpg"}, {"code": "X99XWA", "name": "Nicky Ringland", "avatar": "https://pretalx.com/media/avatars/cd3e4475f0521c4df69598eae54502ae_oLtz3hX.jpg"}, {"code": "JFJVXW", "name": "Luke Wiwatowski", "avatar": "https://pretalx.com/media/avatars/b76ad1749a253bb98395d9a566c99ad6_Y2eAHoO.jpg"}, {"code": "DEZCB8", "name": "Anthony I. Joseph", "avatar": "https://pretalx.com/media/avatars/Image_from_iOS_XuOClu6.jpg"}, {"code": "98HVRZ", "name": "Vishal Srivastava", "avatar": "https://pretalx.com/media/avatars/self_low_res_3_18IqiHv.jpg"}, {"code": "R3ENGB", "name": "Anneysha Sarkar", "avatar": ""}, {"code": "TQKR8P", "name": "Renee Noble", "avatar": "https://pretalx.com/media/avatars/renee_pycon_tpf6eur.jpeg"}, {"code": "S7AU83", "name": "Draga Doncila Pop", "avatar": ""}, {"code": "CYVHAC", "name": "Matt Cengia", "avatar": "https://pretalx.com/media/avatars/signal-2022-07-03-19-36-05-9942_BaFQYmw_AS6w9Tc.jpg"}, {"code": "NTEJEK", "name": "Ash Bek", "avatar": "https://pretalx.com/media/avatars/2589332414bf1618600e2bcafa1307f3f50ecfdc_YbHvJd4.webp"}, {"code": "ZUWBQU", "name": "Emily Tour", "avatar": "https://pretalx.com/media/avatars/Knossos_Site_2_WM4L6aW.jpg"}, {"code": "QD8GMS", "name": "Luke Byrnes", "avatar": "https://pretalx.com/media/avatars/5e753a48150c4b90dd6addba390e5029_A1kEdh3.jpg"}, {"code": "PAMFZZ", "name": "Ned Letcher", "avatar": "https://pretalx.com/media/avatars/ned_profile_pic_sxnDbKl.jpg"}]} diff --git a/src/pages/pycon-au-2024/speaker/index.html b/src/pages/pycon-au-2024/speaker/index.html index 4c06de45..26492c55 100644 --- a/src/pages/pycon-au-2024/speaker/index.html +++ b/src/pages/pycon-au-2024/speaker/index.html @@ -121,1439 +121,1397 @@

+ +

+
+
+ +
+ - + - - - -
- + The speaker’s profile picture - -
-
-
+
+
+
+
Andrew Lonsdale
+

Andrew had a background in software engineering before deciding to return to study bioinformatics in 2010. After completing the MSc, he was a research assistant and PhD student studying plant cell walls before crossing over to work on human biology in cancer and kidney projects. After submitting his thesis, he began a postdoctoral researcher at the Peter MacCallum Cancer Centre. There he has continued his research interests in the transcriptome of cancers. Andrew is a strong advocate for the discipline of bioinformatics, and enjoys teaching computing and bioinformatics skills.

+
    - The speaker’s profile picture +
  • Avocado, Cheese, Grape, Tomato or: How I Used Python to Stop Worrying and Love Emoji in Bioinformatics
  • +
+
-
-
-
Andrew Williams
-

I’m an optical astronomer who moved from research into software for telescope and instrumentation automation, and I've been working on the Murchison Widefield Array (a large radio telescope in the Murchison region of Western Australia) and related instrumentation since 2007. I work for Curtin University, in Perth, Australia.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Andrew Williams
+

I’m an optical astronomer who moved from research into software for telescope and instrumentation automation, and I've been working on the Murchison Widefield Array (a large radio telescope in the Murchison region of Western Australia) and related instrumentation since 2007. I work for Curtin University, in Perth, Australia.

+
    - The speaker’s profile picture +
  • Astronomy with Python, for non-astronomers
  • +
+
- -
-
Anna Tisch
-

I have been a Python developer for over 10 years, based between Wellington, New Zealand and Redmond, Washington. For over six of those years, I have been working for Microsoft on the Azure SDK for Python.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Anna Tisch
+

I have been a Python developer for over 10 years, based between Wellington, New Zealand and Redmond, Washington. For over six of those years, I have been working for Microsoft on the Azure SDK for Python.

+
    - The speaker’s profile picture +
  • Performant Python
  • +
+
- -
-
Anneysha Sarkar
-

I’m Eliz So, a student from Australian National University (ANU) studying a double degree in Politics, Philosophy and Economics and Science (majoring in Computer Science and minoring in Mathematics). I have been fascinated by how computing works since young, and decided to learn programming then!

-

In my free time I enjoy creating 3D models, photography and videography, playing music and bouldering. I’m looking forward to putting my computing skills in my hobbies as well, such as integrating computer vision with photography and videography. In the meantime, I would love to learn more about different aspects in machine learning and theoretical computing.

-

Hi, I am Anneysha, I am studying Advanced Computing at the Australian National University. I love languages, and learning as many language scripts as I can!

-

I am interested in solving problems using a human-centric approach with strong backing from existing data and applying computational techniques to it, such as Natural Language Processing, and Machine Learning. In my free time, I like watching anime, cooking (things I’ve never made before!), and travelling.

-

Fun fact: Eliz and I met in our first semester at university when we were doing the same Finance and Computing courses. 🙂

-
    - -
  • Cultural and Linguistic Influences on Translation: A Study of Novels
  • - -
-
- -
- - -
-
- - -
- + The speaker’s profile picture - -
-
-
+
+
+
+
Anthony Baxter
+

Anthony has been using Python since the dark ages of Python 0.9.2. Guido tricked him into being the release manager for Python for a number of years, during that time he convinced vendors to trust us. PEP 6 and so forth.

+

He's gone from working at Google to working for a union. Always gotta try and save the world. Or try, anyway.

+
    - The speaker’s profile picture +
  • How we used Python to try and save lives
  • +
+
-
-
-
Anthony I. Joseph
-
-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Anthony I. Joseph
+
+
    - The speaker’s profile picture +
  • from seeds import plants: using IoT to grow healthy herbs
  • +
+
- -
-
Artem Kolesnikov
-

Hello, I’m Artem, a Director of Software Engineering at Cover Genius, a global insurtech company. With around 15 years of experience as a Software Engineer, I currently specialise in Python API development using Django. I’m passionate about working with both people and systems, and I strive to close gaps between the two in a sustainable and responsible manner. Outside of work, I practice martial arts, currently focusing on Brazilian Jiu-Jitsu (BJJ). I'm also organising SyDjango, a Django meetup group in Sydney.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Artem Kolesnikov
+

Hello, I’m Artem, a Director of Software Engineering at Cover Genius, a global insurtech company. With around 15 years of experience as a Software Engineer, I currently specialise in Python API development using Django. I’m passionate about working with both people and systems, and I strive to close gaps between the two in a sustainable and responsible manner. Outside of work, I practice martial arts, currently focusing on Brazilian Jiu-Jitsu (BJJ). I'm also organising SyDjango, a Django meetup group in Sydney.

+
    - The speaker’s profile picture +
  • Using Multiple Databases in Django Applications
  • +
+
- -
-
Artur Baruchi
-

Artur Baruchi has a bachelor's degree in Computer Science and received an M.Sc. (2010) and a PhD degree (2015) in computer engineering from the University of Sao Paulo, Brazil.
-From 2005 to 2015, he worked as a Unix SysAdmin for several companies such as HP, IBM, and EDS. From 2015 to 2017
-he worked as a Postdoctoral researcher at Sao Paulo State University on an Open Source project about Software Defined Networks (SDN) and Cloud Computing. Also, during this period, he was a professor at Anhembi Morumbi University.
-After that, worked at LexisNexis as consulting Software Engineer and HPCC ambassador in several universities performing workshops and as advisor to undergraduate and graduate students.
-He moved to Australia in 2021 to work as an SRE at Goldman Sachs and is currently working as a Software Engineer at HEO (an Australian startup in the Space Industry) and as a technical reviewer of books for Manning Publisher.

-
    - -
  • Space Django: Migrating and Redesigning a Database while Hunting for Satellites.
  • - -
-
- -
- - -
-
- - -
- + The speaker’s profile picture - -
-
-
+
+
+
+
Ash Bek
+

Ash is a cyber security engineer with a background in medical device testing. Chronically incapable of saying no to interesting projects or weird technical problems, they are also allergic to writing scripts more than ~300 lines long. Involved in a number of pride networks, they're passionate about expanding queer representation in cyber security and engineering.

+

They still haven't figured out what DevSecOps is, and at this point are too afraid to ask.

+
    - The speaker’s profile picture +
  • A Lazy Person's Guide to Building REST Clients or: How I Learned to Stop Worrying and Love Dunder Overrides
  • +
+
-
-
-
Caleb Brown
-

Caleb is a Senior Software Engineer working for Google's Open Source Security Team. At Google he contributes to deps.dev and maintains a repository of malicious package reports for open source packages. Caleb has been using Python for over 15 years, starting with build Django sites at publishing company.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Caleb Brown
+

Caleb is a Senior Software Engineer working for Google's Open Source Security Team. At Google he contributes to deps.dev and maintains a repository of malicious package reports for open source packages. Caleb has been using Python for over 15 years, starting with build Django sites at publishing company.

+
    - The speaker’s profile picture +
  • The perfect setup? Not setup.py! Building packages the right way
  • +
+
- -
-
Carolyn Gekas
-
-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Carolyn Gekas
+
+
    - The speaker’s profile picture +
  • Transitioning from VB to Python – Mapping a 6 month journey
  • +
+
- -
-
Chelsea Finnie
-

Chelsea is a Network DevOps Engineer working at REANNZ. She is also a committee member of Python New Zealand (NZPUG) and is heavily involved with this year's Kiwi PyCon. She's passionate about automation, just making things easy for yourself, and thinks Python is just great in a lot of ways for so many different things.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Chelsea Finnie
+

Chelsea is a Network DevOps Engineer working at REANNZ. She is also a committee member of Python New Zealand (NZPUG) and is heavily involved with this year's Kiwi PyCon. She's passionate about automation, just making things easy for yourself, and thinks Python is just great in a lot of ways for so many different things.

+
    - The speaker’s profile picture +
  • Lowering the Gangplank: How Writing Songs Relates to Templating
  • +
+
- -
-
Christopher Neugebauer
-

Christopher Neugebauer is an Australian developer, speaker, and serial community conference organiser, who presently lives in the United States.

-

He serves as a Director of the Python Software Foundation, and is co-organiser of the acclaimed North Bay Python conference, a boutique one-track conference run in unusual venues — include an old vaudeville theatre, and more recently a barn on a farm — in Petaluma, California.

-

Christopher is also a contributor on the open source Pants build system, helping make Python’s testing, correctness, and style tools accessible and fast for developers, no matter how big their codebase.

-
    - -
  • Let's make a working implementation of async functions in Python 2.1, also, why you might want to use a more recent version of Python
  • - -
-
- -
+ - -
-
- - - - - -
-
David Andersson
-

I graduated with an engineering degree and joined the largest telco in Australia as a software developer. After a few years, I switched to product where I eventually ended up leading the creation of products for developers. This led me back into engineering where I took on an organisation tackling cloud products.

-

An opportunity came up to join Canonical where I have been for the last 2 years working on products to simplify operations of open source products.

-
-
-
- + The speaker’s profile picture - -
-
-
+
+
+
+
David Andersson
+

I graduated with an engineering degree and joined the largest telco in Australia as a software developer. After a few years, I switched to product where I eventually ended up leading the creation of products for developers. This led me back into engineering where I took on an organisation tackling cloud products.

+

An opportunity came up to join Canonical where I have been for the last 2 years working on products to simplify operations of open source products.

+
    - The speaker’s profile picture +
  • Simplifying Python Web App Operations: Automating K8s Ops with Open Source
  • +
+
-
-
-
Draga Doncila Pop
-
-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Draga Doncila Pop
+
+
    - The speaker’s profile picture +
  • Explore, annotate, and analyse multidimensional image data with napari
  • +
+
- -
-
Dr Jack Simpson
-

Jack is a Director at Endgame Economics, a boutique consulting firm that specialises in providing quantitative advice in the energy sector. He has over a decade of experience working as a consultant, data scientist, and software developer.

-

He holds a PhD in computational biology, and has extensive expertise applying mathematical optimisation and machine learning techniques to solve problems in the energy sector.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Dr Jack Simpson
+

Jack is a Director at Endgame Economics, a boutique consulting firm that specialises in providing quantitative advice in the energy sector. He has over a decade of experience working as a consultant, data scientist, and software developer.

+

He holds a PhD in computational biology, and has extensive expertise applying mathematical optimisation and machine learning techniques to solve problems in the energy sector.

+
    - The speaker’s profile picture +
  • ML ain’t your only hammer: adding mathematical optimisation to the data scientist’s toolbox
  • +
+
- -
-
Ed Schofield
-
-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Ed Schofield
+
+
    - The speaker’s profile picture +
  • Better dataframes
  • +
+
- -
-
Edwina Mead
-

Edwina Mead BEng (Hons), MPH, MGH
-PhD student, UTS
-Research Assistant, UNSW

-

Edwina is a PhD student in Public Health at the University of Technology Sydney, where she is combining her software engineering background with cutting-edge health research. She is harnessing Python's powerful data processing capabilities to automate a complex systematic review, synthesising vast amounts of medical literature to create a more holistic understanding of the far-reaching impacts of current maternity practices on women, children, health systems, and even the environment.

-

In her role as a research assistant at UNSW, Edwina applies Python to rapidly analyse administrative data on ambulance attendances for drowning in NSW. This work has expanded our understanding of the drowning burden in the state, showcasing Python's versatility in public health research.

-

Edwina's innovative approaches demonstrate how Python can accelerate and enhance research in public health, from streamlining data analysis to increasing the scope and depth of evidence synthesis.

-

When she's not immersed in code or health data, Edwina can be found wrangling her two young children and playfully introducing them to computational thinking concepts - perhaps nurturing the next generation of Python enthusiasts!

-
    - -
  • From Keyword Chaos to Clarity: Conquering a Complex Systematic Review with Python
  • - -
-
- -
- - -
-
- - -
- + The speaker’s profile picture - -
-
-
+
+
+
+
Eliz So
+

I’m Eliz, a student from Australian National University (ANU) studying a double degree in Politics, Philosophy and Economics and Science (majoring in Computer Science and minoring in Mathematics). I have been fascinated by how computing works since young, and decided to learn programming then!
+ In my free time I enjoy creating 3D models, photography and videography, playing music and bouldering. I’m looking forward to putting my computing skills in my hobbies as well, such as integrating computer vision with photography and videography. In the meantime, I would love to learn more about different aspects in machine learning and theoretical computing.

+
    - The speaker’s profile picture +
  • Cultural and Linguistic Influences on Translation: A Study of Novels
  • +
+
-
-
-
Emily Massahud
-

I am a Software Engineer at the Australian Synchrotron, working on the scientific computing team. My work focuses on automation of experiments, as well as data processing for the diffraction beamlines.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Emily Massahud
+

I am a Software Engineer at the Australian Synchrotron, working on the scientific computing team. My work focuses on automation of experiments, as well as data processing for the diffraction beamlines.

+
    - The speaker’s profile picture +
  • From minutes to seconds: Capillary auto-alignment with python and opencv
  • +
+
- -
-
Emily Tour
-

Emily Tour (she/they) is an archaeologist and PhD candidate at the University of Melbourne. Their research focuses on the study of Bronze Age Aegean administrative documents; in particular, the application of digital methods such as 3D modelling, shape analysis and phylogenetics to better understand these artefacts. In addition to their PhD research, Emily is involved in an ongoing collaboration with the Melbourne Data Analytics Platform (MDAP), exploring the application of deep learning techniques to the decipherment of ancient scripts, including the presently undeciphered Linear A. Prior to retraining as an archaeologist, Emily worked in the IT industry as a software tester and business analyst, and is passionate about combining both her digital and archaeological skills for improved research outcomes, as well as supporting and promoting the uptake of digital techniques in the humanities. Emily is a current committee member for the Australasian chapter of Computer Applications and Quantitative Methods in Archaeology (CAA).

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Emily Tour
+

Emily Tour (she/they) is an archaeologist and PhD candidate at the University of Melbourne. Their research focuses on the study of Bronze Age Aegean administrative documents; in particular, the application of digital methods such as 3D modelling, shape analysis and phylogenetics to better understand these artefacts. In addition to their PhD research, Emily is involved in an ongoing collaboration with the Melbourne Data Analytics Platform (MDAP), exploring the application of deep learning techniques to the decipherment of ancient scripts, including the presently undeciphered Linear A. Prior to retraining as an archaeologist, Emily worked in the IT industry as a software tester and business analyst, and is passionate about combining both her digital and archaeological skills for improved research outcomes, as well as supporting and promoting the uptake of digital techniques in the humanities. Emily is a current committee member for the Australasian chapter of Computer Applications and Quantitative Methods in Archaeology (CAA).

+
    - The speaker’s profile picture +
  • Introducing Potnia: A Python language library for the conversion of ancient texts to Unicode
  • +
+
- -
-
Felipe Tavares
-

I am a curious individual who happens to be a programmer. My interest in computers actually started with microcontrollers and the digital design of processors, but once I figured dealing with hardware was expensive I decided to focus on software, only to find myself drawn back to it. I have done a lot of things throughout the years: wireless communication protocols, raytracing, games and game engines, art, cryptography, classical simulation of quantum processes and a lot more. At present I design and run experiments for validating Wi-Fi chips under real world conditions.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Felipe Tavares
+

I am a curious individual who happens to be a programmer. My interest in computers actually started with microcontrollers and the digital design of processors, but once I figured dealing with hardware was expensive I decided to focus on software, only to find myself drawn back to it. I have done a lot of things throughout the years: wireless communication protocols, raytracing, games and game engines, art, cryptography, classical simulation of quantum processes and a lot more. At present I design and run experiments for validating Wi-Fi chips under real world conditions.

+
    - The speaker’s profile picture +
  • Wait, is Wi-Fi just blinking lights?
  • +
+
- -
-
Haggen So
-
-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Haggen So
+
+
    - The speaker’s profile picture +
  • As a Teacher. I have no Time to learn Programming - Streamline Assignment Marking with Python
  • +
+
- -
-
Harmeet Sokhi
-

I'm Harmeet, a lead data engineer at Thoughtworks who's been lucky enough to work with some incredibly smart people in building data and ML platforms & products . Over the years, I've had the opportunity to lead teams in building data and ML platforms, products, and work on organisational transformations including evolving data function operating models to scale. I’ve dabbled in various industries, including energy, accounting, airlines, retail and many more , helping teams mature their data and ML capabilities.
-Beyond my professional life, I'm a co-host of the data engineering Melbourne meetup and also had the opportunity to tech review an O'Reilly book 'Effective Machine Learning Teams'.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Harmeet Sokhi
+

I'm Harmeet, a lead data engineer at Thoughtworks who's been lucky enough to work with some incredibly smart people in building data and ML platforms & products . Over the years, I've had the opportunity to lead teams in building data and ML platforms, products, and work on organisational transformations including evolving data function operating models to scale. I’ve dabbled in various industries, including energy, accounting, airlines, retail and many more , helping teams mature their data and ML capabilities.
+ Beyond my professional life, I'm a co-host of the data engineering Melbourne meetup and also had the opportunity to tech review an O'Reilly book 'Effective Machine Learning Teams'.

+
    - The speaker’s profile picture +
  • Rethinking Data Catalogs: The Promise and Pitfalls
  • +
+
- -
-
Huon Wilson
-

Huon is a software engineer aiming to make others more effective. He's now writing and deploying Python extensively at ExoFlare, and has previously worked on dev tools and programming languages at Mozilla and Apple and machine learning research at CSIRO.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Huon Wilson
+

Huon is a software engineer aiming to make others more effective. He's now writing and deploying Python extensively at ExoFlare, and has previously worked on dev tools and programming languages at Mozilla and Apple and machine learning research at CSIRO.

+
    - The speaker’s profile picture +
  • Follow the Postgres brick road: a journey of testing against a real database server
  • +
+
- -
-
Jack Reichelt
-

As CTO of two small education related startups (ConnectEd Code and Kumo Study) and with plenty of varied consulting under my belt, I have a focus on how tech can help other fields progress. I love to learn what the problems are and how I can actually make an impact, ideally with as simple a program as possible.

-

I’ve been using Python for years, working in both the professional and education sectors, and have focussed on bringing the power of Python to everyone.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Jack Reichelt
+

As CTO of two small education related startups (ConnectEd Code and Kumo Study) and with plenty of varied consulting under my belt, I have a focus on how tech can help other fields progress. I love to learn what the problems are and how I can actually make an impact, ideally with as simple a program as possible.

+

I’ve been using Python for years, working in both the professional and education sectors, and have focussed on bringing the power of Python to everyone.

+
    - The speaker’s profile picture +
  • Walking the Tree of Life – Adventures in Phylogenetics
  • +
+
- -
-
Jack Skinner
-

Jack is a consultant CTO For Hire, specialising in all things web and APIs. He consults to small and growing software companies on patterns and practices for scaling teams and technology. He’s spent the past decade growing technical communities as a speaker, organiser, facilitator and coach.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Jack Skinner
+

Jack is a consultant CTO For Hire, specialising in all things web and APIs. He consults to small and growing software companies on patterns and practices for scaling teams and technology. He’s spent the past decade growing technical communities as a speaker, organiser, facilitator and coach.

+
    - The speaker’s profile picture +
  • Failsafes and Safety Fails: How to crash a train and other lessons for software engineers
  • +
+
- -
-
J. Rosenbaum
-

J. Rosenbaum is a Melbourne AI artist and researcher working with 3D modeling, artificial intelligence and extended reality technologies. Their work explores posthuman and postgender concepts using classical art combined with new media techniques and programming.

-

J has a PhD from RMIT University in Melbourne at the School of Art exploring AI Perceptions of Gender and the nature of AI generated art and the human hands behind the processes that engender bias, especially towards gender minorities. Their artwork highlights this bias through programmatic interactive artworks and traditional gallery displays. They speak at conferences worldwide about the use of artificial intelligence in art and have exhibited all over the world. J’s artwork has been supported by the City of Melbourne Covid-19 Arts Grants and has won the Midsumma Australia Post Art Prize.

-

J works with classically inspired aesthetics with the latest technologies to create a speculative future grounded in the aesthetics of the past to show that gender minorities have always been here and will continue into the future.

-
    - -
  • AI perceptions of gender
  • - -
-
- -
+ + + +
+
+ - -
- + The speaker’s profile picture - -
-
-
+
+
+
+
Juan Nunez-Iglesias
+

I'm a research scientist helping other scientists get insights from their image data using Python. I've been using Python since 2008, and the main scientific Python ecosystem (NumPy, SciPy, & co) since 2010. In 2012, on a whim, I went to my first SciPy (US) conference, and it changed my life! I realised that "open source" didn't mean just posting the code online. It meant actively collaborating on code with other scientists, across vast distances and at different times. Before you could say "import numpy as np", I had joined the scikit-image team, written a paper about it, written a whole book on SciPy (!), spoken at various SciPys and PyConAUs, started new collaborative, open source libraries, and just generally been all-in on Scientific Python. I love this community and what it has done for me, and always try to pay it forward for new folks in our community! 😊

+
    - The speaker’s profile picture +
  • Explore, annotate, and analyse multidimensional image data with napari
  • +
+
-
-
-
Kabir Manandhar Shrestha
-
-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Kabir Manandhar Shrestha
+
+
    - The speaker’s profile picture +
  • Introducing Potnia: A Python language library for the conversion of ancient texts to Unicode
  • +
+
- -
-
Leo Broska
-

Software Engineer with the Australian Government. Long time Python lover and Programming Language affincinado . Now diving into Functional Programming.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Leo Broska
+

Software Engineer with the Australian Government. Long time Python lover and Programming Language affincinado . Now diving into Functional Programming.

+
    - The speaker’s profile picture +
  • With Xonsh use Python as your shell: No more switching between shell and Python syntax!
  • +
+
- -
-
Liam Bluett
-

I've been working in data science/analytics for around 3 years now, my tool of choice: Python.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Liam Bluett
+

I've been working in data science/analytics for around 3 years now, my tool of choice: Python.

+
    - The speaker’s profile picture +
  • Embeddings: How Computers Learned to Read
  • +
+
- -
-
Lizzie Silver
-

Lizzie Silver is a Senior Data Scientist at WSP. She has broad interests in applied data science, and has worked on projects in electricity distribution, water distribution, abandoned mine shaft detection, fish ecology, and arthritis monitoring via wearable devices, among others. She did her PhD in causal discovery at Carnegie Mellon University. Her pastimes include singing in choirs, and running the monthly Melbourne Machine Learning and AI Meetup, and the Melbourne chapter of Puzzled Pint.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Lizzie Silver
+

Lizzie Silver is a Senior Data Scientist at WSP. She has broad interests in applied data science, and has worked on projects in electricity distribution, water distribution, abandoned mine shaft detection, fish ecology, and arthritis monitoring via wearable devices, among others. She did her PhD in causal discovery at Carnegie Mellon University. Her pastimes include singing in choirs, and running the monthly Melbourne Machine Learning and AI Meetup, and the Melbourne chapter of Puzzled Pint.

+
    - The speaker’s profile picture +
  • Causal Discovery in Python
  • +
+
- -
-
Luke Byrnes
-

Techknowledgy sponge. More to follow.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Luke Byrnes
+

Techknowledgy sponge. More to follow.

+
    - The speaker’s profile picture +
  • Three Django Apps in a Trenchcoat: Writing an event management website with not a lot of time
  • +
+
- -
-
Luke Wiwatowski
-

Luke is a senior software engineer at WSP. He's worked in the industry for 7 years and has spent more time than we would like to admit debugging Django and Python code. Luke also a long time ago was an Australian representative gymnast, competing at the Commonwealth Games and World Championships.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Luke Wiwatowski
+

Luke is a senior software engineer at WSP. He's worked in the industry for 7 years and has spent more time than we would like to admit debugging Django and Python code. Luke also a long time ago was an Australian representative gymnast, competing at the Commonwealth Games and World Championships.

+
    - The speaker’s profile picture +
  • Django on AWS for chump change
  • +
+
- -
-
Mark Lakewood
-

Dad and Software Engineer. Based in Perth WA, Lived in San Francisco. Worked in Platforms for a company that sends lots of Text Messages, and now works on getting the world through the Energy Transition as quickly as possible!

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Mark Lakewood
+

Dad and Software Engineer. Based in Perth WA, Lived in San Francisco. Worked in Platforms for a company that sends lots of Text Messages, and now works on getting the world through the Energy Transition as quickly as possible!

+
    - The speaker’s profile picture +
  • Turtles all the way down: Abstractions and when we should use them
  • +
+
- -
-
Matt Cengia
-

Matt (they/them/their) is a queer, autistic nonbinary human with ADHD, from the lands of Wurundjeri people of the Kulin nation (so-called Melbourne, Australia). They have a long background in Linux systems admin and software development, as well as strong interests in communication, empathy, consent, openness and transparency, privacy and security, diversity and inclusion. Matt identifies as a generalist, polymath, or multi-potentialite, and their breadth of interests often give them a unique perspective on how to relate to, and mediate between, people of different specialities.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Matt Cengia
+

Matt (they/them/their) is a queer, autistic nonbinary human with ADHD, from the lands of Wurundjeri people of the Kulin nation (so-called Melbourne, Australia). They have a long background in Linux systems admin and software development, as well as strong interests in communication, empathy, consent, openness and transparency, privacy and security, diversity and inclusion. Matt identifies as a generalist, polymath, or multi-potentialite, and their breadth of interests often give them a unique perspective on how to relate to, and mediate between, people of different specialities.

+
    - The speaker’s profile picture +
  • Three Django Apps in a Trenchcoat: Writing an event management website with not a lot of time
  • +
+
- -
-
Matt Trentini
-

Matt is a software engineer with more than twenty years professional experience. Yes, sigh, he's getting old.

-

Having worked on a wide variety of projects - from tiny embedded applications to large web-based systems - means that he has tinkered with most aspects of the software stack. He's enjoyed it all! Apart from technical pursuits he also loves rock climbing and, generally, being in the outdoors.

-

Matt hosts the Melbourne MicroPython Meetup - and hopes to see you there!

-
    - -
  • MicroPython: The best bits!
  • - -
-
- -
+ + + +
+ - + The speaker’s profile picture - -
-
-
+
+
+
+
Mel
+

Dr Mel Makin is a senior scientific software engineer from the Australian Synchrotron. She completed her PhD in quantum physics at the University of Melbourne in 2011. Since that time, she has worked on many software projects.

+
    - The speaker’s profile picture +
  • Commissioning tools at the Australian Synchrotron, or, how to get a bazillion dollars worth of toys to play nicely together
  • +
+
-
-
-
Ned Letcher
-

Ned is a lead data science engineer at Thoughtworks Australia. He’s worked across a range of sectors and domains, applying machine learning, natural language processing, and data analysis & visualisation to business challenges and opportunities. Ned has used these experiences to develop strategies for making effective use of data & AI for identifying and framing the business value of data science and analytics initiatives. Ned is also a co-author of Getting Started with DuckDB, recently published by Packt.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Ned Letcher
+

Ned is a lead data science engineer at Thoughtworks Australia. He’s worked across a range of sectors and domains, applying machine learning, natural language processing, and data analysis & visualisation to business challenges and opportunities. Ned has used these experiences to develop strategies for making effective use of data & AI for identifying and framing the business value of data science and analytics initiatives. Ned is also a co-author of Getting Started with DuckDB, recently published by Packt.

+
    - The speaker’s profile picture +
  • Serpents and Ducks: wrangling data with Python and DuckDB
  • +
+
- -
-
Nicky Ringland
-

Dr Nicky Ringland is a Product Manager working in open source security at Google. She describes herself as a recovering Computational Linguist - having earned a PhD in Computer Science from the University of Sydney, (her thesis involved thinking hard about the names of things, then training a computer to do the thinking for her). She previously co-founded Grok Learning - a startup with a mission to teach students to solve problems with code. Named one of Australia's inaugural “Superstars of STEM” and an Australian Financial Review 'Women of Influence', Nicky is passionate about teaching the next generation the skills they need to become the creators of tomorrow, while building a healthy, diverse community for them to thrive in.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Nicky Ringland
+

Dr Nicky Ringland is a Product Manager working in open source security at Google. She describes herself as a recovering Computational Linguist - having earned a PhD in Computer Science from the University of Sydney, (her thesis involved thinking hard about the names of things, then training a computer to do the thinking for her). She previously co-founded Grok Learning - a startup with a mission to teach students to solve problems with code. Named one of Australia's inaugural “Superstars of STEM” and an Australian Financial Review 'Women of Influence', Nicky is passionate about teaching the next generation the skills they need to become the creators of tomorrow, while building a healthy, diverse community for them to thrive in.

+
    - The speaker’s profile picture +
  • Dependency management: the cause of—and solution to—all supply chain problems
  • +
+
- -
-
Noah Kantrowitz
-

Noah Kantrowitz is a web developer turned infrastructure automation enthusiast, and all around engineering rabble-rouser. By day he runs infrastructure at Geomagical/IKEA and by night he makes candy and stickers. He is an active member of the DevOps community, and enjoys merge commits, cat pictures, and beards.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Noah Kantrowitz
+

Noah Kantrowitz is a web developer turned infrastructure automation enthusiast, and all around engineering rabble-rouser. By day he runs infrastructure at Geomagical/IKEA and by night he makes candy and stickers. He is an active member of the DevOps community, and enjoys merge commits, cat pictures, and beards.

+
    - The speaker’s profile picture +
  • What Python Can Learn From Other Languages
  • +
+
- -
-
Paul Wayper
-

Paul is a six-foot tall ape descendant and nobody is currently trying to drive a bypass through his home. He works for an open source company, and in his spare time he maintains web sites, rides an electric motorbike, teaches Irish Set Dancing, plays the piano, reads science fiction and fantasy, 3D prints, and collects esoteric hobbies.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Paul Wayper
+

Paul is a six-foot tall ape descendant and nobody is currently trying to drive a bypass through his home. He works for an open source company, and in his spare time he maintains web sites, rides an electric motorbike, teaches Irish Set Dancing, plays the piano, reads science fiction and fantasy, 3D prints, and collects esoteric hobbies.

+
    - The speaker’s profile picture +
  • Django, REST and OpenAPI - a gentle introduction
  • +
+
- -
-
Pradeep Rajasekhar
-

I enjoy working at the interface of biology and computational methods, and applying them to complex biomedical research problems. I enjoy learning concepts from other domains and finding ways to apply them across disciplines.

-

More info: https://findaresearcher.wehi.edu.au/rajasekhar.p

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Pradeep Rajasekhar
+

I enjoy working at the interface of biology and computational methods, and applying them to complex biomedical research problems. I enjoy learning concepts from other domains and finding ways to apply them across disciplines.

+

More info: https://findaresearcher.wehi.edu.au/rajasekhar.p

+
    - The speaker’s profile picture +
  • Leveraging the Rich Spatiotemporal Features of live cell imaging with Machine Learning and AI
  • +
+
- -
-
Pravin vaz
-

Computing teacher

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Pravin vaz
+

Computing teacher

+
    - The speaker’s profile picture +
  • Transitioning from VB to Python – Mapping a 6 month journey
  • +
+
- -
-
Renaldi Gondosubroto
-

Renaldi Gondosubroto is an accomplished Software Engineer, instructor and a developer advocate in the tech community. With over a decade of experience in developing Artificial Intelligence solutions, he has made significant contributions to numerous companies and communities. Outside of the industry, he is active in the academia community, having his research focused on generative AI and machine learning. Having spoken at over 40 events and conferences, along with having led a chunk of workshops, he has been an international speaker for the past six years, sharing his experiences and projects. He also is the organizer of the Melbourne Python User Group and currently is an AWS Subject Matter Expert (SME) for its Professional and Specialty Certifications and holds all 13 AWS certifications, along with 20 Microsoft Azure Certifications. He aims to build open-source solutions which can both help people achieve more value in what they do and promote best practices for fellow developers.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Renaldi Gondosubroto
+

Renaldi Gondosubroto is an accomplished Software Engineer, instructor and a developer advocate in the tech community. With over a decade of experience in developing Artificial Intelligence solutions, he has made significant contributions to numerous companies and communities. Outside of the industry, he is active in the academia community, having his research focused on generative AI and machine learning. Having spoken at over 40 events and conferences, along with having led a chunk of workshops, he has been an international speaker for the past six years, sharing his experiences and projects. He also is the organizer of the Melbourne Python User Group and currently is an AWS Subject Matter Expert (SME) for its Professional and Specialty Certifications and holds all 13 AWS certifications, along with 20 Microsoft Azure Certifications. He aims to build open-source solutions which can both help people achieve more value in what they do and promote best practices for fellow developers.

+
    - The speaker’s profile picture +
  • Setting Up Your Python Community for Success: Lessons from the Melbourne Python User Group
  • +
+
- -
-
Renee Noble
-

Renee Noble spends her time bringing together tech, teaching, and community in as many ways as possible.

-

As a Cloud Developer Advocate on the Python Advocacy team at Microsoft, she spends her time teaching the community through global events, creating Python learning resources, and local workshops for students and professionals. Renee is also the CEO and Co-Founder or Tech Inclusion, best known for Girls’ Programming Network workshops that run around Australia. On top of this, Rene started her own Business, ConnectEd Code, bringing tech education opportunities to schools

-

Well known for her work in tech education and the advancement of women, Renee was most recently awarded as Champion of Change 2023 by Women in Digital.

-
    - -
  • How Smart is AI? – Real projects to build real understanding
  • - -
-
- -
+ + + +
+
+ - -
- + The speaker’s profile picture - -
-
-
+
+
+
+
Russell Keith-Magee
+

Dr Russell Keith-Magee is the founder of the BeeWare project, a project developing GUI tools and libraries to support the development of Python software on desktop and mobile platforms. He joined the Django core team in 2006, joined the Python core team in 2024, and was the President of the Django Software Foundation for 5 years. He is a frequent speaker at Python and Django conferences around the globe, sharing his experience as a FLOSS developer, community maintainer, and (unsuccessful) startup founder. In his day job, he is a Principal Engineer at Anaconda, working on BeeWare in the OSS team.

+
    - The speaker’s profile picture +
  • Where am I? What am I doing? Mobile App development in Python
  • +
+
-
-
-
Sam Bishop
-

Professional software developer, Amateur rocket scientist and astronomer. Loves Python, Django, cats, working on their personal software and hardware projects, everything space, playing games of all kinds, and tinkering with 3D Printers.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Sam Bishop
+

Professional software developer, Amateur rocket scientist and astronomer. Loves Python, Django, cats, working on their personal software and hardware projects, everything space, playing games of all kinds, and tinkering with 3D Printers.

+
    - The speaker’s profile picture +
  • Notes on Over-Engineering: A Project Post-Mortem
  • +
+
- -
-
Sanjin
-
-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Sanjin
+
+
    - The speaker’s profile picture +
  • Coding Competition Software VS Murphy's Law
  • +
+
- -
-
Simon Aubury
-

Simon Aubury serves as an Associate Director of Data Platforms at Simple Machines. Simon describes his job to his children as being a “data geek”. Although it doesn’t impress his kids, he is proud to have worked around the globe building highly available distributed data systems for finance, transport, health care, insurance and telecommunications clients.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Simon Aubury
+

Simon Aubury serves as an Associate Director of Data Platforms at Simple Machines. Simon describes his job to his children as being a “data geek”. Although it doesn’t impress his kids, he is proud to have worked around the globe building highly available distributed data systems for finance, transport, health care, insurance and telecommunications clients.

+
    - The speaker’s profile picture +
  • Serpents and Ducks: wrangling data with Python and DuckDB
  • +
+
- -
-
Stefanie Molin
-

Stefanie Molin is a software engineer at Bloomberg in New York City, where she tackles tough problems in information security, particularly those revolving around data wrangling/visualization, building tools for gathering data, and knowledge sharing. She is also a core developer of numpydoc, creator of the numpydoc-validation pre-commit hook, and the author of “Hands-On Data Analysis with Pandas: A Python data science handbook for data collection, wrangling, analysis, and visualization,” which is currently in its second edition and has been translated into Korean and Chinese. She holds a bachelor’s of science degree in operations research from Columbia University's Fu Foundation School of Engineering and Applied Science, as well as a master’s degree in computer science, with a specialization in machine learning, from Georgia Tech. In her free time, she enjoys traveling the world, inventing new recipes, and learning new languages spoken among both people and computers.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Stefanie Molin
+

Stefanie Molin is a software engineer at Bloomberg in New York City, where she tackles tough problems in information security, particularly those revolving around data wrangling/visualization, building tools for gathering data, and knowledge sharing. She is also a core developer of numpydoc, creator of the numpydoc-validation pre-commit hook, and the author of “Hands-On Data Analysis with Pandas: A Python data science handbook for data collection, wrangling, analysis, and visualization,” which is currently in its second edition and has been translated into Korean and Chinese. She holds a bachelor’s of science degree in operations research from Columbia University's Fu Foundation School of Engineering and Applied Science, as well as a master’s degree in computer science, with a specialization in machine learning, from Georgia Tech. In her free time, she enjoys traveling the world, inventing new recipes, and learning new languages spoken among both people and computers.

+
    - The speaker’s profile picture +
  • Data Morph: A Cautionary Tale of Summary Statistics
  • +
+
- -
-
Stephen Tierney
-

Stephen is a Senior Lecturer at the University of Sydney in the fields of Statistics, Data Science and Machine Learning

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Stephen Tierney
+

Stephen is a Senior Lecturer at the University of Sydney in the fields of Statistics, Data Science and Machine Learning

+
    - The speaker’s profile picture +
  • Enhancing Programming Ability with Playful Learning and Karel
  • +
+
- -
-
Suzannah Cooper
-
-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Suzannah Cooper
+
+
    - The speaker’s profile picture +
  • How to confirm that the index you added actually improves query performance
  • +
+
- -
-
Tennessee Leeuwenburg
-

Tennessee Leeuwenburg is a data scientist and software developer with over 20 years of experience. He has an interest in open source software, machine learning, and forecast verification. His current research work includes the development of scientific machine learning models for weather and environmental prediction. For an overview of his recent publications, please visit https://orcid.org/0009-0008-2024-1967 .

-
-
- - + + +
+
Tennessee Leeuwenburg
+

Tennessee Leeuwenburg is a data scientist and software developer with over 20 years of experience. He has an interest in open source software, machine learning, and forecast verification. His current research work includes the development of scientific machine learning models for weather and environmental prediction. For an overview of his recent publications, please visit https://orcid.org/0009-0008-2024-1967 .

+ +
- -
-
Tom Eastman
-

In 2001 Tom handed in a programming assignment for a university class that came out to about two thousand lines of Java. His professor later shared their model answer to the problem, it was thirty lines of Python. Tom switched sides on the spot.

-

Tom is a senior software engineer for Kraken Technologies, and is the president of Python New Zealand, the charity promoting and supporting the Python language community in New Zealand.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Tom Eastman
+

In 2001 Tom handed in a programming assignment for a university class that came out to about two thousand lines of Java. His professor later shared their model answer to the problem, it was thirty lines of Python. Tom switched sides on the spot.

+

Tom is a senior software engineer for Kraken Technologies, and is the president of Python New Zealand, the charity promoting and supporting the Python language community in New Zealand.

+
    - The speaker’s profile picture +
  • Why UUIDs are Secretly Incredibly Fascinating
  • +
+
- -
-
Vishal Srivastava
-

Vishal is a Senior Data Consultant with DevOps skills who has worked across a range of industries. He has experience in establishing Cloud Infrastructure Foundations, Event Driven Data Lake, Data Visualisation, Master Data Management, Data Quality, Data Governance frameworks and Data Mesh. He is passionate about real time event driven distributed systems. Vishal has used these experiences to enable use cases which help businesses realise real value from data.

-
-
- - + The speaker’s profile picture - -
-
-
+
+
+
+
Vishal Srivastava
+

Vishal is a Senior Data Consultant with DevOps skills who has worked across a range of industries. He has experience in establishing Cloud Infrastructure Foundations, Event Driven Data Lake, Data Visualisation, Master Data Management, Data Quality, Data Governance frameworks and Data Mesh. He is passionate about real time event driven distributed systems. Vishal has used these experiences to enable use cases which help businesses realise real value from data.

+
    - The speaker’s profile picture +
  • Rethinking Data Catalogs: The Promise and Pitfalls
  • +
+
- -
-
Yaakov
-

Yaakov is a Principal Software Engineer at WiseTech Global, occasional speaker, open-source contributor, reverse-engineer, hacker, problem solver, amateur radio operator, and Pokémon collector.

-
-
- - + The speaker’s profile picture - - -
-
+ +
+
Yaakov
+

Yaakov is a Principal Software Engineer at WiseTech Global, occasional speaker, open-source contributor, reverse-engineer, hacker, problem solver, amateur radio operator, and Pokémon collector.

+ - -
- - +
  • Time and Time Again
  • + + + + + + + + +