30 May 2009

"Sigh. I really wish I could vote Labour, but..."

"...then they go and put Arlene McCarthy top of the ticket in the North West".
"Do you mean that Arlene McCarthy? The one who pushed so hard for software patents?"
"Yes, that Arlene McCarthy."
"Man, that must hurt."
"Indeed. And the other ones in the list look more of the same: people concerned mostly with the welfare of big business."
"But at least the campaign message will surely be about your 'sweet spots': fair opportunities, workers' rights, social Europe..."
"Er, no, actually. It's a riff on protectionist themes: fight for the UK, defend the country, etc. You would easily confuse them for BNP or UKIP material."
"I see."
"So it's gonna be Green again, I guess."
"F*ck me, the tree-huggers! Man, you even hate recycling schemes! Are you all right? Let me check your temperature..."
"Actually, their policies are quite sensible these days. They really get it on technology issues. They even have people in the Open Rigths Group."
"Well, ain't you a single-issue voter."
"Single-issue? Labour got it wrong on ALL the issues in the last few years: DRM, net filtering, open source, software patents... they even fought to be exempted from directives on workers' rights!"
"Yeah, but I mean, the enviro-nazi are full-on plane-haters..."
"I don't agree with their shenanigans on Heathrow either, but I think they started to understand that being anti-planes is a lost cause. And we do need more anti-nuclear activists, the original generation basically sold out to Blair."
"What about the Lib-Dems? Apart from Nick 'David Cameron wannabe' Clegg, they do have good people on."
"Yeah, I'm checking them out, but they always leave me underwhelmed. The best one they have, Chris Davies, is top of the ticket and is going to get a seat anyway."
"What about the Tories? David Cameron looks like a nice fellow."
"I'm actually worried by how much I agreed with the Conservative spokesperson on the last BBC Question Time, very intelligent man. But I'm still convinced they'll pull a GWB-style U-turn as soon as they are in government."
"And I guess you wouldn't consider UKIP..."
"Are you serious? Their motto is 'we're just xenophobes, not full-on racists like the BNP'. If they had free reign, I probably couldn't live here."
"That settles it, then. Not that I care, I'll campaign for the one with the bigger tits and beat your silly people anyway."
"Eh. Gotta run now, that's enough politics on the blog for at least another year. It's always so nice talking to you, Mr.Murdoch."

