PyDev of the Week: Mahesh Venkitachalam

This week we welcome Mahesh Venkitachalam (@electronutIN) as our PyDev of the Week. He is the author of Python Playground: Geeky Projects for the Curious Programmer from No Starch Press. Mahesh has a very interesting blog that contains a lot of articles about hardware hacking. I recommend checking it out.

Now let’s spend some time getting to know him better.

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

I am a Materials Science engineer (BTech IIT Bombay, MS Penn State Univ) who drifted into software development and more recently into hardware design. I worked in the San Francisco Bay area for while, but these days I live in Bangalore, India. I have dabbled with various hobbies, but the ones that have lasted seem to be photography, programming and electronics tinkering.

Why did you start using Python?

I am a long time C++ programmer. A few years ago, I started using Python for automating tasks. Soon, I found myself using Python as my go-to tool for all manners of computation. In many cases it was quicker to try out an idea in Python before coding it in C++. I had rediscovered the joy of programming.

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

C, C++, JavaScript, a bit of Objective-C, and Java. For working with hardware, I prefer C. For everything else, I love Python.

What projects are you working on now?

I am currently working on open source electronics hardware to serve the maker community. I recently successfully crowd-funded a product called snapVCC.

I am also working on my next hardware project which involves C++ and Python coding.

You can see my current work at my website Electronut Labs.

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

I think it really depends on what you are trying to do. But numpy, scipy, and matplotlib would top my list in terms of sheer usefulness.

What made you decide to write a book about Python?

Python is a language that has a small set of core features – one that you can pick up very quickly. Added to that is the extensive set of built-in and third-party libraries, which means you get a helping hand for almost anything you want to do. For example, if you want to parse a web page or talk to the serial port, you have libraries readily available. My goal in writing this book was to demonstrate the spread of Python – on how the language can be used to explore a variety of ideas. This is especially useful to someone who has learned Python recently and is unsure about how their skills can be put to use.

Do you have any advice for other potential authors?

Writing is hard, and the best way to practice is to write a regular blog. Most publishers have clear guidelines for book proposals, and it’s important to follow them and present your ideas clearly. Writing a technical book is a long, lonely road, and the ultimate rewards are uncertain. Do it for the experience and nothing else.

Thanks so much!

The Last 10 PyDevs of the Week