Tuesday 8 April 2014

Don't Panic

I have made no progress with my Python skills and for once I have a good excuse. My trusty Mac is playing games with me. I am suffering with  frequent Kernel Panics. Now this may sound like an outbreak of lunacy, but it is a serious issue for me. Every now and then, my screen has a transparent grey veil drawn down over it and a message appears telling me to restart. The restart takes a long time and within a short period of time, the same thing happens again.  I think, but do not know, that the problem is a dying hard drive. So yesterday I went out and bought a replacement and googled the procedure for the operation. It looked simple enough and I have dismantled previous machines, and replaced parts, with success.  So I took the plunger and removed the glass screen, undid the weird starhead screws and looked inside. Alas, the guts of my machine look nothing like the guts of the one on google and the hard drive is nowhere near as accessible. Caution is the keyword when fiddling , and so I reassembled the machine and decided to tackle the problem in the morning.
This morning, before the operation, I thought I'd power up one more time, just to get the full details of the panic report. I had a mind to print it out for reference purposes, but then remembered that my printer is out of ink.  So I left the machine running, waiting for it to panic; it still hasn't, though like the old golfing joke concerning gotchers, I wait for it to happen and cannot really settle to doing anything. I have cleaned the house, made soup, made a curry, cut the grass, and still the attack hasn't happened. While this goes on, I cannot even power up my Pi, let alone focus on the intricacies of language learning.



Saturday 5 April 2014

If then goto

I have a Raspberry Pi. For the uninitiated, this is a really cheap computer, designed to encourage the re-introduction of programming into schools. I say cheap, but by the time you add a keyboard and mouse, a case and a monitor, it is not as cheap as it appears. However it is an encouragement for me to learn coding again.
I have very fond memories of a similar initiative, the BBC Micro, which was introduced decades ago, and was an introduction to the world of computing for hundreds of thousands of school children and their teachers. In those days, computer studies involved a knowledge of how programs work and many students would write sophisticated software, using BBC Basic, or the really smart ones would go the extra mile and write in what was called Machine code.  The computer room was always full of students clacking away at keyboards and I too was caught up in the tide of logic and became the proud owner of several machines.  I learned how to program and would spend hours inventing routines and even simple games.  At first loading and saving code was achieved via cassette tapes, it could take several minutes to load a big program and both processes were tedious and unreliable.  Then we progressed to disc storage and the school bought a 30Mb hard drive. This stood as the server for the whole network and each student could store their data on it.  I bought a floppy disc drive and could store my creations on those old flimsies so much more efficiently. Programs loaded quickly and far more reliably, removing the anxiety that often accompanied loading and saving.
My Pi has a memory card that holds 16Gb of data and yet it seems no faster in operation than did my BBC machines.  It uses a language called Python, though I am told that it can handle others too,  and this is very different to the Basic that I was so familiar with. To begin with there are no line numbers, so commands like GOTO no longer apply. I realise that I must erase my memory of Basic and to start completely from scratch, though my brain is far less capable than it was, and while I have my Mac sitting alongside it, the Pi offers little motivation in creating practical applications.
It is early days, and the learning curve is steep, but I will give it a try and hope that I can stay ahead of my grandchildren for a while.