Category Archives: General

Just stuff.

Fox Escort Duties

Around 1995, I was walking home late at night. I mean late: it would have been about four in the morning. The road I was walking up was lined on the side I was on by decaying post-industrial wasteland.

As I passed a gap in a fence, a fox nipped out and started walking alongside me. I don’t know much about foxes, but I reckon it was fairly young. It walked to heel, like a well-trained dog.

I was somewhat taken aback by having this companion join me on my journey, but it wasn’t doing me any harm. So I carried on, and it carried on walking with me. I kept glancing down at it, and it seemed to be ignoring me. But it kept pace with me.

A few hundred yards up the road, there was another gap in the fence. As we came to it, the fox paused, looked up at me, and turned off, vanishing into the darkness.

I could swear it nodded as if thanking me and bidding me adieu, but maybe I imagined that.

On reflection, I think what probably happened was that this young fox had made its way over to the territory of an older fox, that being where the foxy lady foxes were. And maybe it had stayed a bit too long, and now had to get back, but knew that the older fox was lurking, intending to punish the interloper in whatever manner cuckolded foxes do: probably with lots of biting and scratching, maybe to the death.

So it waited until a human came along, knowing that the older fox would steer clear of them; and the human that came along was me, and I gave the philanderer safe passage back to its own little patch of derelict land where a factory once had been.

And maybe it did nod at me, as it glanced up at me before diving through that hole in the fence, to thank me for seeing it safely home.

Or maybe I imagined that.

Facebook Wasn’t Hacked

Much kerfuffle because some Facebook employees’ laptops picked up a virus. Facebook have posted about it and it’s a pretty straightforward tale of some laptops picking up a virus, and the company’s IT infrastructure detecting it, and making sure it didn’t do any harm. The only real news here is that, with the in-house expertise Facebook has, they could do a much more thorough analysis of the problem than most people’s employers could ever manage, and share that knowledge with the world.

But of course this is Facebook, and Facebook-the-company exists to operate Facebook-the-website, so suddenly journalists’ eyes light up with the thought of the headline: “Facebook Hacked!”

As this rather boring incident happened last month, the journalists also see the opportunity to suggest that Facebook is somehow deceiving its users by this delay in disclosure, and that all the Important Private Data of those users (which they posted on Facebook, but whatever) is somehow at risk.

This story is about as interesting as a bank employee’s laptop getting a virus, which doesn’t cause any risk to the bank’s customers’ money; or a journalist’s computer getting a virus, which doesn’t cause any risk to the people who read his stories on the newspaper’s website.

Facebook wasn’t hacked. Any reports you read saying “Facebook Hacked!” are bullshit. Somebody’s laptop got a virus. A few other people’s laptops in the same company got the virus. That’s what viruses do, and it happens every day at thousands of companies.

The fact that the company happened to be called “Facebook” doesn’t mean “Facebook got hacked”; it means you get to hear about it. You don’t get to hear about it when it happens at your bank, or the Wall Street Journal, or the Guardian, or the New York Times. It happens at those places more often than it does at Facebook, but you’re never told about that. You’re told about it when it happens at Facebook because the journalists know that putting the words “Facebook” and “Hacked” in the same headline has a Pavlovian effect on the public which sells newspapers, or at least page views, and makes their employers money.

I say again: Facebook wasn’t hacked. Some people who work there got a virus on their laptops. That’s all. It’s not news.

If it is news, we should be told every time it happens to somebody who works for a news organisation. After all, we rely on these people for accurate information much more than we do on Facebook. (Well, I do. YMMV.)

Weird iPad Bug: Audio from Certain Apps Only Played Via Headphones

This rather obscure iPad issue has been occasionally annoying me for ages, and I finally worked it out tonight.

The problem I had was that some, but not all, apps would only play audio through the headphones, not through the internal speaker. For example, BBC iPlayer would play through either the speaker or the headphones, as would Safari and the YouTube app; but some media player apps could only be heard via the headphone socket.

Perhaps the strangest was the 4oD app, which is the TV on demand app from the British station Channel 4 (C4). This usually plays a short C4 ident, then a sponsor message, then the programme. Bizarrely, with this app, the ident could only be heard via headphones, the sponsor message could be heard via either headphones or speaker, and the programme only via headphones.

This was rather annoying, as I often prefer to watch and listen to media without putting headphones on: my hearing is already sufficiently damaged from too many years of live pub bands that I only pipe sound directly onto my eardrums when I really want to.

