Monday, December 31, 2012

Recap

In January I scribbled out a short list of writing-related things I'd like to achieve. As the last moments of 2012 trickle away, let's take a look back and see how badly I failed.

  • (Self) Publish two volumes of short stories — Well, I got halfway there, even if at two stories it's only just a collection. I've got another couple of stories almost edited, so I'll see if I can't completely tick this one off next year.
  • Commission a graphic novel — Didn't even come close. The script still needs writing. In typical programmer geek fashion, I think I'm going to have to code myself the ultimate storyboarding iPad app first, before I can settle down to writing the actual story.
  • Complete a full-length script — I'm not sure I even started a script this year.
  • Complete the novel(la) I've been planning — Yeah... Nope. Didn't happen.

So there you have it. Twelve months later and I'm no closer to achieving my writing goals. Time to start work on another list, I think.

Monday, December 17, 2012

π

I've had a Raspberry Pi for a few months now, and to be honest I still don't know what to make of — or indeed with — it. Here are a jumble of my current thoughts.

Running RISCOS is fun. Way back in the distant past when I was at school, the computing lab was populated exclusively with Archimedeses. Compared to the home computers of the day — the Atari STs and Commodore Amigas — these were nice fast machines with a lovely hi-colour GUI. Real Rolls Royce machines. Seeing RISCOS boot in a few seconds on the Pi gives me a real buzz. It's also cool to see it connecting to the internet, given that we didn't have any of that nonsense back when I was in school. It's just a shame that the default web browser doesn't support JavaScript, rendering most of the modern net unfortunately broken.

I wish I could find more to do with RISCOS. But then it's always seems to be the same with me when running a new OS for fun. Without actually needing to get work done with it I'm usually at a loss. I guess if I wanted to risk nostalgia overload I could spend more time running the Hatari ST emulator on it. I'm looking forward to giving BBC Basic a whirl. It would be nice to think that this classic language, on which a good number of the UK's bedroom coders cut their teeth, could step in to fill the Pi's remit of inspiring and empowering the next generation of programmers.

DexOS looks like a fun low-level OS. I haven't got it running yet, but I will one of these weekends. The same goes for Plan 9, which doesn't seem to like my mouse at all. And I'm really looking forward for the day when Android is usable on it, especially if someone figures out how to let it host its own development environment.

Rasbian, the Pi's de facto operating system, however, is slow. Almost unusably so, in my opinion. Maybe this is in part due to running it from an SD Card, but since this is the main configuration for the majority of people you'd think it would've been optimised. Applications are slow to launch and web pages trickle down. Sure, the Pi is "only" a 700Mhz CPU with less than 128Mb of RAM, but I can't be the only person who remembers Linux performing far better than this on much older hardware. Yes, considering you get a complete Linux distribution for free, I really shouldn't be complaining. But the aim of the Pi project is to get kids coding, and I'm not sure whether such a frustrating environment is the best place for that.

The thing with the hardware from the home computer boom of the early 80s — the hardware and the time which the Pi is seeking to hark back to — was the constraints it imposed. Constraints foster creativity, and most of the fun learning to program in those days was in finding the limits of the hardware and pushing against them. You typically only had a choice of a couple of languages (if you had any choice at all, otherwise it was just the built-in BASIC) in which to explore your environment. Learning everything about the machine was possible, and once you had a lot of the fun was in teaching it to perform new tricks. (This kind of limitation, I think, was also partly why the iPhone quickly became popular with hobbyist coders.)

The Raspberry Pi finds itself in an unfortunate position. The hardware, while undoubtedly cheap and mostly capable, is underpowered by the standards of the day. It can run Linux, but not nearly as well as you could on a standard x86 desktop system. The same goes for the available languages and programming environments. Ultimately, the Pi fails to be unique in the way which the home computer systems it tries to ape were.