Raspberry Pi: enough to go round?

Raspberry Pi’s most important achievement so far is in generating considerable publicity. The genius of its marketing is that it appeals to the current generation of tech journalists, who were raised on the 1980s home computers whose spirit it invokes. Whether it will appeal today’s children however is less obvious, and arguably more important. Having the inner working exposed (unlike home computers) should help, though it also exposes a serious failing (more on that later).

What measure of success?

How successful it is likely to be depends largely on what you think the problem is.

Reproducing the past

Raspberry Pi’s founder, Eben Upton, defines the challenge as getting a pocket-money-priced computer suitable for teaching children to program mass-produced. The R-Pi meets that definition for the sort of middle-class household that boasts a spare HDMI-compatible monitor plus an old mouse and keyboard and offers generous pocket-money, but elsewhere failing to count input devices and a display in the cost seems disingenuous, and an all-software solution that ran on just about anything, including phones and old PCs, and could be freely downloaded, would seem nearer the mark.

Upton would reply that merely adding “an app for that” doesn’t invite the child to program as the old home computers did (when you switched them on you were immediately presented with a programming environment). Compare this with games consoles and PCs: you can program them, but by default they offer games or an office desktop respectively.

More seriously, many parents quite rightly lock down the computers their children use to prevent their visiting undesirable web sites or installing new software, or even insist on their being supervised: forbidding conditions under which to nurture the sort of exploratory play by which we all learn to love programming. A separate device which belongs to the child, contains no sensitive parental data, and can’t go online addresses all these problems, and the child can be left alone with it as safely as with a book.

Rebuilding the workforce

So far, so good: we’ve recreated a small corner of the 1980s, and a small self-selecting segment of relatively privileged children will have a chance to become programmers. But we already need far more programmers today than when the children of the 1980s entered work, and we’ll need even more when today’s children grow up. To make up the shortfall, programming needs to go mainstream.

This is a challenge that’s already being met locally in many areas; Upton’s approach is to reach out to children directly via programming competitions (or “bribery” as he calls it); although this approach might work without substantial involvement by schools, it seems unwise not to make a serious push for inclusion in the school curriculum.

Remaking society

I believe, however, that programming is far more important and central a skill for the modern world than even its most ardent industrial cheerleaders suggest. Being a non-programmer today is like being illiterate two hundred years ago: it’s possible to get by without understanding anything about programming, but you end up relying heavily on others.

It’s a subtle point, because it’s rare that one needs to actually read or write code; rather, one needs to understand how computers work because increasingly they are embedded in, and hence govern, the systems we use to organise our lives.

Many competent and confident users of computers are reduced to impotent gibbering by machine malfunction, because learning how to operate a computer gives one very little insight into how they fail, whereas understanding bugs and other failures is central to learning how to program. It’s as if the person who could help you repair your blender is the one you’d ask how to cook a soufflé, or as if the person best able to navigate a car was a mechanic.

(Why computer systems are like this is a fascinating question whose answer involves the immaturity of the technology, its complexity, and the degree to which interface and systems design is still driven by technical rather than human considerations, but one I can’t elaborate on further here.)

Even more important is the mindset underlying programming: programmers, like scientists, believe that systems have rules which, if they can’t be looked up (“reading the source code”) can be discovered and codified (“reverse engineering”). But programming has an additional, empowering belief: that rules can be changed or replaced. In a society that is increasingly rule-bound and run by machines, a programmer’s mindset offers both the belief that things can be improved, and the tools to change them. That is why it’s essential that every child should understand at least the principles of programming, even if they never read or write a line of code as an adult.

Scaling up

Hence, it is necessary that programming become part of the core school curriculum, and it will be a good sign that it is embedding itself in our culture when it becomes so. Raspberry Pi has three major problems here: the hardware, the software, and connectivity.

Seeing to the bottom

