Die, Software Patents, Die

Updated on Thursday, November 12, 2015

HOWTO: Punish Banks

Updated on Thursday, November 12, 2015

Barclays just got fined $453m for manipulating the electricity market in the US, following a £290m fine for fiddling Libor while HSBC is off money laundering with seeming impunity.

A $453m fine for Barclays is equivalent to $600 for the average US household, although if the average US household got caught manipulating markets they'd probably be in jail.

These relatively small fines aren't enough to really change behavior.

Unless we change how the fines are used. Put $453m in an incubator that funds banking startups and you can have 40 scrappy well funded companies trying to take the banks down. A handful of those will succeed and really do some damage. Every time a bank misbehaves it will be sowing the seeds of its own destruction.


Finally Gmail

Updated on Thursday, November 12, 2015

Gmail is taking the compose window out of the corner of your window.


Never Ending Fog

Updated on Sunday, December 2, 2018


Updated on Thursday, November 12, 2015

NatureBox Healthy Snacks

You know what's healthy? Leaving your house to get a snack.

Brexit Prize

Updated on Thursday, November 12, 2015

Flag of the USA after the UK becomes a state

The Institute of Economic Affairs has announced the 'Brexit Prize', a competition for the best blueprint for a UK exit from the European Union. First prize is 100,000 Euros, so it's worth a shot.

My plan: Beat Puerto Rico to becoming the 51st state.

I was just about to send this in when I read the instructions:

"At both stages, potential entrants should ask Amelia Abplanalp on [email protected] – for an entry number, preferably at least seven days before the closing date. Entrants should create two pdfs. One of those documents should only have the entry number as an identifier. The other document should have the entry number, name and contact details of the entrant on the cover page..."

It goes on like this and sounds like some EU directive relating to banana curvature. And don't you contact someone at an email address rather than on one? Must be an early April Fools' joke...

The Economics of Digital Rights Management

Updated on Thursday, November 12, 2015

Cory Doctorow wrote an article criticizing SiDiM in Publishers Weekly last week:

"But the fact that the basis behind this security measure was countered 25 years ago by employing a simple tool that’s getting into its 40s is not the silliest part of this supposed new DRM breakthrough."

This misses the point about how DRM really works.

Most people are fundamentally honest but reading a book or watching a TV show or installing one more copy of a software program doesn't feel like you're doing anything wrong. If you throw up a small roadblock then this is generally enough to gently remind people that they need to cough up.

If I can install another copy of Photoshop from the shared drive to get my job done then I will. If it asks for a license I'm going to ask my boss for one rather than hunting down a cracked copy. DRM works even if it doesn't do very much.

In fact it works best when it doesn't do much. A more sophisticated DRM is more likely to go wrong and is harder to operate. Highly effective DRM starts to hurt you with support and maintenance costs. When it fails to work or to be fair it can backfire spectacularly and cause a consumer backlash.

I spent a lot of time earlier in my career developing and selling DRM and copy protection. Deals were won on security but successful relationships were built from helping publishers balance the technical possibilities with ensuring that legitimate customers had a good experience.

"The idea that copyright owners might convince a judge, or, worse, a jury that because they found a copy of an e-book on the Pirate Bay originally sold to me they can then hold me responsible or civilly liable is almost certainly wrong, as a matter of law."

This doesn't sound right either. We've had enough experience of the record labels and movie studios suing individual copyright infringers, most of whom can't afford to risk a court case even if they have a plausible 'left my laptop unlocked' defense. This wasn't a smart move before, but it doesn't mean that book publishers can't deploy the same flawed strategy.

Chart plotting DRM effectiveness against revenue

BBC Slams BA

Updated on Thursday, November 12, 2015

Book reviews for June 2013

Updated on Friday, February 24, 2017
Letters by Kurt Vonnegut

Letters by Kurt Vonnegut


Engrossing collection of letters, helpfully sprinkled with context.


How to get SEO credit for Facebook Comments (the missing manual)

Updated on Sunday, September 30, 2018

How to get SEO credit for Facebook Comments (the missing manual)

I've been using the Facebook Comments Box on this blog since I parted ways with Disqus. One issue with the Facebook system is that you won't get SEO credit for comments displayed in an iframe. They have an API to retrieve comments but the documentation is pretty light and so here are three critical tips to get it working.

The first thing to know is that comments can be nested. Once you've got a list of comments to enumerate through you need to check each comment to see if it has it's own list of comments and so on. This is pretty easy to handle.

The second thing is that the first page of JSON returned from the API is totally different from the other pages. This is crazy and can bite you if you don't test it thoroughly. For https://developers.facebook.com/docs/reference/plugins/comments/ the first page is https://graph.facebook.com/comments/?ids=https://developers.facebook.com/docs/reference/plugins/comments/. The second page is embedded at the bottom of the first page and is currently https://graph.facebook.com/10150360250580608/comments?limit=25&offset=25&__after_id=10150360250580608_28167854 (if that link is broken check the first page for a new one). The path to the comment list is "https://developers.facebook.com/docs/reference/plugins/comments/" -> "comments" -> "data" on the first page and just "data" on the second. So you need to handle both formats as well as the URL being included as the root object on the first page. Don't know why this would be the case, just need to handle it.

Last but not least you want to include the comments in a way that can be indexed by search engines but not visible to regular site visitors. I've found that including the SEO list in the tag does the trick, i.e.

I've included the source code for an ASP.NET user control below - this is the code I'm using on the blog. You can see an example of the output on any page with Facebook comments. The code uses Json.net.