Bhaskar Chaudhary is this week’s PyDev of the Week. He is the author Tkinter GUI Application Development HOTSHOT from Packt Publishing. You can read my review of the book here. Let’s spend some time getting to know Mr. Chaudhary!
Can you tell us a little about yourself (hobbies, education, etc):
Father to a newborn son, I am an ex-banker turned technology entrepreneur with keen interest in programming, electronics and music.
I hold a Masters degree in Finance.
I have around 10 years of programming experience in varied domains like server side programming, webwork, game development, android apps development and more recently embedded development.
I love teaching. I conduct workshops for evoking interest for science and technology in school children and youth. I am also the founder trustee of People for Change, a non-profit organization working with youth in more than 15 schools and colleges in India.
I am professionally trained in Tabla, an Indian classical percussion instrument. I am a self taught amateur guitar and violin player. I love playing with Electronics – mostly doing some fun DIY electronic projects in free time.
Why did you start using Python?
Python as a skill has wide range of application. If you know Python, you can target a broad range of programming tasks ranging from writing small shell scripts, developing large web applications, processing digital signals,Â applying it in scientific research, developing hardware interfaces and the list is endless. I dont know of any other programming language that has a more wider interdisciplinary appeal than Python and I Just could not afford not to learn this all-in-one tool.
Having earlier worked with C and PHP and Java, Python was an intuitive language to pick. As I started reading code written in Python, I was mesmerized by how much could be accomplished with how few lines of code in Python. It was love at first sight.
The huge set of standard libraries and the vibrant ecosystem of third-party libraries made it even more irresistible. On top of it, Python provided ctypes to interact with functions in DLLs or shared libraries written in other programming languages. That was enough to get the ball rolling 5 years back. My romance with python has continued since then.
Python provided me the best of object oriented and functional tools under one roof. Small little features like data comprehension, generators, use of properties, decorators, descriptors, powerful iteration mechanisms etc provide the tools to be succinct but equally expressive with the code.
What other programming languages do you know and which is your favorite?
What projects are you working on now?
I am currently working on an Indian Railways Project based on Raspberry pi for a private client. My job involves implementing the interface design for the end-users. This mostly involves use of Python(pyqt).
Additionally, I am a part of a team that is developing a webstore on a not to be disclosed product launch in India.
In my free time, I am currently learning Arduino and Raspberry pi based embdedded programming. I am also researching the emerging field of open source hardware. I am interested in contributing to some open source hardware based project as a part of learning.
Which Python libraries are your favorite (core or 3rd party)?
It would be really difficult to pick out a few modules from the exhaustive list of standard libraries.
Some core modules that I often use include: sys, os, io, venv, math, threading, itertools, re, random, string, datetime, calendar, tkinter, ctypes , collections,Â unittest, doctest, itertools,Â urllib just to name a few.
Some of the third party libraries that I commonly use include PyQt, PIL, Django, SciPy, OpenCV, PyQt, Matplotlib, SQLAlchemy, Twisted , SymPy. I have recently started using the pyserial module for all serial communication between my development boards and the computer.
I have also heard good things about ‘nose’Â and I plan to look at it some times soon.
I have only mentioned some of the names here. However given the dynamic community particpation around Python, I often check the Python package Index for updates and release of new modules that could possibly fit my needs in a given situation. The Python package index has modules covering wide variety of disciplines ranging from space exploration deep down to oceanography and everything in between.