<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wilted buttercup, grey skies, and geek</title>
	<atom:link href="http://mmt.me.uk/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://mmt.me.uk/blog</link>
	<description>Mischa’s ramblings on the interweb</description>
	<lastBuildDate>Fri, 20 Aug 2010 14:28:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Facebook and their Horrible &#8220;OPT-OUT&#8221; Policy</title>
		<link>http://mmt.me.uk/blog/2010/08/20/facebook-opt-out-policy/</link>
		<comments>http://mmt.me.uk/blog/2010/08/20/facebook-opt-out-policy/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 12:24:26 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[Privacy]]></category>
		<category><![CDATA[evil]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[geolocation]]></category>
		<category><![CDATA[optout]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=237</guid>
		<description><![CDATA[So Facebook announced their new Facebook Places functionality a couple of days ago, the service seems well implemented, and following the uptake of 4square, probably a timely service for fb &#8211; good luck to them. What I am most disappointed about (**rant) is the way that Facebook, seem to think that an &#8220;OPT-OUT&#8221; policy is [...]]]></description>
			<content:encoded><![CDATA[<p>So <a href="http://www.facebook.com/">Facebook</a> announced their new <a href="http://blog.facebook.com/blog.php?post=418175202130">Facebook Places</a> functionality a couple of days ago, the service seems well implemented, and following the uptake of <a href="http://foursquare.com/">4square</a>, probably a timely service for fb &#8211; good luck to them. </p>
<p>What I am most disappointed about (**rant) is the way that Facebook, seem to think that an <strong>&#8220;OPT-OUT&#8221;</strong> policy is the right way to go about landing new functionality on their users. By default, Facebook allows your friends to log your geolocation at given point in time. And this is simply NOT ACCEPTABLE. As far as I am aware (and please do let me know if I am wrong), none of the other popular geo-logging services allow for other people to log your location at a given point in time. I see this as a massive invasion of your privacy, and as have others, as discussed in the following CNET article: </p>
<p><a href="http://news.cnet.com/8301-13577_3-20014168-36.html">Shots already fired over Facebook Places privacy</a></p>
<p>An <strong>OPT-OUT</strong> policy to services which compromise your privacy and your personal information is simply NOT acceptable, and DRACONIAN. I mean, Facebook, DID NOT even attempt to inform me, that friends of mine can can geolog my location at any given point in time. I mean, what is stopping a friend of mine, who is hanging out in a brothel from geologging me, and defaming my character, by suggesting that I too was at the same place as him.</p>
<p>I noticed this yesterday, and then I got round to <a href="https://twitter.com/mischatuffield/status/21583540429">tweeting it</a>, and had a lot of people thanking me for informing them of this change of service. So, I thought I would expand what is going on in a bit more detail. If you would like a more verbose write up on how to disable this new &#8220;feature&#8221;, visit the <a href="http://www.garlik.com/">Garlik</a> blog article: </p>
<p><a href="http://www.garlik.com/blog/?p=328"><br />
Garlik Blog: Disabling Facebook Places</a>.</p>
<p>As far as I am aware there has been no recent changes to <a href="http://www.tosback.org/organization.php?cid=8">Facebook&#8217;s privacy policy or their terms of service</a> as illustrated on the awesome <a href="http://www.tosback.org/">Terms of Service Tracking site</a>.  From my point of view, Facebook should inform their users about new functionality, especially new functionality which by definition shares your geolocation information both with people within Facebook, and with the <a href="http://www.skyhookwireless.com/">Skyhook geolocation gazetteer</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2010/08/20/facebook-opt-out-policy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The joys of upgrading to PHP 5.3</title>
		<link>http://mmt.me.uk/blog/2010/08/20/php-5_3/</link>
		<comments>http://mmt.me.uk/blog/2010/08/20/php-5_3/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 11:31:57 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[hell]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[upgrading]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=144</guid>
		<description><![CDATA[I have been bitten by a number of things when I updated my PHP to PHP 5.3. These are the changes which I had to make to my php.ini file : short_open_tag = 1 This option allows for the use of the short hand "&#60;?" and "?&#62;" used as abbreviations for "&#60;?php" and "php?&#62;". And [...]]]></description>
			<content:encoded><![CDATA[<p>I have been bitten by a number of things when I updated my PHP to PHP 5.3. These are the changes which I had to make to my php.ini file : </p>
<p><code><br />
short_open_tag = 1<br />
</code></p>
<p>This option allows for the use of the short hand <code> "&lt;?" </code>  and <code> "?&gt;" </code> used as abbreviations for <code>"&lt;?php" </code>  and <code> "php?&gt;"</code>. And yes, shorts hand are good, I am super lazy, insofar as I am not good at setting &#8220;use strict;&#8221; when writing perl code. </p>
<p>Secondly, I was stung due to the fact that PHP 5.3 has clamped down on the returning of values when expecting a reference to be returned by a function, this phenomena and the necessary fix is illustrated in my <a href="http://mmt.me.uk/blog/2010/08/20/openid-wp-brokenness/">previous blog post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2010/08/20/php-5_3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenID, WordPress 3.0.1 and Brokenness</title>
		<link>http://mmt.me.uk/blog/2010/08/20/openid-wp-brokenness/</link>
		<comments>http://mmt.me.uk/blog/2010/08/20/openid-wp-brokenness/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 11:17:06 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[openid]]></category>
		<category><![CDATA[suck]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=225</guid>
		<description><![CDATA[So, I am officially super annoyed with both OpenID and with WordPress right now. There is a bug in the OpenID plugin developed by the Diso project (thanks guys), I have been using this plugin for a while now, but it seems very broken at the moment. I have managed to get my OpenID server [...]]]></description>
			<content:encoded><![CDATA[<p>So, I am officially super annoyed with both <a href="http://openid.net/">OpenID</a> and with <a href="http://wordpress.org/">WordPress</a> right now. There is a bug in the OpenID plugin developed by the <a href="http://code.google.com/p/diso/">Diso project</a> (thanks guys), I have been using this plugin for a while now, but it seems very broken at the moment. </p>
<p>I have managed to get my OpenID server working, my OpenID URI being <a href="http://mmt.me.uk/blog/">http://mmt.me.uk/blog/</a>, but I have yet (after hours of trying), managed to get OpenID commenting fixed on my blog. </p>
<p>So my apologies if you try and comment on my blog using your OpenID, as it doesn&#8217;t work.</p>
<p>The most annoying thing about this whole issue is the fact that I get perhaps the least helpful error message ever. The following error message pops up when I attempt to use my colleagues OpenID to post a comment to one of my articles, this following error message gets sent to my STERR :</p>
<p><code>[Fri Aug 20 12:01:14 2010] [error] [client XXX.XXX.XXX.XXX] Successfully fetched 'http://steve.harris.name/': GET response code 200, referer: http://mmt.me.uk/blog/2010/07/30/the-facebook-like-button/</code></p>
<p>&#8220;200, and Successfully fetched!&#8221; my ass!</p>
<p>In order to get the OpenID server working I had to apply a <a href="http://code.google.com/p/diso/issues/detail?id=161">patch</a>, which has been raised as a ticket on the diso project issue tracker. In short, there are two required changes, due to PHP 5.3 funkiness, required to make the OpenID server work.</p>
<p>These couple of changes to the OpenID libraries which came with my version of WordPress is due to the fact that PHP 5.3 has clamped down on the returning of values when expecting a reference to be returned by a function, this phenomena was illustrated in the following errors : </p>
<p><code><br />
[Sun Apr 18 23:40:05 2010] [error] [client 140.203.155.13] PHP Warning:  Parameter 1 to Auth_OpenID_Server::openid_associate() expected to be a reference, value given in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1702<br />
[Sun Apr 18 23:40:05 2010] [error] [client 140.203.155.13] PHP Fatal error:  Call to a member function needsSigning() on a non-object in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1495<br />
[Sun Apr 18 23:40:06 2010] [error] [client 78.86.167.133] PHP Warning:  Parameter 1 to Auth_OpenID_CheckIDRequest::fromMessage() expected to be a reference, value given in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1576, referer: http://apassant.net/blog/2010/04/18/sparql-pubsubhubbub-sparqlpush?destination=node%2F374<br />
[Sun Apr 18 23:49:36 2010] [error] [client 193.203.240.209] PHP Warning:  Parameter 1 to Auth_OpenID_Server::openid_associate() expected to be a reference, value given in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1702<br />
[Sun Apr 18 23:49:36 2010] [error] [client 193.203.240.209] PHP Fatal error:  Call to a member function needsSigning() on a non-object in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1495<br />
[Sun Apr 18 23:49:52 2010] [error] [client 193.203.240.209] PHP Warning:  Parameter 1 to Auth_OpenID_Server::openid_associate() expected to be a reference, value given in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1702<br />
[Sun Apr 18 23:49:52 2010] [error] [client 193.203.240.209] PHP Fatal error:  Call to a member function needsSigning() on a non-object in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1495<br />
[Sun Apr 18 23:50:27 2010] [error] [client 216.97.225.85] PHP Warning:  Parameter 1 to Auth_OpenID_Server::openid_associate() expected to be a reference, value given in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1702<br />
[Sun Apr 18 23:50:27 2010] [error] [client 216.97.225.85] PHP Fatal error:  Call to a member function needsSigning() on a non-object in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1495<br />
[Sun Apr 18 23:50:28 2010] [error] [client 78.86.167.133] PHP Warning:  Parameter 1 to Auth_OpenID_CheckIDRequest::fromMessage() expected to be a reference, value given in /media/data/www/mmtmeuk/public_html/blog/wp-content/plugins/openid/Auth/OpenID/Server.php on line 1576, referer: http://www.pillwatch.com/proc_openid-login.php<br />
</code></p>
<p>There is a page which describes the patch one needs to run to overcome this: </p>
<p><a href="http://patchlog.com/wp-content/uploads/2009/11/openid-server-php.5.3.diff">http://patchlog.com/wp-content/uploads/2009/11/openid-server-php.5.3.diff</a></p>
<p>I need to get on with other stuff now, will revisit this in the future &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2010/08/20/openid-wp-brokenness/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Signing Mail on Snow Leopard</title>
		<link>http://mmt.me.uk/blog/2010/08/19/signing-mail-in-10-6/</link>
		<comments>http://mmt.me.uk/blog/2010/08/19/signing-mail-in-10-6/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 15:58:35 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[OSX]]></category>
		<category><![CDATA[gpg]]></category>
		<category><![CDATA[gpgmail]]></category>
		<category><![CDATA[mail.app]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=218</guid>
		<description><![CDATA[Yay finally, come across an update to the GPGMail plugin for Mail.app 4.3 on Snow Leopard. This is the one bit of functionality which I have missed since upgrading from Leopard to Snow Leopard, and have been searching for updates periodically for a while now. This is fanstatic news, as I can now digitally sign [...]]]></description>
			<content:encoded><![CDATA[<p>Yay finally,  come across an update to the <a href="http://www.gpgmail.org/"> GPGMail </a> plugin for Mail.app 4.3 on Snow Leopard. This is the one bit of functionality which I have missed since upgrading from Leopard to Snow Leopard, and have been searching for updates periodically for a while now. </p>
<p>This is fanstatic news, as I can now digitally sign my emails, with my GPG identity, which can be found linked to from my <a href="http://mmt.me.uk/foaf.rdf">FOAF file</a>.</p>
<p><a href="http://mmt.me.uk/blog/wp-content/uploads/2010/08/Screen-shot-2010-08-19-at-16.49.55.png"><img src="http://mmt.me.uk/blog/wp-content/uploads/2010/08/Screen-shot-2010-08-19-at-16.49.55.png" alt="" title="Signing Mail in Mail.app 4.3" width="400"  class="aligncenter size-full wp-image-220" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2010/08/19/signing-mail-in-10-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Facebook Like Button, and how it is following you around the web</title>
		<link>http://mmt.me.uk/blog/2010/07/30/the-facebook-like-button/</link>
		<comments>http://mmt.me.uk/blog/2010/07/30/the-facebook-like-button/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 00:13:32 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[Privacy]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[iframe]]></category>
		<category><![CDATA[like]]></category>
		<category><![CDATA[likebutton]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=148</guid>
		<description><![CDATA[There has been a lot of hype and talk around the Facebook Like button, and I do understand that the issues I raise in this blog post have been addressed before, I will cite some relevant literature at the bottom of this post. In short, I fear that Facebook via the Facebook Like button which [...]]]></description>
			<content:encoded><![CDATA[<p>There has been a lot of hype and talk around the Facebook Like button, and I do understand that the issues I raise in this blog post have been addressed before, I will cite some relevant literature at the bottom of this post. </p>
<p>In short, I fear that <a href="http://www.facebook.com/">Facebook</a> via the <a href="http://developers.facebook.com/docs/reference/plugins/like">Facebook Like button</a> which you can find on many high volume, mainstream sites, such as <a href="http://www.imdb.com/">imdb</a>, <a href="http://www.rottentomatoes.com/">rottentomatoes</a>, <a href="http://www.cnn.com/">cnn</a>, etc, is tracking you even if you are not logged into Facebook from your browser.</p>
<p>So, I have no solid evidence to say that they are DEFINITELY doing so, but I will explain why it is technically possible for them to do so. And well, the <strong>cynic in me thinks that if it is technically possible for facebook to log that my facebook id is on a given page, it will, regardless of whether or not I am logged in or not</strong>.</p>
<p>From this point onwards, I will be referring to all of various versions of the <strong>Like</strong> button, i.e. Like, Recommend, Fan, etc as the Facebook Like button. </p>
<p>So, the Facebook Like button can be implemented in one of two ways, using facebook&#8217;s <a href="http://wiki.developers.facebook.com/index.php/XFBML">XFBML</a> or via the inclusion of a Facebook <a href="http://en.wikipedia.org/wiki/HTML_element#Frames">iFrame</a>. FWIW, all of the instances of the Like button I have come across have been implemented using the iFrame approach, but I will look into the XFBML method of doing things soon and will blog about it then (he says &#8230;) </p>
<p>So, if you are a facebook user, and you have visited facebook<br />
since the last time you cleared you cookies, you will have a facebook cookie in your browser. It is this cookie which allows facebook to inform you of how many of your friends have liked the page your browser is currently pointing to. An example of functionality can be seen in the below screenshot.</p>
<p> <a href="http://mmt.me.uk/blog/wp-content/uploads/2010/07/max.png"><img src="http://mmt.me.uk/blog/wp-content/uploads/2010/07/max.png" alt="fblike" title="Max and Facebook Like" width="412" height="75" class="alignnone size-full wp-image-190" /></a></p>
<p>I am aware that if you are signed out of facebook you wont see your list of friends which are have already clicked the like button, you will end up seeing something like:</p>
<p> <a href="http://mmt.me.uk/blog/wp-content/uploads/2010/07/max2.png"><img src="http://mmt.me.uk/blog/wp-content/uploads/2010/07/max2.png" alt="not logged in" title="Facebook Like Button sans logged in" width="342" height="65" class="alignnone size-full wp-image-194" /></a></p>
<p>So, given that the Like button is an iFrame, i.e. it is actually hosted on www.facebook.com, it means that facebook can read your facebook.com <a href="http://en.wikipedia.org/wiki/HTTP_cookie">cookies</a>, and they can tell whether you are logged in (to show you which are of your friends have &#8220;liked&#8221; the page before you). And well, technically this implies that they know <em>who you are</em> which enables them to tell whether you are logged in or not. </p>
<p><a href="http://danbri.org/foaf.rdf#danbri">Dan Brickley</a> created a neat drawing of the what a iFrame is actually doing (thanks Dan, and see below). The illustration highlights the fact that a page which seems to be coming from a given web address, if it includes an iFrame, is actually coming from multiple web servers. </p>
<p>This is danbri&#8217;s illustration of what an webpage which includes iFrame&#8217;s is actually doing</p>
<p><a href="http://www.flickr.com/photos/danbri/4722327870"><img src="http://farm2.static.flickr.com/1155/4722327870_793fc37846_d.jpg" alt="Dan Brickley's drawing of an iFrame" /></a><br />
<a href="http://creativecommons.org/licenses/by-nc-sa/2.0/"><img src="http://creativecommons.org/images/public/somerights20.gif" alt="Some Right Reserved" /></a></p>
<p>This makes me class the Facebook Like button in the same category as ad tracking sites, insofar as the fact that if you turn up to a page with a Like iFrame, and you have a facebook cookie, you are <strong>in theory</strong> being tracked, regardless of whether or not you choose to click the Like button or not. </p>
<p>So, why do I class this in with ad trackers, I do this because of the fact that you are being tracked passively, i.e. regardless of whether or not you choose to like something, facebook is <strong>theoretically</strong> logging the fact that you have been to that website.  </p>
<p><strong>So, now to give an example : </strong></p>
<p>Let&#8217;s say that you turn up to<a href="http://www.cnn.com/"> cnn.com</a> can you visit the below article: </p>
<p><a href="http://www.cnn.com/2010/US/07/29/wisconsin.roush.crash/">http://www.cnn.com/2010/US/07/29/wisconsin.roush.crash/</a></p>
<p>The page them subsequently loads up the following iFrame and serves it to you, it renders the Like button on the page, the iframe revolves to a url on facebook.com</p>
<p><a href="http://www.facebook.com/plugins/like.php?action=recommend&#038;api_key=64b385429f05b2492d713f343d05ba02&#038;channel_url=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23%3F%3D%26cb%3Df352b329c1716ae%26origin%3Dhttp%253A%252F%252Fwww.cnn.com%252Ffd00b01dbaa2ca%26relation%3Dparent.parent%26transport%3Dpostmessage&#038;href=http%3A%2F%2Fwww.cnn.com%2F2010%2FUS%2F07%2F29%2Fwisconsin.roush.crash%2Findex.html&#038;layout=standard&#038;locale=en_US&#038;node_type=link&#038;sdk=joey&#038;show_faces=true&#038;width=420">http://www.facebook.com/plugins/like.php?action=recommend&#038;&#8230;</a></p>
<p>By going to the first URL, you are also hitting the second one. Your user-agent, which based on <a href="http://panopticlick.eff.org/">http://panopticlick.eff.org/</a>, is kinda uniquely identifiable, and is therefore in facebook&#8217;s logs. Given that the iFrame (second URL above) is hosted on facebook&#8217;s site, they <strong>CAN</strong> read your facebook cookies, am <strong>NOT</strong> saying that they do as I can&#8217;t prove that in anyway, but my guestimate is that if they are not, they <strong>will be in the future</strong>. </p>
<p>So, I can see three scenarios, which are relevant to this </p>
<ul>
<li>A user is logged into facebook in their browser, and then visits a site in a different tab, not even knowing that the site has a facebook &#8220;like&#8221; button, because you will only become aware of the &#8220;like&#8221; button upon arriving at the page and having it in loaded in your browser, which is too late from my POV. This happened to me last night, and happened to me recently when I went to imdb (sighes).</li>
<li>A user is not logged into facebook, but has facebook cookies in their browser, they go to cnn.com, facebook knows (with a high probability) that a given facebook ID has visited a given site, by virtue of cookies and stuff</li>
<li>User has no facebook cookies, and then facebook will only get the user&#8217;s user-agent in their access logs, which I bet they store (even though once again I have no proof of this.</li>
</ul>
<p><strong>Ok, so solutions: </strong></p>
<p><em>Solution 1 :</em></p>
<p>You can delete all of you facebook related cookies from your main browser (<a href="http://www.mozilla.com/en-US/firefox/personal.html">firefox</a> being browser of choice), and then you can download another browser which you use for facebook&#8217;ing, so that you are no longer given facebook the option to track the pages you read on the web. </p>
<p><em>Solution 2 :</em></p>
<p>Which is the solution I am going for at the moment is that you can install <a href="http://adblockplus.org/">Adblocker Plus</a> and you can block all of the Facebook Like endpoints, using custom filters. </p>
<p>This is an export of my Facebook Like button filters, it is probably far from complete, and I will put it up a service which you can subscribe to in Adblocks Plus, and will update the list of URLs as and when I come by them (will blog post when I am done with this.) </p>
<p><code><br />
[Adblock]<br />
! Checksum: 1+81iD/9dKSZiqqW6WtQxA</p>
<p>http://www.connect.facebook.com/widgets/likebox.php?*</p>
<p>http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php?*</p>
<p>http://www.connect.facebook.com/widgets/like.php?*</p>
<p>http://www.connect.facebook.com/widgets/fan.php?*</p>
<p>http://www.facebook.com/plugins/fan.php?*</p>
<p>http://www.facebook.com/widgets/likebox.php?*</p>
<p>http://www.facebook.com/plugins/likebox.php?*</p>
<p>http://www.facebook.com/plugins/like.php?*</p>
<p>http://www.facebook.com/widgets/fan.php?*</p>
<p>http://www.facebook.com/widgets/like.php?*</p>
<p></code></p>
<p>The following screenshot, shows what my current step looks like in Adblocker plus: </p>
<p><a href="http://mmt.me.uk/blog/wp-content/uploads/2010/07/adblock.png"><img src="http://mmt.me.uk/blog/wp-content/uploads/2010/07/adblock.png" alt="Adblock" title="Adblock Facebook Like buttons"  /></a></p>
<p>My colleague Vaidas Jablonskis (who is awesome),  pointed me to <a href="http://adblockplus.org/">Adbocker Plus</a> which is also totally awesome <img src='http://mmt.me.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Finally, it is worth mentioning that I am not sure whether or not all of these sites which have facebook like buttons are explicit about the fact that their users <strong>CAN</strong> be tracked passively by facebook. Or whether reputable brands like CNN have any form of agreement with Facebook regarding whether or not their users are being track. Are any of these big companies, breaking their terms and conditions ?</p>
<p>I will post an update on step by step instructions regarding how to subscribe to my Adblock filter list of facebook like buttons endpoints soon. </p>
<p>So, I suggest people download and install Adblock and block facebook like buttons, and subsequently install the <a href=" https://addons.mozilla.org/en-US/firefox/addon/162124/">Facebook Like plugin </a>, so that they are no longer being passively tracked by Facebook, and so that they are in control of when they tell Facebook that they like a given web page. </p>
<p>Finally, links to existing literature in this space: </p>
<p><a href="http://techcrunch.com/2010/04/23/like-buttons-evil-facebook-not-open/">http://techcrunch.com/2010/04/23/like-buttons-evil-facebook-not-open/</a></p>
<p><a href="http://philosophicalzombie.net/post/540799211/has-facebook-just-become-the-evil-empire-whats-wrong">http://philosophicalzombie.net/post/540799211/has-facebook-just-become-the-evil-empire-whats-wrong</a></p>
<p>Comment, corrections, or a simple &#8220;you are wrong because &#8230;&#8221; are very welcome <img src='http://mmt.me.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Happy Interneting People </p>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2010/07/30/the-facebook-like-button/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Compiling 4store on a Fedora 12 box</title>
		<link>http://mmt.me.uk/blog/2009/12/14/compiling-4store-on-a-fedora-12-box/</link>
		<comments>http://mmt.me.uk/blog/2009/12/14/compiling-4store-on-a-fedora-12-box/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 13:40:16 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[4store]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[ld.so.conf]]></category>
		<category><![CDATA[ldd]]></category>
		<category><![CDATA[librasqal]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=138</guid>
		<description><![CDATA[I was attempting to install 4store on my fedora 12 box, and I found that I couldn&#8217;t run the tests which are shipped with 4store. I got the following output when attempting to run &#8220;make test&#8221; : [root@blanket 4store]# make test (cd tests &#038;&#038; make -w test) make[1]: Entering directory `/usr/local/src/4store/tests' (cd query &#038;&#038; pwd [...]]]></description>
			<content:encoded><![CDATA[<p>I was attempting to install <a href="http://4store.org/">4store</a> on my fedora 12 box, and I found that I couldn&#8217;t run the tests which are shipped with 4store. I got the following output when attempting to run &#8220;make test&#8221; :</p>
<p><code><br />
[root@blanket 4store]# make test<br />
(cd tests &#038;&#038; make -w test)<br />
make[1]: Entering directory `/usr/local/src/4store/tests'<br />
(cd query &#038;&#038; pwd &#038;&#038; ./setup.sh --autorun)<br />
/usr/local/src/4store/tests/query<br />
4store[9702]: backend-setup.c:176 erased files for KB query_test_mmt04r<br />
4store[9702]: backend-setup.c:301 created RDF metadata for KB query_test_mmt04r<br />
../../src/frontend/4s-import: error while loading shared libraries: librasqal.so.1: cannot open shared object file: No such file or directory<br />
Preparing for tests...<br />
../../src/frontend/4s-delete-model: error while loading shared libraries: librasqal.so.1: cannot open shared object file: No such file or directory<br />
[FAIL] add-and-delete<br />
[FAIL] distinct-predicate<br />
[FAIL] foaf-all-limit<br />
[FAIL] foaf-bnode-vs-variable<br />
[FAIL] foaf-construct<br />
[FAIL] foaf-disjunctive-filter<br />
[FAIL] foaf-distinct<br />
[FAIL] foaf-graph-all<br />
[FAIL] foaf-graph-pred<br />
[FAIL] foaf-knows-name<br />
[FAIL] foaf-knows-name-sha1<br />
[FAIL] foaf-knows-sha1<br />
[FAIL] foaf-knows-sha1-xml<br />
[FAIL] foaf-multi-disjunctive-filter<br />
[FAIL] foaf-nested-optional<br />
[FAIL] foaf-nothing<br />
[FAIL] foaf-optional-order<br />
[FAIL] foaf-optional-pair<br />
[FAIL] foaf-optional-regex<br />
[FAIL] foaf-repeat-var<br />
[FAIL] graphs<br />
[PASS] integrity<br />
[FAIL] null-optional<br />
[FAIL] null-optional-double<br />
[FAIL] optimiser-disjunction<br />
[FAIL] select-bnodes<br />
[FAIL] select-order<br />
[FAIL] select-unused<br />
[FAIL] size<br />
[FAIL] tiger-broadway<br />
[FAIL] tiger-explosion<br />
[FAIL] tiger-fail-optional<br />
[FAIL] tiger-harold-ave<br />
[FAIL] tiger-landmarks<br />
[FAIL] tiger-mixed-optional<br />
[FAIL] tiger-reverse<br />
[FAIL] tiger-sugar-hill<br />
[FAIL] tiger-sugar-hill-filter<br />
[FAIL] tiger-typical<br />
[FAIL] tiger-water-names<br />
Tests completed: passed 1/40 (39 fails)<br />
make[1]: Leaving directory `/usr/local/src/4store/tests'<br />
</code></p>
<p>This struck me as odd given that when I ran the &#8220;configure&#8221; script I got the following output :<br />
<code><br />
[root@blanket 4store]# ./configure<br />
[OK  ] pkg-config installed<br />
[OK  ] raptor installed<br />
[OK  ] rasqal installed<br />
[OK  ] glib2 installed<br />
[OK  ] libxml2 installed<br />
[OK  ] pcre installed<br />
[OK  ] ncurses installed<br />
[OK  ] readline installed<br />
[OK  ] z installed<br />
[OK  ] avahi installed<br />
</code></p>
<p>So these are the setup step which I had to perform in order to get 4store working and running the tests: </p>
<p><strong>1. After compiling the code, used ldd to see which libs were missing</strong><br />
<code><br />
ldd src/frontend/4s-query<br />
[root@blanket 4store]# ldd !$2<br />
ldd src/frontend/4s-query<br />
	linux-gate.so.1 =>  (0x00d9a000)<br />
	librasqal.so.1 => not found<br />
	libraptor.so.1 => /usr/lib/libraptor.so.1 (0x00678000)<br />
	libxml2.so.2 => /usr/lib/libxml2.so.2 (0x04f2f000)<br />
	libavahi-common.so.3 => /usr/lib/libavahi-common.so.3 (0x051d0000)<br />
	libavahi-client.so.3 => /usr/lib/libavahi-client.so.3 (0x051bd000)<br />
	libavahi-glib.so.1 => /usr/lib/libavahi-glib.so.1 (0x004b8000)<br />
	libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00da9000)<br />
	libpcre.so.0 => /lib/libpcre.so.0 (0x00110000)<br />
        ....<br />
</code><br />
<strong><br />
2. Fix my ld.so configuration. The issue was that I had to add the following line, which points to my librasqal.so.1, to the following empty file<br />
/etc/ld.so.conf.d/local.conf :</strong><br />
<code><br />
/usr/local/lib<br />
</code></p>
<p>A big yay to working 4store :<br />
<code><br />
[root@blanket 4store]# make test<br />
(cd tests &#038;&#038; make -w test)<br />
make[1]: Entering directory `/usr/local/src/4store/tests'<br />
(cd query &#038;&#038; pwd &#038;&#038; ./setup.sh --autorun)<br />
/usr/local/src/4store/tests/query<br />
4store[10887]: backend-setup.c:176 erased files for KB query_test_mmt04r<br />
4store[10887]: backend-setup.c:301 created RDF metadata for KB query_test_mmt04r<br />
removing old data<br />
Reading <file:///usr/local/src/4store/tests/query/../../data/swh.xrdf><br />
   into <http://example.com/swh.xrdf><br />
Pass 1, processed 63 triples (63)<br />
Reading <file:///usr/local/src/4store/tests/query/../../data/tiger/TGR06001.nt><br />
   into <http://example.com/TGR06001.nt><br />
Pass 1, processed 764610 triples (764547)<br />
Reading <file:///usr/local/src/4store/tests/query/../../data/nasty.ttl><br />
   into <http://example.com/nasty.ttl><br />
Pass 1, processed 764658 triples (48)<br />
Pass 2, processed 764658 triples, 26769 triples/s<br />
Updating index<br />
Index update took 17.133335 seconds<br />
Imported 764658 triples, average 19375 triples/s<br />
Preparing for tests...<br />
[PASS] add-and-delete<br />
[PASS] count<br />
[PASS] distinct-predicate<br />
[PASS] foaf-all-limit<br />
[PASS] foaf-bnode-vs-variable<br />
[PASS] foaf-construct<br />
[PASS] foaf-disjunctive-filter<br />
[PASS] foaf-distinct<br />
[PASS] foaf-graph-all<br />
[PASS] foaf-graph-pred<br />
[PASS] foaf-knows-name<br />
[PASS] foaf-knows-name-sha1<br />
[PASS] foaf-knows-sha1<br />
[PASS] foaf-knows-sha1-xml<br />
[PASS] foaf-multi-disjunctive-filter<br />
[PASS] foaf-nested-optional<br />
[PASS] foaf-nothing<br />
[PASS] foaf-optional-order<br />
[PASS] foaf-optional-pair<br />
[PASS] foaf-optional-regex<br />
[PASS] foaf-repeat-var<br />
[PASS] graphs<br />
[PASS] integrity<br />
[PASS] null-optional<br />
[PASS] null-optional-double<br />
[PASS] optimiser-disjunction<br />
[PASS] select-bnodes<br />
[PASS] select-order<br />
[PASS] select-unused<br />
[PASS] size<br />
[PASS] tiger-broadway<br />
[PASS] tiger-explosion<br />
[PASS] tiger-fail-optional<br />
[PASS] tiger-harold-ave<br />
[PASS] tiger-landmarks<br />
[PASS] tiger-mixed-optional<br />
[PASS] tiger-reverse<br />
[PASS] tiger-sugar-hill<br />
[PASS] tiger-sugar-hill-filter<br />
[PASS] tiger-typical<br />
[PASS] tiger-water-names<br />
[PASS] union-nobind<br />
Tests completed: passed 42/42 (0 fails)<br />
make[1]: Leaving directory `/usr/local/src/4store/tests'<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2009/12/14/compiling-4store-on-a-fedora-12-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4store and Dan Hanley&#8217;s client libgs</title>
		<link>http://mmt.me.uk/blog/2009/12/13/4store-java/</link>
		<comments>http://mmt.me.uk/blog/2009/12/13/4store-java/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 20:19:22 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[4store]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[SPARQL]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=130</guid>
		<description><![CDATA[Find below step by step instructions on how to talk to a 4store KB via the SPARQL-Procotol in Java, using Dan Hanley&#8217;s 4store client libs. First of all you need to have the following installed : 4store A java compiler (i have Sun&#8217;s Java SDK 1.6.x installed on my laptop) Maven (to compile Dan Hanley&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Find below step by step instructions on how to talk to a <a href="http://4store.org/">4store</a> KB via the <a href="http://www.w3.org/TR/rdf-sparql-protocol/">SPARQL-Procotol</a> in Java, using <a href="http://github.com/danhanley/4store-java-client">Dan Hanley&#8217;s 4store client libs</a>.</p>
<p>First of all you need to have the following installed :<br />
4store<br />
A java compiler (i have<a href="http://java.sun.com/javase/downloads/widget/jdk6.jsp"> Sun&#8217;s Java SDK 1.6.x</a> installed on my laptop)<br />
<a href="http://maven.apache.org/">Maven</a> (to compile Dan Hanley&#8217;s 4store client libs). </p>
<p>I have all of the code needed for this example placed on my site here : <a href="http://mmt.me.uk/examples/4store-java-query-example/">http://mmt.me.uk/examples/4store-java-query-example/</a>  feel free to grab and use it as you wish.</p>
<p>First of all, I should say that I have had to patch the 4store-client-library, as it seems to chomp all of the carriage returns at the end of the lines (&#8220;\n&#8221;).  This is fine you are using the <a href="http://www.w3.org/TR/rdf-sparql-XMLres/">SPARQL-XML-RESULT format</a>, by I am a tad lazy and much prefer working with the <a href="http://en.wikipedia.org/wiki/Delimiter-separated_values">tsv</a> format: tsv requires line breaks.</p>
<p>The git diff of my patch looks like so (and again yes it is a tad dirty) :<br />
<code><br />
diff --git a/src/main/java/uk/co/magus/fourstore/client/Store.java b/src/main/java/uk/co/magus/fourstore/clie<br />
index 6652874..097be43 100644<br />
--- a/src/main/java/uk/co/magus/fourstore/client/Store.java<br />
+++ b/src/main/java/uk/co/magus/fourstore/client/Store.java<br />
@@ -349,7 +349,7 @@ public class Store {<br />
                String response = "";<br />
                String str;<br />
                while (null != ((str = in.readLine()))) {<br />
-                       response += str;<br />
+                       response += str+"\n";<br />
                }<br />
                in.close();<br />
                return response;<br />
~<br />
~<br />
</code></p>
<p>This above <a href="http://mmt.me.uk/examples/4store-java-query-example/patch.txt">patch</a> allows me to make use of the TSV output as needed. The patch can be grabbed from here : <a href="http://mmt.me.uk/examples/4store-java-query-example/patch.txt">http://mmt.me.uk/examples/4store-java-query-example/patch.txt</a>.</p>
<p>Ok, now that I have built the <a href="http://mmt.me.uk/examples/4store-java-query-example/4store-client-1.0.jar">4store-client.jar</a> file with my patch using the instructions in the <a href="http://github.com/danhanley/4store-java-client">git repo</a>. I create an example RDF file, and some example java code which will query the 4store KB. All the files can be found on my site <a href="http://mmt.me.uk/examples/4store-java-query-example/">http://mmt.me.uk/examples/4store-java-query-example/</a>.</p>
<p>These are the steps which I have taken to get this little demo up and running :<br />
<strong>1. Create 4store KB called <em>lame</em> </strong><br />
<code><br />
4s-backend-setup --node 0 --cluster 1 --segments 2 lame<br />
</code></p>
<p><strong>2. Start <em>lame</em>&#8216;s backend (i.e. start the KB)</strong><br />
<code><br />
4s-backend lame<br />
</code></p>
<p><strong>3. Import the <a href="http://mmt.me.uk/examples/4store-java-query-example/example.rdf">example.rdf</a> file into <em>lame</em>&#8216;s backend (i.e. start the KB)</strong><br />
<code><br />
4s-import lame example.rdf<br />
</code></p>
<p><strong>4. Start HTTPD for the KB named <em>lame</em></strong><br />
<code><br />
4s-httpd -s -1 lame<br />
</code></p>
<p><strong>And then I need to compile the <a href="http://mmt.me.uk/examples/4store-java-query-example/exampleQuery.java">exampleQuery</a> code I knocked together</strong><br />
<code><br />
javac -cp 4store-client-1.0.jar exampleQuery.java<br />
</code></p>
<p><strong>Finally, I run the code like so : </strong><br />
<code><br />
java -cp 4store-client-1.0.jar:. exampleQuery<br />
</code></p>
<p><strong>Resulting in the following output: </strong><br />
<code><br />
Am about to query a sparql endpoint<br />
A user name is:"Bob"<br />
A user name is:"Alice"<br />
</code></p>
<p>I hope this helps!</p>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2009/12/13/4store-java/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Private Browsing with Safari</title>
		<link>http://mmt.me.uk/blog/2009/11/15/private-browsing-with-safari/</link>
		<comments>http://mmt.me.uk/blog/2009/11/15/private-browsing-with-safari/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 20:38:33 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[OSX]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=122</guid>
		<description><![CDATA[I use Firefox as my primary browser, both at home and at work. So I have setup my Safari browser, as my private browser &#8211; that is sans cache, history, cookies or anything of a similar nature. I noticed that the &#8220;Private Browsing&#8221; option in Safari, doesn&#8217;t do that good a job of not leaving [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://www.mozilla.com/firefox/">Firefox</a> as my primary browser, both at home and at work. So I have setup my Safari browser, as my private browser &#8211; that is sans cache, history, cookies or anything of a similar nature. I noticed that the &#8220;Private Browsing&#8221; option in Safari, doesn&#8217;t do that good a job of not leaving files hanging around in one&#8217;s operating system, furthermore unless your careful, <a href="http://en.wikipedia.org/wiki/Spotlight_%28software%29">Spotlight</a> will eventually end up indexing your browser history, cache, which may be less than ideal. </p>
<p>In order to have a zero cache safari instance on my laptop I have taken the following steps :</p>
<ul>
<li>1: Removed spotlight&#8217;s prying eyes, by excluding the following directories :
<ul>
<li>/Users/&lt;USERDIR&gt;/Library/Caches</li>
<li>/Users/&lt;USERDIR&gt;/Library/Safari</li>
<li>/Library/Caches</li>
</ul>
</li>
<li>2: Setup two cronjobs to constantly delete Safari cache-dir</li>
<p><code>*/10 * * * * find /Users/&lt;USERDIR&gt;/Library/Safari -type f -exec rm {} \; 2&gt;&#038;1 &gt; /dev/null<br />
*/10 * * * * find /Users/&lt;USERDIR&gt;/Library/Caches/Metadata/Safari/ -type f -exec rm {} \; 2&gt;&#038;1 &gt; /dev/null</code>
</ul>
</ul>
<p>And finally, I have created a wrapper .app file which open&#8217;s Safari, and then enables &#8220;Private Browsing&#8221; mode, as I could not find a way to do this through editing the Safari.plist file. I followed the <a href="http://www.macworld.com/article/139714/2009/03/enableprivatebrowsing.html">instructions posted on the MacWorld site</a>, and they go a little something list so: </p>
<ul>
<li>1.  One needs to enable the Enable Access for Assistive Devices option, which can be found in the Universal Access system preference.</li>
<li>2. Open the AppleScript editor, and type in the following commands :
<p><code><br />
tell application "Safari"<br />
&nbsp;&nbsp;	activate<br />
end tell<br />
tell application "System Events"<br />
&nbsp;&nbsp;	tell process "Safari"<br />
&nbsp;&nbsp;&nbsp;	     tell menu bar 1<br />
&nbsp;&nbsp;&nbsp;&nbsp;	         tell menu bar item "Safari"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	             tell menu "Safari"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;	               click menu item "Private Browsing"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end tell<br />
&nbsp;&nbsp;&nbsp;&nbsp; end tell<br />
&nbsp;&nbsp;&nbsp; end tell<br />
&nbsp;&nbsp;end tell<br />
end tell<br />
</code></li>
<li>3. Save this shiny new AppleScript as an application (.app file), and I called mine &#8220;PrivateSafari.app&#8221;. </li>
<li>4. I then grabbed the icon file from Safari, and added to the PrivateSafari, and then replace the old shortcut in my Dock, with one to &#8220;PrivateSafari.app&#8221;.</li>
</ul>
<p>It should be noted that I am well aware that the private browsing features in most of the modern web browsers have come under a certain amount of scrutiny recently, below are some links to articles for the interested reader : </p>
<ul>
<li><a href="http://www.bbc.co.uk/news/technology-10891355">Private browsing modes leak data &#8211; BBC News</a></li>
<li><a href="http://arstechnica.com/security/news/2010/08/private-browsing-not-so-private.ars">Private browsing: it&#8217;s not so private &#8211; Ars Technica</a></li>
<li><a href="http://www.itpro.co.uk/625837/private-browsing-not-so-private">Private browsing ‘not so private’  &#8211; IT Pro </a></li>
<li><a href="http://www.theregister.co.uk/2010/08/06/private_browsing_mode_failure/">Private browsing modes in four biggest browsers often fail &#8211; The Reg</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2009/11/15/private-browsing-with-safari/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FOAF Inverse Functional Properties</title>
		<link>http://mmt.me.uk/blog/2009/09/07/foaf-ifps/</link>
		<comments>http://mmt.me.uk/blog/2009/09/07/foaf-ifps/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 18:37:27 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=115</guid>
		<description><![CDATA[These are the Inverse Functional Properties of the FOAF ontology, as per 07/09/2009 : 4store&#62;select * where { graph &#60;http://xmlns.com/foaf/0.1/&#62; {?a &#60;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&#62; &#60;http://www.w3.org/2002/07/owl#InverseFunctionalProperty&#62;}}#EOQ ?a &#60;http://xmlns.com/foaf/0.1/homepage&#62; &#60;http://xmlns.com/foaf/0.1/mbox_sha1sum&#62; &#60;http://xmlns.com/foaf/0.1/jabberID&#62; &#60;http://xmlns.com/foaf/0.1/isPrimaryTopicOf&#62; &#60;http://xmlns.com/foaf/0.1/icqChatID&#62; &#60;http://xmlns.com/foaf/0.1/weblog&#62; &#60;http://xmlns.com/foaf/0.1/mbox&#62; &#60;http://xmlns.com/foaf/0.1/aimChatID&#62; &#60;http://xmlns.com/foaf/0.1/msnChatID&#62; &#60;http://xmlns.com/foaf/0.1/yahooChatID&#62; I was wondering what happen to foaf:openId ? Does anyone know ?]]></description>
			<content:encoded><![CDATA[<p>These are the <a href="http://esw.w3.org/topic/InverseFunctionalProperty"> Inverse Functional Properties</a> of the <a href="http://xmlns.com/foaf/0.1/">FOAF ontology</a>, as per 07/09/2009 :<br />
<code><br />
4store&gt;select * where { graph &lt;http://xmlns.com/foaf/0.1/&gt; {?a &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#type&gt; &lt;http://www.w3.org/2002/07/owl#InverseFunctionalProperty&gt;}}#EOQ<br />
</code><br />
<code><br />
?a<br />
&lt;http://xmlns.com/foaf/0.1/homepage&gt;<br />
&lt;http://xmlns.com/foaf/0.1/mbox_sha1sum&gt;<br />
&lt;http://xmlns.com/foaf/0.1/jabberID&gt;<br />
&lt;http://xmlns.com/foaf/0.1/isPrimaryTopicOf&gt;<br />
&lt;http://xmlns.com/foaf/0.1/icqChatID&gt;<br />
&lt;http://xmlns.com/foaf/0.1/weblog&gt;<br />
&lt;http://xmlns.com/foaf/0.1/mbox&gt;<br />
&lt;http://xmlns.com/foaf/0.1/aimChatID&gt;<br />
&lt;http://xmlns.com/foaf/0.1/msnChatID&gt;<br />
&lt;http://xmlns.com/foaf/0.1/yahooChatID&gt;<br />
</code><br />
I was wondering what happen to <a href="http://xmlns.com/foaf/0.1/openID">foaf:openId</a> ? Does anyone know ?</p>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2009/09/07/foaf-ifps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Personas @ MIT</title>
		<link>http://mmt.me.uk/blog/2009/08/25/personas-mit/</link>
		<comments>http://mmt.me.uk/blog/2009/08/25/personas-mit/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 01:13:29 +0000</pubDate>
		<dc:creator>Mischa Tuffield</dc:creator>
				<category><![CDATA[DigitalPersona]]></category>
		<category><![CDATA[FOAF]]></category>

		<guid isPermaLink="false">http://mmt.me.uk/blog/?p=101</guid>
		<description><![CDATA[So, MIT has recently put out a service which via animating some pretty colours presents a user with a pictorial description of their &#8220;online persona&#8221;. The service is called Personas, and my persona can be found below. I like the thought of being aware of your digital persona, due to my interest in the topic [...]]]></description>
			<content:encoded><![CDATA[<p>So, <a href="http://web.mit.edu/">MIT</a> has recently put out a service which via animating some pretty colours presents a user with a pictorial description of their &#8220;online persona&#8221;. The service is called <a href="http://personas.media.mit.edu/">Personas</a>, and <a href="http://mmt.me.uk/blog/wp-content/uploads/2009/08/MIT_Personas_240809.png">my persona</a> can be found below. I like the thought of being aware of your digital persona, due to my interest in the topic during my <a href="http://www.ecs.soton.ac.uk/people/mmt04r/publications">PhD studies</a>, my involvement in the <a href="http://www.memoriesforlife.org/">Memories for Life network</a>, and my current role work at <a href="http://www.garlik.com/">Garlik</a>, I give lots of thought to what it means to capture a snap shot of a someones<em> digital persona </em>or to even attempt to capture it in its entirety. I guess this could have implications to the way we are force fed online advertising, through to the thought of one day having a digital nomenclature, which feeds information about everyone you encounter, letting you judge for yourself&#8230;</p>
<p>Anyways, so I typed in my first and last name into the Personas site, and low and behold, this is result I was shown :</p>
<p style="text-align: center;">
<div id="attachment_102" class="wp-caption aligncenter" style="width: 424px"><a href="http://mmt.me.uk/blog/wp-content/uploads/2009/08/MIT_Personas_240809.png"><img class="size-full wp-image-102   " title="MIT_Personas_240809" src="http://mmt.me.uk/blog/wp-content/uploads/2009/08/MIT_Personas_240809.png" alt="Mischa Tuffield's MIT Personas 24/08/09" width="414" height="102" /></a><p class="wp-caption-text">Mischa Tuffield&#39;s MIT Personas 240809</p></div>
<p style="text-align: left;">Apparently, the three most prominent of my online characteristics are :<em> &#8220;online, sports, illegal&#8221;</em>. Hehe, I guess the online bit makes some sense, and after scratching my head, and re-running the service I think I have sussed it :</p>
<ul>
<li><strong>Online: </strong>yeah well &#8230; </li>
<li><strong>Sports:</strong> I must be due to this article<a href="http://www.telegraph.co.uk/motoring/2754679/Total-recall.html"> I was mentioned in in the Telegraph</a>. It was a feature in a technology section, which a part of motoring technology supplement. So, I guess that makes some sense</li>
<li><strong>Illegal:</strong> Well this one puzzled me for a while, but I think the people at MIT think I am a identity thief, hehe&#8230;</li>
</ul>
<p> Which would definitely not be a good thing given that I am currently working trying to<a href="http://www.garlik.com/products.php"> help people defend themselves from ID Fraud</a>. So why, does Personas come to this conclusion? I think it is down to a <a href="http://tomheath.com/blog/2008/05/garlik-launches-foaf-services/">blog post </a> which a friend of mine <a href="http://tomheath.com/id/me">Tom Heath</a> wrote a while back, where you used the following words &#8220;was trying to steal my identity (presumably because he had a fragment of RDF about me in his FOAF file)&#8221;. This is a perfect example of how natural language processing can fail, and how much more sophisticated metrics must be used if we are to identify accusations, opinions, or any more complex statements from free text. Tom&#8217;s blog post was actually going on about how <a href="http://code.google.com/apis/socialgraph/">Google&#8217;s Social Graph API</a> failed to understand his FOAF file, merging myself and Tom into one person, another technological fail, but I guess they follow on nicely from each other&#8230;</p>
<p>I should note that Google&#8217;s SocialGraph API is doing a better job than when it started, and as far as I am aware it now understands <a href="http://www.w3.org/RDF/">RDF</a> natively, via <a href="http://librdf.org/raptor/"> libraptor</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mmt.me.uk/blog/2009/08/25/personas-mit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
