I know where you've been

Reading the site behind the evil evil evil evercookie hack (evil, almost indestructible cookies), I stumbled upon the author's CSS History Knocker code. This is something I'd toyed with in the past but never really came up with something I could apply it to, or a business evil enough to let me try.

The basic idea, articulated by Jeremiah Grossman back in 2006 (I can't remember where I first heard about it), is that browsers expose a piece of privacy data, the history of URLs you have visited. In the old days, links were blue and underlined. Links you had visited were purple and underlined. Along came Cascading Style Sheets and this became something designers could style, so the colours could be anything. Along came widespread and mostly-usable JavaScript, and suddenly you could get hold of that information.

The possibilities of this kind of sneakiness are pretty awesome, and scary.  Let's say you're a bank, you can know which other banks the user has visited, and present your offer with direct comparisons to the offers of other banks the user has visited. If you know the logged-in URL of a competitor, you can tell who of your visitors are your competitor's customers and make offers or inducements specifically for that audience.  Cool.

Of course you plug this kind of thing into an ad network and all kinds of evilness can start to be done.

My demo page

And so I present my edition of the CSS History Knocker.  Chrome seems to have plugged the hole, so try Firefox, Exploder or the Android browser. Haven't tried Safari.

Shred the week

Time-Killing ‘Chrono Shredder’ is a Day-Dicing Wall Calender

Wall clock, calender and mortality reminder all wrapped up in one odd work of (post)modern art. The so-called ‘Chrono Shredder’ provides a palpable (or pulp-able?) physical reminder that all things are temporary, and we can never wind back time in this world.

I love wacky conceptual art like this. If the shredder were suitably quiet, I reckon I'd have one of these in my house!

Distributed social networks and security

Most of you will know I'm not on Facebook. By the time Facebook came around, I'd already been on Friendster, Orkut, LinkedIn and the rest and lost the desire to really get into a new social network. That was topped off by the fact the only people I knew on Facebook were annoying trustafarian American college kids I met while backpacking in Europe, due to the at-the-time closed-to-non-American-college-kids nature of Facebook. Then the privacy problems of the service, and the fact they claimed copyright in everything you uploaded, kicked in and I've never wanted to join that particular club.

Thinking about the independent social network efforts, like Diaspora and GNU Social, I can't help but think the problems they're trying to solve are quite insurmountable, and possibly even worse in a distributed architecture.

The big problem is information leakage: some dumb kid uploading nudie photos of himself and only intending them for a specific audience that then are made available further than he ever wanted. This problem is pretty tough to beat when you're in a distributed environment.  What's to stop someone having a malicious, or infected, client that instead of honoring the "this is only available to you" flag, instead passes the information onwards?

We all know that the average consumer Windows PC is a swirl of malware and viruses, and consumers are none too good at observing information security no matter how obvious you make the steps.  The volume of spam arriving in your inbox every day is testament to the fact someone, somewhere is being suckered in by the messages contained therein.

At least with a centralized architecture, there's at least only one single point where the security must be tight.  I really don't see a way around this in an open, distributed architecture.

Kindle: first impressions


My Kindle arrived on Monday and I've been using it to read stuff ever since so I thought I'd record my first impressions of the device.

Hardware design
The industrial design is incredibly slick. This piece of kit looks and feels like the future was always supposed to turn out. It's no bigger than it needs to be to accommodate the screen and buttons, so incredibly thin and light. One downside of this form factor is that I've found holding the device slightly tricky. With a paperback novel, you'd tend to hold it by the page you're not reading. With this screen, I worry about getting smudges across it (though it's less of a problem than, say, a mobile phone screen). The left and right sides have the page turn buttons, the bottom the keyboard, so they're not available for holding it. It's funny but it almost feels like it'd be better if there were more unused space around the screen area.

The screen, as I'm sure you've read, is divine. Just as readable as paper, in any light, with crisp edges to text. Out-of-the-box the device has instructions for your initial charge. The instructions look like one of those plastic notes stuck on modern equipments' screens when you buy them, but actually they're rendered on the ePaper screen. When you plug it in, it changes to etchings that show off the screen.  Slick.

Reading books
Reading books formatted for the Kindle is a dream. I bought William Gibson's new novel and have been reading it. Very quickly the device disappears and you find yourself immersed in the book. The technology just goes away, and impressive achievement.

PDFs
Reading PDFs is less successful. The only available view modes are to fit the entire page to the screen, which means unacceptably-small text and images, or to have a movable viewport at a fixed zoom level. Any document with text running all the way across and A4 is a major pain to read this way. Switching to landscape view, which is a few clicks to hard if you ask me, solves this for some documents. I can think of a couple of usability improvements here:
  • Allow you to adjust zoom for the full-screen mode so that you clip the margins out and get more useful screen space.
  • In viewport mode, have shift-Page-turn-button zoom in and out, shift-arrow move the viewport.
  • A one-click way of rotating would be nice.
Getting documents
Getting documents onto the device is trivial. You just email them to <address>@free.kindle.com and it'll be delivered next time you're on a wireless network. Drop the "free" part and it'll be delivered over 3G (if you bought that model) for a cost of US$0.15/megabyte which isn't actually that bad given ebooks are generally quite small.

I've been playing with Calibre, which can download newspaper content from web sites and turn it into an eBook, then email it to your Kindle. The Guardian and Sydney Morning Herald turned up on my Kindle this morning from this approach.  It's nice, but I think I'll toy with the recipes they're using for the Guardian to give better navigation of sections and highlight the bits I'm really interested in there, similar to the awesome how Guardian Anywhere for Android works.

ReKindleIT is a bookmarklet that converts the web page you're viewing into an eBook and emails it to your Kindle. It works well for longer text you see online that you want to read at leisure, or need for offline reference like recipes.

Crikey?
Quite nice, but I haven't had much luck with Crikey's daily emails. Crikey is my number one target for reading on the device, but most of the conversion tools rely on RSS feeds and Crikey's paid newsletter doesn't show up anywhere as RSS. For yesterday's edition I converted to PDF and emailed, but as noted above PDFs aren't great.  I'll continue to work on this one, trying to find a better way to handle it.  ReKindleIT doesn't work, and I'd prefer something that was completely automatic as well.  Anyone got a better approach?  The perfect solution would take the daily email and have it just pop up as an eBook on the Kindle. Getting the HTML email, plus images, converted is the trouble.

Catholic? You share the blame.

An Onymous Lefty claims that protests against the Pope's visit to the UK are aimed at the church, not its members.  His reasoning is that it's the church hierarchy at fault for its various ills, not the members.  As an ex-Catholic, I have to take issue with this.

At every Mass (and you're required to go to Mass every week) Catholics recite the Nicene Creed, part of which states:
We believe in one holy catholic and apostolic Church.

Now the background here is that during the Reformation the Roman Catholic church got really serious about preventing schisms.  No dissent is allowed within the Catholic church.  The word of the Pope is infallible, and church canon is not to be argued over.  Catholicism doesn't have the rich history of debate and discussion that you find in Protestant churches, or for that matter non-Christian religions like Judaism and Islam.

The idea of a "dissident Catholic" is a nonsense construction. If you disagree with some aspect of Church law you have two choices: cease to be Catholic, or submit to Papal authority.

So do you call yourself Catholic?  Well I'm afraid that means you have to take responsibility for all the bad things the Church does in your name.  Covering up child abuse. Increasing poverty and the spread of AIDS by banning condoms and birth control. Defaming homosexuals.  All your fault while you continue to support the Church.