I'm an English expat living in Avoca Beach, Australia. I'm a proud father of 3 girls and strive to be an active, engaged and responsible member of both my local community and the broader open-source tech community.
I work for Microsoft, focused on Python and Open-Sources technologies. I'm also studying a PhD in Computer Science at Macquarie University.
I Tweet often, blog sometimes and speak often. All of my research and tinkering is Open-Source, I'm an active member of some large open-source projects as well as maintaining my own.
I'm an Adjunct Fellow and PhD Candidate at Macquarie University in Sydney Australia. Here is a list of my recent publications.
Get your guided tour through the Python 3.9 interpreter: Unlock the inner workings of the Python language, compile the Python interpreter from source code, and participate in the development of CPython.
Are there certain parts of Python that just seem like magic?
This book explains the concepts, ideas, and technicalities of the Python interpreter in an approachable and hands-on fashion.
Once you see how Python works at the interpreter level, you can optimize your applications and fully leverage the power of Python.
This book is also published in Korean as "CPython íí€ìčêž°"
Published May 5, 2021Show | Episode | Title | Date |
---|---|---|---|
Talk Python to Me | 373 | Reinventing Python's Azure CLI | July 12th, 2022 |
Hanselminutes | 834 | Pyjion, a JIT compiler for Python using .NET Core with Anthony Shaw | March 31st, 2022 |
Talk Python to Me | 340 | Time to JIT your Python with Pyjion? | November 3rd, 2021 |
Python Bytes | 256 | And the best open source project prize goes to... | October 29th, 2021 |
Pybites Podcast | 11 | Tackling big challenges and overcoming decision fatigue | August 25th, 2021 |
SoloCoder Podcast | 58 | "A Talented Python Fellow" | September 22nd, 2020 |
RealPython Podcast | 11 | Advice on Getting Started With Testing in Python | May 29th, 2020 |
Talk Python to Me | 265 | Why is Python slow? | May 19th, 2020 |
Test and Code | 101 | Application Security | February 25th, 2020 |
Talk Python to Me | 240 | CPython Source Code deep dive | November 10th, 2019 |
Talk Python to Me | 214 | Dive into CPython 3.8 and beyond | May 8th 2019 |
Podcast.__init__ | 195 | Counteracting Code Complexity With Wily | January 21st, 2019 |
Talk Python to Me | 180 | What's new in Python 3.7 and beyond | October 1st, 2018 |
TechKnow | - | Jobs of the future | September 4th, 2018 |
Test and Code | 46 | How do you write tests for things that arenât that easy to write tests for? | September 2nd, 2018 |
TechKnow | - | Should you learn to code? | July 21, 2018 |
Talk Python to Me | 168 | 10 Python security holes and how to plug them | June 28, 2018 |
Test and Code | 41 | Testing problems facing DevOps teams | April 18, 2018 |
Talk Python to Me | 155 | Practical steps for moving to Python 3 | February 13, 2018 |
Talk Python to Me | 132 | Contributing to Open Source | July 27, 2017 |
Podcast.__init__ | 55 | Apache Libcloud | May 1st, 2016 |
Developer on Fire | 167 | (Autobiographical interview) | September 22nd, 2016 |
FLOSS Weekly | 373 | Apache Libcloud | February 2nd, 2016 |
Python 3.12 comes with an exciting new feature -- sub-interpreters. Sub-interpreters are a new programming model for Python that enable parallel execution of your code, without needing separate processes. In this talk, you will learn about sub-interpreters, how and where to use them.
âThe website is slowâ. These four words can strike fear and dread in the heart of any developer. Load Testing is a tool for preparing your website for high demand, but designing a good load test is a fine-art. In this talk, we'll explore how design effective load tests for web apps in Python
3.11 is the latest release of CPython. Scheduled for October 2022, Python 3.11 comes with new language features like exception groups and asyncio task groups. The biggest change in 3.11 compared with 3.10 and below is speed. 3.11 is the fastest version of CPython yet. In this talk, we will showcase benchmarks on Python 3.11âs speed gains and where to expect improvement in your code.
Anthony sheds the light on all the new features and powers of Python 3.11, inspects major changes, exceptions, and error handling nuances, and shares invaluable pro tips on the ultimate performance improvement.
This talk will show small, specific examples of Python code that can be refactored to be faster without compromising on readability. At the start of the talk, I'll explain how to set up a profiler to measure application performance and how to track improvements and regressions.
In this talk you will learn how VS Code can be configured, extended, and optimized for a more effective and productive Python development environment. Once finishing this talk, you will be more productive using VS Code.
In this workshop, we will talk through scalable Django architecture and how Azure services like load balancing, sharded databases, and functions can be used to scale a Django application from a few to lots of users.
In this talk you'll see an update to the Pyjion project, a JIT compiler for CPython byte-code. This project was started 5 years ago but stopped after making no gains in performance. Recent changes to CPython have made optimisations more viable, so now it has been restarted and is showing big performance gains vs. standard CPython with 100% compatibility. Many attempts have been made to build a general purpose JIT for Python and few have succeeded. Is it worth it and what are the gains to be made? This talk will cover the design ideas of a JIT for CPython, optimisations, and future potential.
When Python completes a comparable application 2â10x slower than another language, why is it slow, and canât we make it faster? In this talk, weâre going to explore different theories to understand what makes Python slow, what tasks itâs fast at executing, and how you can make it faster. Then, finally, weâll explore what is coming in future versions of Python that might speed it up once and for all..
In this talk, be inspired to take action to accelerate your career in software development. Anthony Shaw would discuss how to be unique, why you need to stand out from the crowd, and what it takes to be a globally recognized name in software.
Everyone starts with the best intentions with their Python projects, "this time it's going to be clean, simple and maintainable". But code evolves over time, requirements change and codebases can get messy and complicated quickly. In this talk, you will learn how to use wily to measure and graph how complicated your Python code is and a series of practical techniques to simplify it. wily will show you which parts of your projects are becoming or have become hard to maintain and need a refactor. Once you know where the skeletons are, you will learn practical techniques for refactoring "complex" code and some resources to use to take your refactoring to the next level.
When the authors of Docker first started, they wrote the Docker daemon in Python. This was later switching for Go, but why? This talk will cover mocker, a container runtime Anthony wrote to understand Docker by rewriting its basic functions in 100% Python. Anthony will walk through how to write a Docker daemon in Python whilst applying it to real problems. Whilst the tool might not be production ready, it demonstrates some patterns, libraries and ideas for working with Docker containers from Python.