Thinkful Mentor Profile: Joe Turner


Location: Leicester, England

Current job: university instructor, freelance artistic coder, open source aficionado

Interests outside of programming: playing the ukulele, making wine, and occasionally managing to finish the Guardian crossword

You’re both a programmer and an artist, and have produced amazing digital art that was featured in the V&A and London Underground. How did you first get interested in “creative coding”?

I did a physics degree as an undergraduate, and I started spending more time on programming — it was more interesting than physics! When I wasn’t coding, I played in punk bands and made electronic music. Those two things eventually converged as I got into the programming side of making music. I took Master’s course on interactive audiovisual compositions, and I’ve been weaving a route between tech and art ever since.

What was one of your early artistic coding projects?

I did a commission for the opening of an art center in Leicester. I recorded sounds from various landmarks in Leicester — a busy market, a rugby pitch, places like that — and wrote code that turned those sounds into 3D representations. We made those into lenticular prints — pictures that can appear 3D and change depending on where you’re looking at them from.

What about your more recent work, Decode?

The artist Karsten Schmidt made an open source digital identity for a show about digital art at the V&A, and invited people to take the code and remix it. A lot of the things I make are based around algorithms designed to represent things growing, so in my remix these individual agents worm their way through the a 3-D path, growing and interacting until you have the complete word “decode.” It ended up getting picked to be featured in the London Underground, which was pretty cool.

You also do a lot of great work in the open source community, including founding Spectacle Labs, which makes open source hardware for educators, artists and hackers. Tell me more about how you got involved with open source.

Open source is kind of how I learned to code: hanging out on IRC channels, pitching in patches, that kind of think. It was kind of my equivalent of Thinkful, back when it didn’t exist. I love the community aspect of open source and I like the politics of it. I never understood the mentality of keeping your software secret, and I think open source is a great way to develop.

Can you explain open source for someone who’s never heard of it?

The fundamental idea is that you give your software away, and you allow people not only use this software but also see how it was made. You can say this is completely free for anyone — from the average person sitting at home with her laptop to a megacorp oil company — to do whatever they want with it. Or, you can say that anyone can use it but they have to give back anything can add to it.

Because it’s a somewhat altruistic thing to do, the open source communities tend to be really nice and welcoming. If you’re interested in open source, find a project relating to something you’re interested in. For me it’s always been audio and music, so I started out with working on an mp3 player. Ask questions when you don’t understand what people are talking about and offer to help.

You’re mentoring for Thinkful’s Programming in Python course. Why are you a Pythonista, and why would you recommend the language to others?

As a programming language, it’s really kind of natural. It’s very, very readable which is great. I love the ethos that “there’s only one way to do things” that Python has because it means that you can look at any bit of Python code and understand it. You’ll know all the tricks they’re using because there’s a very small set of tricks, and that makes it great for people beginning to program. As a beginner you can look at the code of the best Python programmer in the world, and still understand it.

Clarity’s an amazing thing in programming — trying to get this idea that’s in your head onto a computer with minimal fuss. And with Python, that’s very easy to do.

You just started mentoring a few weeks ago with one of our beta classes. How are you liking it so far?

The best thing is the students! They all have really interesting stuff that they’re working on, and it’s great to see them develop and improve. I also teach at my local university. Teaching is great because it allows me to get out and do something which that’s valuable to other people in a very direct way.