I've presented at a wide range of events, and most of my public talks are listed here. For publications, see my Google Scholar page.
I'm looking forward to speaking at Antithesis' inaugural BugBash conference in April!
I relaxed a little at PyCon US this year, with a short talk at the language summit (on my new PEP 789 rather than PEP 533) and mentored + development sprints filling out my schedule.
At North Bay Python, I spoke about advanced topics in Hypothesis - such as test-generation with the Ghostwriter (online demo!), coverage-guided fuzzing with HypoFuzz, and our experimental support for an SMT-solving backend on Z3...
At SciPy 2024, I ran my introduction to property-based testing tutorial.
In November, I spoke at the Harvard Law School about Anthropic's Responsible Scaling Policy, reflecting on our first year with an RSP and the recently-published update. At EAG Boston, I reprised my workshop from last year, also focusing on the RSP update.
At PyCon US I presented an introduction to property-based testing and co-organized the mentored sprints for diverse newcomers, as well as participating in the sprints and a range of summits - just like last year!
I also gave a new talk on scaling structured concurrency (video). I think it's one of my best, so it will also appear at various meetups and local conferences later this year.
At PyBay, I presented No More Nitpicks - sharing how I think about linters, formatters, and autofixers as tools for code quality and easier collaboration.
My plans for StrangeLoop didn't involve speaking... but when another speaker fell ill, I was asked if I could write and deliver a talk on forty-six hours notice. Is my Large Language Model a Strange Loop? (video) was the result: exploring language models from the 'inside out' and 'outside in' based on Anthropic's research in alignment and interpretability.
At EAG Boston, I ran a workshop (and office hours) about Anthropic's Core Views on AI Safety essay and Responsible Scaling Policy. Rather than give a traditional talk, I asked attendees to read both (long) documents before attending, and aimed to answer questions and facilitate small-group discussion. This was a much higher-effort 'talk' format, but went really well!
At PyCon US I presented an introduction to property-based testing and co-organized the mentored sprints for diverse newcomers, as well as participating in the sprints and a range of summits.
For SciPy, I reprised that tutorial with an emphasis on scientific and numerical programs. I also gave two short talks in plenary sessions— an invited tool update about Hypothesis, and a lightning talk about similarities between Anthropic's machine learning research and the natural sciences—and led another sprint.
At the local PyBay conference, I gave another short talk and was part of a delightful panel session on testing.
At PyCon US I spoke about how CPython can adopt property-based testing and
fuzz those tests with Atheris and
OSS-Fuzz at
the Language Summit,
then presenting a
tutorial introducing property-based testing
(slides,
video) and
a poster about my autoformatter, shed
.
Plus my usual involvement with the maintainers' sessions, sprints, and
mentored sprints—it's
a busy week even before the time difference!
For SciPy, I reprised that tutorial with an emphasis on scientific and numerical programs—and also presented a shorter talk on property-based testing for scientists. Conf42 Python saw a seriously condensed talk, thanks to video editing. I told PyOhio that I wrote code to write your tests!—and gave a live demo of the Ghostwriter.
The talks continued at EuroPython, PyCon Latam, PyCon India, and PyCon Malaysia! I hope to visit them in-person in some future year.
PyCon US went virtual this year, but was still a major event. At
the Language Summit I proposed
writing property-based tests for CPython
(demo here), which was
featured on lwn.net, and gave a lightning talk on
improving SyntaxError
for novices. I also helped organise
the mentored sprints,
as well as mentoring new contributors on the day.
I was invited to the Moscow Python conference, and gave my talk online. At the SciPy conference I presented an online poster, and published a paper on testing scientific code.
At PyCon Australia, I told the audience to Stop Writing Tests! (video)—announcing both the Hypothesis Ghostwriter and HypoFuzz, a new tool for adaptive fuzzing. On the social day, I coordinated the development sprints and ran an all-day mentoring event.
I was delighted to reprise Stop Writing Tests! for PyCon India and Pyjamas Ireland.
I was rather busy at PyCon US, where among other things I presented a tutorial, talk, and poster (pdf) about 'escaping from auto-manual testing' with Hypothesis. I also attended the Language Summit, spoke at the maintainers summit, and led teams at both the sprints and mentored sprints. It was a fantastic—and very intense—nine days.
At EAGx Sydney, I posed 'some questions for 21st century machines' based on my work at the Autonomy, Agency, and Assurance Institute.
At PyCon Australia I presented one of the inaugural 'deep dive' talks, on Sufficiently Advanced Testing. I think this is my best technical talk to date, and wrote up a hyperlinked transcript for this site.
At SciPy US, I gave a talk and taught a workshop on advanced testing for scientists and developers of data science tools, which I later reprised in Spain for EuroSciPy (talk, tutorial). The material for my 2019 tutorial is open source and available here.
At the European Union's Future in the Making conference, I presented a poster about 3Ai's Collaboratoria—immersive experiences bringing togther researchers, scholars and practitioners.
At PyCon Asia-Pacific, I taught a workshop on property-based testing and other insecticides. At the inaugural PyLondinium, I gave a talk about property-based testing (video) ...and an updated version at PyCon Australia.
I presented my Honours research project at the annual conference of the Australian Meteorological and Oceanographic Society. My talk won a student presentation prize, and my poster was also well received. My full Honours thesis can be read here.