A plane ride last week provided me the opportunity to knock one of my queued books off the stack. I had the pleasure of reading Violent Python by TJ O’Connor in its entirety during my flight. I wish that I would have been in a better environment to try out some of the exercises, but the code was pretty straightforward, even for someone relatively new to the language. I definitely wanted to get this post out quick because I know the book’s still relatively new, and I’ve actually had several inquiries as to my recommendation for the book. Long story short, I think I fit in to the prime demographic for this book.
Based on my job/interests/etc., I most enjoyed the forensic analysis, network traffic, and web recon chapters. These most closely align with projects that I’m likely to work on so I felt that I gained the most out of them. That’s not to suggest that the other chapters weren’t great, and I assume everyone will have a slightly different interest or focus depending on personal interests. The biggest thing I liked about the book is that the scripts provided are actually useful, and can become a base to build upon to suit your own needs.
Now, the question I’ve received from others is “Do you think I’d get anything from this book?” The answer is truly ‘it depends’. We’ll start with what the book is not, which serves to weed out a couple groups quickly. First, the book is not an introduction to programming. If you’ve never written a line of code or don’t understand basic programming concepts, this book isn’t where you should start. On the other extreme, if you’ve been programming Python for a decade and are aware of the many libraries available for this type of work, the book’s probably not for you either. However, if you’re in my situation, and are interested in any of the topics covered in the book, I’d recommend it in a heartbeat. I’ve done some coding in the past (other languages), and am relatively new to Python. Two of the things I find the hardest are inspiration for projects and not re-implementing something that’s already out in a package, other project, etc. Violent Python served as a great solution for both of those problems. I know I’ll use some of the capabilities and methods explained in the book.
I know this one was short, but I hope it helps in deciding on whether or not to add Violent Python to your reference shelf!