:::: MENU ::::

Will teaching children basic programming skills have a political impact?

I was emailed by the BBC last week and asked to comment for the PM programme about suggestions that the British Government may add basic programming skills to the national curriculum, and whether this would have a political impact on society in terms of how we interact with technology. Here’s my answer.

Question: Are we going to get a more critical, creative society if we are all taught basic programming skills?

Yes, we are. Very often technology, and particularly software, are artificially restricted in their usefulness in order to allow one set of interests, like a private company, to manipulate consumers to their profit. Although in Britain we are consuming more software and media products than ever, only a tiny percentage of the population are able to participate in how these products are formed, or to adapt them to their own needs, or to create their own.

This has an enormously damaging impact on society. It creates an imbalance in power between those who design the tools that determine the work of everybody else. Regardless of what industry a person works in, they will most likely have to use a web browser or an email client at some stage, for example, even if it’s just to find a job in the first place. But the terms of how a person interacts with these technologies are typically set by a remote group of people with no association with the person who ends up using it, and who may have catered very poorly for their needs.

If our society was better educated in basic programming and digitally creative skills, we would be more able to interact with the culture of our social and professional environments. This is particularly relevant to important trends like citizen journalism, and self-hosting and publishing. A wide understanding of how digital voting systems function could have a big impact on future politics, for example.

Simply having programming skills is not sufficient however – to be competitive, efficient, and productive, Britain will have to also foster a culture of freedom and Free Software in its computer industries. This is because copyright and patent restrictions can silence the creativity of even the most gifted programmer, or require them to reinvent the wheel over and over again before they can even begin to innovate.

Free Software has driven a revolution in communications and technology markets over the last three decades, bringing us the Internet, and computers cheap enough to be distributed en masse in the third world, amongst other benefits.

Schools should foster curiosity and the spirit enquiry in an environment that encourages students to learn. A classroom running proprietary software cannot provide this. “How does this work?”, “what happens if I change this?” – these are questions that have no answer when children are taught using non-Free Software operating systems, office suites, and robotics packages.

The four freedoms of Free Software guarantee rights to use, share, study, and improve the technology around us. You can find more information about them here:


You may also find our Education Team’s mission statement useful; it explains why an understanding of software, and the use of Free Software is critical in training young minds to understand the world they live in:


Sincerely etc..

VJ tools for GNU/Linux

Today I tried to install all the different Free Software VJ tools that I could find for GNU/Linux (VJ = video jockey, like DJing vith video). I was using my favorite distribution, Fedora, version 16, which I installed at the weekend on the laptop of a new friend of mine, Federica, who came to a Manchester Free Software meeting the week before. I tried:

I failed. I didn’t manage to install a single one. None of the four applications that I tried had packages for Fedora, or even .rpm files available for other distributions. Finding no easy way to install them, I undertook compiling them, with a beer in hand at a table at Kim By the Sea – a well loved bar next to my co-working office.

I failed. I followed the instructions for Veejay, but unfortunately they were outdated, not geared towards Fedora (just finding the names of the package dependecies took half an hour), and ultimately ended with a cul-de-sac of a compile error (“VEEJAY is unset”). After a couple more results like that, and after more than two hours, I gave up.

Although VJing is well represented in GNU/Linux by the number and apparent features of applications available, currently significant technical knowledge is required in order to actually get them working. Of course, most fashionable VJs are not UNIX experts, and so the attractive interfaces of the likes of FreeJ remain useful to only a tiny number of people.

This is where GNU/Linux packaging really falls down. Programs that are only important to one particular community that isn’t intrinsically technical often end up going unpackaged. It often takes years of an application being stable and widely used before it arrives in the repositories of mainstream distributions like Debian and Fedora. That means people wanting to try out cutting edge Free Software alternatives to proprietary apps first have to learn to cope with a less user friendly distribution. This presents a major barrier to getting new non-technical people into the fold, and makes the spread of FS applications for things like VJing very slow.

My experience today tells me that VJing on GNU/Linux has a great deal of potential, and has already attracted some movers and shakers, but currently is largely unavailable for anyone who isn’t a.) a distro hacker or b.) prepared to switch distros to whatever the developers of FreeJ etc. are using (often Ubuntu, unfortunately).

