<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Red56 blog</title>
	<atom:link href="http://red56.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://red56.wordpress.com</link>
	<description>Occasional reflections on programming</description>
	<lastBuildDate>Thu, 20 Oct 2011 06:25:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='red56.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Red56 blog</title>
		<link>http://red56.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://red56.wordpress.com/osd.xml" title="Red56 blog" />
	<atom:link rel='hub' href='http://red56.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Workflow for Chef with Vagrant</title>
		<link>http://red56.wordpress.com/2011/03/13/chef-and-vagrant-workflow/</link>
		<comments>http://red56.wordpress.com/2011/03/13/chef-and-vagrant-workflow/#comments</comments>
		<pubDate>Sun, 13 Mar 2011 08:05:12 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=82</guid>
		<description><![CDATA[UPDATE (20/11/2011): The hacks here are superseded by updates in chef-solo and vagrant. Check out Ches Martin&#8217;s useful comment below. I have now got a relatively decent workflow for configuring both a vagrant instance and a server using chef. I&#8217;m using a vagrant instance configured (initially) to use chef-solo. Because I will eventually be using chef [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=82&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>UPDATE (20/11/2011): The hacks here are superseded by updates in chef-solo and vagrant. Check out <a href="http://red56.wordpress.com/2011/03/13/chef-and-vagrant-workflow/#comment-778">Ches Martin&#8217;s useful comment below</a>.</em></p>
<p>I have now got a relatively decent workflow for configuring both a <a href="http://vagrantup.com/">vagrant</a> instance and a server using <a href="http://wiki.opscode.com/display/chef/Home">chef</a>.</p>
<p>I&#8217;m using a vagrant instance configured (initially) to use <a href="http://wiki.opscode.com/display/chef/Chef+Solo">chef-solo</a>. Because I will eventually be using chef with the opscode platform, I&#8217;ve acquired a couple of hacks that help me use <a href="http://wiki.opscode.com/display/chef/Data+Bags">data-bags</a> when using vagrant.</p>
<p><span id="more-82"></span>I could of course use the vagrant instance with chef-server linking to the platform, however I find I make too many mistakes in my config in the early work-up of my config and the additional time to (knife cookbook) upload my recipes to the server and then pull them down as well makes the development loop somewhat frustrating. Chef solo provisioning allows the vagrant instance to just link across my recipes directly into the VM and run them from there.</p>
<p>When I&#8217;m happy with config working in vagrant (and I destroy the vagrant and re-provision) then I try the same on my rackspace (or ec2 or whatever) instance. Usually I find I need to modify one or two things (forgotten &#8220;depends&#8221; in cookbook metadata files).</p>
<p>I&#8217;m doing mostly quite trivial configs which require only a one server (times two if there&#8217;s a staging and a production server), so I don&#8217;t typically have the reworking which moving from a single vagrant instance to a multi-tier server architecture would require.</p>
<p>Here are the hacks I use:</p>
<ol>
<li>I don&#8217;t like writing json unless I can avoid it, so like to write my roles in ruby. Chef-server translates them automatically (mantra from opscode training: &#8220;no ruby is run on the server&#8221;). I&#8217;ve created a rake task to convert roles from ruby to json: <a href="Chef workflow ">https://gist.github.com/834890</a></li>
<li>A monkeypatch for Vagrant&#8217;s chef-solo provisioner to allow it to link in your data_bags folder onto the server <a href="https://gist.github.com/867958">https://gist.github.com/867958</a></li>
<li>A monkeypatch for Chef-solo to allow it to manipulate data_bags very basically: <a href="https://gist.github.com/867960">https://gist.github.com/867960</a></li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=82&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2011/03/13/chef-and-vagrant-workflow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>
	</item>
		<item>
		<title>Understanding BDD motivations better</title>
		<link>http://red56.wordpress.com/2009/10/21/understanding-bdd-motivations-better/</link>
		<comments>http://red56.wordpress.com/2009/10/21/understanding-bdd-motivations-better/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 09:49:52 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=61</guid>
		<description><![CDATA[I posted earlier some reservations about BDD &#8211; largely based (as I now understand) on the declared motivations of some BDD practitioners (ringleaders even) that BDD tools enable customers to write tests (and also it felt like another software practice that swept up &#8216;requirements elicitation&#8217; as a simple step to do before coding (and even [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=61&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I posted earlier some reservations about BDD &#8211; largely based (as I now understand) on the declared motivations of some BDD practitioners (ringleaders even) that BDD tools enable customers to write tests (and also it felt like another software practice that swept up &#8216;requirements elicitation&#8217; as a simple step to do before coding (and even if you do this iteratively, you are still doing &#8216;spiral&#8217; development, but certainly not doing agile development).</p>
<p>However, reading at the interesting pairwithus:</p>
<blockquote><p><span id="more-61"></span>When we first heard of the &#8220;Given When Then&#8221; structure for writing acceptance tests, we knew instinctively that it was a better way of writing executable examples (wrapped in the structure of an automated test to reduce ambiguity). It was presented by Dan North and Joe Walnes at XP Day 2006</p>
<p>Since then a number of frameworks have risen up using that structure. Many of these can be written in plain text. Despite this, there are still many teams using FitNesse and the new table parsing Test System called SLIM.</p>
<p>Unfortunately, the way FitNesse is used is, too often, as an .automated testing. tool rather than as a tool that documents desired software behaviours in a customer-friendly way (using automated tests). There is a substantial difference in practice, despite such subtle difference in the words.</p>
<p><a href="http://www.pairwith.us/current-project.html">http://www.pairwith.us/current-project.html</a></p></blockquote>
<p>I notice that they are emphasizing BDD-style notation (Given/When/Then) into customer <em>readable</em> rather than customer writable tests. Even if &#8220;customer readability&#8221; is still a hard target to actually achieve (i.e. can I imagine any of my customers actually reading my tests?) it is a lot more plausible than getting them to write the tests. And anything that focuses on test-readability can&#8217;t be a bad thing.</p>
<p>Okay, so sounds like it&#8217;s time for me to focus on getting my tests more readable, and learning Given/When/Then style together with some explicitly BDD toolset or other (guess that&#8217;s cucumber for a Ruby/Rails context, right?). And I figure I better throw in <a href="http://seleniumhq.org/">Selenium</a> or <a href="http://code.google.com/p/webdriver/">WebDriver</a> into the mix too, cause my ajax testing strategy is just creaking at the seams&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/61/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/61/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/61/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=61&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2009/10/21/understanding-bdd-motivations-better/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>
	</item>
		<item>
		<title>Todos / Task-tracking: Generic API</title>
		<link>http://red56.wordpress.com/2009/07/07/todos-task-tracking-generic-api/</link>
		<comments>http://red56.wordpress.com/2009/07/07/todos-task-tracking-generic-api/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 11:07:48 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=57</guid>
		<description><![CDATA[Was just talking to Garry idly about how we enjoyed both NoKahuna and Things and how annoying it was that there was no way of making them work together, and we started building a fantasy API &#8211; a generic Task-tracking API which all the task-tracking webservices (RTM, NoKahuna, BackPack, and Mingle, Trac, Mantis, Bugzilla&#8230;) might [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=57&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Was just talking to <a href="http://magnetised.info">Garry</a> idly about how we enjoyed both <a href="http://nokahuna.com">NoKahuna</a> and <a href="http://culturedcode.com/things/">Things</a> and how annoying it was that there was no way of making them work together, and we started building a fantasy API &#8211; a generic Task-tracking API which all the task-tracking webservices (RTM, NoKahuna, BackPack, and Mingle, Trac, Mantis, Bugzilla&#8230;) might then implement, and all our favourite clients (like Things, Things.touch, but also OmniFocus and others) would also implement (or provide plugin architectures or (open)source-level  access to allow others to implement).</p>
<p>Wouldn&#8217;t it be nice?</p>
<p><span id="more-57"></span></p>
<p>Some more thoughts we had:</p>
<p>It would be easy for people working across multiple organisations (as so many do) to aggregate their todo lists (domestic, projectA, projectB) &#8211; and also to aggregate shared todo list (ProjectA official) with any personal or confidential note (ProjectA e.g. &#8211; &#8220;speak to X about problem with day rate&#8221;)</p>
<p>Provided that the API was rich enough, any two webservices that supported enough of the API would be able to migrate tasks between them &#8211; in other words you could transfer your data from one to the other. That would be a compelling demonstration of trust in their own quality (and a user-attractor, I would think).</p>
<p>The API would be likely to need to be able to move very quickly &#8211; as the definition of what an &#8220;adequate&#8221; or even &#8220;minimal&#8221; API is likely to be quite fluid.</p>
<p>The first API that would be specified and implemented would be a &#8220;capabilities&#8221; API &#8211; listing a list of capability ids, together with a list for each of versions (&#8220;ticking: v1, v2&#8243;, &#8220;basic-editing: v1&#8243;, &#8220;reordering: v1&#8243;, &#8220;categorizing: v2&#8243;)</p>
<p>But it would be possible for clients to work in a read-only fashion with &#8220;remote to-do lists&#8221; without even having the API: two possibilities suggest themselves:</p>
<ul>
<li>RSS: You could specify one or more RSS 2.0 feed for any  category / project in your client (e.g. in Things a  &#8221;project&#8221; or an &#8220;area of responsibility&#8221;). Any RSS item (with a mandatory guid and remote address) that appears in the feed is a &#8216;new&#8217; (according to the guid) task to be listed in the feed. Any time the guid disappears from the feed, the task is marked as ticked, and if the guid reappears in the feed it is re-marked as unticked. Of course this means your task-list webservice provider has to support an RSS feed for your project&#8230;</li>
<li>Plain old HTML: If your task-list webservice provider doesn&#8217;t support RSS, then of course the client could support a url and look for relevant links &#8211; the relevant links could be identified by some geeky means such as looking for a specific pattern of url (e.g. for a particular nokahuna that might be %r{http://nokahuna.com/projects/1324/tasks/[0-9]+} using ruby&#8217;s RE syntax)</li>
<li>In both cases, the display of the task could show that it is remote and (most likely) uneditable &#8211; to make the change, you could visit the remote url.</li>
</ul>
<p>Garry and I would like to start working on API spec together (with a reference implementation) and implement a test plugin starting with minimal RSS/PO-HTML support , but not sure how to get clients (like Things&#8217; manufacturers <a href="http://culturedcode.com/">Cultured Code</a>) interested&#8230; any suggestions?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=57&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2009/07/07/todos-task-tracking-generic-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>
	</item>
		<item>
		<title>Permatime update (and more than you want to know about the weird world of timezones)</title>
		<link>http://red56.wordpress.com/2008/12/11/permatime-update-and-the-weird-world-of-timezones/</link>
		<comments>http://red56.wordpress.com/2008/12/11/permatime-update-and-the-weird-world-of-timezones/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 15:20:30 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=46</guid>
		<description><![CDATA[Plenty of updates to http://permatime.com recently, partly inspired by the spike in new visitors, referred by the comments and updated posting to do with the recent 37signals-live online realtime video event: first-time visitor friendliness, links, samples and bug-fixes. (Have no idea what I&#8217;m talking about? Permatime.com is a micro webapp aimed at making it easier [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=46&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Plenty of updates to <a href="http://permatime.com">http://permatime.com</a> recently, partly inspired by the spike in new visitors, referred by <a href="http://www.37signals.com/svn/posts/1444-next-37signals-live-is-tomorrow-thursday-december-4-at-11am-cst">the comments and updated posting</a> to do with the recent 37signals-live online realtime video event: first-time visitor friendliness, links, samples and bug-fixes.</p>
<p>(Have no idea what I&#8217;m talking about? Permatime.com is a micro webapp aimed at making it easier to share a point in time with people across different timezones. A sample (all the bells and whitstles) permatime link might be: <a href="http://permatime.com/US/Central/2008-12-04/11:00/37signals_live?link=http://live.37signals.com">http://permatime.com/US/Central/2008-12-04/11:00/37signals_live?link=http://live.37signals.com</a>. More samples on <a href="http://permatime.com">the homepage</a>.)<a href="http://permatime.com/US/Central/2008-12-04/11:00/37signals_live?link=http://live.37signals.com"><br />
</a></p>
<p><span id="more-46"></span>The first change was to give people who click on a permatime link for the first time an &#8220;guess&#8221; of the time according the users&#8217; current GMT offset (difference from GMT / UTC).  The reason that is a &#8220;guess&#8221; is that timezones aren&#8217;t as simple as a GMT offset. Just because you are in, say 4 hours earlier than UTC/GMT in April (like, say New York or Santiago), doesn&#8217;t predict that  you are 4 hours earlier in February (No, in fact New York will be 5 hours earlier then, and Santiago 3 hours earlier).</p>
<p>So we do need to encourage first time visitors to enter a timezone to be sure, but we want to give them some idea of what the permatime they have clicked on actually represents for them, without a further click. What we have now is a balance between these two design principles. Let us know what you think.</p>
<p>A few small additional bits of crafting: every permatime gives you relative times (3 days away, 2 hours ago, etc). Plus, for the geek in all of us: there&#8217;s now a &#8220;Unix timestamp&#8221; timezone. Yay!</p>
<p>Also, (it was last week actually, but as it was &#8216;just&#8217; a bug fix, I never mentioned it) ironed out complications with  &#8220;Today&#8221;  on the <a href="http://permatime.com">create permatime</a> form: it was originally being calculated as of &#8220;Today&#8221; in GMT, rather than the basis of your home (first in the list) timezone. Of course I rarely saw that&#8230; and in fact never guessed that I needed to test for it. Problems like this would be much more obvious if one of the development team was based in, say Kiritimati (GMT +14). Wonder if anyone would like to fund me to trial that for a month or two (particularly when it&#8217;s so cold here in GMT-land).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=46&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2008/12/11/permatime-update-and-the-weird-world-of-timezones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>
	</item>
		<item>
		<title>Busy weekend</title>
		<link>http://red56.wordpress.com/2008/12/09/busy-weekend/</link>
		<comments>http://red56.wordpress.com/2008/12/09/busy-weekend/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 00:19:48 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[process]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=40</guid>
		<description><![CDATA[I had a busy weekend being a social innovator. Well being social at least (let&#8217;s keep the claims reasonable): I think I met more people in one weekend than I have done in the whole of last year. Enough  great ideas to give me a headache too (or was that post-sicamp pub session?). It started [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=40&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a title="I was a useful visitor at sicamp08 by red56, on Flickr" href="http://www.flickr.com/photos/red56/3092917232/"><img src="http://farm4.static.flickr.com/3027/3092917232_8977a71645.jpg" alt="I was a useful visitor at sicamp08" width="288" height="207" /></a></p>
<p>I had a busy weekend being a social innovator. Well being social at least (let&#8217;s keep the claims reasonable): I think I met more people in one weekend than I have done in the whole of last year. Enough  great ideas to give me a headache too (or was that post-sicamp pub session?).</p>
<p><span id="more-40"></span>It started off, I have to say, inauspiciously with a crowdvine site (a group/conference supporting micro-social site), which, for me, didn&#8217;t really work. Why not? Maybe because of some specific social dynamics &#8211; some of the people knew each other, others didn&#8217;t. Plus there wasn&#8217;t a clear purpose to why we were using the crowdvine&#8230; yes it aggregated our tweets (but do I want to introduce myself to strangers through my tweets?) but I found judicious use of  twitterific on iphone more useful. But maybe I was just nervous&#8230; looking foward but not sure what to expect&#8230;</p>
<p>So this thing, <a href="http://www.sicamp.org">Sicamp December 08</a>,  kicked off with a Friday evening  of frenetic socialising &#8211;  trying to meet as many people as possible, and work out (if you didn&#8217;t know already) what  project team to work with. For the first time in my life, I managed to &#8216;mingle&#8217; properly; that&#8217;s to say, I managed to move on from people with whom I&#8217;d have been very happy to spend the rest of the evening chatting with (about Erlang&#8217;s relevance to web technologies &#8230; or &#8230; music in Sao Tome &#8230; or&#8230;  how  &#8220;volunteering&#8221; and charitability can be the cause of holding back the development of the developing world &#8230;).</p>
<p>On Saturday morning I still had no clue what project I was going to be working on, and came in to the Young Foundation offices to find out what clever process they were going to use to divide us into teams. They stoked us up with coffee and  croissants then pointed out the labels with arrows to each of the project&#8217;s spaces in the buildings &#8230; and then got out of the way as people started running to get to into their chosen project. We-need.com (that had rechristened itself already) and Going postal (that later was to becom post post) were both very fervent teams, and had already organised what from the outside looked like a very disciplined structure from the off.</p>
<p>I had decided that being on a small team would be a good idea (not just an idea -  Denise Stephens had pointed out to us that  her <a href="enabledbydesign">Enabled By Design</a> winning team last year had been the smallest); somehow I found myself gravitating to what was turned out to be the largest team, Useful Visitors. The idea was either about something I was skeptical of &#8211; getting business people to donate pieces of time to charitable works when they have extra time on trips to the developing world, or was about something I found more compelling &#8211; harnessing the drive (and guilt!) of any country&#8217;s diaspora. Very different kinds of visitors, very different kinds of visits, very different kinds of network/site that would need to be built.</p>
<p>As expected by all, the size of the team was almost our downfall&#8230; Femi, whose idea and project Useful Visitors is, was keen to get as many ideas as possible &#8211; bring it all on. For him the weekend was as much about driving the concept forward for the long term as about building a proposition and prototype for the Sunday show and tell. But then again we had to have something.</p>
<p>We split into groups, working very effectively on different ideas, but when we were trying to all pull together a consistent vision of the site / service and the user journey through it, it all felt like it was getting bogged down in treacle. Despite having initially asserted that I couldn&#8217;t help with the content/context, just the tech (and really I was right, I have no experience in these areas), I none the less became passionate advocate of this and that. In particular I loved an idea which we we called the Useful Lunch &#8211; an idea of a free exchange between a visiting business person (probably a high flier) with a local business person &#8211; over a local business lunch, that gives the visitor an insight to the country and context (and some company),  and the local access to some external points of view that may differ from what everyone around them are saying. A nice idea, but who knows if it would actually fulfil any existing social need.</p>
<p>But other more general ideas held sway (probably a good thing) my passions about particular ideas subsided (ditto). I was not 100% clear if the slightly abstract user journey that emerged on the whiteboard was intended to be a site that might take months to make, or what we were going to do in the weekend. Could be either. Too many people in the room perhaps. Too much design up front perhaps. Not enough coffee maybe. I looked over at Tom&#8217;s laptop  (Tom Ten Thij, a rubyist with way more rails &amp; tech cred than me)&#8230; and noticed that he was coding up what he saw on the laptop into a database model and basic rails scaffold. To fill in the time. Yay! let&#8217;s just get stuck in. I often feel I just want to see something to get a reaction as to what it will be.</p>
<p>So we split into groups and Tom and I, together with  Tim Jackson standing in as our on-site customer,  made a basic construct of the a very simple arc of interaction working getting another . Funny things (I can say that, it wasn&#8217;t me doing the &#8216;fun&#8217;) like setting up deployment were more time consuming than we guessed (isn&#8217;t it always trickier than you guess) &#8211; a good idea to <a href="http://codenamemc.terralien.com/post/63274887/getting-a-little-head-start">get that out of the way in advance</a>, but we got it sorted and some decent work done before poor tired Sicamp leaders had to chuck us out of the building (<a href="http://twitter.com/tomtt/status/1042738911">that didn&#8217;t stop us coding</a> of course).</p>
<p>There were a lot of other people working in separate teams and we occasionally crossed over, and sometimes stepped on each others toes (both metaphorically and literally &#8211; there were a lot of people in a smallish space).  I was aware of their work and had to dip in and out of my coding mind (which added to the brain ache slightly), to see what others were doing &#8211; pulling together stats and business cases,  getting video endorsements from high-powered contacts in Nigeria, creating graphics and designs which  required only subtle changes.</p>
<p>The next day we were fired up doing lots and more of the same. Somehow my enthusiasm for adding more and more to the site waned as it became apparent I was going to demo the site as part of the presentation team. Hmm, invited guests and cameras (<a href="http://theps.net/">The People Speak</a> were on hand documenting and being video provocateurs throughout the wekekend) made me a little more nervous about adding in edgy features at the last minute. Tom managed to sneak in a <code>cap deploy</code> of what he had been working on a few seconds after I&#8217;d closed my laptop to leave for the big room at the Museum of Childhood round the corner. Chuckle.</p>
<p>I was really proud of what we&#8217;d done with the prototype <a href="http://uvisitor.com">http://uvisitor.com</a>. At least until I saw what everyone else had done. Ouch! Now that stuff is impressive. <a href="http://www.accesscity.co.uk">AccessCity</a> did four APIs to the webservice they&#8217;d built and an iphone app on top of one of them (ouch ouch). We-need did novel UI stuff (appropriate for their target market) and clever information visualization. Good gym actually ran after runners on the canal and got video of them signing up to join the website. OwnGrown seemed to have implemented a full trading system, as well as doing their first delivery during their talk. Do I have to go on?</p>
<p>The weekend was so packed with ideas and people (and code!) it seemed to pass by in a whizz, at the same time as feeling like it went by  in slow motion. I have a feeling it&#8217;s a weekend that will last for a long time.</p>
<p><em>UPDATE: I wrote this late at night, so I forgot the really obvious&#8230; a major thank you to all at <a href="http://www.sicamp.org">SICamp</a> for setting it all up, and all at and in the <a href="http://www.youngfoundation.org/">Young Foundation</a> for putting us up and putting up with us (and our aftermath)!<br />
</em><br />
<em>UPDATE: Filled in Tim Jackson&#8217;s last name<br />
</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=40&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2008/12/09/busy-weekend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>

		<media:content url="http://farm4.static.flickr.com/3027/3092917232_8977a71645.jpg" medium="image">
			<media:title type="html">I was a useful visitor at sicamp08</media:title>
		</media:content>
	</item>
		<item>
		<title>No coding required?</title>
		<link>http://red56.wordpress.com/2008/10/18/no-coding-required/</link>
		<comments>http://red56.wordpress.com/2008/10/18/no-coding-required/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 10:30:14 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=33</guid>
		<description><![CDATA[Reading a thread on the mysociety list, which discusses a posting showing a mashup technique &#8220;with no coding required&#8221; and a subsequent critique of the specific mapping presentation to which this technique was put, led me to think about how screen scraping adds or removes value from it source data. My first response was that [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=33&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Reading <a href="https://secure.mysociety.org/admin/lists/pipermail/developers-public/2008-October/002933.html">a thread on the mysociety list</a>, which discusses a <a href="http://ouseful.wordpress.com/2008/10/14/data-scraping-wikipedia-with-google-spreadsheets/">posting showing a mashup technique</a> &#8220;with no coding required&#8221; and a <a href="http://posthegemony.blogspot.com/2008/10/kewel.html">subsequent critique</a> of the specific mapping presentation to which this technique was put, led me to think about how screen scraping adds or removes value from it source data. My first response was that the two parts of the online discussion &#8211; technique and usage &#8211; were separate evaluations that shouldn&#8217;t be conflated.</p>
<p><span id="more-33"></span>After all, doesn&#8217;t the technique just guarantee an easier point of entry to the practice of screen-scraping (which mysociety&#8217;s sites themselves rely on)? A technique &#8220;with no coding required&#8221;, &#8220;an easy way for people to get into this sort of thing if they don&#8217;t have the coding skills of others&#8221;.</p>
<p>But. the two questions &#8211; technique and usage &#8211; are related, because if no shining example of the technique can be found, is it a valid technique? Perhaps one might argue, some people should be focused on technique (this is part of the domain of, say, software development), whereas others (statisticians, information designers, authors) should be focused on usage&#8230; and thus a technique might be neutral.</p>
<p>While described as &#8220;no coding required&#8221;, a glance at <a href="http://ouseful.wordpress.com/2008/10/14/data-scraping-wikipedia-with-google-spreadsheets/">the original post</a>, shows that, while no specific programming language is being used, there is coding going on (see Bonnie Nardi&#8217;s description of excel as a user-programming language in &#8220;A Small Matter of Programming&#8221;). The coding that&#8217;s going on is a form of re-presentation &#8211; taking data from one format (a textual table) and translating it onto a map.</p>
<p>The usage of similar forms of screen-scraping by mysociety websites is in the form of taking multiple sources of data and rather than just representing each, finding new value by aggregating (and/or re-partitioning them) in novel ways. This requires all the trappings of typical &#8220;coding&#8221; &#8211; hard work development involving persistent databases, coping with long-term changes in data and managing servers and server-loaded code.</p>
<p>All screen-scraping inevitably involves some stripping out of data (even if it is only of original context). There must be someway of adding back some new value for any screen scraping to</p>
<p>And it is precisely this &#8220;coding&#8221; that enables the value in mysociety sites. Is it possible that the technique, which doesn&#8217;t add value in the form of aggregation or repartitioning (filtering) but just &#8220;re-presents&#8221; the data, might be used in a context where radical value was added simply through a new presentation form, but I wonder if that&#8217;s possible&#8230; with &#8216;no coding required&#8217;.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=33&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2008/10/18/no-coding-required/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>
	</item>
		<item>
		<title>Reflections on how an iterative attitude can reduce costs</title>
		<link>http://red56.wordpress.com/2008/09/05/reflections-on-how-an-iterative-attitude-can-reduce-costs/</link>
		<comments>http://red56.wordpress.com/2008/09/05/reflections-on-how-an-iterative-attitude-can-reduce-costs/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 11:17:19 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=28</guid>
		<description><![CDATA[As part of the process for trying to get Clever Plugs onto the BBC commissioning roster for on-air graphics, we had to reflect on how we would help the BBC reduce costs. So I wrote the following about why I thought our approach -  iterative,  tendency agile (see e2x&#8217;s article on sustainable software for an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=28&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>As part of the process for trying to get <a title="Clever Plugs" href="http://www.cleverplugs.com">Clever Plugs</a> onto the BBC commissioning roster for on-air graphics, we had to reflect on how we would help the BBC reduce costs. So I wrote the following about why I thought our approach -  iterative,  tendency agile (see <a href="http://www.e2x.co.uk/resources/Delivering%20Software%20Sustainably.pdf">e2x&#8217;s article on sustainable software</a> for an interesting differentiation here).</em></p>
<p>We work with the latest technologies and with only the highest standard of multi-disciplinary developers and designers. These are both ways of cutting costs, but can also present risks (latest technologies carry unknowns, highest standard of developers delivery quality, but are expensive). For this reason we find that risk is the highest factor affecting cost, and we dedicate our working practices to controlling and reducing risk within the project, aiming to have a smooth curve in the decline in risk over the course of project&#8217;s timeline.</p>
<p>To do this, we use best practices &amp; methodologies from the agile methods of software methodology (see <a title="Martin Folwer on &quot;The New Methodology&quot;" href="http://www.martinfowler.com/articles/newMethodology.html">Martin Fowler on the New Methodology</a> and <a title="The Agile Manifesto - short and very high level" href="http://agilemanifesto.org">The Agile Manifesto</a>). Overall this means focusing on interactions amongst the team, working software, and collaboration with our customer to achieve the needs of the project over its lifetime.</p>
<p><em>This leads to practical impact on what we don&#8217;t do, what we do do, and then how this reduces cost&#8230;</em></p>
<p><span id="more-28"></span></p>
<p><strong>What we don&#8217;t do</strong><br />
In particular, we do not believe that it is worth spending a large tranche of time at the beginning of a project, writing up long specification documents, and engaging in back and forth between client and ourselves ironing out these documents until they are perfect. This is because these documents are often a major source of cost drain. Not only do they take time themselves, but they (perhaps somewhat counter intuitively) add to project risk. They seem to promote good understanding  &#8211; but with a focus on description of software rather than delivered software &#8211; and there is still a large gap (wherein a large risk) between the words of description and the delivery. Until software is actually coded, understanding what is achievable (at a high quality and within a reasonable time span) cannot be known. By fixating on a given specification, easy wins that come up during development cannot be capitalized on, and resources may focus on one hard immovable task. With so much communication and work gone on in the specification phase, during development, teams have a tendency to go uncommunicative. In order to deliver to a fixed feature set contract, punitive change control charges encourage everyone to minimize. Teamwork across client and supplier are discouraged.</p>
<p><strong>What we do do</strong><br />
Of course it is necessary to establish common ground and focus.  We aim to first have a clear shared understanding of the context of the commissioned  project, including its aims and the outcomes and targets for our software. With this high-level view understood, the team (commissioner and supplier together) pick the most critical, small, achievable piece of functionality, and we progress that as soon as possible to working software, and deliver it to the customer. Things that are included in this software are working production quality code. This is not a prototype or mock up, or a rough draft. It is version 1 (of many version). All sorts of things can be added, improved, but the basic code quality is fixed at an initial (high) level. Code is subjeced to automatic tests (the (separate) body of test-code grows and grows through the lifecycle of the project -  a large body of &#8220;regression tests&#8221; ensuring that new functionality added doesn&#8217;t unintentionally remove or corrupt previous functionality).</p>
<p>This means risk has gone down. The gap between expectation and actual delivery has been lessened &#8211; so any misunderstandings or wrong directions can be corrected. The next step is to collectively choose &#8211; what is missing &#8211; why couldn&#8217;t this be used as it is? Usually, although many things may come up, one or two are in some way more critical or core to the project. These are then discussed and simply described, coded (and tested) and delivered. This then becomes of cycle of progressive improvement of the technology.</p>
<p>As time passes (in day or in weeks, depending on the agreed schedule of the project), the project team sees the software approach its delivery targets &#8211; quality being of a consistent standard, and more functionality being delivered to ongoing specification.</p>
<p><strong>How this reduces cost</strong><br />
Time is not wasted specifying things that cannot or should not or will not be built. Communication gaps are kept to a minimum and forced out into the open as soon as possible. Risk is lowered over the course of the project. Budgets can be fixed and most high priority functionality focused on. Ongoing communications and delivery helps encourage transparency, trust and teamwork.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/red56.wordpress.com/28/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/red56.wordpress.com/28/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=28&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2008/09/05/reflections-on-how-an-iterative-attitude-can-reduce-costs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>
	</item>
		<item>
		<title>Write it on an index card</title>
		<link>http://red56.wordpress.com/2008/03/27/write-it-on-an-index-card/</link>
		<comments>http://red56.wordpress.com/2008/03/27/write-it-on-an-index-card/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 10:28:08 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[workflow]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=21</guid>
		<description><![CDATA[I am a fan of index cards and always have been. However index cards always end up being only a tentative experiment for me &#8211; from the days as I child where I would try to &#8220;categorize everything&#8221; into cards (I had several index card boxes with partial categorizations) &#8211; somehow this frustrated my parents [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=21&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am a fan of index cards and always have been. However index cards always end up being only a tentative experiment for me &#8211; from the days as I child where I would try to &#8220;categorize everything&#8221; into cards (I had several index card boxes with partial categorizations) &#8211; somehow this frustrated my parents greatly (Now as a parent I can begin to understand this).</p>
<p>I tried the &#8216;<a href="http://www.43folders.com/2004/09/03/introducing-the-hipster-pda">Hipster PDA</a>&#8216; index-cards-as-organizer thing &#8211; at different times in my life (yes, even before they blogged about it), but only ever for a while. It&#8217;s fun while it lasts (till my backing cardboard gets too bent and all my rubber bands snap ).</p>
<p>I&#8217;ve tried doing <a href="http://c2.com/cgi/wiki?CrcCard">CRC</a> cards, too (though never really caught on with me).</p>
<p>And then there&#8217;s <a href="http://c2.com/cgi/wiki?StoryCard">story cards</a>. We had a great experience with running sodaplay development with these for a while &#8211; until some of us needed to work remotely. Since then we&#8217;ve had some good experience of transferring the principles to <a href="http://trac.edgewall.org/">Trac</a>, but the mystique (and discipline!) of story cards (that derives in many ways from the physical features (let&#8217;s say, affordances, even) of index cards)  is missing.</p>
<p>Enter <a href="http://studios.thoughtworks.com/mingle-project-intelligence">Mingle</a>, perhaps?</p>
<p>This is a rather exciting* looking offering from thoughtworks (which seems to be crossing the consultancy-product gap in interesting ways) which seems to combine the virtuality of a trac-like system with some of the power of index cards. Plus oodles of optional process-y stuff (that trac largely eschews).</p>
<p><i>*&#8217;exciting&#8217;: perhaps only understood in context, and maybe only if you are a process-anorak (oh dear, that must make me one). </i></p>
<p>In some ways, I like the look of Mingle (I have to admit I haven&#8217;t tried it out, but only looked through the tour). However as a micro-business, with tiny (1-5 person) teams, all it does for me is increase my frustration with trac &#8211; don&#8217;t get me wrong, I do love trac, but it is aiming at a slightly different audience -  opensource and product-management, I&#8217;d say, rather than project iteration management.</p>
<p>But Mingle&#8217;s not aiming for my segment of the market either, as at least evidenced from the price point. It is just too steep a hike away from even the most luxurious of hosted trac offerings. And in any case that price is license-only (unhosted).</p>
<p>The per-user pricing also hits if you are project-focused (which red56 is) &#8211; because the team needs to include one or more customers, each of which need to be a team member (interestingly the customer isn&#8217;t really a part of most of the tour &#8211; are index cards meant to be only part of the development &#8216;back room&#8217;?)</p>
<p>This probably adds up to a request for a different product &#8211; hosted, aimed at smaller companies, and probably with some of the issue tracking features of trac as well (after all a bug/enhancement ticket/issue is part of the pipeline towards becoming a story  &#8211; though some (notably <a href="http://www.37signals.com/svn/archives2/getting_real_forget_feature_requests.php">37signals</a>) disagree). Perhaps someone will write this application, launch a hosted service, sign me up and start billing me for it &#8211; or just tell me about it (send me one of those index cards with pictures on the back).</p>
<p>One odd thing that strikes me about Mingle &#8211; a &#8216;project collaboration and management tool for Agile software development&#8217;. Isn&#8217;t agile meant to be about <a href="http://agilemanifesto.org/">&#8220;Individuals and interactions over processes and tools&#8221;</a>? How do we measure that against promotion in Mingle of  features that &#8220;make it easy to ensure adherence to project compliance&#8221;?</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/red56.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/red56.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=21&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2008/03/27/write-it-on-an-index-card/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>
	</item>
		<item>
		<title>URIs, URLs, Names, Locators and Links</title>
		<link>http://red56.wordpress.com/2008/02/28/uris-urls-names-locators-and-links/</link>
		<comments>http://red56.wordpress.com/2008/02/28/uris-urls-names-locators-and-links/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 13:48:28 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=19</guid>
		<description><![CDATA[I was about to write a quick post on why I&#8217;m fussy about what URLs look like (see below Locator + Name = Good), and thought there was an important distinction  between URI s/URNs and URLs. Then I googled to check my terminology and discovered that not only was I wrong, but it was hard [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=19&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was about to write a quick post on why I&#8217;m fussy about what URLs look like (see below Locator + Name = Good), and thought there was an important distinction  between URI s/<strike>URNs</strike> and <strike>URLs</strike>. Then I googled to check my terminology and discovered that not only was I wrong, but it was hard to find a good succinct definition. I aim to clarify here the best-practice terminology of the basic building block of the web &#8220;URI&#8221; and the important notions of URI that are &#8220;names&#8221; (formerly URNs)  and  URIs that are &#8220;locators&#8221; (formerly URLs).<br />
<span id="more-19"></span></p>
<h3>Simple definitions:</h3>
<p>The basic story is, that a <b>URI</b> (Universal Resource Indicator) is the general term, and that URLs (L for locator) are things that locate them (in simple language you can paste a URL into a application like a browser/email client/ftp client and it should know where to find it. One might think &#8211; well what else could a URI be? An example could be, a unique way of referring to a book by its ISBN number (isbn:0714844403). <i>NB: The http:// or isbn: at the beginning is part of the URI-scheme (a format for defining a recognizable URI)</i>. If something is only a name it is ocassionally called a URN (N for name). However URL and URN are now viewed as being unnecessary partitionings &#8211; instead a URI may be a locator, and/or it may be a name.</p>
<p>A <b>locator</b> can be (simplistically) a &#8220;link&#8221; (the target of a hyperlink). This makes it very tangible and graspable by most internet users.</p>
<p>A <b>name</b> can be something that uniquely identifies/represents or corresponds to something or someone. This is a more abstract concept which is in the past has only been important largely for programmers and the digerati/webnoscenti.</p>
<h3>Sources/References:</h3>
<p>The most common source for defining URIs and URLs is the W3C page <a href="http://www.w3.org/Addressing/">Naming and Addressing: URIs, URLs, &#8230;</a> However the three dots are a give away, that nothing is actually resolved on this page, and within the jumble of links and metadata it is hard to find an authoritative source. Elsewhere for example, Tim Bray argues that, officially, <a href="http://www.tbray.org/ongoing/When/200x/2003/02/27/URL">&#8220;There is no such thing as a URL&#8221;</a>. This is definitely wrong: According to <a href="http://en.wikipedia.org/wiki/Internet_Engineering_Task_Force" title="Wikipedia article on the IETF (Internet Engineering Task Force)">the IETF</a> (who really are the authoritative source)  <a href="http://tools.ietf.org/html/rfc3986#section-1.1.3">RFC3986 section 1.1.3 URI, URL, and URN</a> is the current &#8216;truth&#8217;. <i>If you need more detail, there is in fact an entire <a href="http://en.wikipedia.org/wiki/Request_for_Comments" title="Wikipedia article on RFCs (Requests for Comment)">RFC</a> dedicated to the topic of the terms, and why the confusion has arisen (<a href="http://tools.ietf.org/html/rfc3305">RFC3305</a>).</i> The word URL  still means what it always did &#8211; the location of something within compter-findable space (a web page, an ftp location, an email address&#8230;.) &#8211; URLs are a specific subset of URIs &#8211; but the term is not that useful for definitive documentation as the &#8220;name&#8221; and &#8220;locator&#8221; aspects of URIs are not disjoint subsets, but overlapping.</p>
<h3>Implications</h3>
<p>This disposal of the terms URL and URN is useful &#8211; because it allows one to see what happens when the &#8220;locator&#8221; and &#8220;name&#8221; aspects of URIs overlap, or not&#8230;</p>
<h4>Locator + Name  = Good</h4>
<p>However it gets more intersting for everyone when a URI is both a name and a locator &#8211; particularly when this is the canonical form of the name. This name can then be a token which can be passed around, but also inspected for its meaning (by typing into a web browser&#8217;s location field).  This is one of the bases of many effective and lightweight web phenonmena &#8211; lightweight APIs, blog permalinks, and (relatively) new phenomena like the socialgraphing, and XFN. As web users increasingly have to manage their own online identities through multiple intertwinglable social networking sites, the idea of the link that is also a name (as is implicit in XFN) will become important. URLs are great when they are names as well as locators, but are even better when their form (the words and format they use) is expressive of their &#8220;namefulness&#8221;, and explain their own contruction.</p>
<h4>Locator &#8211; Name = Broken links</h4>
<p>When you have a locator which is not a name, you have basically some arbitrary text string giving you a page, which often has its form of technology embedded in it (URIs ending in .jsp, .asp, .do, .action or encoding data in the querystring ?id=nnnn). The linkage is an arbitrary result of the creation of the site, and it is highly likely that these old URIs will not and cannot be preserved when the site is migrated to a new technology.</p>
<h4>Name &#8211; Locator = Confusion</h4>
<p>The converse is scary, when a URI looks like a locator (e.g. it is a http URI) but it is NOT a locator only a name. Most of the time this doesn&#8217;t happen. A good case where it does come is in XML Schemas: in namespacing for example &#8211; in which the namespace is defined by a URI with an http URI-schema, but that doesn&#8217;t demand that the URI works as a locator but is just a unique name (it could (and often does) generate a 404 when typed in a browser).  However it is much more confusing with the XML Schema schemaLocation attribute:</p>
<blockquote><p><i> The <a href="http://www.w3.org/TR/xmlschema-0/#attribute-schemaLocation">schemaLocation</a>       attribute value consists of one or more pairs of URI references,       separated by white space. The first member of each pair is a namespace       name, and the second member of the pair is a hint describing where to       find an appropriate schema document for that namespace.  [<a href="http://www.w3.org/TR/xmlschema-0/#schemaLocation">W3C Schema Primer</a>] </i></p></blockquote>
<p>This means that a schemaLocation contains a http-URI that is not a locator (not a URL!) followed by a space followed by a http-URI that is a locator. Hmm. Makes sense to me now (after six or seven years of battling with XML Schemas&#8230;).</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/red56.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/red56.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=19&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2008/02/28/uris-urls-names-locators-and-links/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>
	</item>
		<item>
		<title>writing gap, or, alt-control-delete</title>
		<link>http://red56.wordpress.com/2008/02/01/alt-control-delete/</link>
		<comments>http://red56.wordpress.com/2008/02/01/alt-control-delete/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 02:20:47 +0000</pubDate>
		<dc:creator>Tim Diggins</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://red56.wordpress.com/?p=14</guid>
		<description><![CDATA[Hit &#8216;alt-control-delete&#8217; to restart this blog, or at least show the running processes. (Actually though, I&#8217;m now on a mac, so mostly shouldn&#8217;t need to refer to those keys anymore). I keep re-reading Joel Spolsky (whose last name is not, I discover, &#8220;on Software&#8221; &#8211; not, then, a member of some kind of minor german [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=14&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hit &#8216;alt-control-delete&#8217; to restart this blog, or at least show the running processes. (Actually though, I&#8217;m now on a mac, so mostly shouldn&#8217;t need to refer to those keys anymore).</p>
<p>I keep re-reading <a href="http://www.joelonsoftware.com/" title="Joel on Software">Joel Spolsky</a> (whose last name is not, I discover, <i>&#8220;on Software</i>&#8221; &#8211; not, then, a member of some kind  of minor german nobility) emphasizing that good programmers must be <a href="http://www.shelfari.com/books/71108/The-Best-Software-Writing-I-Selected-and-Introduced-by-Joel-Spol" title="Speaking of good software writing...">good writers</a>. Well, actually when I google for him saying it, I find <a href="http://www.joelonsoftware.com/articles/SortingResumes.html" title="on this page">he actually says</a>:</p>
<blockquote><p><i>&#8230;years of experience working with programmers have taught me that programmers who can communicate their ideas clearly are going to be far, far more effective than programmers who can only really communicate well with the compiler. </i></p></blockquote>
<p>and <a href="http://www.joelonsoftware.com/articles/fog0000000036.html">elsewhere</a> goes so far as to say:</p>
<blockquote><p><span id="more-14"></span><i>If you&#8217;re a software development manager and the people who are supposed to be writing specs aren&#8217;t, send them off for one of those two week creative writing classes in the mountains. </i></p></blockquote>
<p>I don&#8217;t always agree what Joel says but it&#8217;s always strongly argued, and he does have a bit of experience. Maybe there&#8217;s something to it. Besides, I&#8217;ve been experiencing what I might call a writing gap &#8211; the gap between feeling I ought to be writing and actually having written something. But that gap (what, in university, would be called an &#8220;essay crisis&#8221;) has extended for me, for some twenty years &#8211; since thinking, in the midst of an essay crisis, that I really didn&#8217;t enjoy writing essays, and I would be better off doing <a href="http://www.google.com/search?q=chelsea+school+of+art+alternative+media">something else</a>.</p>
<p>This flight from writing lead me to working in software, where of course the acts of pitching and then speccing (and worse, delivering &#8216;specs&#8217;) necessarily involves much writing, although more and more effective speccing (I discovered) could be done with <a href="http://office.microsoft.com/en-gb/powerpoint/default.aspx">less and less</a> (although some may <a href="http://www.wired.com/wired/archive/11.09/ppt2.html">beg to differ</a>).</p>
<p>Inevitably, I found myself, like Alice through the looking-glass, <a href="http://portal.acm.org/results.cfm?query=ProfileID%3A81100427087&amp;querydisp=ProfileID%3A81100427087&amp;coll=GUIDE&amp;dl=GUIDE&amp;CFID=14466117&amp;CFTOKEN=23076783" title="a couple of papers so far...">getting involved in writing papers</a>.</p>
<p>And above all, I can&#8217;t hide in my code &#8211; Joel tells me (and he&#8217;s so right) that it&#8217;s all about communication.</p>
<p>My main aim then, in &#8216;rebooting&#8217; this blog (kickstarted with the posts from being Technical Director at <a href="http://soda.co.uk">Soda Creative</a>), is to get myself writing again on subjects that connect my work in software with the world of people &#8211; groups, users, other developers. I&#8217;m not really worried about the outside audience yet (I&#8217;m mostly talking to myself), so don&#8217;t be surprised if (by <a href="http://www.bleb.org/random/">some strange quirk of fate</a> you&#8217;ve arrived here) that the posts are in a perhaps rough &amp; ready state.</p>
<p>A word about dates: I&#8217;m planning to write things up on this blog, as of the date they were written (in whatever form) &#8211; this blog is then a form of record, rather than a publishing medium.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/red56.wordpress.com/14/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/red56.wordpress.com/14/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/red56.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/red56.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/red56.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/red56.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/red56.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/red56.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/red56.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/red56.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/red56.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/red56.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/red56.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/red56.wordpress.com/14/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/red56.wordpress.com/14/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/red56.wordpress.com/14/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=red56.wordpress.com&amp;blog=2588012&amp;post=14&amp;subd=red56&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://red56.wordpress.com/2008/02/01/alt-control-delete/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/50c1cc2ee31d7b746ae0eb2a3e73c953?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">red56</media:title>
		</media:content>
	</item>
	</channel>
</rss>