The problem with the hardware is optically obvious, because of R-Pi’s lack of external casing: it’s entirely closed. You can see the components, but you can’t take it apart to see how it works, or modify it in any way. This is partly a result of the nanometre scale on which modern electronics is built, but it’s also caused by the increasingly draconian intellectual property régime under which we suffer. Unfortunately, the beating heart of the R-Pi, a Broadcom SoC (“System on a Chip”), is a prime example of this.

Even more unfortunately, it’s hard to see how anything like the R-Pi could be built without such regressive technology (in this case, via a special help from Broadcom that Upton, as an employee, managed to secure). All this means that the R-Pi is not only little use in firing the imagination of the next generation of hardware engineers (just as sorely needed, if not as numerously, as the software kind), but its hardware reinforces the “black-box, do not touch” mentality that its software is trying to break down.

Programming for all

Unfortunately, the programming environments provided, although open, are the standard machine-first arcane languages and tools that adults struggle with. Why not use something like Squeak Etoys, which is based on decades of research in both programming and teaching programming? (The plurality is part of the problem too: the R-Pi offers distracting choice, unlike old home computers which simply dumped you into their one built-in programming environment.) Fortunately, this is easy to fix: just update the software shipped with R-Pi.

Changing the world, Learning together

The final problem, connectivity, is a subtler one. Above, I mentioned that an advantage of giving a child their own device is that it need not be connected to the internet, and hence can be safe for them to play with unsupervised. But the R-Pi lacks other sorts of connection that are important. First, it can’t affect the world physically (though peripherals attached to it could). While the privacy and absolute power one enjoys in the virtual world inside the computer is exhilarating and empowering, children also love toys that have real world effects, and it’s an important aid to the imagination to see that one’s electronic creations can have direct physical outcomes.

The Logo systems of the ’70s and ’80s had a natural real-world extension in the form of drawing “turtles”; today we have Lego Mindstorms, but they’re expensive, and only partly open. What we need is a RepRap for children. Secondly, children want to play with each other; their computers should be able to network too. The One Laptop Per Child machines do this; R-Pis should be able to too (and again, fortunately, it’s mainly a matter of software).

Feeding the five million

In summary, Raspberry Pi is, closed hardware aside, a great platform that could help catalyse a much-needed revolution in the perception of programming. The good news is that the remaining technical steps are in software, and can be taken without the heroic step of re-mortgaging one’s house, as Upton did to fund R-Pi. The bad news is that the rest of the job is social, and hence much trickier to achieve than a bank loan.

Computing can’t be left to teachers and business

Today the education secretary, Michael Gove, announced an overhaul of the ICT curriculum. This is good news and long overdue; having recently been castigated by the great, the good, and Google for our poor ICT teaching, the government has responded and is launching a campaign to overhaul the way ICT is taught: out with word processing and spreadsheets, and in with programming.

So, I should be happy: mission innocents saved accomplished? Sadly not; apart from the natural wariness of any “major government initiative”, this one falls down in two important ways.

First, Gove made his big announcement at an education industry gathering, BETT, and made several references to the importance of industry, both as determining what skills should be taught, and as partners to help teach them. In some vocational subjects, this makes sense, but ICT is a compulsory part of the core curriculum. It is not the function of education to prepare workers for business, and businesses are neither interested in nor competent to decide how to educate people. There’s a very obvious sense in which this is the case as far as ICT goes: children must be educated for life (even if the rhetoric of continuing education bears full fruit, adults simply cannot learn as children do), while the ICT skills that business demands change every few years. So here, as in traditionally academic subjects, we should view any industry involvement with the scepticism (and, dash it, cynicism) that it deserves.

Secondly, the announcement essentially removes ICT from the National Curriculum (the Whitehall-speak is “withdrawing the Programme of Study”). There are positive noises about supporting teachers with actual money, alongside the usual guff about liberating them, but the government are still washing their hands of responsibility of what is now the most important subject taught in schools.

