<?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"
	>

<channel>
	<title>as days pass by, by Stuart Langridge</title>
	<atom:link href="http://www.kryogenix.org/days/feed/rss2" rel="self" type="application/rss+xml" />
	<link>http://www.kryogenix.org/days</link>
	<description>scratched tallies on the prison wall</description>
	<pubDate>Thu, 21 Aug 2008 20:31:10 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Readable non-harvestable email addresses with CSS</title>
		<link>http://www.kryogenix.org/days/2008/08/21/readable-non-harvestable-email-addresses-with-css</link>
		<comments>http://www.kryogenix.org/days/2008/08/21/readable-non-harvestable-email-addresses-with-css#comments</comments>
		<pubDate>Thu, 21 Aug 2008 20:30:31 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[LazyWeb]]></category>

		<category><![CDATA[Usability]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1542</guid>
		<description><![CDATA[Stupid hack I&#8217;ve just thought of. My email address is:
@silogenixkry.org
Spam harvesters looking at that will see the following code:
&#60;p style="padding-left: 5em">&#60;span>@&#60;/span>&#60;span
 style="margin-left: -2.5em">sil&#60;/span>&#60;span
 style="margin-left: 3.5em">ogenix&#60;/span>&#60;span
 style="margin-left: -5.3em">kry&#60;/span>&#60;span
 style="margin-left: 4.1em">.org&#60;/span>&#60;/p>
Or, with HTML stripped, @silogenixkry.org, which ain&#8217;t an email address. It does it by breaking up the address into bits, putting the bits into HTML in the [...]]]></description>
			<content:encoded><![CDATA[<p>Stupid hack I&#8217;ve just thought of. My email address is:</p>
<p style="padding-left: 5em"><span>@</span><span style="margin-left: -2.3em">sil</span><span style="margin-left: 3.5em">ogenix</span><span style="margin-left: -5.3em">kry</span><span style="margin-left: 4.1em">.org</span></p>
<p>Spam harvesters looking at that will see the following code:</p>
<pre><code>&lt;p style="padding-left: 5em">&lt;span>@&lt;/span>&lt;span
 style="margin-left: -2.5em">sil&lt;/span>&lt;span
 style="margin-left: 3.5em">ogenix&lt;/span>&lt;span
 style="margin-left: -5.3em">kry&lt;/span>&lt;span
 style="margin-left: 4.1em">.org&lt;/span>&lt;/p></code></pre>
<p>Or, with HTML stripped, <code>@silogenixkry.org</code>, which ain&#8217;t an email address. It does it by breaking up the address into bits, putting the bits into HTML in the wrong order, and reassembling the bits into a readable order with judicious use of CSS.<span style="color: red" title="Shades of Eric Morecambe's famous comment about order here">*</span> It requires a certain amount of fiddling to get the margins right such that (a) the address shows up in the right order and (b) changes in font-size don&#8217;t screw it up. I&#8217;d write a tiny web-service to do it to a supplied address if I could be bothered; lazyweb, go for it. Of course, if everyone uses this, harvesters will learn how to interpret CSS (and this is relatively trivial to do in this case). Might keep your name off the lists for a little while longer, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/08/21/readable-non-harvestable-email-addresses-with-css/feed</wfw:commentRss>
		</item>
		<item>
		<title>Certification</title>
		<link>http://www.kryogenix.org/days/2008/08/06/certification</link>
		<comments>http://www.kryogenix.org/days/2008/08/06/certification#comments</comments>
		<pubDate>Wed, 06 Aug 2008 07:52:41 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1538</guid>
		<description><![CDATA[Lots of discussion on Planet Gnome about self-signed certificates and SSL and so on. I wonder if the Linux distros should get together and create a new CA, and then install that CA&#8217;s root certificate in browsers? So that way, things like various project bugzillas will have a legit SSL certificate without having to pay [...]]]></description>
			<content:encoded><![CDATA[<p>Lots of discussion on Planet Gnome about self-signed certificates and SSL and so on. I wonder if the Linux distros should get together and create a new CA, and then install that CA&#8217;s root certificate in browsers? So that way, things like various project bugzillas will have a legit SSL certificate without having to pay if they don&#8217;t want to. Of course, this new FreeSoftwareProjectCA would still have to go through the same verification processes to ensure that a given certificate is being asked for by the right people, etc, etc. </p>
<p>Obviously, the root certificate would only be installed in your browsers if you get them <em>from your distro</em> (because the distros would add them to their browser packages) &#8212; this means that people on Windows or who install their own copy of Firefox (or whatever) would still get the &#8220;this is a certificate I don&#8217;t recognise&#8221; warning. However, that&#8217;s no worse off than it is now, and I think it&#8217;s reasonable to assume that people who use bug-tracking sites for free software projects running on a free software OS are disproportionately people <em>using</em> that OS who will therefore have the certificate. </p>
<p>(Update: johnath says &#8220;<a href="http://blog.johnath.com/2008/08/05/ssl-question-corner/">StartSSL, in the Firefox 3 root store, offers [SSL certificates] for free</a>&#8220;, which might have the same effect; I don&#8217;t know whether StartSSL&#8217;s root certificate is in other browsers, but that&#8217;s no worse than the idea that I propose above.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/08/06/certification/feed</wfw:commentRss>
		</item>
		<item>
		<title>Fronteers 2008</title>
		<link>http://www.kryogenix.org/days/2008/08/04/fronteers-2008</link>
		<comments>http://www.kryogenix.org/days/2008/08/04/fronteers-2008#comments</comments>
		<pubDate>Mon, 04 Aug 2008 22:12:00 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1535</guid>
		<description><![CDATA[The site for Fronteers 2008 is now up &#8212; Fronteers is a group of web hackers in the Netherlands who are putting on a web conference in September. Lots of cool speakers (Bert Bos, Dean Edwards*, Christian Heilmann*, Nate Koechley, Tom Occhino, and me, among others). It&#8217;s good to see another addition to the conference [...]]]></description>
			<content:encoded><![CDATA[<p>The site for <a href="http://fronteers.nl/congres/2008/english">Fronteers 2008</a> is now up &#8212; Fronteers is a group of web hackers in the Netherlands who are putting on a web conference in September. Lots of cool <a href="http://fronteers.nl/congres/2008/speakers">speakers</a> (Bert Bos, Dean Edwards<span style="color:red" title="yes! Dean! out in the world!">*</span>, Christian Heilmann<span style="color:red" title="shock horror! Chris is at everything :)">*</span>, Nate Koechley, Tom Occhino, and me, among others). It&#8217;s good to see another addition to the conference calendar, <em>especially</em> one where they&#8217;re looking for in-depth treatment of subjects. This is hardly surprising considering that it&#8217;s being run by <a href="http://www.quirksmode.org"><abbr title="Peter-Paul Koch">ppk</abbr></a>, but they&#8217;re explicitly going for an intermediate-or-better audience. There are lots of speaking slots at every conference devoted to introductions: our industry is starting to mature enough that it&#8217;s reasonable to skip right over that. It was described to me by ppk as &#8220;a conference that treats a few important topics exhaustively instead of one that lightly touches on many subjects&#8221;, which I think is a great idea. At the moment I&#8217;m trying to decide between talking about closures and talking about event delegation: anyone got a huge preference? See you in Amsterdam.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/08/04/fronteers-2008/feed</wfw:commentRss>
		</item>
		<item>
		<title>Setting an environment variable for all your apps</title>
		<link>http://www.kryogenix.org/days/2008/08/03/setting-an-environment-variable-for-all-your-apps</link>
		<comments>http://www.kryogenix.org/days/2008/08/03/setting-an-environment-variable-for-all-your-apps#comments</comments>
		<pubDate>Sun, 03 Aug 2008 19:01:25 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[LazyWeb]]></category>

		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1533</guid>
		<description><![CDATA[In the New World Order, Linux apps should all store their user-specific data according to the FreeDesktop Base Directory specification, which in practice means that config details for myapp end up in $HOME/.config/myapp. All well and good. However, I don&#8217;t like having configuration stored in dotfiles; I like to be able to get at it [...]]]></description>
			<content:encoded><![CDATA[<p>In the New World Order, Linux apps should all store their user-specific data according to the <a href="http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html">FreeDesktop Base Directory specification</a>, which in practice means that config details for <em>myapp</em> end up in <code>$HOME/.config/myapp</code>. All well and good. However, I don&#8217;t like having configuration stored in dotfiles; I like to be able to get at it more easily, so I want it in <code>$HOME/Settings</code>. The XDG spec provides for this: you set an environment variable <code>XDG_CONFIG_HOME</code> (which defaults to <code>$HOME/.config</code>) and then everything uses it. Great! But&#8230;where do I set this variable so that all the apps get it?</p>
<p>Some suggestions:</p>
<ul>
<li><code>$HOME/.bashrc</code>, <code>$HOME/.bash_profile</code>, <code>$HOME/.profile</code> &#8212; as far as I can tell, these aren&#8217;t run as part of the login process, so they&#8217;re no good. They get run when you start bash, which means when you first fire up a terminal.</li>
<li><code>$HOME/.gnomerc</code> &#8212; gets run by gdm. Might be a Debianism, and doesn&#8217;t work if I change away from gdm a few months from now</li>
<li><code>$HOME/.xinitrc</code>, <code>$HOME/.xsession</code> &#8212; get run if you&#8217;re in X but not if you&#8217;re running over SSH, and <code>.xsession</code> is a Debianism</li>
<li><code>/etc/xdg/user-dirs.conf</code> &#8212; this will change it for all users on the machine, not just me</li>
<li>Something in PAM. Perhaps. It&#8217;s not clear what, though.</li>
<li>A file of my choice, which I then source from all of the above places. This is doable but seems stupid to me, and I&#8217;m bound to miss something.</li>
<li>Something else. This is where you come in; where am I meant to set the environment so that everything gets access to it?</li>
</ul>
<p>Answers on a postcard&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/08/03/setting-an-environment-variable-for-all-your-apps/feed</wfw:commentRss>
		</item>
		<item>
		<title>HTML5 video element about to land in Firefox 3.1</title>
		<link>http://www.kryogenix.org/days/2008/07/31/html5-video-element-about-to-land-in-firefox-31</link>
		<comments>http://www.kryogenix.org/days/2008/07/31/html5-video-element-about-to-land-in-firefox-31#comments</comments>
		<pubDate>Thu, 31 Jul 2008 08:02:04 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1531</guid>
		<description><![CDATA[Firefox 3.1 is about to support the HTML5 &#60;video&#62; element, and Opera already does. This means that both those browsers will have support for inline video in the browser without plugins. As usual, Internet Explorer lag behind, and sadly Safari does as well &#8212; they&#8217;re fast at implementing lots of stuff over at the WebKit [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.0xdeadbeef.com/weblog/?p=492">Firefox 3.1 is about to support the HTML5 &lt;video&gt; element</a>, and <a href="http://dev.opera.com/articles/view/the-first-working-draft-of-html-5-is-her/">Opera already does</a>. This means that both those browsers will have support for inline video in the browser without plugins. As usual, Internet Explorer lag behind, and sadly Safari does as well &#8212; they&#8217;re fast at implementing lots of stuff over at the WebKit team, but Apple don&#8217;t like easy video that isn&#8217;t in a patented format, so <a href="http://webkit.org/blog/140/html5-media-support/">the Safari &lt;video&gt; support only plays stuff that QuickTime can do</a>. Hopefully both corporate browsers will come around, or perhaps the WebKit team can add &lt;video&gt; support for Ogg Theora and then the Safari team can take it back out again if they need to &#8212; since Epiphany, the Gnome browser, is going to be WebKit, it would be great to have native video support in WebKit. (Do the WebKit Gtk hackers have commit access to the WebKit source in order to add this, I wonder?)</p>
<p>I&#8217;ve just pinged the <a href="http://blip.tv">blip.tv</a> people &#8212; since they already support Ogg Theora (via Fluendo&#8217;s <a href="http://www.flumotion.com/cortado">Cortado Java applet</a>), they should be able to add &lt;video&gt; support pretty easily. (Just wrap &lt;video src=&#8221;/video/play/12345&#8243;&gt;&#8230;&lt;/video&gt; around the existing player, so browsers with HTML5 support will play the video inline and others will fall back to the current player.)</p>
<p>Nice one Opera and Firefox teams!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/07/31/html5-video-element-about-to-land-in-firefox-31/feed</wfw:commentRss>
		</item>
		<item>
		<title>Gaming competition at LugRadio Live this weekend</title>
		<link>http://www.kryogenix.org/days/2008/07/17/gaming-competition-at-lugradio-live-this-weekend</link>
		<comments>http://www.kryogenix.org/days/2008/07/17/gaming-competition-at-lugradio-live-this-weekend#comments</comments>
		<pubDate>Wed, 16 Jul 2008 23:12:02 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[Conferences]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[LugRadio]]></category>

		<category><![CDATA[LugRadio Live]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1528</guid>
		<description><![CDATA[Cool. We have confirmation that Matt Bloch and the gang at Bytemark have put together an uber-flashy gaming rig to bring to LugRadio Live this weekend. 

They&#8217;ve written about this gaming server, and they&#8217;re going to be running a set of gaming competitions on it over the course of the weekend. Those of you who [...]]]></description>
			<content:encoded><![CDATA[<p>Cool. We have confirmation that Matt Bloch and the gang at <a href="http://www.bytemark.co.uk/">Bytemark</a> have put together an uber-flashy gaming rig to bring to <a href="http://www.lugradio.org/live/UK2008/">LugRadio Live</a> this weekend. </p>
<p><img src="http://www.kryogenix.org/days/wp-content/uploads/2008/07/dscf2291thumb.jpg" alt="" title="Bytemark gaming rig" width="320" height="240" class="alignnone size-full wp-image-1529" /></p>
<p>They&#8217;ve <a href="http://blog.bytemark.co.uk/2008/07/16/tournament-details-at-lugradio">written about this gaming server</a>, and they&#8217;re going to be running a set of gaming competitions on it over the course of the weekend. Those of you who are gamers are going to enjoy this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/07/17/gaming-competition-at-lugradio-live-this-weekend/feed</wfw:commentRss>
		</item>
		<item>
		<title>OpenID login and APIs</title>
		<link>http://www.kryogenix.org/days/2008/07/09/openid-login-and-apis</link>
		<comments>http://www.kryogenix.org/days/2008/07/09/openid-login-and-apis#comments</comments>
		<pubDate>Wed, 09 Jul 2008 07:36:40 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1526</guid>
		<description><![CDATA[Does anyone have an example of a site which:

Offers OpenID login
Has a remote API that allows you to log in using your OpenID rather than a username and password

How do you provide this, as a site owner? It&#8217;s not clear to me that OpenID works for machines to log into things (unless I go and [...]]]></description>
			<content:encoded><![CDATA[<p>Does anyone have an example of a site which:</p>
<ol>
<li>Offers OpenID login</li>
<li>Has a remote API that allows you to log in using your OpenID rather than a username and password</li>
</ol>
<p>How do you provide this, as a site owner? It&#8217;s not clear to me that OpenID works for machines to log into things (unless I go and set my OpenID to &#8220;always allow access&#8221; and <em>then</em> write a screen-scraper module for my OpenID provider).</p>
<p>This seems like something of a flaw in the OpenID concept. Hopefully I&#8217;m missing something.</p>
<p>Update: <a href="http://oauth.net/core/1.0/">OAuth</a> isn&#8217;t the answer here. My use-case for this is, say, a little script that allows me to <a href="http://www.kryogenix.org/days/2008/07/03/identica-twitter-and-posting-between-the-two">post to Identi.ca</a>. OAuth requires me (the &#8220;Consumer&#8221;) to request a &#8220;Consumer Secret&#8221; and a &#8220;Consumer Key&#8221; from Identi.ca. From my reading of the OAuth spec, that&#8217;s supposed to be specific to the script, not specific to the person running the script, which means that I can&#8217;t open-source the script (because then everyone will know my Consumer Secret). So in order for me to write an application that uses OAuth to authenticate to a site, either I can&#8217;t open source it, or everyone using the application has to apply for their own Consumer Secret and Consumer Key; at that point you might as well just set a password and not use OpenID! The OAuth spec says that &#8220;<a href="http://oauth.net/core/1.0/#anchor40">Service Providers should not use the Consumer Secret alone to verify the identity of the Consumer</a>&#8220;, and goes on to &#8220;<a href="http://oauth.net/core/1.0/#anchor40">Where possible, other factors such as IP address should be used as well</a>&#8220;, which as far as I can tell means &#8220;we like closed-source programs; if you want to open source something, then we don&#8217;t know how to solve that problem, so you lose&#8221;. Correct me if I&#8217;m wrong.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/07/09/openid-login-and-apis/feed</wfw:commentRss>
		</item>
		<item>
		<title>LugRadio Live UK 2008 schedule published!</title>
		<link>http://www.kryogenix.org/days/2008/07/07/lugradio-live-uk-2008-schedule-published</link>
		<comments>http://www.kryogenix.org/days/2008/07/07/lugradio-live-uk-2008-schedule-published#comments</comments>
		<pubDate>Mon, 07 Jul 2008 20:42:23 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[Conferences]]></category>

		<category><![CDATA[LugRadio]]></category>

		<category><![CDATA[LugRadio Live]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1524</guid>
		<description><![CDATA[After weeks of blood, sweat and tears trying to get a talk title out of Rob McQueennail down the schedule for LugRadio Live UK 2008, it&#8217;s finally available!
Go see the LRL UK schedule to see who&#8217;s speaking and when
I&#8217;m pretty damned proud of the list of people we&#8217;ve put together. There&#8217;s a good mixture of [...]]]></description>
			<content:encoded><![CDATA[<p>After weeks of blood, sweat and tears trying to <del>get a talk title out of Rob McQueen</del><ins>nail down the schedule for <a href="http://www.lugradio.org/live/UK2008">LugRadio Live UK 2008</a></ins>, it&#8217;s finally available!</p>
<p><a href="http://lugradio.org/live/UK2008/schedule">Go see the LRL UK schedule to see who&#8217;s speaking and when</a></p>
<p>I&#8217;m pretty damned proud of the list of people we&#8217;ve put together. There&#8217;s a good mixture of <em>the same old faces</em> (who speak a lot at conferences precisely because they have a lot to say and they say it well!) and people who&#8217;ve never spoken at LRL before. I can&#8217;t wait. Only 12 days to go.</p>
<p>Breaking news: we&#8217;re putting together a LAN gaming tournament as well as part of the event! If you like that sort of thing, come along and frag people<span style="color:red" title="or something like that">*</span> to your heart&#8217;s content. There are prizes.</p>
<p>Oh, and a brief reminder that it&#8217;s the last ever recording ever of LugRadio ever. See you there. July 19th and 20th, Wolverhampton, UK. No ticket sales in advance: just turn up on the day clutching your five pounds. You can&#8217;t afford to miss out.<span style="color:red" title="apart from those of you who can't afford to come because you live in Mongolia, obviously">*</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/07/07/lugradio-live-uk-2008-schedule-published/feed</wfw:commentRss>
		</item>
		<item>
		<title>blah blah new design blah</title>
		<link>http://www.kryogenix.org/days/2008/07/04/blah-blah-new-design-blah</link>
		<comments>http://www.kryogenix.org/days/2008/07/04/blah-blah-new-design-blah#comments</comments>
		<pubDate>Fri, 04 Jul 2008 19:10:02 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[Updates]]></category>

		<category><![CDATA[Web]]></category>

		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1523</guid>
		<description><![CDATA[New site design. Those of you who didn&#8217;t like the pink one (i.e., everyone) may not like this either. Once again my lack of design skill runs amok. On the other hand, now I can pretend that it&#8217;s minimalism rather than that I have the artistic ability of a rubber mallet.
Of course, as with all [...]]]></description>
			<content:encoded><![CDATA[<p>New site design. Those of you who didn&#8217;t like the pink one (i.e., everyone) may not like this either. Once again my lack of design skill runs amok. On the other hand, now I can pretend that it&#8217;s <a href="http://www.b-list.org/weblog/2008/jun/15/minimal/">minimalism</a> rather than that I have the artistic ability of a rubber mallet.</p>
<p>Of course, as with all things, <a href="http://diveintomark.org/archives/2008/06/21/minimalism">Mark was there first and with greater gusto</a>, but if that was enough of a reason to stop people doing stuff then there&#8217;d be no internet.</p>
<p>Feel free to let me know if anything doesn&#8217;t work in Firefox or Opera or Safari. (It&#8217;s tested in FF3, Opera 9.5, and Midori, but only pretty briefly.) I can&#8217;t test in IE7 because <a href="http://www.tatanka.com.br/ies4linux/page/Main_Page">IEs4Linux</a> doesn&#8217;t properly run it yet<span style="color:red" title="yes yes I know">*</span> and it looked sort of OK in IE6, and that&#8217;ll do me, I think. This is graded browser support in the real world, meaning that my browser is Grade A and everything else is some letter in the Greek alphabet like omicron.</p>
<p>Actually, that should be &#8220;such as omicron&#8221;, there. <a href="http://www.aurochs.org/">Tom</a> once told me that he didn&#8217;t like the TV programme &#8220;<a href="http://en.wikipedia.org/wiki/People_Like_Us">People Like Us</a>&#8221; because it should have been called People Such As Us. Grammar is important, especially if you&#8217;re running an anti-child abuse campaign.</p>
<p>Speaking of such esoteric matters, it seems that Firefox supports the soft hyphen <code>&amp;shy;</code> these days. Which&shy;is&shy;really&shy;great&shy;if&shy;it&shy;actually&shy;works&shy;and&shy;well&shy;done&shy;the&shy;Mozilla&shy;team&shy;only&shy;five&shy;years&shy;later.</p>
<p>Typography is important, too, but I don&#8217;t understand that, <a href="http://webtypography.net/toc/">Richard Rutter</a> notwithstanding. On the other hand, I have now used <code>line-height</code> for the first time ever. Eric Meyer, watch out.</p>
<p>It&#8217;s Friday night. Time for a pint.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/07/04/blah-blah-new-design-blah/feed</wfw:commentRss>
		</item>
		<item>
		<title>Identi.ca, Twitter, and posting between the two</title>
		<link>http://www.kryogenix.org/days/2008/07/03/identica-twitter-and-posting-between-the-two</link>
		<comments>http://www.kryogenix.org/days/2008/07/03/identica-twitter-and-posting-between-the-two#comments</comments>
		<pubDate>Thu, 03 Jul 2008 10:33:30 +0000</pubDate>
		<dc:creator>sil</dc:creator>
		
		<category><![CDATA[Sundry Hacks]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.kryogenix.org/days/?p=1522</guid>
		<description><![CDATA[It&#8217;s now the trendy thing to write an essay about why Twitter is doomed, or why it&#8217;s not doomed and all its competitors are doomed instead. And god knows I wouldn&#8217;t want to break the back of that trend. 
I&#8217;ve been playing with Identi.ca, a Twitter clone written in PHP. Lots of Twitter people are [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s now the trendy thing to write an essay about why Twitter is doomed, or why it&#8217;s not doomed and all its competitors are doomed instead. And god knows I wouldn&#8217;t want to break the back of that trend. </p>
<p>I&#8217;ve been playing with <a href="http://identi.ca">Identi.ca</a>, a Twitter clone written in PHP. Lots of Twitter people are becoming frustrated with seeing the famous Fail Whale on Twitter&#8217;s &#8220;we are currently down&#8221; page, and people are starting to look elsewhere. There are lots (and lots and lots) of alterni-Twitters (which is a problem I&#8217;ll come back to in a moment), but identi.ca is attracting one of the communities I operate in, open source people. This is because identi.ca is entirely open source: the codebase is called <a href="http://laconi.ca/">Laconica</a>. This is a nice idea.</p>
<p>First things first, though: I don&#8217;t want to update two places at once. Identica<span style="color:red" title="It's not clear whether it's called Identica or Identi.ca">*</span> doesn&#8217;t have an API (yet), but I wanted to post things to Twitter and have them appear on Identica too. So, I present the Twitter Identi.ca Reflector. <a href="http://www.kryogenix.org/code/twitter-identica.tar.gz">Download as a tarball</a> or <a href="http://svn.kryogenix.org/svn/twitter-identica">check it out from Subversion</a> or <a href="http://svn.kryogenix.org/listing.php?repname=kryogenix.org&#038;path=%2Ftwitter-identica%2F&#038;rev=0&#038;sc=0">browse the source</a>. The <a href="http://svn.kryogenix.org/svn/twitter-identica/README">README</a> tells you how to set it up. It uses Jabber to post to Identica, which isn&#8217;t ideal, but (as mentioned) there&#8217;s no API. So now you can send Twitter posts to Identi.ca, which is helpful.</p>
<p>Now, why Twitter is good, why Identi.ca is good, and why everything else isn&#8217;t. If you just wanted to post Twitter comments to Identi.ca then you can stop reading now.</p>
<p>Twitter looks like it ought to be easy to clone, and it isn&#8217;t. This is why there are lots of Twitter clones, and why none of them have taken off. The basic principle of microblogging is indeed an easy one, I agree. But all the other Twitter-alikes are missing something. They don&#8217;t have SMS sending, or SMS following, or they don&#8217;t have an API, or they don&#8217;t have lots of desktop clients, or they have one desktop client that doesn&#8217;t run on everyone&#8217;s machine, or they don&#8217;t do IM. What makes Twitter good is two things: the first is that you can get at it in <em>so many ways</em>. And because there are so many ways, people can build lots of things on top of it. For example, if you want to do the reverse of what the above reflector does (post your messages to Identi.ca and have them show up on Twitter) then you don&#8217;t need an extra program, because it already exists: <a href="http://twitterfeed.com">Twitterfeed</a>. Simply sign up at Twitterfeed, and use it to send posts from your Identica feed to Twitter, and it&#8217;s all done. That&#8217;s the power of having an expressive and complete set of APIs. It can&#8217;t be underestimated.</p>
<p>The second reason Twitter is good is that everyone&#8217;s already there. They got first-mover advantage. There&#8217;s no point going to an alternative because <em>none of your friends are there</em>. This is also the reason that Twitter has fifty desktop clients and that things like Twitterfeed exist; it&#8217;s worth the investment. It does mean that if people leave Twitter they&#8217;ll all leave together and the bottom drops out of their market, but that&#8217;s the way the internet cookie crumbles. Photo sharing sites have the same issue &#8212; it&#8217;s difficult to build a Flickr competitor because everyone&#8217;s already at Flickr, so none of the &#8220;social&#8221; stuff happens elsewhere because you never hit a critical mass of people.</p>
<p>So, what&#8217;s good about Identi.ca then? Well, for me, the big things are open-sourceness and federation. The underlying codebase being open source is a huge win, from my perspective. It means people other than the Identi.ca team can work on adding new features, it means that we can see what&#8217;s going on, and it means that there are more open source programs in the world. I like this. Other people may not, but what the hell.</p>
<p>The other advantage is federation. This is all about the <a href="http://www.openmicroblogging.org/">OpenMicroBlogging</a> specification; it basically blows away the &#8220;all my friends are at Twitter so I must be too&#8221; point. It means that you can subscribe on one microblogging service to people <em>on other microblogging services</em>. I could be at Identi.ca, you could be at Twitter, someone else could be at Jaiku or Pownce or wherever else, and we all read one another&#8217;s messages, happy as Larry. It levels the playing field. I can subscribe Identi.ca to Twitter without problems. This is a great idea which is rather hampered by the fact that basically no-one has implemented it yet. It&#8217;s in Laconica, though, so Identica has it. It helps get around the scaling problems that Twitter are having, too: you don&#8217;t need one centralised Twitter service any more. There can be lots of little islands, all of which talk to one another. No more scaling problems. No more Fail Whale. People who need the extras that Twitter provides can use Twitter quite happily (as I&#8217;m doing; I like SMS!), people who don&#8217;t need that but do need other services can use something else that provides those other services. </p>
<p>The basic concept of microblogging has been commoditised thanks to <a href="http://www.openmicroblogging.org">OpenMicroBlogging</a> &#8212; it&#8217;s become a simple thing to implement anywhere. Microblogging services can now compete on which extras they offer.</p>
<p>That&#8217;s why I like Identi.ca. Oh, and they let you create your account with OpenID, which I did. It&#8217;s a win all round. Development&#8217;s going on at a fast pace on the Laconica codebase, so expect to see more and more appear over there. Blizzard&#8217;s already added identi.ca support to <a href="http://whoisi.com">Whoisi</a>, so things are moving quickly. I don&#8217;t know whether the trickle of Twitterites in Identi.ca&#8217;s direction will continue, but thanks to the reflector code above, I&#8217;m now on Identi.ca without putting in any extra effort. That&#8217;s <a href="http://identi.ca/sil">identi.ca/sil</a> for those of you who want to track it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kryogenix.org/days/2008/07/03/identica-twitter-and-posting-between-the-two/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
