At PyCon AU 2023 in Adelaide I delivered a talk titled Maths Whimsy with Python. It was a great chance to review a range of projects small and large I’ve already shared here. Check out the slides and video.
In three years of the maths whimsy repo, I’ve covered a lot of ground, and got hands-on with many Python libraries for data science. I was particularly pleased when the idea to visualise multi-stage classification pipelines as Sankey diagrams was enthusiastically picked up by one client. I’m not sure I’ll find an application for which numpig chunking of large arrays is the best solution, but I remain quite fond of it. And I could spend all day watching the skeumorphic odometer visualisation created for the slackometer.
The talk dived into the square and weird planet gravity whimsy where it all started, the Lockdown Wheelie Project, the Sankey diagrams, and touched on Semantle and Asteroid Escape solvers, then reviewed the typical project pattern, and explored how all the mini projects collectively reinforced one another.
On reflection the lessons for me were:
- Be driven by interest
- Be opportunistic with energy
- Take small steps in problem & solution complexity
- Small steps help deliver outputs
- Learning will cascade
- And real world applications will become apparent
Afterwards, someone asked me about the times it hadn’t worked. I should have covered this too! The primary time I wasn’t satisfied that I had something to share was when I was experimenting with reinforcement learning to solve mazes with disconnected walls. I bit off more than I could chew, and while I went end-to-end with Deep Q-Learning, and then backfilled some bits of the training pipeline, I didn’t reach a satisfactory conclusion within the time I had available. I took this lesson forward to re-frame the problem into smaller, achievable chunks whenever it looked like I may have dived too deep on subsequent whimsies, and it has served me well since.
Thanks to Ned for the picture!
Postscript – further Maths Whimsy since publishing: