Tumbled Logic

A ragtag blog filled with random technical nuggets, rants, raves, occasional pretty pictures, and links to things.

Mar 21


Okay. I’ve sat and thought about it, and here is my conclusion:

The only people that decriminalising the licence fee actually helps is politicians who are voted for by people who will never actually not pay the licence fee.

A civil case is, as most people actually know underneath it all, a grossly inefficient way of dealing with it.

The criminal cases, on the other hand, are heard in batches, usually settled before it ever gets in front of a magistrate (and for those which do, the majority don’t show up anyway), and there’s a certain amount of latitude available in terms of penalty: the maximum fine or imprisonment is generally a last resort applied to those who are defiantly persistent about not paying. If it’s the ‘criminal record’ part of it which is problematic (and I can understand that argument—to an extent, though I don’t see anybody complaining driving an uninsured vehicle being criminal is terribly unfair), then adjust the way that people are deemed to have been rehabilitated from the offence and associated disclosure rules. Good luck with that.

Constitutionally, putting in place a system where an organisation which is exists through royal charter and collects a levy defined in law, but issues civil proceedings for non-payment is even weirder than a system where an organisation which is exists through royal charter and collects a levy defined in law.

But no, this isn’t anything about the fairness of anything. There are already people seizing upon the idea as a stepping stone to simply making the licence fee a subscription. This misses (perhaps wilfully) a really big part of the point of the BBC: the fact that the definition of licence fee payer is deliberately distinct (go and read the Charter if you haven’t already) from “people who pay the licence fee” is the other side of the coin whereby the BBC isn’t a state broadcaster. To put it another way, it’s a very purposeful middle-ground where the BBC is neither directly beholden to the state nor to the people with the money. The BBC provides services, across a variety of platforms, which are for everyone. Those services are funded by the subset of the households who receive broadcast television.

(And yes, I know that the BBC chases ratings, underserves some audiences, and unquestioningly toes the line of the government of the day from time to time. We are not perfect. But the solution is cannot possibly be to remove the very mechanism which makes it possible for the BBC to do any better—do that, and the BBC of today is the best-constructed that it could possibly be, and I don’t buy that for a second).

While, hypothetically, you could make things fairer by rolling it into general taxation, you’d have to both have a parliament who was extremely friendly to the idea, and so many strings attached to prevent future abuse (for example, requiring an absolute majority in both houses to undo it), that it’s so unlikely to happen as to be discountable.

And, of course, we’re far from the exception in the “licence fee nation” stakes. Plenty of other countries have had them. Some of them even struggled for years under voluntary collection schemes as have been proposed by some quarters before switching to the British model.

And certainly, IP distribution presents some challenges to the funding model, but as I’ve noted previously: the TV Licence didn’t begin life as a TV Licence, it began as a Radio Licence. It’s evolved over time and can do so again—we just need to be careful to not tie too closely the media to the output in doing so.

Dec 14

Casualty of the storm

The pink, lifeless frame lay disfigured almost beyond recognition upon the path next to the river; another victim of the mighty, but dispassionate elements.

People glanced nervously downward as they passed, not being able to help themselves but to look. For a brief, fleeting moment, they desperately hoped that the same fate wouldn’t befall them, before self-confidence returned and they hurried away to go about their daily lives.

I did the same, of course, and as I hunched my shoulders and quickened pace, I hoped that my umbrella was made from much sterner stuff.

Nov 17

Modelling activity streams with quads

I’ve been thinking for a while about how one might use a quad-store as a database of activity streams, and consequentially how to model them.

We have four key pieces of information, plus a set of ancillary properties. These are:

  • A unique, generated identifier for the action, so that we can refer to it later
  • The person (or agent) performing the action
  • The action being performed (verb)
  • The thing the action is being performed upon

On top of these, we might have various other pieces of information: the action’s timestamp, the system it was performed upon, a policy associated with it (such as whether it can be shared anonymously), and so on.