It turns out the problem relates to the side switch on the iPad, which can be used as either an external speaker mute button or a rotation lock.

A couple of months ago I accidentally changed the settings to make this be the mute button; I normally use it for rotation lock. It turns out that, when I changed the settings back to make it act as rotation lock, I had the physical switch itself in the mute position. It seems that, when the setting was changed back, some part of the system remembered the mute setting and was using it – but only for certain apps or even, as in the case of 4oD, for parts of certain apps.

The solution? Go to Settings, General, and in the “Use side switch to:” section, change to “Mute”. Then ensure the switch itself isn’t in the mute position: you don’t have to put it there then switch it back or anything silly like that, just be sure it’s in the right place, with the protruding part towards the top of your iPad and with no orange dot visible. Then leave the settings app and switch to one of the misbehaving media players, and you should find it now plays through the internal speaker again. Finally, return to Settings, General and switch back to Rotation Lock, assuming that’s what you want.

It may be that you can just change to Mute then back to Rotation Lock without leaving the Settings app and get the same effect, but I haven’t checked. I’m just happy to have my internal speaker working again for all apps.

And now I’ve written that up, I’m going to watch a programme about a man whose home is even more messy than mine. I may even use the headphones for this one…

What the Web is For: “Why I Am Not Worried About Japan’s Nuclear Reactors”

This is the best explanation I’ve seen so far of the circumstances surrounding the problems Japan has been experiencing at its nuclear power plants: Why I Am Not Worried About Japan’s Nuclear Reactors.

Not linking to it would be a crime in a world ruled by PageRank. If you see this and you are able to post links on the Web (hint: you are, even if it’s just via Twitter), then do so. Ignorance may be bliss, but knowledge is better.

New From Microsoft Bing: Conditional Charity

Microsoft Bing’s twitter account today posted the following bizarre message:

How you can #SupportJapan – http://binged.it/fEh7iT. For every retweet, @bing will give $1 to Japan quake victims, up to $100K.

So, basically, they’re saying that they can afford to give away $100,000 to help the people of Japan in the face of the appalling tragedy that has struck them – but it’s conditional upon people retweeting Bing’s message.

Presumably, if not enough people retweet, they’ll just put the rest of the money back in the office party fund.

I assume they’re paying some “Social Media Marketing Guru” to come up with stuff like this. The mind boggles.

UPDATE, 22:50: Bing have sort-of-apologised (although it sounds a bit like “We’re sorry some of you were too dumb to grasp what we meant”) and made the donation in full.

Gabrielle Giffords, Sarah Palin, and takebackthe20.com

Update at 2010-01-08T20:40Z: It looks like the takebackthe20.com web site has been completely removed now, so the links to it below won’t work.

Earlier today US congresswoman Gabrielle Giffords (Democrat, Arizona) was shot in the head at a public meeting. A number of other people were injured, and at least one person is reported to have died. At the time of writing, early reports that Ms Giffords was killed have been corrected, and she is reported by the BBC to be undergoing surgery.

The only reason I am commenting on this tragic event is that, as with other matters I have recently commented on, it looks as if somebody is doing a poor job of covering their tracks online. A web site at the domain takebackthe20.com recently published a graphic showing a number of states, including Arizona, adorned with gunsights. In fact, Arizona has no less than three of them. This graphic has suddenly disappeared from the site… well, so it seems at first glance.

The web site is no longer displaying the graphic on its home page, but as usual all they’ve done is remove the embedding code from the HTML: the image itself is still on their server at http://www.takebackthe20.com/images/map2.png. (I also have it mirrored on this site at /images/sarah_palin/takebackthe20.com/map2.png.)

A look at the whois record for that domain (reproduced below) shows that it is owned by “Sarah PAC” which is Sarah Palin’s Political Action Committee. The map with the gunsights also has the words “Click a district below to learn about Sarah’s choice to take back the 20!” displayed at the top.

Of course there is no evidence that the person who committed this appalling act of violence was inspired to do so by Sarah Palin’s PAC’s web site; but the fact that the PAC have moved so fast to remove the potentially embarrassing material that could be interpreted as inciting violence suggests that they realise how the material might be construed. Of course, there is also no reason to suppose that Ms Palin’s PAC endorses or encourages violence in any way, but those who regard guns as totems of freedom rather than potentially lethal weapons seem inevitably to fall into the regrettable tendency to use them to symbolise political aspirations in a way that the more literal-minded of their supporters might fail to understand as metaphor.

