Just had another Python lesson with Sean in which I think the key thing learnt was 'For god's sakes, revise!'. We did a lot of stuff we've already done with regexps, and I had almost totally forgotten all the metacharacters and stuff. Gah. It's frustrating, thinking 'I know this… I know this… I knew this…' and totally not being able to recall it at all. Sometimes I think I'm more of a bot that SuwBot is because all I seem capable of doing is just whatever Sean tells me. I mean, at least SuwBot has an excuse for total lack of original thought – she's a bot!
Still, editing up my notes to go on the wiki should help as a form of revision, although I can still see a long climb up the learning curve ahead of me. Looks like I'll be needing that new set of mental crampons and an icepick after all, then.
Really getting into this Python thing. Sean is a great tutor, so as long as we can manage to find the time to meet up on IRC and go through stuff I think I'll continue to make good progress. I've also become involved in a LearnToProgram Python wiki, where I will post up transcripts of the lessons and any relevant code. Hopefully that will function both as a source of motivation and a good place for me to store my notes and code.
I've always felt that not being able to program was one of my biggest failings. I learnt Basic when I was 9, on the ZX80 and then the ZX81. By the time we got a Sinclair ZX Spectrum, I'd peaked and it was pretty much all downhill from there.
There was a brief resurgence in 1990 when I was at Uni and we had a compulsory programming module, (which I aced), but after that I was reduced to fiddling ineffectually with things like ActionScript in Flash or mangling the odd bit of Perl or ASP. I used to say I ‘coded’ HTML, but let’s face it, HTML isn’t really proper programming, no more so than coding up an old WordStar document was programming.
Since going to NotCon04, and since getting SuwBot, my desire to learn to program has returned, and so I’ve started learning Python, the language that SuwBot was built in.
Having made this decision last week, I was lucky enough to meet online Lion Kimbro, a guy who has what I can only describe as an amazingly contagious enthusiasm for Python and a preternatural ability to get you to do stuff you didn’t think you could do before you even have time to think to yourself that you can’t do it.
My friend Sean has also been helping me by helping me hack SuwBot’s code, by guiding me through what I had to do and why. Sean is also a very patient tutor, able to explain stuff clearly and concisely. It’s a pity he’s so busy – I’d happily monopolise his time in order to get my head round Python more quickly. (Then again, maybe it’s a good thing he’s so busy – otherwise I’d never get any work done!)
Whilst I will admit that I am Mistress of the Failed Project, I view this not so much as a project, not so much as something that has an end or which must be completed, but as an ongoing process that may come and go, but which now started will never fizzle out.
But then, languages are like that, and if there’s one thing I’ve learnt from learning Welsh, it’s that the key to learning any language is to have fluent people who are willing to hold your hand as you take those baby steps, who will encourage you and pick you up when you fall over, and heap praise upon you when you do something right.
Thankfully, I am surrounded by people like that.
Today Sean and I hacked about in SuwBot, and got her to kiss as well as hug. She can also cope with long commands, such as ‘Hug sbp until he gasps for breath’, and the shorter, more succinct ‘Hug me’. I also managed to load SuwBot into another channel all by myself. (Aren’t I clever?!)
All that is, of course, totally useless, but it’s fun to play with. Hopefully, before long, I will be able to get her to do more complicated things.
Watch this space.