The thought occurs that the verb could be easily represented as a predicate (previous approaches that I’ve seen represent the verb as an instance of a class instead, but my gut instinct is that it makes dealing with the data harder than it need to be).

Now, it’s entirely up to you which way around you put the agent or the action: but I’ve opted to use the agent as the subject (although that does affect the way I name my terms — I’ve opted for watched instead of watchedBy, for example).

Finally, the identifier for the action is used as the graph name, but is also annotated with additional properties in a separate graph controlled by the activity store itself. This is, I’ll admit, not the usual way to approach named graphs, but it does mean that when you reduce down to triples, you’re left with a stream of the three most important pieces of information: agent, verb, thing.

Enough waffling. Here’s an example:

@prefix act: <http://example.com/activity/>
@prefix dct: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix event: <http://purl.org/NET/c4dm/event.owl#>
@prefix foaf: <http://xmlns.com/foaf/0.1/>
@prefix tl: <http://purl.org/NET/c4dm/timeline.owl#>

    foaf:PrimaryTopic </2013/11/17/19/13/38078878b361481a9a05210d6611b89a#id> .

</2013/11/17/19/13/38078878b361481a9a05210d6611b89a#id> {
    <http://neva.li/#me> act:watched <http://www.bbc.co.uk/programmes/b03hy7hm#programme> .

</#id> {
    a event:Event ;
    event:time [
        a tl:Interval ;
        tl:start "2013-11-17T18:25:33Z"^^xsd:dateTime ;
        tl:duration "PT48M14S"^^xsd:duration
    ] ;
    dct:created "2013-11-17T19:13:47Z"^^xsd:dateTime ;
    dct:source <http://www.bbc.co.uk/iplayer/#id> .

You’ll note that my activity identifiers contain a date and time (down to the minute level, at least) and a UUID: this is to allow for both logical navigation patterns to retrieve aggregations (e.g., “return all activity from November 2013”), while not being reliant upon a single naming authority. There are, of course, a whole host of different ways of doing this.


Update: Ryan Adams points me at Tin Can, which I must have seen when it was announced, but haven’t actually looked at the spec for until after posting this. Interestingly, it looks like it would be fairly straightforward to express Tin Can statements in the form above (and even easier if the experience verbs had an RDF vocab representation).

Sep 11

Ofcom has today published the final findings of a year-long study into how and why internet users access music, films, TV programmes, software, books and video games online – both legally and illegally.

The fourth wave of the Online Copyright Infringement Tracker shows results for the period March – May 2013.

The High Volume Infringers Analysis Report considered the behaviour of the most active copyright infringers over the period May 2012 – May 2013. This report’s findings include:

  • Over the year, 17% of internet users infringed copyright online;
  • 2% of internet users were responsible for 74% all online copyright infringement
  • However, infringers also accounted for 32% by volume, and 40% by spend, of legally consumed digital content, spending more on average than non-infringers on both digital and physical content.

All the research was funded by the Intellectual Property Office (IPO) and carried out by Kantar Media on behalf of Ofcom. The reports contain details about the methodology used.

Source: Ofcom

Aug 12

A short bullet-pointed rant about both Spotify and Skype on the Mac