Dynebolic – a distribution specialising in support for performance arts software, may present an easier path to Free Software VJing. I shall first have to wipe the encrypted hard drive of Federica’s laptop however in order to repartition and make space for it. If that goes to plan then hopefully in January will have at least one Free Software VJer in Manchester!

FSFE at the DIY Feminist Festival in Manchester

On 4th September Anna Morris, Yuwei Lin and I gave presentations of Free Software at the DIY Feminist Festival in Manchester.

Festival timetable

Festival timetable

feminist festival venue

feminist festival venue

feminist festival venue

My talk introducing Free Software

My talk introducing Free Software

Free Software and Feminism talk

Free Software and Feminism talk with Anna Morris

Open Street Map workshop 1

Open Street Map workshop with Yuwei Lin

During the Open Street Map workshop a group of us went into the large park near the venue and added detail using pre-printed paper maps and mobile devices. Before the workshop the chapel at which the festival was held was on Open Street Map at all, and the park was mostly just a green mass with none of the fences, footpaths, buildings, or play areas listed. Our team of volunteers added significant detail to the existing map, making it a far more useful and accurate representation. The changes from the workshop are now viewable on the Open Street Map website.

OSM mapped area

Area mapped during the Open Street Map workshop

See Yu-wei’s blog post for more detail on the contributions made to OSM during the workshop.

Easy OCR on GNU/Linux with gImageReader

UPDATE: I can now confirm that gImageReader also works well on Windows.

Today I discovered gImageReader – really easy OCR software for GNU/Linux. It uses Tesseract as its back-end, and the interface is very intuitive, with straightforward instructions at the bottom of the window letting you know what to do next at each stage of the OCR process.

I haven’t tried complicated structures (like tables or indenting), but for uncomplicated blocks of printed text it worked perfectly, correctly identifying each word.

Tesseract has multiple international dictionaries available, and gImageReader allows you to choose which one to use before you scan. Tesseract is under active development, with the upcoming 3.0 release scheduled to include page layout analysis; automatic page orientation and script detection capability; special modes for single column, line, word and even character; and many more languages, including Chinese.

gImageReader isn’t in my repositories (Fedora 14), but packages are available as .deb and .rpm.



UK PDF Readers Sprint: update

The letters to the UK government departments and institutions requesting the removal of adverts for proprietary PDF readers have finally been prepared for sending!

I wrote a new PHP script to generate the ODT documents complete with envelopes, and then printed and folded them all. There were 65 in total, which represent all the new adverts that were reported leading up to and during the recent UK PDF Readers Sprint.

The text of one of the generated letters, in this case to the Department for Environment, Food and Rural Affairs, is shown below.

Hopefully these letters will help to shake up the attitudes of some UK councils and get them thinking about using more Free Software and Open Standards within their organisation.

I’ll get these letters posted as soon as I can.

FSFE at OggCamp 2011

OggCamp 2011 attracted 200-300 people, and the FSFE booth was successfully run by myself and Chris Woolfrey. We talked to approximately 60 people, handed out approximately 120 leaflets, received one donation, and sold five t-shirts. FSFE was generally well received and I felt that the booth was a great success.

OggCamp 2011 was a two day conference with talks and a small number of booths held in Surrey, about 1hr from South Central London. It is organised by Linux Outlaws and Ubuntu UK podcast. Some attendees had come from as far as Sweden and the USA in order to attend. The subject of the talks varied from the political to the technical, with an apparent emphasis on community activism. Ubuntu users and advocates made up a large part of attendees.

Due to the PDF Readers Sprint in Manchester on Saturday 13th, we arrived before lunch on Sunday 14th at OggCamp after traveling from London, and set up the booth in time for the lunch time crowds. Once set up, the booth looked professional and attractive, and generated interest throughout our time there.

FSFE booth

FSFE booth at OggCamp

Ten minutes after arriving I was interviewed by Hacker Public Radio for their podcast, which will be published this week. I answered spontaneous questions about FSFE’s purpose and activities in Europe and the UK.

Whilst no new Fellows signed up at the event, more than ten people said that they intended to sign up at fsfe.org. Most people that we spoke to had little or no knowledge of FSFE, and whilst many were supportive, introducing someone to FSFE and also successfully encouraging them to join within the space of a few minutes proved difficult. I took the opportunity to advertise the 5 EUR per month payment option, and I was very glad to be able to offer this.

