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

<channel>
	<title>follow the white rabbit</title>
	<atom:link href="http://blog.ftwr.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ftwr.co.uk</link>
	<description>Random commentary...</description>
	<lastBuildDate>Thu, 26 Aug 2010 21:21:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>Happiness in Lisbon</title>
		<link>http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/</link>
		<comments>http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 21:21:08 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Photos]]></category>
		<category><![CDATA[automattic]]></category>
		<category><![CDATA[happiness]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=467</guid>
		<description><![CDATA[As part of my slow run in to my new job with Automattic I had the pleasure to spend a week out in Lisbon with the Happiness team getting to know them and learning about all the things they would like me to do. While I was there I also took a few photos:]]></description>
			<content:encoded><![CDATA[<p>As part of my slow run in to my <a href="http://blog.ftwr.co.uk/archives/2010/08/23/switching-from-manual-to-automattic/">new job</a> with Automattic I had the pleasure to spend a week out in Lisbon with the Happiness team getting to know them and learning about all the things they would like me to do.</p>
<p>While I was there I also took a few photos:</p>

<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5968/' title='CRW_5968'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5968-150x150.jpg" class="attachment-thumbnail" alt="CRW_5968" title="CRW_5968" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5930/' title='CRW_5930'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5930-150x150.jpg" class="attachment-thumbnail" alt="CRW_5930" title="CRW_5930" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5920/' title='CRW_5920'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5920-150x150.jpg" class="attachment-thumbnail" alt="CRW_5920" title="CRW_5920" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5882/' title='CRW_5882'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5882-150x150.jpg" class="attachment-thumbnail" alt="CRW_5882" title="CRW_5882" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5979/' title='CRW_5979'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5979-150x150.jpg" class="attachment-thumbnail" alt="CRW_5979" title="CRW_5979" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5977/' title='CRW_5977'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5977-150x150.jpg" class="attachment-thumbnail" alt="CRW_5977" title="CRW_5977" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5970/' title='CRW_5970'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5970-150x150.jpg" class="attachment-thumbnail" alt="CRW_5970" title="CRW_5970" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5954-2/' title='CRW_5954'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_59541-150x150.jpg" class="attachment-thumbnail" alt="CRW_5954" title="CRW_5954" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5946/' title='CRW_5946'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5946-150x150.jpg" class="attachment-thumbnail" alt="CRW_5946" title="CRW_5946" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5944/' title='CRW_5944'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5944-150x150.jpg" class="attachment-thumbnail" alt="CRW_5944" title="CRW_5944" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5934/' title='CRW_5934'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5934-150x150.jpg" class="attachment-thumbnail" alt="CRW_5934" title="CRW_5934" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5913/' title='CRW_5913'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5913-150x150.jpg" class="attachment-thumbnail" alt="CRW_5913" title="CRW_5913" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5908/' title='CRW_5908'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5908-150x150.jpg" class="attachment-thumbnail" alt="CRW_5908" title="CRW_5908" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5900/' title='CRW_5900'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5900-150x150.jpg" class="attachment-thumbnail" alt="CRW_5900" title="CRW_5900" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5896/' title='CRW_5896'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5896-150x150.jpg" class="attachment-thumbnail" alt="CRW_5896" title="CRW_5896" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/crw_5864/' title='CRW_5864'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/CRW_5864-150x150.jpg" class="attachment-thumbnail" alt="CRW_5864" title="CRW_5864" /></a>

<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2010/08/26/happiness-in-lisbon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Switching from Manual to Automattic</title>
		<link>http://blog.ftwr.co.uk/archives/2010/08/23/switching-from-manual-to-automattic/</link>
		<comments>http://blog.ftwr.co.uk/archives/2010/08/23/switching-from-manual-to-automattic/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 21:24:54 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[automattic]]></category>
		<category><![CDATA[dotcom]]></category>
		<category><![CDATA[dotorg]]></category>
		<category><![CDATA[happiness]]></category>
		<category><![CDATA[job]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=456</guid>
		<description><![CDATA[Over the past few years I have been an active member of the WordPress.org community in my spare time whilst having a day job which was completely unrelated to WordPress.  I have found it a useful learning experience, gaining knowledge from all the smart people we have in the community and have also found it [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few years I have been an active member of the WordPress.org community in my spare time whilst having a day job which was completely unrelated to WordPress.  I have found it a useful learning experience, gaining knowledge from all the smart people we have in the community and have also found it rewarding to help people realise their full potential.</p>
<p>This level of enjoyment has led me to consider at a number of points in time whether or not I should switch job and work full-time on WordPress.org as a freelance consultant or as an Automattician.  In the end it felt like the right thing for me to do was to apply to be an Automattician.  This will hopefully ensure that I have a dependable long-term income stream and the ability to spend my spare time on the things I love: Music, Photography, Food, and of course WordPress.</p>
<p>It is with great pleasure that I am therefore able to reveal that I will soon be switching and starting a full-time job working for Automattic as a &#8220;Happiness Gardener&#8221;.</p>
<p>So what does this mean, I hear you cry?  Well to me it means a number of things:</p>
<p>First of all I will be getting to work with the fantastic team at Automattic on a daily basis and helping the Happiness Engineers to improve the tools they have, and the experience bloggers have, by working to remove some of the issues which are a frequent source of support tickets.</p>
<p>Secondly this means that I will have an easier time structuring my work around contributing to the core of WordPress.org.  In the short-term my availability to work on WordPress.org may be reduced solely because there are a lot of things the Happiness Engineers would like me to do to make it easier for them to ensure that all of the bloggers on WordPress.com are as happy as they could be.  In the long-term I hope to be able to spend some of my work time working on WordPress.org and helping Automattic give back to the community even more than it already does.</p>
<p>Thirdly it means that I might be able to attend a few more WordCamps in order to listen to community feedback in person and answer questions on both WordPress.org and WordPress.com.  I am certainly not going to stop listening to the feedback from the community at large or focus my WordPress.org contributions on things which Automattic want to be done.  I think one of the most positive things about WordPress.org is that it is a meritocracy and everyone can play a part, my new job will not change my attitude or contributions.  I want the WordPress.org community to continue to grow organically as it has over the past years, and together we can all ensure that WordPress.org continues to be the simplest and most beautiful open-source online publishing platform.</p>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2010/08/23/switching-from-manual-to-automattic/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Sound Mirrors at Denge</title>
		<link>http://blog.ftwr.co.uk/archives/2010/08/08/sound-mirrors-at-denge/</link>
		<comments>http://blog.ftwr.co.uk/archives/2010/08/08/sound-mirrors-at-denge/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 21:41:44 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Photos]]></category>
		<category><![CDATA[denge]]></category>
		<category><![CDATA[sound mirror]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=436</guid>
		<description><![CDATA[Today we went to see the Sound Mirrors at Denge which is a former Royal Air Force site close to Dungeness in Kent. The guided tour was organised by the Romney Marsh Countryside Project and included detailed information and stories about the mirrors.]]></description>
			<content:encoded><![CDATA[<p>Today we went to see the Sound Mirrors at <a href="http://en.wikipedia.org/wiki/Denge" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Denge?referer=');">Denge</a> which is a former Royal Air Force site close to Dungeness in Kent.</p>

<a href='http://blog.ftwr.co.uk/archives/2010/08/08/sound-mirrors-at-denge/30ft-mirror/' title='30ft Mirror'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/30ft-Mirror-150x150.jpg" class="attachment-thumbnail" alt="30ft Mirror" title="30ft Mirror" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/08/sound-mirrors-at-denge/30ft-mirror-side-on/' title='30ft Mirror side on'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/30ft-Mirror-side-on-150x150.jpg" class="attachment-thumbnail" alt="30ft Mirror side on" title="30ft Mirror side on" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/08/sound-mirrors-at-denge/little-and-large/' title='Little and Large'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/Little-and-Large-150x150.jpg" class="attachment-thumbnail" alt="Little and Large" title="Little and Large" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/08/08/sound-mirrors-at-denge/sound-mirrors/' title='Sound Mirrors'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/08/Sound-Mirrors-150x150.jpg" class="attachment-thumbnail" alt="Sound Mirrors" title="Sound Mirrors" /></a>

<p>The guided tour was organised by the <a href="http://www.rmcp.co.uk/NoticeBoard.php" onclick="pageTracker._trackPageview('/outgoing/www.rmcp.co.uk/NoticeBoard.php?referer=');">Romney Marsh Countryside Project</a> and included detailed information and stories about the mirrors.</p>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2010/08/08/sound-mirrors-at-denge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Sussex and Surrey meetup group</title>
		<link>http://blog.ftwr.co.uk/archives/2010/07/28/wordpress-sussex-and-surrey-meetup-group/</link>
		<comments>http://blog.ftwr.co.uk/archives/2010/07/28/wordpress-sussex-and-surrey-meetup-group/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 17:29:26 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=430</guid>
		<description><![CDATA[As I mentioned in my previous post I&#8217;m thinking of starting a meetup group for all things WordPress in the Sussex and Surrey areas. I&#8217;m not sure of the exact format yet but I&#8217;m thinking if we start with small ambitions and try organise a monthly meetup for users and developers interested in WordPress and [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in my <a href="http://blog.ftwr.co.uk/archives/2010/07/19/thoughts-on-wordcampuk-2010/">previous post</a> I&#8217;m thinking of starting a meetup group for all things WordPress in the Sussex and Surrey areas.</p>
<p>I&#8217;m not sure of the exact format yet but I&#8217;m thinking if we start with small ambitions and try organise a monthly meetup for users and developers interested in WordPress and any of its sister projects.</p>
<p>I am thinking of organising something on a week night with the first meetup to happen in August and then try to arrange them to occur on a monthly basis.</p>
<p>So as I can get an idea of interested numbers and ideal locations please comment on this post if you would be interested in attending letting me know if there are any week nights you can&#8217;t do and with the area you would be travelling from so I can try to pick somewhere that is easily accessible to as many people as possible.</p>
<p>Once I&#8217;ve got a good idea of numbers and localities I will arrange the first meetup.</p>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2010/07/28/wordpress-sussex-and-surrey-meetup-group/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Thoughts on #wordcampuk 2010</title>
		<link>http://blog.ftwr.co.uk/archives/2010/07/19/thoughts-on-wordcampuk-2010/</link>
		<comments>http://blog.ftwr.co.uk/archives/2010/07/19/thoughts-on-wordcampuk-2010/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 20:59:52 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordcamp]]></category>
		<category><![CDATA[wordcampuk]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=420</guid>
		<description><![CDATA[This past weekend was the 3rd WordCamp to be held in the UK and I had a great time both as a speaker and a participant.  It is great to see how the event has grown over the past 2 years from a small affair with around 50 attendees up to one with around 150. [...]]]></description>
			<content:encoded><![CDATA[<p>This past weekend was the 3rd WordCamp to be held in the UK and I had a great time both as a speaker and a participant.  It is great to see how the event has grown over the past 2 years from a small affair with around 50 attendees up to one with around 150.</p>
<p>I am really impressed with the way in which a disparate group of people have pulled together with little central coordination and pulled together a great event. However I do think that we need to sit back and reflect on where we have come from where we are going and what is going to serve the community at large.  The community of WordPress users and developers has grown at an astounding rate over the past few years and so has the number of WordCamps.</p>
<p>For me this years WordCamp had some great learning points for how we can do better &#8211; these come from things that have affected me directly and also feedback I have received from others.</p>
<ul>
<li>We need to get tickets on sale earlier &#8211; people like to organise their weekends and travel in advance</li>
<li>We need to organise the schedule better &#8211; having focused tracks for different audiences with a list of topics and presenters available in advance so that people can plan their schedule and know what they are going to find out.</li>
<li>We need to think about how we lay out the rooms &#8211; It was harder to get to know the other attendees this year because we were in front facing lecture theatre style layout rather than the Banquet/Cabaret style layout we&#8217;ve used in the past</li>
<li>We need to think about naming &#8211; WordCamps are big and small and I think that the UK community has reached the tipping point where it could support more than one some years. We could do more to emphasise that by thinking about the name and maybe name the next one after the City/Town/Region that it is held in to make it really obvious that other UK based WordCamps would be great.</li>
<li>I think we should try harder to organise some more regional groups to try an emulate the success that has been achieved in Manchester &#8211; I wonder how many people would be interested in a monthly WordPress Sussex meetup?  Let me know!</li>
<li>We need to think more about the social events &#8211; It was great to get to visit FAC251 but it really wasn&#8217;t the best venue for networking and talking to other WordPress users / developers &#8211; I would have much preferred a quieter venue where I could have actually talked to people and not felt like I was melting.</li>
<li>We need to consider focussing on a single kick-ass day of major sessions and the leaving the second day for more informal networking and BarCamp style lightning talks &#8211; this is a format that quite a few other WordCamps around the world are using with great success and ensures that there is lots of time for the spontaneous connections to be made.</li>
</ul>
<p>I know that some of these suggestions may seem controversial, and I&#8217;ve read about the wrap-up session that I missed, but we should remember that anyone in the community at large has the right to organise another WordCamp and if there are people in the UK that would like to organise other &#8220;competing&#8221; events I think we should try as hard as possible to support them in any way we can &#8211; we know how difficult it was to get the first event off the ground and have built an infrastructure of contacts and resources that they should be able to leverage to make it easier.</p>
<p>If you want to get involved in organising a WordCamp and want to find out more read on <a href="http://central.wordcamp.org/about/" onclick="pageTracker._trackPageview('/outgoing/central.wordcamp.org/about/?referer=');">here</a> and if you have any questions feel free to email me!</p>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2010/07/19/thoughts-on-wordcampuk-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Festival of Speed 2010 &#8211; Day 1</title>
		<link>http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/</link>
		<comments>http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 20:42:25 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Photos]]></category>
		<category><![CDATA[classic cars]]></category>
		<category><![CDATA[festival of speed]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=402</guid>
		<description><![CDATA[Some of my favourite photos from today Unfortunately, the one shot I got of Ken Block was just a blur!  Hopefully I&#8217;ll get some more tomorrow.]]></description>
			<content:encoded><![CDATA[<p>Some of my favourite photos from today</p>

<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5755/' title='CRW_5755'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5755-150x150.jpg" class="attachment-thumbnail" alt="CRW_5755" title="CRW_5755" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5743/' title='CRW_5743'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5743-150x150.jpg" class="attachment-thumbnail" alt="CRW_5743" title="CRW_5743" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5751/' title='CRW_5751'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5751-150x150.jpg" class="attachment-thumbnail" alt="CRW_5751" title="CRW_5751" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5771/' title='CRW_5771'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5771-150x150.jpg" class="attachment-thumbnail" alt="CRW_5771" title="CRW_5771" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5694/' title='CRW_5694'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5694-150x150.jpg" class="attachment-thumbnail" alt="CRW_5694" title="CRW_5694" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5753/' title='CRW_5753'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5753-150x150.jpg" class="attachment-thumbnail" alt="CRW_5753" title="CRW_5753" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5682/' title='CRW_5682'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5682-150x150.jpg" class="attachment-thumbnail" alt="CRW_5682" title="CRW_5682" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5689/' title='CRW_5689'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5689-150x150.jpg" class="attachment-thumbnail" alt="CRW_5689" title="CRW_5689" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5758/' title='CRW_5758'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5758-150x150.jpg" class="attachment-thumbnail" alt="CRW_5758" title="CRW_5758" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5699/' title='CRW_5699'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5699-150x150.jpg" class="attachment-thumbnail" alt="CRW_5699" title="CRW_5699" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5747/' title='CRW_5747'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5747-150x150.jpg" class="attachment-thumbnail" alt="CRW_5747" title="CRW_5747" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/crw_5740/' title='CRW_5740'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/07/CRW_5740-150x150.jpg" class="attachment-thumbnail" alt="CRW_5740" title="CRW_5740" /></a>

<p>Unfortunately, the one shot I got of Ken Block was just a blur!  Hopefully I&#8217;ll get some more tomorrow.</p>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2010/07/03/festival-of-speed-2010-day-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t blame the Kitteh</title>
		<link>http://blog.ftwr.co.uk/archives/2010/04/23/dont-blame-the-kitteh/</link>
		<comments>http://blog.ftwr.co.uk/archives/2010/04/23/dont-blame-the-kitteh/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 06:44:34 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Photos]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[kitteh]]></category>
		<category><![CDATA[meme]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=396</guid>
		<description><![CDATA[During last nights WordPress dev chat we got distracted by the Kitteh.  Now we have a WordPress Kitteh meme &#8211; http://cheezburger.com/View/3444964352 My contribution:]]></description>
			<content:encoded><![CDATA[<p>During last nights <a href="http://wpdevel.wordpress.com/2010/04/22/live-blog-of-apr-22nd-2010-dev-chat/" onclick="pageTracker._trackPageview('/outgoing/wpdevel.wordpress.com/2010/04/22/live-blog-of-apr-22nd-2010-dev-chat/?referer=');">WordPress dev chat</a> we got distracted by the <a href="http://brizzly.com/pic/25SX" onclick="pageTracker._trackPageview('/outgoing/brizzly.com/pic/25SX?referer=');">Kitteh</a>.  Now we have a WordPress Kitteh meme &#8211; <a href="http://cheezburger.com/View/3444964352" onclick="pageTracker._trackPageview('/outgoing/cheezburger.com/View/3444964352?referer=');">http://cheezburger.com/View/3444964352</a></p>
<p>My contribution:</p>
<div class="wp-caption aligncenter" style="width: 510px"><a href="http://cheezburger.com/View/3446980864" onclick="pageTracker._trackPageview('/outgoing/cheezburger.com/View/3446980864?referer=');"><img title="Ok intarwebs, sawry, working on 3.0 now" src="http://images.cheezburger.com/completestore/2010/4/22/129164777472495202.jpg" alt="Ok intarwebs, sawry, working on 3.0 now" width="500" height="375" /></a><p class="wp-caption-text">Ok intarwebs, sawry, working on 3.0 now</p></div>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2010/04/23/dont-blame-the-kitteh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More snow!</title>
		<link>http://blog.ftwr.co.uk/archives/2010/01/06/more-snow/</link>
		<comments>http://blog.ftwr.co.uk/archives/2010/01/06/more-snow/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 14:33:32 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Photos]]></category>
		<category><![CDATA[snow]]></category>
		<category><![CDATA[west sussex]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=387</guid>
		<description><![CDATA[It seems like we are in for a cold winter with even more snow falling overnight. I went out to see how deep it really is this time as it looked deeper than last time &#8211; it turns out we have about 15cm on the grass and about 19cm on the patio where a large [...]]]></description>
			<content:encoded><![CDATA[<p>It seems like we are in for a cold winter with even more snow falling overnight.</p>
<p>I went out to see how deep it really is this time as it looked deeper than last time &#8211; it turns out we have about 15cm on the grass and about 19cm on the patio where a large amount fell from the roof.</p>

<a href='http://blog.ftwr.co.uk/archives/2010/01/06/more-snow/grass-snow/' title='Grass Snow'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/01/Grass-Snow-150x150.jpg" class="attachment-thumbnail" alt="Depth of the snow on the grass" title="Grass Snow" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/01/06/more-snow/patio-snow/' title='Patio Snow'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/01/Patio-Snow-150x150.jpg" class="attachment-thumbnail" alt="Depth of the snow on the patio" title="Patio Snow" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/01/06/more-snow/lawn/' title='Lawn'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/01/Lawn-150x150.jpg" class="attachment-thumbnail" alt="Snow on the Lawn" title="Lawn" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/01/06/more-snow/trees-and-more-snow/' title='Trees and more snow'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/01/Trees-and-more-snow-150x150.jpg" class="attachment-thumbnail" alt="Snow on the trees" title="Trees and more snow" /></a>
<a href='http://blog.ftwr.co.uk/archives/2010/01/06/more-snow/drifts-from-the-roof/' title='Drifts from the roof'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2010/01/Drifts-from-the-roof-150x150.jpg" class="attachment-thumbnail" alt="Drifts of snow which dropped from the roof" title="Drifts from the roof" /></a>

<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2010/01/06/more-snow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mangling strings for fun and profit</title>
		<link>http://blog.ftwr.co.uk/archives/2010/01/02/mangling-strings-for-fun-and-profit/</link>
		<comments>http://blog.ftwr.co.uk/archives/2010/01/02/mangling-strings-for-fun-and-profit/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 17:03:36 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[gettext]]></category>
		<category><![CDATA[I10N]]></category>
		<category><![CDATA[I18N]]></category>
		<category><![CDATA[tranlation]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=383</guid>
		<description><![CDATA[As a WordPress lead developer, every time I see someone recommending editing a core WordPress file, a little bit of me dies. You should always avoid editing the core files and put your modifications into a plugin so as to ensure you have a smooth upgrade experience to a future WordPress version. Therefore inspired by [...]]]></description>
			<content:encoded><![CDATA[<p>As a WordPress lead developer, every time I see someone recommending editing a core WordPress file, a little bit of me dies.</p>
<p>You should always avoid editing the core files and put your modifications into a plugin so as to ensure you have a smooth upgrade experience to a future WordPress version.</p>
<p>Therefore inspired by the following <a href="http://wordpress.org/support/topic/347319" onclick="pageTracker._trackPageview('/outgoing/wordpress.org/support/topic/347319?referer=');">forum post</a> here is how to change one of the translatable strings in WordPress without hacking a core file using the filters available in the translation functions:</p>
<pre class="brush: php;">
&lt;?php
/*
 Plugin Name: PJW Translation Mangler
 Plugin URI: http://blog.ftwr.co.uk/#
 Description: Example of how to mangle translated strings.
 Author: Peter Westwood
 Version: 0.01
 Author URI: http://blog.ftwr.co.uk/
 */

class PJW_Translation_Mangler {
 /**
 * Filter the translation string before it is displayed.
 *
 * @param $translation The current translation
 * @param $text The text being translated
 * @param $context The context for the translation
 * @param $domain The domain for the translation
 * @return string The translated / filtered text.
 */
 function filter_gettext($translation, $text, $domain) {
  $translations = &amp;get_translations_for_domain( $domain );
  if ( $text == 'View all posts filed under %s' ) {
   return $translations-&gt;translate( 'See all articles filed under %s' );
  }
  return $translation;
 }
}
add_filter('gettext', array('PJW_Translation_Mangler', 'filter_gettext'), 10, 4);
?&gt;
</pre>
<p>The filter used in this example <code>gettext</code> is one of a set of filters in the translation functions in <code>wp-includes/l10n.php</code> which also include <code>gettext_with_context</code>, <code>ngettext</code>, and <code>ngettext_with_context</code>.</p>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2010/01/02/mangling-strings-for-fun-and-profit/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>The snow is falling and it is not christmas yet</title>
		<link>http://blog.ftwr.co.uk/archives/2009/12/18/the-snow-is-falling-and-it-is-not-christmas-yet/</link>
		<comments>http://blog.ftwr.co.uk/archives/2009/12/18/the-snow-is-falling-and-it-is-not-christmas-yet/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 10:17:04 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Photos]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=377</guid>
		<description><![CDATA[I can&#8217;t remember the last time we had snow in the UK this close to Christmas.]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t remember the last time we had snow in the UK this close to Christmas.</p>

<a href='http://blog.ftwr.co.uk/archives/2009/12/18/the-snow-is-falling-and-it-is-not-christmas-yet/crw_5235/' title='A snowy garden'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2009/12/CRW_5235-150x150.jpg" class="attachment-thumbnail" alt="A snowy garden" title="A snowy garden" /></a>
<a href='http://blog.ftwr.co.uk/archives/2009/12/18/the-snow-is-falling-and-it-is-not-christmas-yet/crw_5234/' title='A snowy garden'><img width="150" height="150" src="http://blog.ftwr.co.uk/wp-content/uploads/2009/12/CRW_5234-150x150.jpg" class="attachment-thumbnail" alt="A snowy garden" title="A snowy garden" /></a>

<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2009/12/18/the-snow-is-falling-and-it-is-not-christmas-yet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The moon was bright tonight</title>
		<link>http://blog.ftwr.co.uk/archives/2009/11/03/the-moon-was-bright-tonight/</link>
		<comments>http://blog.ftwr.co.uk/archives/2009/11/03/the-moon-was-bright-tonight/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 21:31:20 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Photos]]></category>
		<category><![CDATA[300D]]></category>
		<category><![CDATA[canon70200f4is]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=371</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<div id="attachment_372" class="wp-caption aligncenter" style="width: 650px"><img class="size-full wp-image-372 " title="The moon tonight" src="http://blog.ftwr.co.uk/wp-content/uploads/2009/11/Moon.jpg" alt="Detailed picture of the moon" width="640" height="427" /><p class="wp-caption-text">Taken with a Canon EOS 300D + 70-200 f4L IS + 1.4x Extender</p></div>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2009/11/03/the-moon-was-bright-tonight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missing dashboard css and the perils of smart quotes</title>
		<link>http://blog.ftwr.co.uk/archives/2009/09/29/missing-dashboard-css-and-the-perils-of-smart-quotes/</link>
		<comments>http://blog.ftwr.co.uk/archives/2009/09/29/missing-dashboard-css-and-the-perils-of-smart-quotes/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 20:18:08 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[smart quotes]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=353</guid>
		<description><![CDATA[This is the tale of a mystery and intrigue about the disappearance of the css from a blogs dashboard and how we hunted it down and fetched it back. Thord Daniel Hedengren, one of the writers for Blog Herald, put out a plea for help on twitter and was pointed in my direction. He was [...]]]></description>
			<content:encoded><![CDATA[<p>This is the tale of a mystery and intrigue about the disappearance of the css from a blogs dashboard and how we hunted it down and fetched it back.</p>
<p><a href="http://tdhedengren.com/" onclick="pageTracker._trackPageview('/outgoing/tdhedengren.com/?referer=');">Thord Daniel Hedengren</a>, one of the writers for Blog Herald, put out a <a href="http://twitter.com/tdhedengren/statuses/4467129726" onclick="pageTracker._trackPageview('/outgoing/twitter.com/tdhedengren/statuses/4467129726?referer=');">plea for help on twitter</a> and was <a href="http://twitter.com/markmcwilliams/statuses/4468195682" onclick="pageTracker._trackPageview('/outgoing/twitter.com/markmcwilliams/statuses/4468195682?referer=');">pointed in my direction</a>.</p>
<p>He was faced with a WordPress dashboard which looked like this and wasn&#8217;t much use:</p>
<div id="attachment_357" class="wp-caption aligncenter" style="width: 811px"><img class="size-full wp-image-357" title="Unstyled Dashboard" src="http://blog.ftwr.co.uk/wp-content/uploads/2009/09/unstyled-dashboard.png" alt="WordPress 2.8.4 dashboard without all the styling" width="801" height="667" /><p class="wp-caption-text">WordPress 2.8.4 dashboard without all the styling</p></div>
<p>This evening I hooked up with Thord and with the help of his server administrator we tracked down the issue and thought it a good idea to spread the message to help any one else out there who has a similar issue in the future.</p>
<p>I started off by looking at the headers returned by the php file which concatenates all the CSS files together and noticed something strange:</p>
<pre class="brush: plain;">
HTTP/1.1 200 OK
Server: nginx/0.7.62
Date: Tue, 29 Sep 2009 19:34:47 GMT
Content-Type: text/css;charset=“utf-8″
Connection: keep-alive
X-Powered-By: PHP/5.3.0
Expires: Wed, 29 Sep 2010 19:34:47 GMT
Cache-Control: public, max-age=31536000
Vary: Accept-Encoding
</pre>
<p>As you can see here the Content-Type header looks a little strange, it has a charset specified but the value being returned is not a valid charset and it looks like this is probably why Firefox is refusing to apply this css file to the page.</p>
<p>This was starting to look like a server configuration issue so we got in contact with the <a href="http://twitter.com/jonathansulo/" onclick="pageTracker._trackPageview('/outgoing/twitter.com/jonathansulo/?referer=');">server admin</a> and we tracked down the errant configuration to the php.ini file.</p>
<p>Within the php.ini file you can set a default charset to be used if one has not already been specified for the request this had erroneously been set in the file with some smart quotes rather than normal quotes and so php was outputting the smart quotes as well as the charset name into the HTTP header.</p>
<p>Now the headers look like this and Firefox is happy to display a fully styled WordPress dashboard:</p>
<pre class="brush: plain;">

HTTP/1.1 200 OK
Server: nginx/0.7.62
Date: Tue, 29 Sep 2009 19:39:17 GMT
Content-Type: text/css;charset=utf-8
Connection: keep-alive
X-Powered-By: PHP/5.3.0
Expires: Wed, 29 Sep 2010 19:39:17 GMT
Cache-Control: public, max-age=31536000
Vary: Accept-Encoding
</pre>
<p>In short, check the configuration you use for <code>default_charset</code> in your php.ini file and don&#8217;t use any quotes unless you need to the following works fine in my testing:</p>
<pre class="brush: plain;">

default_charset = utf-8
</pre>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2009/09/29/missing-dashboard-css-and-the-perils-of-smart-quotes/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Feeding on feedback and progress</title>
		<link>http://blog.ftwr.co.uk/archives/2009/09/10/feeding-on-feedback-and-progress/</link>
		<comments>http://blog.ftwr.co.uk/archives/2009/09/10/feeding-on-feedback-and-progress/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 21:18:55 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[rss2email]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=343</guid>
		<description><![CDATA[Keeping track of a projects progress is a common desire and if the project you are interested in happens to be a WordPress plugin then there are a number of RSS feeds which are an important resource for you (replace plugin_slug with the plugins slug!). http://wordpress.org/support/rss/tags/plugin_slug http://plugins.trac.wordpress.org/log/plugin_slug?limit=100&#38;mode=stop_on_copy&#38;format=rss The first of these contains all the support [...]]]></description>
			<content:encoded><![CDATA[<p>Keeping track of a projects progress is a common desire and if the project you are interested in happens to be a WordPress plugin then there are a number of RSS feeds which are an important resource for you (replace <code>plugin_slug</code> with the plugins slug!).</p>
<pre class="brush: plain;">

http://wordpress.org/support/rss/tags/plugin_slug

http://plugins.trac.wordpress.org/log/plugin_slug?limit=100&amp;mode=stop_on_copy&amp;format=rss
</pre>
<p>The first of these contains all the support forum posts relevant to a particular plugin and the second is all the code changes that are happening in the plugins repository.</p>
<p>To keep track of these you have a couple of choices.</p>
<p>Firstly you could subscribe to them in your feed reader or if like me you like to receive emails for this sort of thing you can setup a cool tool called <a href="http://rss2email.infogami.com/" onclick="pageTracker._trackPageview('/outgoing/rss2email.infogami.com/?referer=');">rss2email</a> on your pc/server to email you new posts/changes.</p>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2009/09/10/feeding-on-feedback-and-progress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Netflix Culture</title>
		<link>http://blog.ftwr.co.uk/archives/2009/08/05/netflix-culture/</link>
		<comments>http://blog.ftwr.co.uk/archives/2009/08/05/netflix-culture/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 20:42:47 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Useful Links]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=339</guid>
		<description><![CDATA[A very interesting read on the culture of Netflix &#8211; something for all businesses to aspire to?]]></description>
			<content:encoded><![CDATA[<p>A very interesting read on the <a href="http://www.slideshare.net/reed2001/culture-1798664" onclick="pageTracker._trackPageview('/outgoing/www.slideshare.net/reed2001/culture-1798664?referer=');">culture of Netflix</a> &#8211; something for all businesses to aspire to?</p>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2009/08/05/netflix-culture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A better meta API for WordPress</title>
		<link>http://blog.ftwr.co.uk/archives/2009/07/23/a-better-meta-api-for-wordpress/</link>
		<comments>http://blog.ftwr.co.uk/archives/2009/07/23/a-better-meta-api-for-wordpress/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 20:46:38 +0000</pubDate>
		<dc:creator>westi</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[comment-meta]]></category>
		<category><![CDATA[meta-meta]]></category>
		<category><![CDATA[wordcampuk]]></category>

		<guid isPermaLink="false">http://blog.ftwr.co.uk/?p=334</guid>
		<description><![CDATA[One of the things that we have being discussing for a very long time is extending WordPress with a comment meta api or even the idea of a generic meta api for WordPress and indeed this is something we are discussing at the moment and I thought I would jot down some thoughts on what [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things that we have being discussing for a very long time is extending WordPress with a <a href="http://core.trac.wordpress.org/ticket/2659" onclick="pageTracker._trackPageview('/outgoing/core.trac.wordpress.org/ticket/2659?referer=');">comment meta api</a> or even the idea of a <a href="http://core.trac.wordpress.org/ticket/5183" onclick="pageTracker._trackPageview('/outgoing/core.trac.wordpress.org/ticket/5183?referer=');">generic meta api</a> for WordPress and indeed this is something we are discussing at the moment and I thought I would jot down some thoughts on what I would like to see from an API point of view.  Over the weekend at <a href="http://wordcamp.org.uk/en/" onclick="pageTracker._trackPageview('/outgoing/wordcamp.org.uk/en/?referer=');">WordCamp UK</a> we also heard about situations where <a href="http://zed1.com/journalized/" onclick="pageTracker._trackPageview('/outgoing/zed1.com/journalized/?referer=');">some people</a> are already adding comment meta tables for plugin usage and so the demand is definitely there.</p>
<p>I don&#8217;t really care how the data is stored, be it single table or multi table, all I care about is having a good stable API for plugins and the core to work with.  If the API is good and well thought out they don&#8217;t need to care about the table structure and we can always change it later.</p>
<p>Therefore I thought I would summarise the features I would like to see in a generic meta api:</p>
<ul>
<li>Flexibility to easily create a different kind of meta without having to care about adding tables yourself.</li>
<li>Ability to store anything in a meta value &#8211; i.e. The same kind of functionality we have we options.</li>
<li>Ability to get things back based on key ranges or operations &#8211; i.e. Getting all cron meta values where the meta key (which would be a timestamp) is before a particular time.</li>
</ul>
<p>So I am thinking of an api like this:</p>
<pre class="brush: php;">
/*
* Register a new meta type.
* If we have a table per meta this will create the table for you if required
*/
register_meta_type('cron');

/*
* Returns the meta value for a particular key
*/
get_meta_value('cron', $key);

/*
* Sets the meta value for a particular key
*/
set_meta_value('cron', $key, $value);

/*
* Returns the meta values for a particular key based search
*/
get_meta_values('cron', $search_value, $search_type);

/*
* Deletes the meta value for a particular key
*/
delete_meta_value('cron', $key);
</pre>
<p>I would envisage us enabling the use of the new api with wrapper functions for different meta types as required.  These wrapper functions would only be included if required, for example we could create a comment_meta wrapper api around these generic meta api functions which would only be available if a plugin / theme called <code>enable_comment_meta_api()</code></p>
<img src="http://blog.ftwr.co.uk/9538f80a/266bbf68/CCBot/1.0 (+http://www.commoncrawl.org/bot.html).gif" />]]></content:encoded>
			<wfw:commentRss>http://blog.ftwr.co.uk/archives/2009/07/23/a-better-meta-api-for-wordpress/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