[UPDATE: If you still don't know who to vote for in UK constituencies, have a look at the Open Rights' Group page listing candidate positions on technology issues. It's fantastically simple and well-designed.]

29 May 2009

BNP: the inbred party

I try not to worry about political issues too much these days, but this post is not really about politics. Comedy, rather.

David Ottewell, aggravated by people doubting the veracity of reports depicting BNP members as full-on racists, reposted part of their constitution.

  1. The British National Party represents the collective National, Environmental, Political, Racial, Folkish, Social, Cultural, Religious and Economic interests of the indigenous Anglo-Saxon, Celtic and Norse folk communities of Britain and those we regard as closely related and ethnically assimilated or assimilable aboriginal members of the European race also resident in Britain. Membership of the BNP is strictly defined within the terms of, and our members also self define themselves within, the legal ambit of a defined ‘racial group’ this being ‘Indigenous Caucasian’ and defined ‘ethnic groups’ emanating from that Race as specified in law in the House of Lords case of Mandla V Dowell Lee (1983) 1 ALL ER 1062, HL.
  2. The indigenous British ethnic groups deriving from the class of ‘Indigenous Caucasian’ consist of members of:
    1. The Anglo-Saxon Folk Community;
    2. The Celtic Scottish Folk Community;
    3. The Scots-Northern Irish Folk Community;
    4. The Celtic Welsh Folk Community;
    5. The Celtic Irish Folk Community;
    6. The Celtic Cornish Folk Community;
    7. The Anglo-Saxon-Celtic Folk Community;
    8. The Celtic-Norse Folk Community;
    9. The Anglo-Saxon-Norse Folk Community;
    10. The Anglo-Saxon-Indigenous European Folk Community;
    11. Members of these ethnic groups who reside either within or outside Europe but ethnically derive from them.
  3. Membership of the party shall be open only to those who are 16 years of age or over and whose ethnic origin is listed within Sub-section 2

The Anglo-Saxon-Norse Welsh-Scottish and Norse-Irish Celtic "Folk Communities" didn't make the list; was it an oversight, or is it because everyone knows they're a bunch of lazy asylum seekers? I'd also be curious to understand how they can check these prerequisites before admission, but I guess this is an implementation detail.

What really matters, though, is the typical trademark of nazi paranoia: the obsession to precisely classify races on the basis of imaginary concepts. The classic result is this exact sort of documents, produced by people who fail to see the absurdity of their own statements and the self-offensive message they really communicate. What this document really says is that "BNP members are all inbred". I wonder if that is appealing to their target demographic.

Notes on Mercurial / MQ and Subversion

I am currently working on some patches for a project. The project uses Subversion for version control; I won't have commit rights, but I still want to track the original sources as well as my changes. Rather than configuring svn externals (which are really thought out for different usecases, typically libraries), I decided to try my hand at one of the newest Distributed Version Control Systems, which are built exactly for this sort of scenario.
Being a Python-whore, I obviously picked Mercurial. Here's a little memo with what I've done, mostly following the page on the Mercurial wiki dedicated to Subversion interop. Note that this may not be the optimal solution, it's a work-in-progress:
  1. enable the MQ extension in .hgrc or Mercurial.ini
  2. check out the original Subversion repository
  3. in the checked-out copy, do
    hg init
  4. in the same place, create a file called .hgignore, listing the files we don't want to track; typically, this means the .svn/ directory and .hgignore itself
  5. add all the files to Mercurial:
    hg ci -Am "Original svn checkout"
  6. initialize MQ:
    hg qinit -c
  7. if you have existing patches, you want to start applying them now. If they create new files, you'll need to "hg add" them
  8. when you want to save state, use
    hg qnew -f mynewpatch
    This will create a patch called "mynewpatch" in the MQ stack, listing differences with the original version, and it will consider it as applied.
In this way, I can always resync the svn repository (using svn itself), commit the new "upstream" revision to the local hg repository, then reapply the patch queue. At least in theory :)

22 May 2009

The Future of Journalism, Today.

