Dear Home Office: please reconsider the Communications Data Bill


Dear Madam/Sir,

I am disappointed to hear that the Communications Data Bill as drafted is likely to be included in the Queen's Speech on 8 May.

The arguments that have been advanced in favour of this legislation are not balanced by provisions to protect civil liberty. In fact, the legislation will establish a situation in which everyone's communication history is stored on the offchance that in the future they will become a suspect in a criminal investigation, which is tantamount to treating the whole population as criminal suspects.

Such an assumption is not only deeply offensive but reflects a paranoid view on the part of the Bill's authors that the general public should never share. It denigrates our human rights and reduces our capacity to treat others with respect and dignity.

The Joint Committee on the Draft Communications Data Bill believe that there is a case for legislation that helps law enforcement, but they also believe that the draft Bill needs to be rewritten to refine its provisions. 

The Committee's Chair said: "we feel that there is a case for legislation, but only if it strikes a better balance between the needs of law enforcement and other agencies and the right to privacy"

On a technical level the legislation will represent an opportunity for a few individuals to profit at the expense of the state, collecting information that will in most cases never be used. It will be a burden on internet infrastructure that is likely to increase the cost of communications and thus chill the economy. This is not an appetising prospect either.

I hope that the decision to include the badly-framed Bill will be reconsidered in the light of continued opposition. My local MP is copied into this email. Perhaps it is one that law enforcement agents would do well to retain rather than destroy.

Yours sincerely,

Published on 24/04/2013 at 11:52 by Technophile, tags , , ,

Some interview questions for a junior developer

Some thoughts on very basic questions that might be suited to recruiting for a junior post. They aim to discover what exposure the candidate has had to software development practices and how much initiative they have used.

  • Have you helped others on your team who are less experienced?
  • When you are working with others, how would you make sure the changes you have made are incorporated back into the project's codebase?
  • If you find that the software you are using on a project doesn't seem to be a good fit for the problem you are working on, what do you do?

Published on 07/12/2012 at 13:44 by Technophile, tags

Grub installer confused when preparing a software RAIDed Ubuntu 11.10?

Ubuntu 11.10’s ‘alternative’ installer gives the opportunity to set up software RAID-1 as part of the system installation. It works, but there is a caveat: you may find that when you install Grub the installer wants to put it on both disks. I think this may be because the Grub installer’s a bit confused about the whole RAID thing. You can tell it which disks to install on (choose the first) and as far as I can tell it will then go onto the RAID-1 partition (and hence both physical disks) OK.

Incidentally I've got the RAID set up across the whole of both physical disks, by having the whole of each marked for RAID and then when this change has been committed to the partition table allowing the installer to auto-partition the single virtual RAID volume which then appears in the list of volumes. I found that I had to reboot after creating the virtual RAID volume. The installer was being sulky and failing to create all the partitions; second time around it read the new partition information and created the partitions on the virtual volume perfectly.

EDIT: See also which seems to tally with my thinking


If you read about RAID on Linux you get an awful lot of slightly out of date information, especially around HOWTOs which are dauntingly complicated if-then-else-not affairs with modification dates five years and more in the past.

It’s not that uncommon to find this kind of document-rot: sometimes it means nobody who is anybody is using the technique any more. That could be true for RAID in a world of cloud-based redundancy. I think there is another explanation, because Ubuntu is pulling in lots of users like me who set up machines real and virtual several times a year but don’t specialise in it and so do not like having to do complex non-standard installs. I think that Ubuntu’s alternate install installs software RAID just well enough that the docs are redundant.

Published on 12/01/2012 at 22:45 by Technophile, tags , ,

Lending a hand for The Compositor in London

This new book presents the thesis Dr Cyril Cannon submitted in the early 1960s to the London School of Economics, studying the social conditions of compositors in London at that time; it has been extended with an epilogue, a revised bibliography and an index. As such it represents a valuable addition to published literature on how people were grouped and organised at work and how they positioned themselves socially based on their working conditions. It is also a useful addition to writing on print history, particularly as the subject is introduced with a historical review going back to the beginnings of letterpress printing in the middle ages. Unknowingly Dr Cannon was writing within twenty years of the end of a five hundred year old trade. The clues were all around, but those he interviewed remained largely oblivious (just as you might expect, in fact).