The whois information for takebackthe20.com is:


Registrant:
   Sarah PAC
   P.O. Box 7711
   Arlington, Virginia 22207
   United States

   Domain Name: TAKEBACKTHE20.COM
      Created on: 19-Jul-10
      Expires on: 19-Jul-11
      Last Updated on: 19-Jul-10

   Administrative Contact:
      PAC, Sarah  
      P.O. Box 7711
      Arlington, Virginia 22207
      United States
      (202) 747-1812      Fax -- 

   Technical Contact:
      PAC, Sarah  
      P.O. Box 7711
      Arlington, Virginia 22207
      United States
      (202) 747-1812      Fax -- 

   Domain servers in listed order:
      NS37.DOMAINCONTROL.COM
      NS38.DOMAINCONTROL.COM

iTunes Ping and Facebook: The Smoking Screenshot

Since Apple announced its new social networking service for iTunes, Ping, there has been speculation as to why it doesn’t integrate with Facebook.

Kara Swisher of All Things Digital asked Steve Jobs about this after the event:

…he said Apple had indeed held talks with Facebook about a variety of unspecified partnerships related to Ping, but the discussions went nowhere.

The reason, according to Jobs: Facebook wanted “onerous terms that we could not agree to.”

The plot thickened when Cult of Mac’s Giles Turnbull spotted a mention of “Connecting to your Facebook account” on the Ping page at apple.com (which is still there at the time of writing). Then Dan Frommer of Silicon Alley Insider pointed out that a mention of connecting through Facebook appeared in Steve Jobs’ demo of the Ping UI, although it doesn’t appear in the same place on the release version.

As I was having a play this evening after setting up a Ping account, I went to the “People” screen… and look what I found:


Oops! 'Connect with Facebook' message on iTunes Ping's 'People' screen
View on flickr

So it looks very much as if Apple planned Facebook integration right until the last minute, and when it was pulled they didn’t do a very good job of removing mentions of it from either the web site or the application itself.

I was astonished myself at the lack of Facebook integration: I assumed it would be a given for something like this. Presumably one of two things will happen. Either Apple and Facebook will come to a rapprochement, at which point Apple can flick a switch and enable integration of the two networks; or Steve Jobs will treat Facebook the way he’s treated Adobe over Flash. Given his track record of standing firm on such matters, those who want Ping and Facebook integration had better hope that Facebook cracks first.

Twitter 1 Daily Mail 0

Journalists copy stories from other sources all the time. In theory, they should provide attribution, but this doesn’t always happen. When they copy a story from elsewhere without checking the date of publication, this can end up making them look pretty dumb.

On BBC News’s “Most Popular” feature, it’s not uncommon for older stories to pop up from time to time. This evening, the number two spot is occupied by the “Pornographic videos flood YouTube” story from May 2009. It seems that somebody in the Daily Mail newsroom, being unable to go out and dig up some news for themselves, decided that a quick harvesting of BBC News would help while away the afternoon, for at around 16:00 BST the same story, rewritten to fit in with the Mail’s house style, appeared on their web site.

BBC web developer Jake Archibald, aka @jaffathecake, noticed this and tweeted about it. Co-incidentally, I had just seen the BBC story linked to by a user on a forum I frequent who had also failed to notice the dateline, so I immediately realised what had happened.

Being a helpful sort of chap, I went to the trouble of registering with the Daily Mail’s site and posted the comment “You do realise that the BBC News story you copied comes from May 2009?” My comment was held in a moderation queue, so I left the story open in a tab while I wasted time elsewhere.

Returning about fifteen minutes later I reloaded the tab to see if my comment had made it through moderation, only to be greeted by the message: “Sorry… The page you have requested does not exist or is no longer available.:-)

It’s nice to see that the Mail’s newsroom staff are sufficiently on the ball to remove the story so rapidly late on a Sunday evening. Without wishing to nitpick in the face of such efficiency, wouldn’t it be even better if they learned to check the dates on other people’s stories before re-writing them and publishing them under the byline “Daily Mail Reporter.” They could save themselves a lot of wasted effort.

UPDATE: After posting this, I had a conversation with a journalist friend who pointed out that, on a Sunday afternoon, the newsroom of a national paper is probably staffed by young people seeking a break into journalism and working for a trivial wage, as newsrooms were some years ago, when he himself was such a person. (I strongly suspect that nowadays the newsroom is staffed on a weekend by young people working as unpaid interns in the hope of getting such a break, though I may be wrong.) If such a person was responsible for this #mailfail then I hope that they will not be punished but rather be given guidance on how to avoid such errors in future; for the person truly responsible was not them, but the editor who approved its online publication without further checks.

