If you would like me to speak at your event – be it a local meetup or an international conference –, drop me a line! Sharing knowledge is a passion of mine and public speaking is an excellent outlet for that.
In this lightning talk, I hosted the first-ever Python edition of “Who wants to be a millionaire”.
In the fast-paced game I hosted, 4 volunteers tried to answer 4 impossible multiple-choice questions!
EuroPython 2024, 12-07-2024 • Main reference • Talk slides (low res PDF) • Online slides
In this live-coded talk I answered the question of “how do you create an animation from first principles”?
We started out by only being able to draw pixels on the screen and by the time the clock was over, we could animate the rotating spiral that is shown on the side.
An attendee wrote
“The talk was really dynamic and the idea of programming while talking was awesome.”
EuroPython 2024, 10-07-2024 • Main reference • Secondary references here and here • Live-coded script
In this hands-on tutorial we reinvented the wheel by reimplementing several iterators from the module itertools
.
This was the excuse we needed to take a deep dive into some fundamental aspects of Python programming, like what are iterables and iterators, how the built-ins next
and iter
work, what the iterator protocol is, and more.
The tutorial was highly praised for the practical component, given that I prepared several practice exercises and the attendees enjoyed attempting them.
EuroPython 2024, 08-07-2024 • Main reference • Live-coded notebook
This was the third iteration of this talk of mine, which I presented to cover someone who had to cancel their scheduled talk.
Because the talk slot was longer than the two previous iterations, I managed to enrich the talk with more personal anecdotes and I also included a short section on how luck is not 100% random.
PyCon Italy 2024, 25-05-2024 • Main reference • Talk slides (low res PDF) • Online slides
In this lighthearted lightning talk I showed how to refactor a perfectly reasonable piece of code into an absolute masterpiece.
In this reprise of the lightning talk I first presented at PyCon Ireland 2023, I had to wear a special pair of glasses and present if I were a thug. I failed miserably but everyone got a good laugh out of it, so it ended up being a success!
PyCon Italy 2024, 24-05-2024 • Main reference • Talk slides (low res PDF) • Online slides
In this live-coded talk I walk the audience through a series of analogies between the built-in property
and the way descriptors work.
I chose to introduce descriptors by establishing parallels with the built-in property
because that is how I first understood descriptors.
The enthusiastic nods while I was presenting and the feedback afterwards lead me to believe this was a good choice.
PyCon Italy 2024, 23-05-2024 • Main reference
In this lightning talk I try to tease the audience into wondering how one might solve large combinatorial problems in an efficient manner. To that end, I ask how many passwords there are with lengths between 8 and 10, with at least one upper case letter, at least one lower case letter, and one digit.
After an attempt at suspense, I show 6 lines of code and arrive at the answer of 698,438,863,898,480,640 in 0.4ms.
PyCon US 2024, 18-05-2024 • Main reference • Talk slides (low res PDF) • Online slides
This 3h tutorial focuses in teaching the fundamentals of pandas and matplotlib in a light and interactive environment. To distinguish this tutorial from the others you can find online, we used data from the Pokémon franchise, which led to a highly engaging session.
The overall consensus of the participants was that the tutorial was well worth their time and one participant even wrote:
“[...] I strongly feel that this tutorial is the gold standard for what teaching should be. [...]”, Gabe C.
PyCon US 2024, 15-05-2024 • Main reference • Attend this tutorial online
In this talk I share non-technical lessons I learned after working on a FOSS project full-time for +500 days. These lessons fall into 4 broad categories:
This is an improved version of the same talk I gave at PyCon Lithuania 2024.
PyCon DE & PyData Berlin 2024, 24-04-2024 • Main reference • Talk slides (low res PDF) • Online slides
In this talk I share my experience working on a FOSS project full-time for 503 days, sharing some of the non-technical lessons I learned along the way.
These lessons fall into 4 broad categories:
Attendees were fond of the stories I shared and my openness. In fact, Oleh said that
“[I particularly enjoyed the] Direct and open speech.”
PyCon Lithuania 2024, 04-04-2024 • Main reference • Talk slides (low res PDF) • Online slides
In this lightning talk I draw from my APL experience to solve a simple coding challenge: given a string representing an expression, how can I determine whether the parentheses are correctly balanced or not?
In the end, we'll end up with two fun lines of code that use features of the Python language that are typically frowned upon!
Dave enjoyed himself and told me:
“That was a great lightning talk! Clever, entertaining, thought-provoking, and brief.”
PyCon Lithuania 2024, 03-04-2024 • Main reference • Talk slides (low res PDF) • Online slides
In this talk, I use an example from the Django framework to motivate the need for descriptors in the Python language. Then, I proceed to explain the descriptor protocol, tying it to the original motivating example, through a live-coded demonstration.
The objective of the talk is to make sure the audience understands that frameworks (like Django) rely heavily on Python features (like descriptors) to operate their machinery.
PyCon Lithuania 2024, 03-04-2024 • Main reference • Talk slides (low res PDF) • Online slides
In this live-coding talk I wanted to explain how descriptors work by establishing a parallel with properties. Although properties are descriptors, this approach is how descriptors clicked for me and I was hoping it would help descriptors click for others as well.
Coming into the talk, I wasn't sure if I should present it as a live-coding demo, but Barry's feedback tells me I made the right choice:
“Used descriptors before but this [talk] clarified a lot. Live coding is hard to do, but makes it a better experience. Thanks for that.”
PyCon Ireland 2023, 12-11-2023 • Main reference • Backup talk slides (low res PDF) • Online slides • Source code from live demo
In this lighthearted lightning talk I took a Python script for a tkinter calculator and continuously refactored it until the whole calculator was a single expression. We managed to get some laughs out of this ridiculous process, while we also explored a couple of interesting Python features like conditional expressions, Boolean short-circuiting, and assignment expressions.
I was very happy with my performance and so was James, who dubbed it a “killer lightning talk”.
PyCon Ireland 2023, 11-11-2023 • Main reference • Talk slides (low res PDF) • Online slides
In this lightning talk my only objective was to show how easy it is to create stunning images with a little bit of Python and a little bit of maths.
With some live-coding, some terrible jokes, and a couple of typos, everyone enjoyed watching two nested loops and the innocent function that you see below turn into the colourful image depicted here.
def f(z, c):
return z**2 + c
PyCon Ireland 2023, 11-11-2023 • Main reference • Source code
In this hands-on tutorial we went through the four main components that let you implement a programming language like Python from scratch.
I aimed for an interesting and fun workshop and the feedback I received tells me I delivered it:
“I liked that we quickly got a very simple compiler and interpreter up and running, we did all of the fun stuff without too much of the boring repetitive parts.” — Samir
PyCon Ireland 2023, 11-11-2023 • Main reference (blog series) • Workshop materials •Talk slides (low res PDF) • Online slides
This practical workshop presented the audience with several exercises on comprehensions (list, set, dictionary & generator expressions) and idioms around their usage.
After my first lightning talk was so well-received, I came back to show a different type of animation where we make a recursive drawing that zooms in infinitely.
In this talk I helped the audience discover the immense potential of Python's list comprehensions, dictionary comprehensions, set comprehensions, and generator expressions, as I presented them as an idiom that focuses on data transformations.
This talk complemented my tutorial on the same subject, but the talk hadn't been accepted for the original schedule. However, I stepped in when a speaker had to cancel a few days before the conference.
In this lightning talk I show how to create simple animations in Python and pygame from first principles, from drawing a circle to morphing it into a figure eight.
This talk is a personal account of the things that I do differently in Python after having learned APL, a language that seemingly had nothing to do with Python and nothing to offer with respect to my Python code.
In this lightning talk I wanted to share my personal story of how learning how to program in APL ended up teaching me things about Python.
In this poster session, I make the claim that the vast majority of people don't know comprehensions well enough! Thankfully, this is very easy to fix!
Dozens approached me during my poster presentation – which I repeated tirelessly from noon until 3 pm because people just kept showing up – and I am very proud to say that my poster (presentation) got a lot of praise.
But, most importantly, I got feedback from people that learned new things about list comprehensions thanks to my poster.
In this impromptu talk, I gave an introduction to dunder methods for a beginner audience.
__init__
, and about __str__
and __repr__
This talk had not been scheduled in advance! There was a last-minute cancellation and the organisation reached out to me to fill in the slot.
In this impromptu Python tutorial, I gave a practical introduction to descriptors.
This tutorial had not been scheduled in advance. The day before, I noticed there was an empty slot in the schedule. After talking to the organisers, we concluded it was OK for me to use that slot and so I whipped up a short, practical tutorial for descriptors!
I got incredible feedback! A participant, Sofia, wrote:
“Fantastic workshop about descriptors! I came out of it having learnt a lot about what goes on in the background. Really loved the friendly approach and the practical exercises with solutions so that everyone can follow. Keep going 🚀”
In this Python tutorial, I introduce people to Textual by building a TODO that runs in a terminal.
Alexander attended my tutorial and he wrote “Rodrigo did a really good job with the tutorial. I hope he starts teaching more regularly because his tutorial was fun and I learned a lot.”
Original photo by Braulio Lara.
In this Python talk, I introduce descriptors and show they are not black magic.
I was scheduled to give this talk in person but I had a family emergency and couldn't attend. Later, I recorded the talk at home and made it unofficially available online.
In this Python talk, I continuously refactored a piece of code by using Python features elegantly.
In this Python talk, I teach the key ideas necessary for you to finally understand list, dict, and set comprehensions, and generator expressions.
In this lightning talk, I show how functools.reduce
is such an important function that we use implicitly when we call built-ins like sum
and all
.
This was my very first appearance at an in-person conference... And I just loved it...
In this Python tutorial, I show how Python uses dunder methods to define how objects (built-ins and custom objects) interact with the Python syntax.
In this Python talk I share some insights on how to avoid learning plateaus in Python.
In this talk I show how learning APL influenced the way I write Python code. For example, I show how APL helped me understand how list comprehensions work.
In this Python talk, I continuously refactored a piece of code by using Python features elegantly.
In this Python talk, I went over +10 implementations of a very simple function while exploring elegance, simplicity, and some intricate Python subtleties.
In this 2-part Python tutorial, I introduce classes in Python and then proceed to show how Python uses dunder methods to define how objects (built-ins and custom objects) interact with the Python syntax.
In this Python talk, I continuously refactored a piece of code by using Python features elegantly.
In this Python talk, I continuously refactored a piece of code by using Python features elegantly.
This was my very first conference talk and what I consider a great milestone in my career.
In this Python talk, I continuously refactored a piece of code by using Python features elegantly.
This was my very first conference appearance and a moment I have very fond memories of!
In this Python tutorial, I guided attendees in their journey to implementing a full neural network with nothing but NumPy.