4 articles on Python Debugging

I still remember my first programming job.

It was at the start of the dot-com boom, and I thought I was king of the world.

Turns out I was really, really wrong. 🙂

That first month was so mind expanding. I was working with season developers who had worked on so many different things. My co-workers included former game developers for the Commodore 64, telephone switch experts, and speech recognition patent holders.

I was a very small fish in this big pond.

Everyone at the company was so helpful, and they all were willing to take the time to teach me some of their hard earned knowledge. I still remember the first code review I sat in on, I was amazed that these people could look at a bunch of functions they had never seen yet figure out where there were bugs. I am so grateful for this.

That experience has really stuck with me, and to this day I work hard to pay it forward. I love helping other developers by sharing my experiences and hard earned wisdom.

To help share some knowledge I’ve been writing up articles about debugging, and Python in specific.

A little bit of irony: At my current day job I’ve been doing more and more node.js stuff. But I’ve been finding that a lot of the core principals carry over no matter what language you are using.

Here are the ones that I hope are the most useful:

  • Off By One – This covers a common bug, when the range() function doesn’t do what you think it will. Based on a situation I ran into at work, it even has a video demonstrating the problem!
  • Debugging without an IDE – I really love PyCharm, but sometimes you’ve got to get down an dirty on a remote machine. Let’s discover the power of pdb on the command line.
  • Using print to debug – This is a tactic I have used over the years to figure out where the code is really going. Simple, yet very effective.
  • A debugging environment – For me, having my tools ready is necessary before I do anything. Here’s how I roll.

What say you?

I’ve got some more ideas on what I could write about, but I’m curious: What debugging related topics do you want know about?

Hit me up on twitter, leave a comment on this post, or send me an email and let me know.

I want to help you be the best developer you can be. It would be the ultimate tribute to my coworkers at Intellivoice.