Seeing how everyone and his dog is nowadays concerned with "the future of Journalism", I'm throwing this idea to the wind, because obviously I won't have time to implement it, I've been saying it for ages, and it's not very original anyway (I'm surprised nobody built it yet, but the Guardian is getting there). It can be done today, in a couple of months, leveraging existing tools. It's not a start-up project though, mainly because you need contacts in the journos community to get a few high-profile hacks to attract critical mass... The Huffington Post could do it, once they burn through their current venture capital. But I digress.

The Model:
  • Author has a site (e.g. at http://content.someauthor.name) where he publishes his content.
    • public feed is free, summary-only, with ads. (To view the full article, pay $0.49, or get free article with ads, or pay for "big" stories / analysis)
    • private feed is full, no ads, $1.49 for 4 articles, $3.99 or $4.99 for 10 articles, $49.99 per year.
    • subscription gives you full revision history (something the "pro" will want)
    • subscription gives you sub-by-email
    • articles can include trackback-like links to aggregators ("published in NewZine on 21/03/2009" etc)
  • "NewZine" aggregates feeds from various authors
    • articles are free to view with ads
    • aggregated feeds are summary-only, with ads.
    • aggregator pays author 40% of ad revenue on "his" page-articles, or agreed flat.
    • aggregator pages include canonical links to author site.

  • Author gets much more visibility. You can have Toynbee without The Guardian, Monbiot without Monde Diplo, Mura without La Repubblica, etc.
  • Author is not subject to "gatekeeping", can potentially "make it" on his own. Platform is very open and flexible.
  • Author can potentially get more money-per-article, especially if the content is good. See how the iTunes model is making people pay more for music even though they don't realize it. This is the main selling point, because you need to persuade authors, not companies, to switch. As long as authors will crave the (limited but generous) safety net from the current (oligarchic and scarcity-based) setup, the revolution won't happen.
  • Lower incentives to work for "agencies" like Reuters, which are bad for the market and will die anyway. Aggregators become real-time agencies.
  • Aggregator can filter good/bad articles, keeping quality high, without risking much.
  • Aggregator has extremely low costs, and very high traffic (== money from ads).
  • Feeds can have all sort of metadata (location, tags..), making it possible to have automated semantic services ("get me all the local news for Stockport", "give me all movie reviews" etc) without any further editorial efforts.

  • can take a while to break even
  • newsreaders might not support private feeds (like GoogleReader)
  • Authors will need help setting up their feeds / sites.
  • You need buy-in from a couple of big names, or a scoop, to get initial visibility.
  • must be implemented very quickly (as usual!) before other models appear. (My bet is that Murdoch will find a way of screwing everyone else, as usual, and make it a de-facto standard.)

As much as new models for music are act-based rather than company-based (bands are now supposed to build their fanbase through the net before they get signed), new models for journalism will be journalist-based rather than journal-based. Middlemen will tend to disappear, acting only as (unobtrusive) filters/aggregators. Hacks will have to produce a bit more, but they will see a much bigger share of the profits. Pricing can be tailored per feed (sports news: expensive / celeb-gossip: cheap, etc).

You couldn't have done this in 1999, when only a handful of geeks knew what RSS was; but you can very easily do it today. I'd say a decent hack would easily rake in $20K/30K per month (plus books etc), news quality would improve (as incentives for good and regular material would be higher), and the aggregator's costs would be so low that they'd basically be printing money. What's not to like?

21 May 2009

Problems with ICQ ? Use 443

Note to self: switch to port 443 on login.oscar.aol.com if port 5190 is giving you grief. Works a charm.

Now, if only I find why MSN keeps going offline...

02 May 2009

You should update to NoScript

Quick recap:
  1. NoScript is a Firefox extension. Its author makes money from ads on his webpages (from what he says, pretty much his entire income depends on those adsUPDATE: from his bio: "I'm currently teaching Web Programming at the University of Palermo"... yet another blow to his credibility UPDATE: the bio was outdated).
  2. AdBlock Plus is a Firefox extension that stops ads. It also allows users to subscribe to third-party lists of sites to block.
  3. The maintainer of one of those services, "EasyList", took a very zealous approach and targeted NoScript.net (and other sites from the same author) because he found that it implemented some basic workarounds to avoid AdBlock Plus.
  4. Escalation ensued, and after a series of tit-for-tat eventually the NoScript developer went too far. NoScript, when installed in Firefox, would now check if AdBlock Plus was installed, and if so, force it to whitelist its sites... basically "hacking" ABP client-side.
  5. The ABP developer (who up to now was not involved who apparently instigated the whole thing) got angry, and denounced the behaviour in various forums, including Slashdot.
  6. The NoScript author backtracked, removed the offending code in the latest update (NoScript and apologized

Now, I'm sympathetic to the NoScript author's circumstances -- he has a family to feed, he gives his work away for free, and NoScript really is a piece of extremely useful and complex code that most Firefox users enjoy (including me). It seems fair that he should get some compensation for his effort.

However, clearly NoScript can be (and is) used as an ad-blocker, and the developer even runs AdBlock himself, but then he gets all worked up when these technologies are used against his own sites. There is a bit of hypocrisy there.

In any case, client-side modification of other people's extensions is just unacceptable, no matter how "transparent" it is. There is a line, and the NS author crossed it. Kudos to him for the eventual backtracking, but he shouldn't have put himself in that position in the first place. NoScript is a security-related extension, and in the security world trust is precious currency. His reputation is now tarnished, and it will take time for people to forget.

All this, someone pointed out, highlights the need for a mechanism to reward extension authors. I agree. Mozilla could easily implement a micropayment system on addons.mozilla.org (like the iPhone AppStore), or build some sort of subscription infrastructure in FF (so that people can install extensions, then decide if they are worth paying). My guess is that the world of extension development would literally explode, and that would make FF even more attractive.