PyDev of the Week: Peter Farrell

This week we welcome Peter Farrell (@hackingmath) as our PyDev of the Week! Peter is the author Math Adventures with Python and two other math related Python books. You can learn more about Peter by visiting his website.

Let’s take a few moments to get to know Peter!

Can you tell us a little about yourself (hobbies, education, etc):

I was brought up in the US, earned a B.A. in Math and taught Math for 8 years in big and small schools. I always wanted to show students the real-world applications of the stuff they were learning, all of which turned out to be computer-related. I learned to program in my 30’s in Logo by going page-by-page through Samuel Papert’s brilliant book Mindstorms. After that I taught all my math classes turtle programming. A student turned me on to Python and I never looked back. Away from the computer, I like to play guitar and watch documentaries.

How did you end up writing a book on Python?

I was working one-on-one teaching high school math to a techy student who had learned Python. On top of the good old-fashioned book work I assigned him programming challenges to automate whatever repetitive task had popped up in the week’s material, like finding the vertex of a parabola or the centroid of a triangle. Eventually I collected the explorations together into a book, and self-published Hacking Math Class with Python in 2015. That got me noticed by No Starch Press and for 2 years we worked on the next level, going further into supercharging math explorations traditional and modern with Python and Processing. Math Adventures with Python was just published in January of this year.

What were some challenges when writing the book and how did you overcome them?

I had a full-time job and a part-time job while I was writing and editing the book, so that didn’t leave me much time for much else. I’d send the publisher a chapter and immediately get an email with some edits to go through from a different chapter! But reading the material over and over again and working through the code numerous times made it a much better book.

Is there any advice you can give to aspiring authors?

If you’re passionate about your subject, just get it out there and somebody will respond to it. There’s nothing like finally seeing your book in a bookstore or reading a tweet or post by a complete stranger saying they like your work.

Do you know any other programming languages?

Not to the level that I know Python, but I’ve done quite a bit of generative art in Processing’s other modes, like Java and Javascript, since I think mine was only the second book on Processing using the Python mode. I’ve dabbled in Rust for better speed thanks to my friend Paddy Gaunt, who also acted as Technical Editor on my book. And the terrific music coding package Sonic Pi introduced me to Ruby.

What projects are you working on now?

I’m still quite the evangelist for using Python in education, so I’ve been reaching out to teachers and school principals about having me put on some Professional Development on applying Python to their lessons in Math and other STEM classes. Can’t say I’ve made much progress on that front, but it’s early days yet.

Is there anything else you’d like to say?

The genius that it took to create computers and computer programming languages amazes me. It’s endlessly fascinating that the same language can be used to create a web app in the morning and a cool work of art in the afternoon. The fact that many of these tools are free is also mind-blowing, and it’s sad that they’re largely being ignored by public education in favor of standardized tests. I’m working little by little to help change that!

Thanks for doing the interview, Peter!