I was unable to work over the summer as I had a broken wrist so there was some irony in the fact that instead I sat in front of InDesign typesetting this 304-page book with the good hand! The design, which proved assured and suitably understated, was by students in the Typography Department at Reading and the type is Celeste. As the book has relatively few images we were able to use Festival Offset as the text stock which bolsters the finely chiselled characters of Celeste; I’m currently reading the excellent John Piper, Myfanwy Piper: lives in art by Frances Spalding (OUP, 2009) which has a much larger number of halftones and is printed in a Garamond-like face on thin silk stock, making the type hard to see if light reflects off the page. We’ve done better; the design and specification combine to make a very comfortable read (though I would imagine we spent a lot more per sheet on paper).

An enjoyable task in a good cause. And naturally you can order the book through St Bride Library’s online shop or buy it in the Library reading room!

Published on 24/11/2011 at 09:18 by Technophile, tags , , , , , , ,

The other side of the train ticket problem

The current structure does not do some of the important things that a pricing structure should do – it does not send efficient pricing signals to the market, it does not help operators sufficiently to manage peak demand or match capacity to demand efficiently and, although fares overall are high relative to other countries, it appears that some fares are set below the level which passengers would be prepared to pay.

Section 4.6, summary report, Sir Roy McNulty’s Rail Value for Money Study, May 2011

If McNulty’s report does nothing else, can we at least look forward to sensible sale strategies for train tickets? Ticketing is currently arcane in every respect and represents an especially stubborn piece of recondite rail industry protectionism with a sour cherry of super-discounted dross deals on top. Where are bulk-buy discounts, where is flexibility in season tickets, why the incomprehensible route restrictions, why can’t you use smartcards outside London? There is nothing that could ease the massive overloading peaks.

Published on 22/06/2011 at 10:29 by Technophile, tags , , ,

Train ticket redesigns

It’s good to see the British railway ticket get some information design attention. Two proposals:

Neil Martin

Robert Hempsall

Both proposals look at the rather bizarre layout of the very miscellaneous information on the ticket; Neil Martin also considers the possibilty that, as issuing multiple tickets for one journey (one per train) is a relic of the Victorian past, everything might go on a single 85 × 55 mm piece of card.

Neither is a perfect solution, but both give a welcome scratch to a long-standing itch. Wonder if anyone from the ‘Rail Settlement Plan’ is paying attention.

Via @adrianshort

Published on 22/06/2011 at 06:57 by Technophile, tags , , ,

Typecasting talk at St Bride Library

A fractured wrist has kept me away from blogging, but I will mention type historian Stan Nelson’s upcoming talk at St Bride on Tuesday 24 May.

It took us a long time to get this publicised and I am worried that means hardly anyone will go. Stan is one of a very small number of people alive (surely measurable in the low tens) who can carry out the processes involved in typefounding and we’re lucky that he has agreed to present his talk (originally given at Norwich Cathedral) at St Bride. I’m sure it will be fascinating and I know that it is a very rare opportunity to learn about the craft from a practitioner.

Published on 18/05/2011 at 08:59 by Technophile, tags , ,

A little more on Drupal 7

In the heat of the moment, it seems that the further in I go the less I like the experience of learning Drupal 7.

A Drupal fundamental is to treat every piece of content as an instance of a single basic type (a Node – although apparently Entity is the new term :-S ). Having established the fundamental, Drupal adds nuance by making the Node an abstraction, providing specialised versions as the containers users will actually fill with content, and allowing users to create their own similarly specialised Nodes to store content that has different qualities.

Given the emphasis on standardisation at Node level rather than any lower, and the fact that real-world examples of Nodes can have arbitrary amounts of arbitrarily-named subsidiary data attached to them, it is essential to be able to look for data in each Node in a standardised and abstracted way. Otherwise the rationale for the overarching system disappears.