I use both Spotify and Skype on the Mac. In fact, I pay for both. Here is a short list of the things which irritate me today about both, in no particular order. Given the age of both, I don’t expect either to be occurring by now.

  • Both: either use Sparkle or get distributed through the Mac App Store. Your own updaters are pitiful. I run as a non-admin user, but have admin credentials which I can provide when needed. In the case of Skype this means I can only ever update manually (it actually goes to the trouble of downloading the update, then fails with a cryptic error when it can’t overwrite Skype.app). With Spotify, it’s almost worse: it updates entirely automatically, but when it discovers the install location isn’t writeable, it dumps the updated copy in ~/Applications, cheerfully creating it if it doesn’t exist. Great. Now I have two different copies of Spotify. Both Sparkle and the Mac App Store handle this completely gracefully (i.e., they prompt for elevated credentials when needed). Update: Skype fixes this as of version 6.6.
  • Spotify: Don’t breathlessly tell me a new album is available, and then tell me it’s not available when I hit the “Play” button. Good grief.
  • Spotify: What on earth is with the randomly de-authorising machines for offline use? Urgh. Don’t try to make it automatic and byzantine; either give me a list of devices, or make it work properly.
  • Spotify: Stop spamming syslog with Spotify[21722]: setShowsApplicationBadge: is not yet implemented for the NSApp dockTile.
  • Skype: I don’t know why you think Skype[21446]: WebFlashData cannot find Macrodmedia flash player SharedObjects directory, error Error Domain=NSCocoaErrorDomain Code=260 "The folder “#SharedObjects” doesn’t exist." UserInfo=0x1a2a2c0 {NSUserStringVariant=( Folder ), NSUnderlyingError=0x1a111a0 "The operation couldn’t be completed. (OSStatus error -43.)", NSFilePath=/Users/mo/Library/Preferences/Macromedia/Flash Player/#SharedObjects} appearing in my logs is fine: whether it’s the misspelling of “Macromedia”, the miscapitalisation of “Flash”, or the fact that you’re dicking around in there in the first place. Stop it.
  • Skype: Turning off emoticons (particularly animated emoticons) should not have a measurable effect upon CPU usage in this day and age.
  • Skype: To load more than the last few lines of conversation history should not take multiple seconds. Update: Skype fixes this as of version 6.4.
  • Skype: Sync read status between devices, or don’t let me log into multiple devices simultaneously, for goodness’ sake. I’m bored of missing messages because I forgot to quit Skype at home before heading to work.
  • Skype: Given that Lync for Mac is utterly horrible, when will I be able to log into my corporate Lync server at the same time as logging into my external account? I suppose group conversations or group video/voice calls between corporate Lync and public Skype participants will be out of the question?

There, that wasn’t so hard, was it?

In the interests of fairness I should note that Microsoft may have fixed some of the Skype issues since I last updated. That was a while ago, because updating it is a ball-ache and it doesn’t even tell me that there’s a new version available to manually download and install.

May 31


There is some utter twaddle being bandied today around about images of child abuse, and much more besides, on the Web.

First there is clear blue water between perfectly legal (whether you find it savoury or not) pornography and completely illegal images of child abuse (themselves depicting illegal activities). It’s difficult to see the conflation of the two as anything other than a disgusting attempt to further an agenda under the guise of solving a problem.

Second, despite some somewhat ill-informed statements to the contrary, images of child abuse are not a technical problem—they are a three-part problem of entirely human making: (a) abusing children, (b) capturing that abuse on camera, (c) distributing that abuse. In that order. There are people such as Mark Bridger who will seek out this material, and history has shown that they will almost certainly be successful if it is there.

Blocking it from search engines may help in a small way prevent the cases of “accidentally encountering it online”, but it doesn’t solve the underlying problems of its very existence, nor does it solve the cases which don’t involve “click on a link on Google and are immediately confronted by child abuse” (and I have a very strong suspicion they are very much in the minority). It doesn’t prevent people finding it if they’re sent direct links, find it through some intermediary service created specially to do this, or if the material isn’t itself on the Web in the first place (pro tip: the Web and the Internet are not the same thing).

Politicians, campaign groups and newspapers are very keen to apply pressure. Reportedly only 1% of sites hosting this material are within the UK; is there an international treaty governing the procedures for the removal of child abuse images (and following that, the tracing of the originators and bringing them to trial)? If not, why the fuck not?

People who know absolutely nothing about the way the Internet or the Web work (or, it’d seem, have never thought for more than a fraction of a second about human behaviour), would do well to stop trying to fundamentally redefine it because bad people use it to do bad things.

Instead concentrate on actually reaching consensus on dealing with the things we can all agree on: chiefly, that these images and the actions which precipitate them have no business existing in the first place.

May 29
Henry Wood on Flickr.

Henry Wood on Flickr.

Mar 20

Mar 18

Page 1 of 98