As the culture minister, Ed Vaizey, understands, knowledge of how computers work is now as fundamental as literacy. It’s too basic and important to leave unsupervised even if, on the other hand, it’s so new and changing so rapidly that Gove is correct in saying that a traditionally-written curriculum “would become obsolete almost immediately”.

But the elements of computing do not change so rapidly, and they are the important bit. In the mid-’90s the undergrad course on computation theory I attended was thirty years old, and it was just as relevant and up-to-date as it had been when it was written. Many of the computer languages and operating systems in use today are at least as old, as are almost all of the concepts on which they are based.

And although many of the elements have been with us for decades, they are only now becoming fundamental to our society in the same way as literacy and numeracy. Very few people have any idea what that really means. Two crucial points need to be made: that everyone needs to learn how to program, not just programmers; and that programming is not just about computers, just as literacy is not just about speaking, reading and writing. The programming mindset can transform one’s world-view, and, like literacy, it’s particularly empowering, as it brings not only an understanding of how to decompose problems and invent rules to solve them, but the sense that the rule systems which govern our society are software, and can be changed.

Working out how to get all that across will certainly be aided by freeing teachers to experiment. Championing the process while capturing and disseminating best practice and embedding it in our culture needs central leadership. This is a far from unpromising announcement, but it’s only the beginning of the cultural shift we really need.

Si monumentum requiris, ædifica!

