All posts by Mike

Face Detection Using Python and OpenCV

Machine Learning, artificial intelligence and face recognition are big topics right now. So I thought it would be fun to see how easy it is to use Python to detect faces in photos. This article will focus on just detecting faces, not face recognition which is actually assigning a name to a face. The most popular and probably the simplest way to detect faces using Python is by using the OpenCV package. OpenCV is a computer vision library that’s written in C++ and had Python bindings. It can be kind of complicated to install depending on which OS you are using, but for the most part you can just use pip:

pip install opencv-python

I have had issues with OpenCV on older versions of Linux where I just can’t get the newest version to install correctly. But this works fine on Windows and seems to work okay for the latest versions of Linux right now. For this article, I am using the 3.4.2 version of OpenCV’s Python bindings. Continue reading Face Detection Using Python and OpenCV

Book Contest: ReportLab: PDF Processing with Python

I recently released a new book entitled ReportLab: PDF Processing with Python. In celebration of a successful launch, I have decided to do a little contest.


  • Post a comment telling me why you would want a copy
  • The most clever or heartfelt commenter will be chosen by me

The contest will run starting now until Friday, August 17th @ 11:59 p.m. CST.

Runners up will receive a free copy of the eBook. The grand prize will be a signed paperback copy + the eBook version!

PyDev of the Week: Lovely ricel Banquil

This week we welcome Lovely ricel Banquil (AKA Banx) as our PyDev of the Week. Banx is a tester by trade and recently presented a talk at PyCon Thailand. Let’s spend some time getting to know Lovely better!

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

Hi! My name is Banx and I’m a Software QA Engineer for a startup in the Philippines.

I’m an avid cat lover, my favorite author is Agatha Christie ( whodunnits!!! and Hercule Poirot’s moustache :p ), I still follow the Chicago Bulls even though they suck, I love seeing the world, and I’m a nurse by profession.

Yep, you read it right. I took up Nursing in college, got my license to practice as a nurse (which I never did). Now I code and hunt for bugs, and I love every minute of it. Continue reading PyDev of the Week: Lovely ricel Banquil

PyDev of the Week: Thea Flowers

This week we welcome Thea Flowers (@theavalkyrie) as our PyDev of the Week! Thea is a maintainer of and the urllib3 package. Thea also is very active in the Python community and is a new board member of the Python Software Foundation. You can find out more about Thea on her website, Github. Let’s take a few moments to get to know Thea better!

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

I’m currently at Google where I work in Developer Relations for Google Cloud Platform. I focus on API client libraries and supporting the Python community. I even have the official title of “Pythonista”! I’m also the co-chair for PyCascades 2019 which will take place in Seattle early next year. Outside of professional commitments, I like to build synthesizers and costume props and I also volunteer as a mentor for FIRST Robotics.

I have a pretty non-traditional background. I’m originally from Atlanta, Georgia and I have no higher education to speak of. I worked by way into being a professional software engineer via open source and a lot of luck. I started programming as a teenager to attempt to make video games. I never managed to make a video game but I had a lot of fun trying and learned a ton of useful skills.

Oh, I’m also openly transgender. Continue reading PyDev of the Week: Thea Flowers

Jupyter Notebook 101: Table of Contents

I am about halfway through the Kickstarter campaign for my new book, Jupyter Notebook 101 and thought it would be fun to share my current tentative table of contents:

  • Intro
  • Chapter 1: Creating Notebooks
  • Chapter 2: Rich Text (Markdown, images, etc)
  • Chapter 3: Configuring Your Notebooks
  • Chapter 4: Distributing Notebooks
  • Chapter 5: Notebook Extensions
  • Chapter 6: Notebook Widgets
  • Chapter 7: Converting Notebooks into Other Formats
  • Chapter 8: Creating Presentations with Notebooks
  • Appendix A: Magic Commands

The table of contents are liable to change in content or order. I will try to cover all of these topics in one form or another though. I am also looking into a couple of other topics that I will try to include in the book if there is time, such as unit testing a Notebook. Some of my backers have also asked for sections on managing Jupyter across Python versions, using Conda and if you can use Notebooks as programs. I will look into these too to determine if they are within scope for the book and if I have the time to add them.

PyDev of the Week: William F. Punch

This week we welcome William Punch as our PyDev of the Week. Mr. Punch is the co-author of the book, The Practice of Computing using Python and he is an assistant professor of computer science at Michigan State University. Let’s take a few moments to get to know him better!

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

I’m a graduate of The Ohio State University. I did my undergraduate work in organic/bio chemistry and worked for a while in a medical research lab. I found I didn’t like the work as much as I did in college so I looked for something else. Fortunately the place I worked offered continuing education so I started going to school at night at the University of Cincinnati to study chemical engineering. I thought I could get through that quickly given my background. The first courses I took were computer science courses and I was completely taken with them. I changed to CS and eventually went back to OSU and got my Ph.D.

As a chemist I was always fascinated with glasswork, and so I do glass blowing in my town when I have the time. Continue reading PyDev of the Week: William F. Punch