PyDev of the Week: Tristan Bunn

This week we welcome Tristan Bunn as our PyDev of the Week! Tristan is the author of Learn Python Visually, a new Python book from No Starch Press. You can find out more about what Tristan is up to on his website or by visiting GitHub.

Let’s spend a few moments getting to know Tristan better!

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

I began my career as a web designer over fifteen years ago. I did a graphic design course and particularly enjoyed my interactive media modules. When I entered the industry, I quickly gravitated towards the Web (and Flash) because I enjoyed working at the intersection of design and code. Today, I work as a lecturer and researcher in creative technologies. I now hold a BTech in design, an MSc, and I’m currently pursuing a computer science PhD with an HCI focus. As for hobbies, I enjoy reading graphic novels and kitesurfing.

Why did you start using Python?

In a previous lecturing role, I was looking for a better way to teach my creative students how to code. There was Processing and Flash, but for different reasons, those environments weren’t ideal. I then stumbled upon something named Nodebox — a macOS application that let you create 2D visuals (static, animated, or interactive) using Python code. However, I needed something cross-platform, and I found Shoebot (inspired by DrawBot and Shoes for Ruby). This was my first foray into Python; it was love at first sight.

What other programming languages do you know, and which is your favorite?

I do a lot of frontend web development, so: HTML, CSS, and JavaScript.

But I’ve used many other languages, to name a few: PHP, ActionScript & Haxe, Lua, and C# (Unity). Python is still my favorite.

What projects are you working on now?

A few things, all in the early stages of development. My PhD explores data visualization for learning analytics; I’m also working on a project with artist Mary Guo to combine comics and video games. In addition to those projects, I’m always tinkering with something. Right now, I’m having a lot of fun with genetic algorithms, Unity’s ML-Agents, and WebXR.

Which Python libraries are your favorite (core or 3rd party)?

Whatever I can use to blend code, interaction, interface design, and creativity. I’m particularly keen on anything that brings the ideas of Processing to Python — projects like Processing.py (Processing’s Python mode), p5 (p5py), pyp5js, and Shoebot. Blender’s Python API module (bpy) is great too.

How did your book, Learn Python Visually, come about?

It’s my job to teach students in creative degrees to program in their first year of study. These students will go on to use different languages for web, game, VFX, VR, and other courses. Python is the ideal language to teach them programming. And as any programmer can tell you, once you’ve learned one language, it’s a lot easier to pick up others. I also believe that the best way to teach creative and visual people to code is using something like Processing. Learn Python Visually is a book all about combining Python with Processing using Processing.py, learning to program by writing code that produces drawings, patterns, animations, data visualizations, user interfaces, and simulations.

What are the top three things you learned authoring the book?

(1) I think I’ll take a long break before writing another book, haha! But, (2) writing a book really helps you understand a topic — there’s something about explaining concepts to beginners that makes you understand things better yourself. (3) The iconic album cover for Pink Floyd’s Dark Side of the Moon has a rainbow with six (not seven) colors. Count for yourself!

Is there anything else you’d like to say?

You can check out my work on my portfolio website, which includes a link to my blog.

I also want to thank everyone who helped with my book, especially the No Starch Press folks.

Thanks for doing the interview, Tristan!