Steve Jobs is dead, and the plaudits are rolling in. In a career lasting a little over thirty years, Apple, the company he co-founded and led to all its triumphs, has been part of every part of the computer revolution, and, for many people, has been the exemplar of each of its waves, from the Apple ][ to the Macintosh to the iPod to the iPhone to the iPad. Of the countless innovators who drove digital technology into our lives, Jobs was one of the few able to embed it in our hearts and minds, and by far the most influential. His uncompromising insistence on the marriage of form and function set expectations for industrial design well beyond his industry. Stephen Fry was not far from the mark when he told BBC News in August “I don’t think there is another human being on the planet who has been more influential in the last 30 years on the way culture has developed.”

Here in 2011, it’s amazing to look back over the last 30 years and see how completely computing technology has transformed our lives and culture. But step back a bit further and what’s odd is not how much, but how little we’ve achieved. Looking at Jobs’s achievements, I couldn’t help wondering how we’d ended up in a world where he really was the most successful innovator of his era. In 1968, Doug Engelbart, head of the Augmentation Research Center at Stanford University, showed us the future in one astonishing 90-minute demo, including the public debut of the mouse, hypertext, remote collaboration, videoconferencing and more, the result of just six years’ research by a team of 18. It would have been more believable coming from Stephen Fry’s alternate world in Making History. How did the computer revolution underperform so badly?

When beauty is just skin-deep

For the truth is, pretty much every revolutionary product Apple brought to market was merely the first successful incarnation of decades-old ideas. The Macintosh, released in 1984, embodied user interface work done at Xerox in the 1970s. The latest incarnation of its system software, Mac OS X, is based on NeXTSTEP, the operating system developed by NeXT, the company Jobs founded when he was fired by Apple in 1985. NeXTSTEP was itself built on the Mach 2.5 kernel1 and BSD UNIX, both ’80s repackagings of ’70s designs.2 The hardware was much the same: off-the-shelf parts, dressed beautifully. Jobs told Wired “When people look at an iMac, they think the design is really great, but most people don’t understand it’s not skin deep”, but that’s exactly what it was: where Apple excelled was industrial design. From the look to the choice and arrangements of internal parts,3 formal and functional elegance was all. And it helped the bottom line: as Jobs told Wired, “Focus does not mean saying yes, it means saying no,” and that meant simplicity not just in individual products, but in the product line as a whole. Despite not being the world’s largest manufacturer in most of its product categories, Apple boasts industry-beating economies of scale thanks to its tiny product range, which means that it uses more of each component than other manufacturers, and can thereby boost its profit margins, or demand uniquely customized components from its suppliers.

Tales vs Tools

The power of Apple’s brand is legendary inside and outside the company. There’s the story of the contractors who were laid off and yet came work for six months to finish their program, as well as the familiar pictures of fanbois4 queueing at Apple Stores around the globe for each new product release. Unfortunately, Apple’s brand has become an end in itself for the company. Digital devices are tools, but Apple realised, as car manufacturers had before them, that it was not merely more effective to sell them with stories and as symbols of a better, richer life, but as the tools the purchaser needed to create that life. In his commencement speech at Stanford in 2005, Steve Jobs said: “Don’t be trapped by dogma—which is living with the results of other people’s thinking.” But Apple told its customers why and how to use its products, and from its experiments with allowing third-party manufacturers to build Mac-compatibles to its iTunes media sales and now its App Store first for iPhone and then Mac OS, it has leveraged its loyalty to dictate what customers may do with their devices.

What price freedom?

And so Jobs compromised with profit. I don’t think it had much to do with avarice; offering consumers desirable products is a tried-and-tested route to success, and computing has many visionaries whose inspiration has touched almost no-one outside the field: Doug Engelbart’s astonishing array of new technologies, Chuck Moore’s insistence that computers can be thousands of times simpler, David Gelernter’s reimagining of the user interface, Carl Sassenrath’s crusade against software complexity; all have spent decades doing incredible work that goes almost unused. Xerox, whose Star workstation from the late ’70s was the basis for the Macintosh, came up with the “memory prosthesis” in the ’90s, an idea which makes perfect sense with today’s smart mobile phones, and which no-one has implemented. The obscure publicly-funded Viewpoints Research Institute, whose board of advisers reads like a who’s who of computer science, and whose small research staff all have stellar track records are trying to rewrite the rules of building software (and as far as one can tell, succeeding), but there are few tangible results. From academics to entrepreneurs, none of these brilliant inventors has had an iota of Steve Jobs’s direct impact on the everyday world. Sadly, one of the most brilliant, Jef Raskin, who started development of the Macintosh in 1979, was forced out of Apple by Steve Jobs, failed to find commercial success elsewhere, and in 2004, like Jobs, was diagnosed with pancreatic cancer, from which he died a year later. His book on interface design emphasizes the importance of software design based on how people actually use computers, rather than on superficial attractiveness.

There’s another, more fundamental sort of freedom that Jobs eschewed in his determination to control users’ devices: the freedom to study how the software and hardware works, modify it, and share those modifications. When most users will never want, or, in most cases, be capable to do such a thing, it’s an option that has proven to be of powerful benefit to society, from the days of computing pioneers sharing programming techniques, to the rise of the free and open source software movements. Under Jobs, Apple itself both used and contributed to open source and free software, but usually only when forced to by free software licenses, and never as a corporate badge of pride. Apple’s brand emphasised revolution, but its product policies encouraged conformity. Even Steve Jobs could not conform the market square to the circle of free users.

Si monumentum requiris, ædifica!

And so we are left with an immense challenge: the greatest popularizer of computing technology is dead, but the digital revolution has only achieved a fraction of its potential. If we want his monument, we’ll have to build it ourselves.


  1. Not a microkernel; Mach didn’t become that until the (final) version 3.0. 

  2. The original Mac OS was newer, built from the ground up by Apple for the Macintosh; but it was not up to the job of running multiple applications on the same machine, and despite two separate attempts to build a proper operating system from scratch, Pink and Copland, Apple never managed it. An ex-Apple employee, Jean-Louis Gassée, proved it could be done with Be Inc.’s BeOS, but Steve Jobs’s charisma and the more mature state of NeXTSTEP won Apple over when they were looking for a basis for Mac OS X. 

  3. The same Wired article quotes a friend of Jobs, in the early days, describing how he would dictate “how to lay out the P[rinted]C[ircuit] board so it would look nice”. 

  4. From the French faune des bois, meaning “wood-faun”, a creature that happily spends the night outside, sometimes pictured with the tail of an ass. 

Tags: computing

Old-hat futurism

I had not previously heard of Ben Hammersley, but he says he “helps people understand the modern world.” Recently, he gave a speech to the IAAC (Information Assurance Advisory Council), and the tone was very much “you are all living in the past”. He makes some excellent points in the second half of his talk, about how security theatre is widely seen by the public as an oppressive sham, and how it’s no longer acceptable for leaders to be proud of their technical incompetence, but the first half is both out of date (worrying for a self-described futurist) and out of kilter (worrying for someone supposedly acting as a “translator” between those inventing the future and those running the show). As often with people who get it badly wrong, he starts from the right premise: he quotes William Gibson “the future is already here, just not evenly distributed”; and then ignores it, going on about how our lives are now all on Facebook; we all expect people to be instantly available on the end of a phone 24/7 etc. etc. This is, of course, all true…for the tiny minority in power. But he’s missed the other (and sharper) edge of Gibson’s blade; the future, like the wealth to which it’s so tightly linked, is getting more and more unevenly distributed: not only are there people half-way round the planet still living in the stone age, but there are people a few hundred yards away living half in the present and half in the 1970s. That’s a much more important split than Hammersley’s between people who grew up before and after the end of the cold war. Sentiments like “Facebook, Twitter, Google and all the rest are, in many ways the very definition of modern life in the democratic west” are just evidence of the echo-chamber mentality those three engender. And anyone who still believes the absolute “networks beat hierarchies” simply hasn’t paid attention since 9/11. Scariest of all is that, tiny as the minority it represents is, this view really _is_ reality, in the sense it’s true for everyone with power, who have a huge impact on what happens to everyone else. I’m not sure I really want our rulers to understand Hammersley’s future (delay the inevitable as long as possible!), though I also suspect many of them have a much better grasp of it than he gives them credit for.

New Programmers Wanted For Old Stuff

Although computer science seems to have lost the glamour it had in the ’80s, there still seems to be a steady stream of volunteers to work on all sorts of exciting free and open-source software projects (even though my alma mater is having trouble finding good applicants to read Computer Science; more on that story earlier, and also, I hope later).

But what about the less exciting stuff? The fundamental tools and applications that we programmers still use, directly or indirectly? I mean GNU coreutils, GNU autotools, not to mention pieces that we take even more for granted, such as the shell, the C library and the kernel. (In case this all sounds disguisedly Linux-centric and you’re wondering why I didn’t just say “bash, glibc and Linux”, that’s because while I work mostly on GNU/Linux, I’m mostly interested in portable programs.)

“But isn’t this all legacy stuff”, I hear you cry? If you never stray from the comforts of Eclipse, then maybe yes, but there are still plenty typing “ls” and “grep”. If you’re one such, and you contribute to free software, why not help out? It’s not all legacy code in maintenance mode, and we certainly need help. Rather like the MS-DOS team in the early ’90s, there’s a tiny core of maybe a few dozen major contributors maintaining much of the command-line software stack (outside the kernel and gcc). Unlike them, we are mostly not paid to do so; but we do have many opportunities for innovation and invention.

The UNIX command-line may seem like a dead backwater, of interest only to the dull writers of sclerotic standards, but that’s to misinterpret effect for cause. Yes, it’s mature, and hence capable of standardization, and that’s a good thing: even 10 years ago, many UNIX boxes lacked a decent POSIX implementation, whereas now almost all have one (or can get one by adding GNU). The ISO C99 standard added important features to the language. GNU autotools has matured from a somewhat cranky portability tool to a great leveller, making it easy to write code that will not build and run on any major OS (yes, including Windows), thanks not just to increasingly maturity and stability, but also to new projects such as the amazing gnulib, which papers over the cracks in a wide range of POSIX API implementations and provides useful data structures and other APIs missing from the standards, and autoconf-archive, which supplies autoconf macros for dozens of common configuration tasks and for hundreds of languages, tools and libraries.

Using these tools I was able to remove all platform-specific C from GNU Zile, a cut-down Emacs clone, cutting its code size by about 2,000 lines (20% of the code base), and slash the size of its configure.ac (build system configuration file). All this while adding a test suite with nearly 100 tests, plus a few extra features.

And it’s not just Zile: stalwarts like GNU grep and coreutils have been made over, and, largely unnoticed by users, are looking much prettier under the hood (though there are important bug fixes, new features and performance improvements too). Even Emacs, with its immense code-base and ancient build system, is gradually being brought up to date.

The most exciting thing for me is the synergy: the more the tools are improved, the greater the leverage obtained when they are used, and the more they are used, the less effort is required to maintain the packages, and the work becomes easier: less time wrestling the system, more time improving it. And more fun: if you think C is hard, dull and slow work, think again. We too can have quick rebuilding thanks to ccache, easy bug-bashing with Valgrind, not to mention code completion and navigation either in an IDE like Anjuta or from the evergreen Emacs, which is finally integrating and polishing a decade of, until now largely invisible (and unusable), work on modern IDE tools.

Unfortunately at the moment this reduction in effort is being absorbed simply by enabling a tiny team to keep more packages up to scratch, but wouldn’t it be great if more people joined in?

Next time: the future of the past: it gets even more exciting!

Tags: computing

Lots in translation

Recently I went to a recital by a couple of friends, and discovered that I’m not the only one who gets my recital programme translations from The Lied, Art Song and Choral Texts Page. Many translators are happy to let you use their translations in concert programmes, suitably acknowledged, and the original lyrics, where available, are reliable, usually checked against original sources, often include variants set by different composers (who often seem either too lazy to check an original copy, or think they can improve the text), and are out of copyright, so you don’t need permission to use them.

There are some mistakes in the translations; as I’ve said before for ebooks, if you find mistakes, please fix ’em: Emily Ezust, the maintainer of the site, is happy to receive corrections. Most are useful for study; many are not bad for programmes, though I prefer a little more poetry in a programme translation than in a strict gloss for the singer.

Back to the recital, and there was one oddity which even copy-andpaste couldn’t explain. The last song in the programme was Schubert’s Ave Maria (why, in a recital, sing it in Latin?), and the translation was the version of Hail Mary familiar to Anglophone catholics for some centuries. But it too had a copyright notice!

Tags: music

Proof sought

Christmas 2010 was when half the people I know got Kindles. I even got one myself, as a Christmas present for my girlfriend. Suddenly, there are millions more pairs of eyeballs on digital books, many thousands of which belong to acute brains adept at finding errors and misprints. And nearly all of them, I fear, are going to waste.

There are three reasons for this.

First, the Kindle does not encourage you to read free books. (There’s little point proofing commercial books, not so much because they tend to contain fewer errors as because I’ve never come across a non-academic publisher who cares; and anyway, if you’ve paid for a book, shouldn’t someone have proof-read it? I’d be interested to see publisher initiatives here, though; bug bounties, anyone?) This problem is easily fixed, though: many sites offer a huge range of books you can download to your Kindle via its built-in web browser, including the oldest, biggest, and best free online book repositories, Project Gutenberg. So go to, sample the tens of thousands (and rapidly increasing) treasure trove of public domain works, and never pay for a downloaded book again.

Secondly, no ebook or reading program I’ve yet seen has built-in functionality for noting errata. I use bookmarks in FBReaderJ; Kindle users can use notes. But even this primitive method is easy to use and I find it rarely interrupts the flow of reading, even for books containing hundreds of errors. So, note any errors you find!

Thirdly, online libraries often don’t make it obvious that they welcome reports of typos and errors (they do!), or make it easy to send them. (Project Gutenberg changed its email addresses last year, to reduce spam. This wasted my time last year when they introduced the “2010” suffix in April, and again this year when I had to go and check to see if they’d decided to update automatically every year. It seems not. Maybe in April? Really, Gutenberg, just use spam filters, it’s what they’re for.) Many other sites repackage texts from Gutenberg; some fail to update to the latest version, such as Feedbooks, whose books work better on my phone than Gutenberg’s own, but often contain errors already fixed on Gutenberg. (They told me they have to apply updates to their books by hand; I have offered them help with automatic updating, which isn’t rocket science, using tools that programmers use all the time, without success so far.) It’s clearly best to report errors to the original source of the text if at all possible, but if you can’t, don’t worry. Spend a couple of minutes finding how to report typos to wherever you got your book from, and try it; you’ll soon find out if they’re unappreciative.

We have an amazing resource here, and it’ll only get better (if it isn’t. Digital editions, unlike their paper forbears, need not go out of print: errors can be fixed forever. If every reader of a free ebook reports half a dozen errors, even dodgily scanned texts will soon shine. And this is for everybody: free ebooks can be printed and bound, so allowing imaginative publishers, libraries and donors to get them into the hands of those who can’t afford ordinary books, let alone a Kindle.

But aren’t lots of people doing this already? It doesn’t seem so: in 2010 Project Gutenberg started an automated errata tracker, which allocates each new errata report a different number. By the end of 2010 it was up to about 500; by contrast, in 2010 alone several different open source software projects racked up over 100,000 bug reports each [Stop Press: Gutenberg now seems to have abandoned automated erratum numbering.]. Despite its richness, Gutenberg has a handful of full-time employees, and runs on volunteer labour and donations (by definition, they can’t ask for money for their books). And that’s just the biggest Gutenberg project, in the US. To avoid exposing itself to the vagaries of international copyright law across different régimes, the various Gutenberg sites in different countries are entirely independent. Gutenberg Australia, which is the second-biggest original source for English books after Gutenberg US, is run by one person, the heroic Colin Choat, in his spare time.

So, please help!

Tags: books

Unchanging rhetoric on higher education

I tried to post this as a comment to the Guardian article Universities must cut private schools intake, says Simon Hughes, but the web site said “Your browser sent a request that this server could not understand.”

The tune of the government, sadly but unsurprisingly, never changes, and continues in its hypocritical vein, suggesting that ministers are not really interested in improving access to the élite universities most of them went to.

If they were, then we might hope ministers to tell us how things have changed over time (how is access to Oxbridge now compared to 30 years ago? much better than it was, but still some way to reflecting society), to laud successes, and to commission and act on research to improve things further.

And they might stop implying that what Oxbridge want to do is keep the plebs out and keep educating the rich.

I was briefly acting Director of Studies in Computer Science at one of the bigger Cambridge colleges in the late 90s. My successor, a state-school educated Northener, had to address the problem that applications were falling off (apparently in the 21st century, computers are no longer cool), and there were barely enough applicants for the places available, let alone good applicants. So, he went on the road, mostly to state schools whose students weren’t applying to Cambridge. In jeans and T-shirt he’d talk to kids, encouraging them to apply, and to their teachers. Often, it was among the teachers he’d meet the most resistance: “Even if we did get our kids to apply to Cambridge, we wouldn’t apply to you, you’re from a posh college,” was one of the more bizarre comments he got.

Cambridge has had a university-wide programme to widen access which has been in place since I was an undergrad there nearly twenty years ago. My college has its own scheme too, and staff were encouraged to do the sort of thing my friend did. The University is desperate to get good students (even at the peak of the Computer Science boom, in the early 90s, the department was worried that the maths skills of applicants were weak), and it doesn’t care where they come from.

The way the government is increasingly piling up-front costs on to students, the answer is going to be “from rich families and/or abroad”. The new funding system may be rational, it may even be fair, but it won’t broaden access, and my friend will still be left wondering where on earth he is supposed to find the next generation of computer scientists.

Tags: education

Kindle 3 is a good first attempt

Giving my girlfriend a Kindle for Christmas was the carrot in a multi-pronged strategy to avoid needing more bookshelves (the stick being “I will start giving away your books” and my contribution being to archive books I’ve read (or return the many that aren’t even mine). This therefore required that I stocked it with books before she got her hands on it, which in turn was all the excuse I needed to play with the thing.

My lazy solution was simply to download all of Feedbooks; I wrote some scripts to make this actually lazy, rather than brain-numbingly dull. In the process I found that while the Kindle is nice to hold and great to read, it struggles to cope with a large collection of books (even though the nearly 3,000 volumes of Feedbooks only half-filled its 4Gb memory), and is woeful as a research tool. And, of course, Amazon’s first-mover-evil surfaced early.

Here are the problems I had:

1. Amazon’s own store doesn’t seem to contain free books. I think it’s poor form not to give people a straightforward choice of free editions of out-of-copyright works. The Kindle may be a loss leader, but at £109 it’s still not cheap. Feedbooks, rather than integrating easily into the Kindle, like, say, a 3rd-party software provider into Ubuntu’s Software Center, provide a catalogue which itself is in the form of a book, doesn’t automatically update, and offers a list ordered only by title. In other words, it’s useless; one is better off using the built-in web browser to search the online catalogue…

2. …or better, another browser, since the Kindle’s is woefully slow (and I don’t just mean the screen update). It’s just about usable, and hence useful in an emergency, but is no good as, for example, an online research tool to use in parallel with the books you have downloaded, although…

3. …offline search is awful too. With just the few ebooks that come loaded on the device, it was slow; with the thousands of books I loaded, it simply locked up the device, even when trying to search in the manual, presumably already indexed. The Kindle seems to index its contents in the background, but even now, over a week later, search doesn’t work. The only effective navigation is by a book’s table of contents, and, to choose which books to read, the user-definable collections, though…

4. …collections are a pain to set up for many books, as you have to select each book manually; there is no way I have found to select a range. (Fortunately, I was able to define collections programmatically, but this will be beyond most users.)

In summary, it’s a lovely device, but the software is rather toytown. Amazon could improve it (and indeed, the 3.0.3 firmware update, at the experimental stage when I checked, claims, vaguely, “performance improvements”), but given that their main interest is in selling books and Kindles, I’m not hopeful that it will happen before the next hardware iteration; whether it happens at all depends on competition, and there should be plenty of that, to go by the number of other ebook readers.

The cost of flattery

Reading Neal Stephenson’s mercurial “Quicksilver”, I came across a wonderful scene in which the founder of the Royal Society, has just dropped everything to answer the Charles II’s question as to how ants’ eggs can be bigger than ants. When his assistant, Daniel Waterhouse, returns from digging up an ants’ nest, he finds

Wilkins had begun dictating, and Charles Comstock scribbling, a letter back to the King—not the substantive part (as they didn’t have an answer yet), but the lengthy paragraphs of apologies and profuse flattery that had to open it: “With your brilliance you illuminate the places that have long, er, languished in, er,—” “Sounds more like a Sun King allusion, Revered,” Charles warned him. “Strike it then! Sharp lad. Read the entire mess back to me.”

This struck me as ridiculous; more so than that Robert Hooke should drink mercury to cure his headaches, or that Isaac Newton should believe in a universal animating principle, because the scientific errors pointed merely to a lack of knowledge, whereas wantonly wasting the time of the country’s best minds on sucking up to a King, well, that would never happen today…And then I remembered research proposals. Buzzword-based box-ticking rather than fawning flattery, perhaps, but is there a real difference?

At least, I thought, working unpaid on free software I don’t have to do that. I do spend quite a lot of time worrying about standards and compatibility, oh, and licensing: the world is still divided into religions. And portability: the world is still divided into nations; and the drudge-work that goes into overcoming the divisions is much less fun than eulogising monarchs; rather, I’m doing the work of machines. Where my forbears flattered their rulers, I must flatter my slaves.

At least these are all problems I can attack directly as part of my work. For those dependent on research funding, it’s the same sacrifice as ever.