I was told that during a talk which took place before we arrived, when the speaker was asked how people could support the spread of Free Software in the UK, he replied that one way was to join FSFE.

Two FSFE Fellows had come to OggCamp independently of us as ‘crew’ helping to organise the conference, and were wearing FSFE t-shirts, which was very encouraging to see.

UK PDF Readers Sprint

On Saturday 13th August Free Software activists came to FSFE’s PDF Readers Sprint in Manchester and found 59 previously unreported adverts for proprietary PDF readers, all of them on UK Council websites. Printing and signing of letters to the institutions began, and nearly half of them were prepared before the end of the day.

Between 15.00 and 18.00 attendees (one of whom was already a Fellow) wenth through a list of UK Council websites and searched for proprietary PDF Reader adverts. Anna Morris provided delicious cakes  of different sorts, and the identi.ca feed and Fellowship Jabber chat room was projected onto the wall.

UK PDF Readers sprint

UK PDF Readers Sprint

Initially we were short of computers to use for ad-hunting as several laptops which people had brought had technical problems. Fortunately a combination of ICS and borrowed equipment from the hackerspace resulted in one laptop per attendee.

During the afternoon there were discussions about PDF, compatibility, and the ISO standard. Particularly at the start I answered questions as to why the campaign focused on adverts for PDF readers and not websites which promoted proprietary office suites, web browsers or media players.

Overall the sprint was relaxed and enjoyable, and and will be followed up shortly by posting letters to the reported institutions and publishing the results.

Canon GNU/Linux printer support: progress?

This weekend is the UK PDF Readers Sprint in Manchester, and part of the day will be spent sending letters to public institutions requesting that they remove adverts for non-Free PDF software. In anticipation of this task I purchased a printer this week, a Canon IP4850, expensive at around 65 EUR, but I was reassured by the cheap price of ink.

I’ve used canon printers before and have generally had good experiences. This is the first Canon printer that I’ve purchased which comes with semi-official GNU/Linux support. I say semi-official as on the box is written:

Operation can only be guaranteed on a PC with pre-installed Microsoft Windows 7, Vista, or XP

The canon support website however offers drivers in the form of an RPM, DEB, and even a separate archive containing the ‘driver source file’.

After installing and testing these packages on my Debian based system, I found several problems however:

  1. The drivers are proprietary and under a restrictive license
  2. The only GUI for configuring the printer is CUPS own lpadmin. Whilst this is good in as much as it is integrated into your system better than a standalone application would be, it lacks many of the features available to users of the Windows drivers, including print head alignment, for instance. For a relatively expensive photo printer (ones less than half the price are readily available), it’s grating not to have fine-grained control over print quality.
  3. In order to install the packages, although DEB and RPM packages are available, you have to execute a clunky shell script from the command line which fails if you don’t already have cups installed and running
  4. To uninstall the drivers a specific procedure is required that is incompatible with removing the packages via the system package manager (‘sudo cnijfilter-ip4800series-pkgconfig.sh –uninstall’)
  5. Because there is no repository for the packages, updates will not cause notifications or automatic installation. Furthermore, even if/when updated packages are available, Canon will have to write another awkward shell script in order to handle them due to the way that the first set of packages was installed.
  6. The ink monitor is a standalone ugly application that must be started from the command line, and isn’t integrated into the CUPS GUI

These problems are particularly disappointing when you consider that an alternative driver is available which solves most of these problems, and is far more elegant and easy to manage. Turboprint is a well established solution for printing drivers on GNU/Linux and supports hundreds of commonly used printers. It is a commercially developed, proprietary driver, and as such I don’t plan to use it. However, if I was going to use a proprietary driver for my new printer, then I’d sooner use Turboprint, which I can install and remove via apt, and has much more extensive support for the printer’s features via an easy compact GUI interface.

Fortunately Free Software drivers are available for the IP 4850 from Gutenprint, and whilst they aren’t capable of getting the most out of the device, on balance I prefer to use them than the official Canon GNU/Linux drivers. Canon’s drivers seem to serve little purpose currently – for basic printing, out of the box support via Gutenprint works well (a pop-up dialogue configured the printer in about a minute, without an Internet connection), and for more professional use Turboprint offers a far better proprietary solution.