In practice it seems as if public modules have introduced increasingly complex Node types to perform specialised tasks in total isolation from one another. These modules have hard-coded subsidiary fields referenced directly by the functions that manipulate the data in the fields. Ironic given that all are supposed to derive from a common parent which provides the bulk of their functionality. I don’t want to do that: instead I want to enhance what any type of node can do if a user has put certain information into certain fields for that node.

I am having a lot of trouble using the Fields API to find out quickly and cleanly which fields are attached to nodes as I load them and from that to discover the content of each field in each node. This ought to be extremely simple for implementation developers. The alternative, which is to list and access fields by reading the array of data that belongs to each Node, is low-level, complex and hence inappropriate as much as inconvenient. It’s miles away from the sophistication I find in the functions which are in the API, and I can’t help feeling I am missing something very obvious.

There is some documentation, but it gets more opaque the closer I get to the tasks I want to be able to achieve and I feel that I’m working against the grain of the system. To make things worse, there is a depressingly incoherent tutorial in the API documentation which seems to capture the general lack of clarity about Fields. All in all, a little downbeat today.

Published on 20/03/2011 at 17:20 by Technophile, tags , , ,

Further investigation of Drupal 7

My object in trying out Drupal 7 is pretty straightforward. I would like to have a platform for creating web sites at absolutely the minimal cost and within those sites give clients the greatest opportunity to create and curate their own content.

My test case is to build the most lightweight system imaginable for promoting events. It doesn’t bother me too much if there are some fields that seem rather specialised, because an event is a specialised kind of content, but the intention is to accommodate a wide range of events from, say, one-offs like a music recital or a two-day conference to repeating items like a theatre production. The events all need to be presented in the same way. By that I mean that it should be possible to fill out the information required in the same way whatever the event. We know that some events will have things like a speaker or a producer and others might have a musical ensemble, but it’s not a great idea if there are separate boxes for all those things (composer, speaker, director…) because it can get very tedious for the user adding the information to find the right one and to be confident it is correct.

So far

I haven’t yet found outcroppings of the stick-little-bits-of-php-in-a-database approach I remember from Drupal 4 (or was it 5?) back in 2006. I am not sad.

It is possible to use Drupal’s GUI to set up customisations of data and structure, but to modify the display of such information seems to require work on templates for the overall page and/or the subcomponents within pages. It is probably possible to use stylesheets to make quite considerable changes to the appearance of every page on a site, but for finer grain or to show and hide information within only certain areas will require template php files.

User-generated content lives in Nodes or Comments; clearly Comments are for comments so realistically a Node is the atomic unit for all user-generated content.

You can have as many specialised Nodes as you wish, and specify subsidiary content fields that are unique to one Node type or shared between different types of Node across an installation. I don’t really know whether Sites within an installation would share the specialised Nodes and have no insight into the workings of multiple Sites within one installation.

You can’t put a Node inside a Node, so you can’t have subsidiary content (for example, you cannot make a person Node and attach it as a child or property of an event Node).

You can use taxonomy to take often-repeated information (say, the room names in a building) and make it available as easy-to-insert fields attached to Nodes. Taxonomy is implemented as any number of Vocabularies containing Terms, and the Terms can have any number of fields attached to them. The obvious field is the set of words that make up the term, but there is also a description field by default and you can add more. But it doesn’t feel like Terms are a reasonable place to put things that will differ every time, like people’s names. Instead, Terms feel like proper nouns for concepts. And creating a Term in a Vocabulary has to be done before a Node that will need to reference the Term is created.

Next steps

There are probably hacks around these restrictions but they’ll negate the benefit of using a regularised, strightjacketed system such as Drupal is. Despite that, it certainly feels as if a little more prodding is justified because I can see that by accepting a compromise or two in the absolute beauty of the data structures I might have a reliable system in a matter of hours rather than days or weeks.

And did I mention that you can write tests for your own Drupal module code? That surely merits a look sooner rather than later.

Published on 19/03/2011 at 22:50 by Technophile, tags , ,

Powered by Publify – Thème Frédéric de Villamil | Photo Glenn