[Wolves] Python Training at Thyme software/Linux Emporium

Dave Morley davmor2 at davmor2.co.uk
Thu Jul 12 10:44:54 UTC 2012

Hash: SHA1

So for the past 3 days I been on a python course and I thought it a
good opportunity to explain why and what I got from it.

My past:
Unlike many at Canonical I'm not from a technical software, coding
or office back ground.  I drove lorries (rigid trucks the size of
semis) for a living. I had a shoulder injury that meant that I was
unable to do that any more, while I was off I worked at testing the
iso images for the entire Ubuntu family.  Every QA manager got me a
contract for the end of a release and worked hard to get me a full
time position with Canonical.

The Present:
Heno got in touch to let me know there was a QA position I'd be ideal
for within ISD at the time , now Commercial Applications (online
services) and I got it, woohoo.  Since then I've worked hard breaking
nearly every piece of software I touch (only to make it better
honest).  However it is getting more and more imperative that there
are good automated functional tests in place for regression, not
coming from a programming background I read what I could on python and
I've fudged together some basic scripts that work as much as they need
to, but was coming to the end of my knowledge very quickly.

The Course:
I wanted to get on a course that would not get me programming as such
but understanding what python was and did with code. I wanted to
understand how to write better code with a greater ease.  To that end
I booked a course with Thyme Software (John Pinners Company).  The
Training was refactored slightly to help me with the goals above.

Day 1: Normally there is a brief intro with a description of the
differences with the language you are currently coding in.  However
for me John started with a whole heap of small examples that taught me
what python did with items in memory and how objects could be link to
that byte code in memory, he showed me where I could get good examples
of code that showed how commands worked rather than the more technical
stuff that you see in man pages, python help, and pythons online docs
(1).  Because day one was basically made up of understanding how
python worked it meant that day 2 and 3 then made a whole lot of sense
all of a sudden.

Day 2: Covered all the basics tuples, dicts, lists, strings, numbers
and then went onto functions and basic modules info as I had an idea
about them already. Now the stuff I spent an entire day on in Day 1
suddenly made a whole heap of sense, it meant I could look at the
basic example code and mostly predict the behaviour correctly by just
looking at the code.  This then lead onto running the Gotcha code
examples to give me a better understanding of that, and then a video
on unicode!!! (that if you haven't seen it GO DO IT NOW! (2))

Day 3: Got mind bending with OO concepts, classes, file operations,
functional programming, generators and finally unittests and exception
handling.  However a lot of it was easier to follow as I could at
least understand roughly what python was likely to do with it.  This
lead onto writing a bunch of small functions to grab data from a basic
module and a basic text file and interact with it to give different
results.  Finally John covered a small amount on Gui application
creation for QT in python with a few basic peices of example code.

All in all it was a really good course that has helped me a great
deal.  John has done a free one day extension for me to cover some
more complex stuff that we ran out of time for, due to spending so
much time get me to understand what python does with code.  I heartily
recommend this course to anyone that needs to learn python

(1) http://www.doughellmann.com/PyMOTW/ shows basic code examples over
a technical description on how it works

- -- 
You make it, I'll break it!

I love my job :)

Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


More information about the Wolves mailing list