Further update: via Martin Robbins, here’s a mirror of the Daily Mail article.

P.S. Mail developers: you should really be returning 301 Moved Permanently rather than 302 Found to redirect to your 404 error page. Even better, don’t use a client-side redirect for 404 Not Found at all.

More Antisocial Networking

Following on from the recent brouhaha surrounding Gillian McKeith and Twitter, this weekend brings another example of how not to respond to Twitter comments in the shape of a threat of legal action against blogger Luke Bozier.

Luke tweeted his unflattering opinion of ex-Prime Minister Gordon Brown’s new web site, and also posted more detailed criticism of Tangent One, who are apparently responsible for the site, on his blog.

Shortly afterwards, he received the following message from somebody describing themselves as executive director of Tangent Communications plc, parent company of Tangent One:

I respectfully suggest you delete that tweet, issue no more similar ones and generally try to sell your products in a more professional way. I really don’t like the prospect of either a public slanting match or legal action, but if I need to protect my company’s business and reputation, I will.

This has resulted in Jack of Kent (aka legal eagle David Allen Green) repeatedly re-tweeting the original tweet and promoting the hashtag #OffTangent, which is now trending nicely in the UK.

Assuming the threat received by Luke Bozier is real, one has to wonder at a digital agency whose response to online criticism is to immediately reach for the threat of legal action.

If they had chosen to ignore Luke’s tweet, it would have been seen by those of his 1,000-plus followers who regularly check Twitter, and perhaps passed along by some of them. The overall effect would almost certainly have been negligible.

Instead they came out blustering and, just as happened with the @gillianmckeith account the other week, have whipped up a storm of virtual criticism.

I’m not sure these people really get how this “social web” thing works 😉

Antisocial Networking

For some background to the Twitter-related brouhaha that led to this post, read Jack of Kent’s The Integrity and Honesty of @gillianmckeith.

So, @gillianmckeith tweets that @bengoldacre‘s Bad Science contains lies, and Mr Goldacre promptly calls her (if it was her…) on it. @gillianmckeith then appears to remove the offending tweets and tries to suggest that that account isn’t necessarily the Gillian McKeith’s account; but unfortunately it’s linked to from her own site (to which I am not granting any google linkjuice, by the way).

When this is pointed out, the link is removed from her site by somebody. Unfortunately, it’s only removed in the sense of being commented out, and is still clearly visible in the source. Also, as David Naylor points out, it’s still present on places like her YouTube channel, which is linked to from the same “social networking” section of her site.

Time to bring out the big guns: now, the entire “social networking” section is removed.

You guessed it:


<!--
<div id="gillianssocialnetwork">
 <a href="http://twitter.com/gillianmckeith" target="_blank" title="Follow Gillian on Twitter">
  <img src="i/twitter.jpg" alt="Twitter" width="39" height="44" border="0" class="networkicon" />
 </a>
 <a href="http://www.facebook.com/GillianMcKeithOFFICIAL" target="_blank" title="Gillian's facebook Page">
  <img src="i/facebook.jpg" alt="Facebook" width="39" height="44" border="0" class="networkicon" />
 </a>
 <a href="http://www.youtube.com/user/gillianmckeithTV" target="_blank" title="Gillian's YouTube Channel">
  <img src="i/youtube.jpg" alt="Gillian's YouTube Channel" width="39" height="44" border="0" class="networkicon" />
 </a>
 <a href="http://uk.linkedin.com/in/gillianmckeith" target="_blank" title="Gillian on LinkdIn">
  <img src="i/linkdin.jpg" alt="Gillian on LinkdIn" width="39" height="44" border="0" class="networkicon" />
 </a>
</div>
<div class="rightcolitems">
 Do you social network? So does Gillian! Follow her on the links above
</div><br />
-->

All I can really say is: #viewsourceftw.

UPDATE, 2010-07-15T01:00: Actually, that isn’t the only Twitter-related content that has been commented out on that page. It also has the following:

<!--    <div id="twitterboxheader"><a href="http://twitter.com/gillianmckeith" target="_blank"><img src="i/gillianmckeith_on_twitter.jpg" alt="Follow Gillian on Twitter" border="0" title="Follow Gillian on Twitter"/></a>
    </div>
