:::: MENU ::::

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!).

Usability nightmares: UK online tax filing with HMRC

So far my battle to file my tax return online has taken six weeks. The official method of submission has failed repeatedly, and my attempts at resolution have led me into a web of usability nightmares. After having found the tech support telephone number using a search engine (ten minutes of searching the tax website hmrc.gov.uk proved futile) I embarked upon my epic voyage.

Required: 7 types of log in data; retrieval difficult or impossible

So far I been required to locate and store multiple instances of the follow types of data:

  1. national insurance number
  2. unique tax payer reference number (UTR)
  3. gateway ID
  4. user ID
  5. activation code
  6. password
  7. call reference number

Several of these can only be retrieved by post; a request must be made, in some cases exclusively by phone, to have the data sent to your registered postal address. The UTR allegedly takes 72 hours, and the activation code allegedly takes 7 days (in my case it took 10). Once your activation code arrives, it has be used with 28 days, after which it expires and you have to order and wait for a new one.

However, if the address that they have on file is out of date (which is likely as many people only contact the tax office once each year to file their return) then you must wait a further 72 hours after changing your address (which must be done by phone) before you can proceed with any part of the registration process.

As far as I can tell the user ID cannot be retrieved at all, and it isn’t sent to you at all so unless you copy it when it shows on screen the first and last time during the prolonged registration process, then you have to start again.

The gateway ID (confusingly also interchangeably referred to  as the user ID) cannot be retrieved either, at least not in its entirety. Half of it is presented on the HMRC after you’ve provided identifying information, and the other half is emailed to you.

Multiple accounts

You could be forgiven for thinking that once you’ve completed the strenuous registration process once, you can use the HMRC website again for other tax filing services that they offer. This is not the case however; there are multiple different types of accounts, so each person can end up with several accounts on the HMRC website and therefore several complete sets of most of the bits of data listed above. This doesn’t become apparent until you try and use a new service, and are presented with an uninformative “Access denied” message, which simply points you back to your account homepage with no explanation, help or guidance. If you registered last year in order to pay the tax man for the privilege of notifying him that your company name and details still haven’t changed, and this year you want to file your self assessment tax return, then you need to register a new account, and wait for the necessary data to be posted to you all over again.

However, even if you go through this process, there is still no guarantee that you’ll be able to fulfill your legal obligation to file your tax, as I recently discovered.

Access denied screenshot

An instant classic: "Access deined" on HMRC

System fail: my experience

I suffered the need for two separate accounts as described, except that when my new details arrived by post, they didn’t work. I continued to get the following meaningless message:

Access Denied

You have tried to access a page that you have no permission to view.

Please click ‘Next’ to proceed

Next leads to your account homepage, without any mention of how to fix the error or what caused it, or who to call. After a call to the well hidden tech support number, I double checked that I hadn’t visited the HMRC website via a link from a search engine, which I was told is enough to break the login process (a major bug in itself, surely?), and then was told to register another account. This I did, then waited ten days until my activation code arrived, at which point I tried to log in with the new account, and once again met with “Access denied”. By this time the deadline for filing tax returns had passed, and I was liable for an arbitrary £100 fine, despite the fact that I started the process of trying to file my tax with my existing HMRC online account with more than a week to spare.

I called up again, and was told again to register a new account. This I have done, and am still waiting for yet another activation code to arrive in the post. Because I can’t change my registered address without more delay, the code is going to somewhere that I no longer live, but fortunately I set up postal forwarding so hopefully it will be delivered correctly to my current residence.


HMRC’s online tax filing system is painful to use and has cost me more than £100 in late fines and phone calls to their call center (the message recommends calling back in a few weeks due to high volume of enquiries: each person that follows that advice is worth £100 in fines!). Its also wasted hours of my time, and caused me considerable stress and frustration. All because of a badly designed usability-ignorant filing system.

This is a system that’s used by tens of millions of people each year – surely HMRC should provide a better service than this!

FSFE at ODF Plugfest and Pirate Party Conference

On Wednesday night I travelled from Manchester to London to attend the ODF Plugfest event, located in nearby Maidenhead the following day. Just before catching the train from Manchester Picadilly, I collected a new 2m tall self-supporting FSFE banner, for use at the booth that I would be running a few days later at the Pirate Party Conference.

I stayed with British FSFE team member Chris Woolfrey in his London flat, and on Thursday morning I took the train to Maidenhead, and headed to the town hall, where the ODF Plugfest was being hosted. During the day there were several talks on various technical aspects of Open Document Format, including new solutions in KOffice to old interoperability problems between desktop ODF editors.


Conference room at the ODF Plugfest

Basil Cousins, co-founder and Director of Open Forum Europe was present, as were Paul Adams, COO of Kolab Systems and former FSFE British Coordinator, Michael Leenaars from nlnet, and representatives from Microsoft, among others. In the evening I had several discussions about new potential Document Freedom Day activities for 30th March. These and other opportunities give me hope that this DFD will be the best ever for the UK.

DFD logo

Document Freedom Day

That evening I returned to Chris’ house quite late, and spent some time discussing internet marketing opportunities for FSFE with an old friend of mine. We had a look at FSFE’s (currently disabled) Google Adwords account (donated by Google), and arranged for him to use his extensive experience to help manage future internet marketing campaigns.

Westminister, shortly before my train to Glasgow

London skyline

London skyline, shortly before my train to Glasgow

