A few months ago, a friend and co-worker asked if I had seen Automating OSINT. I hadn’t, so I went and checked it out and end up signed up for the free webinar. Turns out I had just missed the previous one by a few hours. And had some time to wait before the next one.
I’ve been wanting to expand beyond just bash scripting for most of my career. I tried learning Perl, and then I tried Python. The Google Python class, the MIT Python Class, Learn Python the Hardware, Think Python, Automate the Boring stuff with Python, and buying Python courses from Boing Boing. Problem is I never finished any of them. I think because I lose interest, and have other things to do.
When the webinar’s time rolled around, I actually had the time to attend. This time the webinar had a different format. Justin Seitz wanted to try a new format based on feedback. So we walked through the setting up systems on Linux, Windows, and then the Mac. I had some problems during the Windows setup, so I switched to a Linux VM and was able to install all tools before he finished walking through how to set up on a Mac.
During the webinar, he talked about variables, lists, dictionaries, and touched briefly on JSON. Also during the webinar he mentioned The $49.99 CAD Python Course / Learn Python Course. Because I was excited, I ended up signing up but kept thinking it would be more waste, like the stuff I listed above. Man was I wrong.
The course is about 5 or 6 hours work, and quizzes the student along the way. Module 3, there is a quiz at the end of every lesson. But I actually finished this course and got a certificate of completion for it. It kept me interested, and focused on things I needed to do for work, and stuff I like doing with OSINT already. The first two modules, were the first half of the webinar. The stuff in the first few units of module 3 went over the same stuff as the webinar, but a little deeper.
The second half of Module 3 was all new stuff. At one point, while learning to work with CSV files, the person who suggested the site (full disclosure the same person was one of the three who worked the Campus Crime project with me) said it would have been great to know this stuff back during that project. It would have saved so much time.
The Good:
- This is the first Python Course that I didn’t feel like the bottom dropped out of and left me over my head.
- It has a certificate of completion at the end, that you can only get by completing the course. You have to answer the questions, which takes Python skills.
- It uses both guided videos, and readable sections to teach concepts, and wants you to work along with the training matieral. There are gaps in both, so you can’t just read or watch and pass the quiz.
- It was fun, and I enjoyed the bonus material where we get to scrape twitter. Also in one of the earlier modules, I got to learn more about API and how URI are made.
The Bad:
- It relies on Wing IDE Pro. I prefer Notepad++ / Vim and the command line for Python. I understand why Wing is used, because it makes it easier to find and fix problems with first getting started, but I’m still not a fan of the IDE, I think it builds bad habits, and hides how to do things from the developer.
- There really needs to be a section in it on reading from the command line and taking user input. Because everything was done in Wing, it was all statically coded variables, and those had to be changed if you wanted to look up other data. Taking data from the user and showing how to run from the CLI would make it so people could write awesome programs for work. Would have helped on the final challenge too.
- It’s follows Python 2.7. I’ve written a few scripts in Python 3 for work, and think that Python 3 is where we should be focusing and teaching, but that’s just me. Mr. Seitz actually makes good points on why he hasn’t upgraded yet (libraries he needs haven’t’ been ported).
During the course, Mr. Seitz kept mentioning the Master’s course, and completing the Python Course does get a discount for the student to take the Master’s Course. I plan to take it, but there are some other scripts I need to write first, and I need to save up the money for the class.
Oh and finishing the course, doesn’t end the access to it. So I can go back and revisit things as I need too.