<div id="twitterboxmain">
<div id="twitter_div">
<ul id="twitter_update_list"></ul>
<br /><br />

</div>
<a href="http://twitter.com/gillianmckeith" id="twitter-link" style="display:block;text-align:right; font-size:1.2em;" target="_blank">follow me on Twitter*lt;/a>
</div>
<div id="twitterboxend"><img src="i/twitterboxbase.jpg" /></div><br /><br />-->

which is code to display the latest tweet from @gillianmckeith, and towards the end of the source code is some HTML loading some JavaScript:

<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/gillianmckeith.json?callback=twitterCallback2&count=1"></script>

which actually updates that box with the most recent tweet.

You will notice that the JavaScript section hasn't been commented out. This would suggest that the data is still being loaded from that Twitter account by that page, whenever it is viewed. And indeed, a check with the wonderful Charles HTTP debugging proxy, a tool which allows one to examine the low-level nuts and bolts of one's computer's communications with the web, shows that this is the case. When I load the page at gillianmckeith.info into my browser, the second script shown above sends the following additional HTTP request to Twitter from my browser:

GET /statuses/user_timeline/gillianmckeith.json?callback=twitterCallback2&count=1 HTTP/1.1
Host: twitter.com
Pragma: no-cache
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16
Accept: */*
Referer: http://www.gillianmckeith.info/
Cache-Control: no-cache
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Cookie: <removed for security reasons>
Connection: keep-alive

which sends the response (formatted for clarity):

HTTP/1.1 200 OK
Date: Wed, 14 Jul 2010 23:38:55 GMT
Server: hi
Status: 200 OK
X-Transaction: 1279150735-24110-17319
X-RateLimit-Limit: 150
ETag: "fcf22c639f08a8ca540302c7c569266e"-gzip
Last-Modified: Wed, 14 Jul 2010 23:38:55 GMT
X-RateLimit-Remaining: 143
X-Runtime: 0.00977
Content-Type: application/json; charset=utf-8
Pragma: no-cache
X-RateLimit-Class: api
X-Revision: DEV
Expires: Tue, 31 Mar 1981 05:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, pre-check=0, post-check=0
X-RateLimit-Reset: 1279153007
Set-Cookie: lang=en; path=/
Set-Cookie: <removed for security reasons>
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 630
Connection: close

twitterCallback2(
[
    {
        "contributors":null,
        "source":"web",
        "created_at":"Wed Jul 14 13:06:40 +0000 2010",
        "coordinates":null,
        "truncated":false,
        "in_reply_to_status_id":null,
        "user": {
            "profile_link_color":"ff0073",
            "description":".",
            "location":"Earth",
            "profile_background_image_url":
            "http://a3.twimg.com/profile_background_images/111501429/Picture_145.png",
            "profile_image_url":
            "http://a0.twimg.com/profile_images/813972928/gillian1_normal.jpg",
            "profile_sidebar_fill_color":"e07ecc",
            "profile_background_tile":false,
            "screen_name":"gillianmckeith",
            "lang":"en",
            "statuses_count":1344,
            "created_at":"Tue Jul 08 15:26:42 +0000 2008",
            "profile_sidebar_border_color":"000000",
            "profile_use_background_image":true,
            "followers_count":2570,
            "contributors_enabled":false,
            "friends_count":16,
            "following":false,
            "geo_enabled":false,
            "profile_background_color":"ffffff",
            "protected":false,
            "favourites_count":1,
            "name":"Gillian McKeith",
            "verified":false,
            "profile_text_color":"000000",
            "url":"http://www.gillianmckeith.com",
            "id":15354299,
            "follow_request_sent":false,
            "notifications":false,
            "time_zone":"London",
            "utc_offset":0
        },
        "place":null,
        "geo":null,
        "in_reply_to_screen_name":null,
        "favorited":false,
        "id":18517738649,
        "in_reply_to_user_id":null,
        "text":"The moral of the story:  Love your neighbour and your enemies too."
    }
]);

That is data from the Twitter API, containing the public information about the @gillianmckeith account together with the most recent tweet from that account, in a standard data format called JSON. You can get the same info from this link, just to show that there's nothing special going on here. In fact, here's the same info but for my Twitter account.

So, whatever the reason might be that some person has removed the visible evidence of that Twitter account being related to Ms McKeith, the fact is that, at the time of writing, her web site is causing data from that Twitter account to be loaded into every JavaScript-enabled web browser that visits her home page; it just doesn't cause them to display the information once they've received it.