The following morning I went to a printing shop in Whitechapel, and printed around 50 pages of information and leaflets for the Pirate Party Conference. I then took the train North to Glasgow, arriving just in time to check in to my B&B, count the stock that had been sent there in advance from FSFE’s Dusseldorf office, pick up some food on Sauchiehall Street, and go to bed.

The next morning I arrived at the conference venue on St. George’s Square at 09.30, and after being introduced to various Pirate Party UK members, I set up my first FSFE booth – complete with the new banner. I had to quickly assemble the CD stands that I had printed on a friend’s computer in my Manchester co-working space. Once complete, they looked good, and helped me distribute about 15 CDs – copies of Fedora, Mandriva, and the FSWIN (Free Software for Windows) CD. The merchandise was popular, and I sold four t-shirts; mostly ones which read “hacking for freedom”.

FSFE Booth

FSFE Booth at PPUK Conference

The day included by talks by leaders of pirate parties in the UK, Sweden, Switzerland, and also the PPUK Executive Council. My talk came last, and I took the opportunity to explain the importance of Free Software to pirates, particularly in terms of accessibility, security, participation, and most importantly, freedom.

PPUK Conference room

PPUK Conference room

PPUK Conference evening venue

PPUK Conference evening venue

I was pleasantly surprised by the warm enthusiasm for Free Software that I witnessed in the majority of attendees. When I asked at the beginning of my talk “who here is already using Free Software?” almost every hand was raised! Not only that, but several people that I spoke to were already using GNU/Linux, and many were Free Software activists in their own right.

Fireman statue

Fireman statue near Glasgow Central Station

St. Georges Square, Glasgow

St. Georges Square, Glasgow

I made new contacts in Manchester like Tim Dobson of Manchester Digital and Loz Kaye (current PPUK leader), and came back with new ideas for FSFE’s press releases, following an animated discussion in a pub about PPUK’s current press release procedure. During the question and answer session following my talk I was asked “what can the Pirate Party UK do to appeal to British members of the Free Software community”, and this has caused me to think about ways to build stronger bonds between the two groups for mutual benefit in future.

Scottish hills

Scottish hills, taken from the train

I headed home on Sunday, and although I had a bad cold throughout the trip, I had a good time, and was met many new like minded British activists.

Pure Data workshop with MFS at Madlab

On Tuesday I attended a workshop on Pure Data (PD) hosted by Manchester Free Software (MFS) at Madlab hackerspace.

By the end of the evening, most attendees had used purely graphical drag-and-drop tools to create mouse controlled synthesised instruments. The room was filled with cacophony of 50’s style beeps and twangs. Clanger fans were well catered for.

I learned that PD is used as a back end for many games and audio applications, including the massively successful Spore. I saw great potential for the use of PD by performance artists and interactive exhibitions.

A variety of people took part, and I was glad to see a comparatively high percentage of women getting involved.

Pure Data workshops are held in Manchester each week.

Building an instrument at the Pure Data workshop

Filling in the bank’s blanks with regular expressions

I’ve recently had to do a lot of work on a set of data relating to my bank account transactions, which required a great deal of text manipulation, and working with several regular expressions. My bank doesn’t believe that giving their customers access to digital copies of their account and transaction history is important, and they only make available images (stored in PDFs) of past statements which have been posted. Because of this, I had to use Optical Character Recognition software to extract text from the images, fix by hand all the errors in the resulting output, and then manually structure the data into columns and rows by using regular expressions (as my OCR software didn’t detect them). To make matters worse, the images provided by my bank had a large text watermark on each one, written diagonally across the page stating “duplicate”. All contents of the spreadsheet which came into contact with this text was unreadable during OCR, and had to fixed by hand.

Once the data was successfully extracted and structured, I still had a problem however – my bank chooses to list each date only once, and so most of the listed transactions for my account had no date associated with them. The date is critical for the data to be useful to me, and I couldn’t sort or further analyse the accounts without knowing the date that each transaction had taken place. After some thought, I decided use a regular expression to fix the problem.


A spreadsheet with thousands transactions, one per row, where the date of each transaction is listed only once, with all following dates of that transaction missing a date (transactions were listed in date order). Before further processing the data (sorting, analysing) I needed to ensure that each transaction had its own date listed in the correct column.


By using regular expressions in KDE’s Kate text editor, I was able to quickly associate all rows with the correct date. I searched for empty cells which should have housed a date, and for each one took the date from the transaction above. I repeated this until each row had its own date.

The regex that I used (note that Kate wont accept pattern delimiters, switches, or greediness operators):

find: n([0-9]|[0-9][0-9]) (jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec);(.*)n;

replace: n1 2;3n1 2;

The pattern finds all dates in the correct format and which begin the row, are contained within a cell (I used semicolon ; cell delimiters to avoid confusion with decimals and thousands in this CSV), and are followed by a row which does not contain a transaction date (ie the first cell is empty, and the newline starts with a cell delimiter ; ).

Each time the pattern is found, the matching text is replaced with the same line and an altered version of the first cell of the following line. The replace pattern inserts a duplicate of the date found in the first line into the first cell of the following line, thereby copying the date from one to the next.

Having entered these patters into Kate’s find and replace fields I clicked on “replace all” several times, until no more matches were found, meaning that all transactions now had a date associated with them, listed in the correct table column at the start of each new line.


My spreadsheet now contains a complete dataset, with each transaction correctly dated. I can sort the data as I wish (by price, incoming or outgoing, location, business, etc.) and easily manipulate it in preparation for submitting my tax return.