28 August 2011

Raspberry Pi - The Trojan Horse?

The Raspberry Pi project has got a lot of coverage today thanks to the article in the Guardian written by John Naughton.

The fundamental problem has never been the lack of cheap hardware. Even in this day and age it is not the lack of quality freely available tools.  A kid who has the propensity to be a hacker nowadays would invariably have Linux installed with the myriad of tools available, and also doing that they would have the knowledge it should work fairly easy on other computers running roughly the same operating system.

The Raspberry Pi is attempting to invoke the feeling of the BBC Micro in an attempt to get kids programming again, because in the near future we are going to be in a very precarious situation with our engineering ability in this country.

First of all why did the BBC Micro succeed? It is very hard to compare to today with the abundance of computing hardware just in your pocket.  Part of it was almost every classroom across the land had one of these and the children who could work out how to operate them hunted 1s and 0s in packs.  There was a communal aspect to it as the children would have to share, listen, and take it in turns.  Also, there was the TV programme Micro Live, which was needed to get a chunk of publicity.

My first programming was done on BBC Micros at school in the East End of London and at friends houses as we couldn't afford one at home. So, I for one know their importance and probably a majority of my friends and colleagues had similar start.

When I was at University Linux was just starting to gain some traction and the work of the FSF got us GCC and the mix of other tools.  But on Windows I was still trying to use DJGPP and there was no chance of getting more complex things working with an open (free and Free) toolchain.  Children coming up in that age must consider it the computing Dark Ages.

So I come back to my first statement that cheap hardware has never been the problem.  The people getting excited about it are 30+ developers like me who think - "Oooooh, cheap commodity ARM platform, that I can hack in lots of ways".  My immediate thought was to make it into an immensely cheap network connected digital signage system.  And this is probably because ARM is still a minefield and a static and well supported platform would be desirable.

I am not trying to negate the good work done by Raspberry Pi as it could be amazing if it is the Trojan Horse.  What do I mean by that?  The hardware becomes the makeweight for all the real important stuff that needs to happen if we are truly going to educate the next generation of programmers.

What is needed?  Community, publicity, documentation and traction.  Community because this goes beyond the single classroom of my youth.  You need IRC, social networking and tools for more permanent sharing (like Github and Gist).  This then ties into documentation, it would need to be good up front but also allow for the people to evolve it, so much like a wiki.

Just social media publicity would not be enough, you would really need a TV programme to generate it, but then this is where the social media would tie in.  For the programme they would have to show the users best contributions so there is an incentive to produce and produce something good.  After all how many people sent a picture into Hartbeat in the hope of getting into the gallery? It's the closest computing could get to the X-Factor...

The most important part will always be changing the educational system to get children learning how computers to make computers work for them rather than simply going through the commercial Word Processor/Spreadsheet operating.  I suppose this is where the documentation does come in, but I think there will need to be more.  If someone could show educators a curriculum that they could prove worked then that might get the traction required.  That would be a tough proposition and also I am unsure about whether there are enough technical skills in the educational sector to deploy such a thing.  Maybe it would require people from industry coming in and mentoring...

In the end I am hoping that the Raspberry Pi hardware is the Trojan Horse for something much more fundamental.

26 August 2011

Linux at 20

If it didn't exist I somehow think computing would be a much less fun place and I probably wouldn't be able to do my job so well.

Linux Foundation
I'll be celebrating 20 years of Linux with
The Linux Foundation!

24 August 2011

Pycon UK 2011

Unfortunately I was unable to make it to EuroPython 2011 due to its location (no longer being in Birmingham).  The good news is that the same guys who ran Europython in Birmingham have announced Pycon UK in Coventry.

For the reasonable price of £95 you get two days of Python goodness.  As their website says:

Sessions will include testing, a code clinic, Django, PyPy, XML, Design and Graphical Programming. There will be an unscheduled room for dynamic talks and time allocated for sprints. The weekend will also feature the return of our ever boisterous conference dinner!
I've paid for my ticket already and Python events are always educational and entertaining.

23 August 2011

New Github Project - pyxlib-ctypes

I had written a pyrex based binding to some elements of Xlib, but I decided to make it pure python to avoid the compilation step.  Luckily a kind person had created pyxlib-ctypes http://code.google.com/p/pyxlib-ctypes/ which is a pure Python binding to the underlying X functions.

I needed a few more features due to XComposite for writing crazy desktop compositors in pure Python and also some XFixes functionality so we can really hide the mouse cursor.

As such I am publishing my amendments to it on Github - you can check it out here: https://github.com/garrybodsworth/pyxlib-ctypes it literally has the bare minimum I needed and could probably be extended for greater coverage.  It is used in production and seems to be working very happily.


It's aliiiiiive!

After a few years of hosting my own blog on http://programmerslog.com I have come back to Blogger.  This unfortunately was caused by losing the domain which is pretty sad....  I have a back up of the few hundred blog posts in a SQL dump but I doubt I will find the energy to extract them(!)

What will be on this blog now?  Any projects I publish on Github, lots of Python, Linux, coding, and probably my random artistic scribblings.

I must say Blogger is looking rather swish nowadays, part of the reason to use Wordpress was for the features, but now I can do pretty much what I want here.  Also I don't have to worry about renewing my domain subscriptions or doing software updates...

I've reconfigured all my feeds to point to this blog since it is the only active one.

Now I just have to actually write some content...