It’s great to see Canon recognising the existence of Free Software operating systems when it comes to their printer drivers however, and it’s nice to see that they went to the trouble of creating RPM and DEB packages, even if they fuddled them into a nasty shell script. It’s also good to see them integrating the driver into CUPS.

Hopefully these baby steps will develop into a better solution for future Canon printers. It’s a shame that the company decided not to improve existing Gutenprint drivers, but with a little work the ones that they currently distribute could be much improved, and do away with their shell script, provide an official repository for their packages, and extend CUPS lpadmin interface to support features like print head alignment. They could do all that without switching the drivers themselves to a Free Software license, if company policy prohibits this. That would at least mean that consumers could purchase Canon printers with confidence that they could be configured in a relatively easy and familiar way. It could also make it easier for Canon to relicense the drivers as Free Software at a later stage, as there would be cleaner separation between the components they would be providing.

Canon have got their foot on the ladder of GNU/Linux support however, which is more than can be said of many rival printer manufacturers, and for that I salute them.

Free Software Computer Aided Design (CAD): a summary

Computer Aided Design software is critically important to a variety of industries and professions. It’s also notorious for being poorly catered for by Free Software applications. Here’s a brief summary of the current situation.

The .DWG issue

The standard

DWG (“drawing”) is currently the industry standard file format for CAD: it is also a proprietary file format.

“As frustrating as it is, [these] are the options right now for CAD
on [GNU/Linux]: non-Free Software that supports DWG, or free
software that doesn’t” [From LWN].

Freedom and .DWG

LibreDWG is the Free Software library for converting between DWG and other formats. While progress with LibreDWG is being made for reading DWG files “nothing uses the library, so it is of limited use on its own”. There may be work done this summer as part of Google Summer of Code (GSOC) to implement support for DWG 2000 and DWG 2004, which would presumably be very useful.

Working without DWG

The DWG issue aside, here are some other routes you could take:


The problems with DWG are currently unsolved (above suggestions notwithstanding). However, projects like LibreCAD for 2D, KiCAD for electronics, FreeCAD for 3D, and LibreDWG for conversion may offer solutions in the near future.

What can you do?

Contact as many of the related organisations and projects as possible and tell them about your needs and interests. If nothing else, this will help to demonstrate a continued demand within the community for workable solutions, and open channels of communications for future developments.

This post originated as an email to the Director of ONAWI: “A non-profit organisation that aims to directly contribute to a just transition towards climate change mitigation by making designs of wind turbines freely available to all”.

Thanks for FSFE volunteer Anna Morris for turning it into an article for my blog!

USB Wifi for the SheevaPlug freedombox

After a few hours searching for a USB wifi adapter to purchase for my Debian Squeeze based eSATA SheevaPlug last weekend, I settled on one from Amazon.

Despite the availability of numerous adapters claiming to be compatible with various versions of GNU/Linux (or ‘Ubuntu x.xx compatible’ at least), few of them work with non x86/64 versions of Debian because they require the use of non-Free firmware which is only available for those two architectures. For example, the LM Tech Wireless n adapter has the following warning on its corresponding Wiki page.

Unfortunately I couldn’t find any 802.11n devices that looked like they would work with ARM versions of Debian, and it was often impossible to tell what chipset the advertised product was using (note to retailers: if the chipset cannot be easily determined then a whole market just ruled our your product!).

Therefore I reluctantly bought an 802.11b/g adapter using the RTL8187B chipset, which as far as I can tell from the Debian Wiki should work with all Squeeze architectures supported by the distribution.

It’s galling to have to pay more for an inferior product (I’ve previously purchased 802.11n adapters for £6 that worked with fedora out-of-the-box), but if the adapter works with my SheevaPlug when it arrives then all will be forgiven.

Look out for an update in the near future.

In the mean time please share your recommended Debian Squeeze ARM USB wifi adapters in the comments.


The adaptor that I purchased works perfectly with with my freedombox. A quick addition of my network password to /etc/network/interfaces, followed by the execution of ifup wlan0 was all that was required. The adaptor in question is labelled “LogicPro”, and can be purchased from Amazon (don’t forget to use the FSFE donation add-on if you buy one!).