<?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>David Goodwin</title>
	<atom:link href="http://codepoets.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://codepoets.co.uk</link>
	<description>PHP, running, family stuff, Bromsgrove and other bits</description>
	<lastBuildDate>Thu, 29 Jul 2010 10:50:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Grr&#8230;</title>
		<link>http://codepoets.co.uk/2010/grr/</link>
		<comments>http://codepoets.co.uk/2010/grr/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 10:50:03 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/?p=216</guid>
		<description><![CDATA[Why would someone write Python and mix tabs and spaces. Do you really want to have random arbitrary bugs &#8230; grr&#8230;.
:%s/^I/    //g
Grr. grr. grr. stupid programmer. Grr.. That&#8217;s my final moan. honest.
]]></description>
			<content:encoded><![CDATA[<p>Why would someone write Python and mix tabs and spaces. Do you really want to have random arbitrary bugs &#8230; grr&#8230;.</p>
<p>:%s/^I/    //g</p>
<p>Grr. grr. grr. stupid programmer. Grr.. That&#8217;s my final moan. honest.</p>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/grr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logging &#8230; and how not to do it.</title>
		<link>http://codepoets.co.uk/2010/logging-and-how-not-to-do-it/</link>
		<comments>http://codepoets.co.uk/2010/logging-and-how-not-to-do-it/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 10:44:46 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/?p=214</guid>
		<description><![CDATA[Grumpy man, back from battling with some legacy code, has a rant.]]></description>
			<content:encoded><![CDATA[<p>One thing that really annoys me is when I come to look at the log file and I see something like :</p>
<pre>blah blah did blah blah</pre>
<pre>blah foo blah random comment</pre>
<pre>fish blah some data</pre>
<pre>which spans many lines or does it?</pre>
<p>This is bad, as I&#8217;ve got absolutely no idea where the messages are from (so have to grep around a code base), and I&#8217;ve no idea WHEN they were made. At best I can look at timestamps on this file and figure out a timeframe (assuming logrotate is in use so there is a definite (must be after X timestamp)).</p>
<p>What&#8217;s far better from a maintenance point of view :</p>
<p>2010/07/29 09:33 filewhatever.py:355 blah blah blah did blah blah</p>
<p>2010/07/29 09:34 filewhatever.py:355 blah blah blah did blah blah</p>
<p>2010/07/29 09:35 filewhatever.py:355 data received from x is {{{hello world&#8230;. }}}</p>
<p>Changes are :</p>
<ol>
<li>Date and time stamps (in python: datetime.datetime.now())</li>
<li>Recording where the message came from (see the &#8216;inspect&#8217; python module &#8211; inspect.stack()[1][1] for calling file, and inspect.stack()[1][2] for the line number, or debug_backtrace() in PHP)</li>
<li>Wrapping any interesting output (e.g. from a remote service) in obvious delimiters (e.g. {{{ and }}} )  - without e.g. timestamps or some other common line prefix, I&#8217;ve no way of knowing what&#8217;s from where, especially if the output spreads over many lines.</li>
</ol>
<p>Other good ideas :</p>
<ol>
<li>Different severities of log message (classic: debug, info, error type annotation with appropriate filtering).</li>
<li>Make sure logrotate is in use, or a simple shell script via cron, to stop the log file growing too large and causing problems.</li>
<li>Stop writing your own logging mechanisms and use ones provided by the system (e.g. Python has a logger built in which does all of the above and more)</li>
</ol>
<p>EOR - EndOfRant</p>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/logging-and-how-not-to-do-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Weekly Updates for 2010-07-25</title>
		<link>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-25-2/</link>
		<comments>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-25-2/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 16:41:00 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-25-2/</guid>
		<description><![CDATA[
Morrisons. You are the worst supermarket ever. Let me buy single bananas. #
Even with an iPhone and google maps etc I got lost around Bentley / webheath. #amireallyawoman #mapreadingfail #
Cycled to arrow valley park (redditch) and back, via lickey hill (out) and cycle route 5 on the way back&#8230;.. #
Cycling with a dead weight toddler [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Morrisons. You are the worst supermarket ever. Let me buy single bananas. <a href="http://twitter.com/TheGingerDog/statuses/19500226769" class="aktt_tweet_time">#</a></li>
<li>Even with an iPhone and google maps etc I got lost around Bentley / webheath. #<a href="http://search.twitter.com/search?q=%23amireallyawoman" class="aktt_hashtag">amireallyawoman</a> #mapreadingfail <a href="http://twitter.com/TheGingerDog/statuses/19424230545" class="aktt_tweet_time">#</a></li>
<li>Cycled to arrow valley park (redditch) and back, via lickey hill (out) and cycle route 5 on the way back&#8230;.. <a href="http://twitter.com/TheGingerDog/statuses/19424134678" class="aktt_tweet_time">#</a></li>
<li>Cycling with a dead weight toddler in a rear seat is hard. This might have to become a regular routine. <a href="http://twitter.com/TheGingerDog/statuses/19410958910" class="aktt_tweet_time">#</a></li>
<li>Toddler cycling day (well I&#39;m cycling, he&#39;s along for the ride) <a href="http://twitter.com/TheGingerDog/statuses/19406566026" class="aktt_tweet_time">#</a></li>
<li>Hmm. Apple case app crashed my phone. Great. Shame there aren&#39;t more pictures or info provided to help me choose #<a href="http://search.twitter.com/search?q=%23iPhone4" class="aktt_hashtag">iPhone4</a> #case <a href="http://twitter.com/TheGingerDog/statuses/19358220218" class="aktt_tweet_time">#</a></li>
<li>Wish subversion would let me revert line ranges within a file so I can easily avoid committing whitespace changes etc. #<a href="http://search.twitter.com/search?q=%23svn" class="aktt_hashtag">svn</a> <a href="http://twitter.com/TheGingerDog/statuses/19107513752" class="aktt_tweet_time">#</a></li>
<li>FOOL WOMEN into thinking their opinions are valued by nodding occasionally and saying &#39;mmm&#39; /via @<a href="http://twitter.com/VizTopTips" class="aktt_username">VizTopTips</a> <a href="http://twitter.com/TheGingerDog/statuses/19105685026" class="aktt_tweet_time">#</a></li>
<li>Say the word and I&#39;ll be gone. Say the word and I&#39;ll be gone forever, and ever. <a href="http://twitter.com/TheGingerDog/statuses/19094418283" class="aktt_tweet_time">#</a></li>
<li>Yey. Query time reduced from 2.5 seconds to 0 seconds. And a happy customer soon. <a href="http://twitter.com/TheGingerDog/statuses/19070356386" class="aktt_tweet_time">#</a></li>
<li><a href="http://www.myconfinedspace.com/2010/07/20/proper-use-of-your-and-there/" rel="nofollow">http://www.myconfinedspace.com/2010/07/20/proper-use-of-your-and-there/</a> <a href="http://twitter.com/TheGingerDog/statuses/19015916661" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-25-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Weekly Updates for 2010-07-25</title>
		<link>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-25/</link>
		<comments>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-25/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 16:41:00 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-25/</guid>
		<description><![CDATA[
Morrisons. You are the worst supermarket ever. Let me buy single bananas. #
Even with an iPhone and google maps etc I got lost around Bentley / webheath. #amireallyawoman #mapreadingfail #
Cycled to arrow valley park (redditch) and back, via lickey hill (out) and cycle route 5 on the way back&#8230;.. #
Cycling with a dead weight toddler [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Morrisons. You are the worst supermarket ever. Let me buy single bananas. <a href="http://twitter.com/TheGingerDog/statuses/19500226769" class="aktt_tweet_time">#</a></li>
<li>Even with an iPhone and google maps etc I got lost around Bentley / webheath. #<a href="http://search.twitter.com/search?q=%23amireallyawoman" class="aktt_hashtag">amireallyawoman</a> #mapreadingfail <a href="http://twitter.com/TheGingerDog/statuses/19424230545" class="aktt_tweet_time">#</a></li>
<li>Cycled to arrow valley park (redditch) and back, via lickey hill (out) and cycle route 5 on the way back&#8230;.. <a href="http://twitter.com/TheGingerDog/statuses/19424134678" class="aktt_tweet_time">#</a></li>
<li>Cycling with a dead weight toddler in a rear seat is hard. This might have to become a regular routine. <a href="http://twitter.com/TheGingerDog/statuses/19410958910" class="aktt_tweet_time">#</a></li>
<li>Toddler cycling day (well I&#39;m cycling, he&#39;s along for the ride) <a href="http://twitter.com/TheGingerDog/statuses/19406566026" class="aktt_tweet_time">#</a></li>
<li>Hmm. Apple case app crashed my phone. Great. Shame there aren&#39;t more pictures or info provided to help me choose #<a href="http://search.twitter.com/search?q=%23iPhone4" class="aktt_hashtag">iPhone4</a> #case <a href="http://twitter.com/TheGingerDog/statuses/19358220218" class="aktt_tweet_time">#</a></li>
<li>Wish subversion would let me revert line ranges within a file so I can easily avoid committing whitespace changes etc. #<a href="http://search.twitter.com/search?q=%23svn" class="aktt_hashtag">svn</a> <a href="http://twitter.com/TheGingerDog/statuses/19107513752" class="aktt_tweet_time">#</a></li>
<li>FOOL WOMEN into thinking their opinions are valued by nodding occasionally and saying &#39;mmm&#39; /via @<a href="http://twitter.com/VizTopTips" class="aktt_username">VizTopTips</a> <a href="http://twitter.com/TheGingerDog/statuses/19105685026" class="aktt_tweet_time">#</a></li>
<li>Say the word and I&#39;ll be gone. Say the word and I&#39;ll be gone forever, and ever. <a href="http://twitter.com/TheGingerDog/statuses/19094418283" class="aktt_tweet_time">#</a></li>
<li>Yey. Query time reduced from 2.5 seconds to 0 seconds. And a happy customer soon. <a href="http://twitter.com/TheGingerDog/statuses/19070356386" class="aktt_tweet_time">#</a></li>
<li><a href="http://www.myconfinedspace.com/2010/07/20/proper-use-of-your-and-there/" rel="nofollow">http://www.myconfinedspace.com/2010/07/20/proper-use-of-your-and-there/</a> <a href="http://twitter.com/TheGingerDog/statuses/19015916661" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-25/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Weekly Updates for 2010-07-18</title>
		<link>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-18/</link>
		<comments>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-18/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 16:41:00 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-18/</guid>
		<description><![CDATA[
Good morning world. #
. @ChairmumMiaow is on @BBcWm tomorrow
Morning (fri) to talk about upcoming breastfeeding picnic (Monday &#8211; http://bit.ly/brumbfpicnic) #
Breastfeeding picnic in Birmingham &#8211; monday 19th July 12-3pm http://bit.ly/brumbfpicnic see fb group. #Birmingham #bfpicnic #
Sblug html5 talk from @brucel might start soon. #
So much for an early night. Potential office viewing tomorrow&#8230;. *crosses fingers* #
Evolution [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Good morning world. <a href="http://twitter.com/TheGingerDog/statuses/18747965326" class="aktt_tweet_time">#</a></li>
<li>. @<a href="http://twitter.com/ChairmumMiaow" class="aktt_username">ChairmumMiaow</a> is on @<a href="http://twitter.com/BBcWm" class="aktt_username">BBcWm</a> tomorrow<br />
Morning (fri) to talk about upcoming breastfeeding picnic (Monday &#8211; <a href="http://bit.ly/brumbfpicnic)" rel="nofollow">http://bit.ly/brumbfpicnic)</a> <a href="http://twitter.com/TheGingerDog/statuses/18635803535" class="aktt_tweet_time">#</a></li>
<li>Breastfeeding picnic in Birmingham &#8211; monday 19th July 12-3pm <a href="http://bit.ly/brumbfpicnic" rel="nofollow">http://bit.ly/brumbfpicnic</a> see fb group. #<a href="http://search.twitter.com/search?q=%23Birmingham" class="aktt_hashtag">Birmingham</a> #bfpicnic <a href="http://twitter.com/TheGingerDog/statuses/18635374033" class="aktt_tweet_time">#</a></li>
<li>Sblug html5 talk from @<a href="http://twitter.com/brucel" class="aktt_username">brucel</a> might start soon. <a href="http://twitter.com/TheGingerDog/statuses/18623483837" class="aktt_tweet_time">#</a></li>
<li>So much for an early night. Potential office viewing tomorrow&#8230;. *crosses fingers* <a href="http://twitter.com/TheGingerDog/statuses/18554225050" class="aktt_tweet_time">#</a></li>
<li>Evolution is better than thunderbird for mail on Linux &#8230;. Except for address learning / completion. <a href="http://twitter.com/TheGingerDog/statuses/18527026204" class="aktt_tweet_time">#</a></li>
<li>Interesting day &#8211; customer turns up unannounced for what turns into a near 5 hour meeting. Still he bought lunch <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/TheGingerDog/statuses/18526939761" class="aktt_tweet_time">#</a></li>
<li>Finding a wordpress virus thing (eval(gzinflate(base64_decode(&#8230;.)))) on a site just before bed is annoying. Timestamp implies before us <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/TheGingerDog/statuses/18417040976" class="aktt_tweet_time">#</a></li>
<li>2 old ladies sitting in church 1 leans over and whispers to the other &quot;my butt is going to sleep&quot;, other replies &quot;i heard it snore 3 times&quot; <a href="http://twitter.com/TheGingerDog/statuses/18416868208" class="aktt_tweet_time">#</a></li>
<li>I love orange. O2 you sucked so much. <a href="http://twitter.com/TheGingerDog/statuses/18363459786" class="aktt_tweet_time">#</a></li>
<li>Sweet. FETIDUS is back on podcast. Zombies. Yey. <a href="http://twitter.com/TheGingerDog/statuses/18362041464" class="aktt_tweet_time">#</a></li>
<li>I&#39;m not sorry to see the Food Standards Agency go <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  #<a href="http://search.twitter.com/search?q=%23fsa" class="aktt_hashtag">fsa</a> <a href="http://twitter.com/TheGingerDog/statuses/18344508191" class="aktt_tweet_time">#</a></li>
<li>Thanks mr postman for parking your bike right in front of me in the middle of the fricking pavement. <a href="http://twitter.com/TheGingerDog/statuses/18340791848" class="aktt_tweet_time">#</a></li>
<li>This is excellent and should be seen by everyone: <a href="http://is.gd/doq8o" rel="nofollow">http://is.gd/doq8o</a> /via @<a href="http://twitter.com/FellowAtheists" class="aktt_username">FellowAtheists</a> &#8211; zombies religion venn diagram <a href="http://twitter.com/TheGingerDog/statuses/18334538578" class="aktt_tweet_time">#</a></li>
<li>My 10km time &#8211; 42.38 (43rd, last year: 42.50 &amp; 29th). #<a href="http://search.twitter.com/search?q=%23timberhonger" class="aktt_hashtag">timberhonger</a> #running #<a href="http://search.twitter.com/search?q=%23bromsgrove" class="aktt_hashtag">bromsgrove</a> (results at <a href="http://timberhonger10k.co.uk)" rel="nofollow">http://timberhonger10k.co.uk)</a> <a href="http://twitter.com/TheGingerDog/statuses/18305562015" class="aktt_tweet_time">#</a></li>
<li>Back home from the launch party of Intimate Perfection. Go Jenny! Congrats on doing the England team! And the world cup winners get it free? <a href="http://twitter.com/TheGingerDog/statuses/18298281383" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-18/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Weekly Updates for 2010-07-11</title>
		<link>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-11-2/</link>
		<comments>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-11-2/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 16:41:00 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-11-2/</guid>
		<description><![CDATA[
BBQ time ! #
Timberhonger 10k race tomorrow; here&#39;s to hoping my legs are up to it. #bromsgrove #10km #run #
A woman says she&#39;s uncomfortable watching you wank. You A: need more time together B: she&#39;s a prude C: Tell her to sit elsewhere on the bus. #
I`m getting sick of these Tyneside gunman jokes. They`re [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>BBQ time ! <a href="http://twitter.com/TheGingerDog/statuses/18280418617" class="aktt_tweet_time">#</a></li>
<li>Timberhonger 10k race tomorrow; here&#39;s to hoping my legs are up to it. #<a href="http://search.twitter.com/search?q=%23bromsgrove" class="aktt_hashtag">bromsgrove</a> #10km #<a href="http://search.twitter.com/search?q=%23run" class="aktt_hashtag">run</a> <a href="http://twitter.com/TheGingerDog/statuses/18226565487" class="aktt_tweet_time">#</a></li>
<li>A woman says she&#39;s uncomfortable watching you wank. You A: need more time together B: she&#39;s a prude C: Tell her to sit elsewhere on the bus. <a href="http://twitter.com/TheGingerDog/statuses/18216134170" class="aktt_tweet_time">#</a></li>
<li>I`m getting sick of these Tyneside gunman jokes. They`re not even raoulmoatly funny. <a href="http://twitter.com/TheGingerDog/statuses/18215615467" class="aktt_tweet_time">#</a></li>
<li>Postfixadmin 2.3.1 live; .rpms and .debs etc; see <a href="http://postfixadmin.sf.net" rel="nofollow">http://postfixadmin.sf.net</a> &#8211; virtual mail domain admin tool for postfix #<a href="http://search.twitter.com/search?q=%23php" class="aktt_hashtag">php</a> #mail #<a href="http://search.twitter.com/search?q=%23isp" class="aktt_hashtag">isp</a> <a href="http://twitter.com/TheGingerDog/statuses/18153510201" class="aktt_tweet_time">#</a></li>
<li>Turned on the radio to kerrang. Toddler demanded we danced. Fun times. Shame the radio reverted to talking after the song. <a href="http://twitter.com/TheGingerDog/statuses/18140952817" class="aktt_tweet_time">#</a></li>
<li>Ooh. Thanks John truslove. Two potential offices to view <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  bromsgrove ftw <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  <a href="http://twitter.com/TheGingerDog/statuses/18140871216" class="aktt_tweet_time">#</a></li>
<li>Bromsgrove &#8230; Where are the decent offices hidden.? Room for 4-5 required. <a href="http://twitter.com/TheGingerDog/statuses/18127883759" class="aktt_tweet_time">#</a></li>
<li>Postfixadmin release 2.3.1 is almost here. #<a href="http://search.twitter.com/search?q=%23postfix" class="aktt_hashtag">postfix</a> #linux #<a href="http://search.twitter.com/search?q=%23sysadmin" class="aktt_hashtag">sysadmin</a> <a href="http://twitter.com/TheGingerDog/statuses/18100374827" class="aktt_tweet_time">#</a></li>
<li>Paddy tells Mick he`s thinkin of buying a labrador. &quot;F___ off&quot; says Mick, &quot;have you seen how many of their owners go blind?&quot; #<a href="http://search.twitter.com/search?q=%23joke" class="aktt_hashtag">joke</a> <a href="http://twitter.com/TheGingerDog/statuses/18062245166" class="aktt_tweet_time">#</a></li>
<li>Women! They just don&#39;t have a sense of humour. The wife didn`t find it nearly as funny as I, when I replaced her tampon with a party popper! <a href="http://twitter.com/TheGingerDog/statuses/18062159090" class="aktt_tweet_time">#</a></li>
<li>OH: &quot;website ______ is crap it has BNP images in it&#8230;. &quot; (I heard bnp, he did say bmp). <a href="http://twitter.com/TheGingerDog/statuses/18045366495" class="aktt_tweet_time">#</a></li>
<li>I quite like my jabphone 4 but cant help think it&#39;s a bit like the emperors new clothes. Wish orange would port my number too. #<a href="http://search.twitter.com/search?q=%23iphone4" class="aktt_hashtag">iphone4</a> <a href="http://twitter.com/TheGingerDog/statuses/18017194397" class="aktt_tweet_time">#</a></li>
<li>The estate has a scrap man who drives around in an ex-BT transit van. Failure on so many levels, and let&#39;s not mention his &#39;jingle&#39; <a href="http://twitter.com/TheGingerDog/statuses/17933565572" class="aktt_tweet_time">#</a></li>
<li>Sweet. Phone didn&#39;t loose 3G coverage walking home. Suck on that o2, orange ftw. <a href="http://twitter.com/TheGingerDog/statuses/17877473433" class="aktt_tweet_time">#</a></li>
<li>Come on orange. Finish porting my number. <a href="http://twitter.com/TheGingerDog/statuses/17858481513" class="aktt_tweet_time">#</a></li>
<li>Twitterific on my new phone seems to be having a bad day wrt authentication <a href="http://twitter.com/TheGingerDog/statuses/17856313656" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/CalEvans" class="aktt_username">CalEvans</a>: <a href="http://bit.ly/a4MLMx" rel="nofollow">http://bit.ly/a4MLMx</a> #<a href="http://search.twitter.com/search?q=%23rofl" class="aktt_hashtag">rofl</a> Rasmus has the patience of Job. #<a href="http://search.twitter.com/search?q=%23php" class="aktt_hashtag">php</a> /via @<a href="http://twitter.com/akrabat" class="aktt_username">akrabat</a> <a href="http://twitter.com/TheGingerDog/statuses/17848166340" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-11-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Weekly Updates for 2010-07-11</title>
		<link>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-11/</link>
		<comments>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-11/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 16:41:00 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-11/</guid>
		<description><![CDATA[
BBQ time ! #
Timberhonger 10k race tomorrow; here&#39;s to hoping my legs are up to it. #bromsgrove #10km #run #
A woman says she&#39;s uncomfortable watching you wank. You A: need more time together B: she&#39;s a prude C: Tell her to sit elsewhere on the bus. #
I`m getting sick of these Tyneside gunman jokes. They`re [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>BBQ time ! <a href="http://twitter.com/TheGingerDog/statuses/18280418617" class="aktt_tweet_time">#</a></li>
<li>Timberhonger 10k race tomorrow; here&#39;s to hoping my legs are up to it. #<a href="http://search.twitter.com/search?q=%23bromsgrove" class="aktt_hashtag">bromsgrove</a> #10km #<a href="http://search.twitter.com/search?q=%23run" class="aktt_hashtag">run</a> <a href="http://twitter.com/TheGingerDog/statuses/18226565487" class="aktt_tweet_time">#</a></li>
<li>A woman says she&#39;s uncomfortable watching you wank. You A: need more time together B: she&#39;s a prude C: Tell her to sit elsewhere on the bus. <a href="http://twitter.com/TheGingerDog/statuses/18216134170" class="aktt_tweet_time">#</a></li>
<li>I`m getting sick of these Tyneside gunman jokes. They`re not even raoulmoatly funny. <a href="http://twitter.com/TheGingerDog/statuses/18215615467" class="aktt_tweet_time">#</a></li>
<li>Postfixadmin 2.3.1 live; .rpms and .debs etc; see <a href="http://postfixadmin.sf.net" rel="nofollow">http://postfixadmin.sf.net</a> &#8211; virtual mail domain admin tool for postfix #<a href="http://search.twitter.com/search?q=%23php" class="aktt_hashtag">php</a> #mail #<a href="http://search.twitter.com/search?q=%23isp" class="aktt_hashtag">isp</a> <a href="http://twitter.com/TheGingerDog/statuses/18153510201" class="aktt_tweet_time">#</a></li>
<li>Turned on the radio to kerrang. Toddler demanded we danced. Fun times. Shame the radio reverted to talking after the song. <a href="http://twitter.com/TheGingerDog/statuses/18140952817" class="aktt_tweet_time">#</a></li>
<li>Ooh. Thanks John truslove. Two potential offices to view <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  bromsgrove ftw <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  <a href="http://twitter.com/TheGingerDog/statuses/18140871216" class="aktt_tweet_time">#</a></li>
<li>Bromsgrove &#8230; Where are the decent offices hidden.? Room for 4-5 required. <a href="http://twitter.com/TheGingerDog/statuses/18127883759" class="aktt_tweet_time">#</a></li>
<li>Postfixadmin release 2.3.1 is almost here. #<a href="http://search.twitter.com/search?q=%23postfix" class="aktt_hashtag">postfix</a> #linux #<a href="http://search.twitter.com/search?q=%23sysadmin" class="aktt_hashtag">sysadmin</a> <a href="http://twitter.com/TheGingerDog/statuses/18100374827" class="aktt_tweet_time">#</a></li>
<li>Paddy tells Mick he`s thinkin of buying a labrador. &quot;F___ off&quot; says Mick, &quot;have you seen how many of their owners go blind?&quot; #<a href="http://search.twitter.com/search?q=%23joke" class="aktt_hashtag">joke</a> <a href="http://twitter.com/TheGingerDog/statuses/18062245166" class="aktt_tweet_time">#</a></li>
<li>Women! They just don&#39;t have a sense of humour. The wife didn`t find it nearly as funny as I, when I replaced her tampon with a party popper! <a href="http://twitter.com/TheGingerDog/statuses/18062159090" class="aktt_tweet_time">#</a></li>
<li>OH: &quot;website ______ is crap it has BNP images in it&#8230;. &quot; (I heard bnp, he did say bmp). <a href="http://twitter.com/TheGingerDog/statuses/18045366495" class="aktt_tweet_time">#</a></li>
<li>I quite like my jabphone 4 but cant help think it&#39;s a bit like the emperors new clothes. Wish orange would port my number too. #<a href="http://search.twitter.com/search?q=%23iphone4" class="aktt_hashtag">iphone4</a> <a href="http://twitter.com/TheGingerDog/statuses/18017194397" class="aktt_tweet_time">#</a></li>
<li>The estate has a scrap man who drives around in an ex-BT transit van. Failure on so many levels, and let&#39;s not mention his &#39;jingle&#39; <a href="http://twitter.com/TheGingerDog/statuses/17933565572" class="aktt_tweet_time">#</a></li>
<li>Sweet. Phone didn&#39;t loose 3G coverage walking home. Suck on that o2, orange ftw. <a href="http://twitter.com/TheGingerDog/statuses/17877473433" class="aktt_tweet_time">#</a></li>
<li>Come on orange. Finish porting my number. <a href="http://twitter.com/TheGingerDog/statuses/17858481513" class="aktt_tweet_time">#</a></li>
<li>Twitterific on my new phone seems to be having a bad day wrt authentication <a href="http://twitter.com/TheGingerDog/statuses/17856313656" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/CalEvans" class="aktt_username">CalEvans</a>: <a href="http://bit.ly/a4MLMx" rel="nofollow">http://bit.ly/a4MLMx</a> #<a href="http://search.twitter.com/search?q=%23rofl" class="aktt_hashtag">rofl</a> Rasmus has the patience of Job. #<a href="http://search.twitter.com/search?q=%23php" class="aktt_hashtag">php</a> /via @<a href="http://twitter.com/akrabat" class="aktt_username">akrabat</a> <a href="http://twitter.com/TheGingerDog/statuses/17848166340" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adventures in Continuous Integration (PHP, Xinc, Phing etc)</title>
		<link>http://codepoets.co.uk/2010/adventures-in-continuous-integration-php-xinc-phing-etc/</link>
		<comments>http://codepoets.co.uk/2010/adventures-in-continuous-integration-php-xinc-phing-etc/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 10:57:43 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/?p=172</guid>
		<description><![CDATA[I&#8217;ve had cron&#8217;ed unit tests running for ages which happily spam me when stuff breaks &#8211; and likewise adding e.g. phpdoc generation and so on into the mix wouldn&#8217;t be too hard.
Anyway, for want of something better to do with my time I thought I&#8217;d look into CI in a bit more depth for one [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had cron&#8217;ed unit tests running for ages which happily spam me when stuff breaks &#8211; and likewise adding e.g. phpdoc generation and so on into the mix wouldn&#8217;t be too hard.</p>
<p>Anyway, for want of something better to do with my time I thought I&#8217;d look into CI in a bit more depth for one customer&#8217;s project. As some background, we&#8217;ve maintained their software for about the last 12-18 months, the project is largely procedural &#8211; although we&#8217;re introducing Propel, Zend Framework, Smarty etc into the mix slowly over time. We&#8217;ve also added a number of unit tests to try and keep some of the pain points in the project under control.</p>
<p>So, there&#8217;s the background.</p>
<p>With regards to CI within a PHP environment there seem to be three options:</p>
<ol>
<li>phpUnderControl</li>
<li>Xinc</li>
<li>Hudson</li>
</ol>
<p>To the best of my knowledge 1 &amp; 3 require Tomcat, and therefore are Java based. I thought I&#8217;d try and make my life easy and stick with Xinc which is written in PHP (and perhaps therefore something I can hack/patch/modify if needs be).</p>
<p>In retrospect I&#8217;m questioning whether I made the right choice &#8211; Xinc seems to be unmaintained and unloved at the moment.</p>
<h2>Xinc Installation</h2>
<p>It should be the case of doing something easy like :</p>
<pre>pear channel-discover pear.xinc.eu</pre>
<pre>pear install xinc/xinc</pre>
<p>Unfortunately, the Xinc project seems a little unloved as of late, and it&#8217;s necessary to use an unofficial mirror :<br />
<code>pear channel-discover pear.ctrl-zetta.com</code><br />
<code>pear install ctrl-zetta/Xinc</code></p>
<p>(This required rummaging through Xinc&#8217;s<a title="Xinc Issue (pear repository etc)" href="http://code.google.com/p/xinc/issues/detail?id=213"> issue log</a>&#8230; *sigh*).</p>
<p>Follow the instructions and it&#8217;s not really difficult to install. There&#8217;s no requirement for a database or anything.</p>
<p>Once installed, edit /etc/xinc/config.xml and comment out the &lt;project&gt;&#8230;&lt;/project&gt; block and instead only edit /etc/xinc/conf.d/whatever.xml &#8211; in my case I just copied the skeleton one and added in stuff&#8230; giving something like the following <a title="xinc project.xml file" href="http://codepoets.co.uk/misc/project.xml">project.xml</a></p>
<p>In a nutshell, this says:</p>
<ol>
<li>Run from /var/www/xinc/whatever.test.palepurple.co.uk</li>
<li>Every 900 seconds rebuild using what&#8217;s defined in the &lt;builders&gt; tag</li>
<li>Always build (hence &lt;buildalways/&gt;) &#8211; in reality, you&#8217;d probably want the &lt;svn directory=${dir}&#8221; update=&#8221;true&#8221;/&gt; enabled so rebuilds only occur if someone&#8217;s changed svn.</li>
<li>Once the build is complete, publish the php docs (found in ${dir}/apidocs)</li>
<li>Once the build is complete report the results of the unit tests using ${dir}/report/logfile.xml &#8211; obviously this path needs to match up with what&#8217;s in your phing build.xml file.</li>
<li>If a build fails, email root</li>
<li>If a build succeeds after a failure, email root</li>
<li>When a build succeeds, run the publish.xml file through phing (target: build) &#8211; this is used to create a .tar.gz with appropriate numbering which appears within Xinc&#8217;s web ui for download.</li>
</ol>
<p>Obviously in my case, this didn&#8217;t get me very far initially as the project wasn&#8217;t using phing.. so that was task #2.</p>
<h2>Phing</h2>
<p>I had a few issues once I started to phing-ise things &#8211; firstly, I&#8217;ve always historically used <a title="simpletest" href="http://simpletest.org">SimpleTest</a> as my unit test framework of choice &#8211; unfortunately it&#8217;s phing and Xinc integration isn&#8217;t all that good &#8211; and <a title="phpunit" href="http://phpunit.de">phpUnit</a> is clearly superior in this respect. So I quickly converted out tests from SimpleTest to phpUnit &#8211; thankfully this wasn&#8217;t too hard as all my tests extent a local class (LocalTest) (hence the exclude line in the build.xml file below) to which I just added a few aliasing methods in so all the PhpUnit/SimpleTest method name differences (e.g. assertEqual($x,$y) and assertEquals($x, $y)) were handled along with crude mimicking of some of SimpleTest&#8217;s web_tester functionality.</p>
<p>Anyway, once that was done, it was pretty easy to pinch various bits of config from everywhere and get something like the following <a title="phing build.xml example" href="http://codepoets.co.uk/misc/project-build.xml">build.xml </a>file &#8211; when Xinc runs it defines a few properties &#8211; so I&#8217;ve added in a couple of lines to the build.xml to ensure that these properties are set to something (incase I&#8217;m running phing from the command line and not via Xinc).</p>
<p>In my case it was necessary to explicitly exclude e.g. the Zend Framework or ezComponents from various tasks (e.g. phpdoc api generation and code sniffing). In this project&#8217;s case the code for each is explicitly within the hierarchy - as opposed to being a system wide include.</p>
<p>Running a particular &#8216;target&#8217; is just be a case of doing &#8216;phing -f build.xml tests&#8217; (for instance). phing will default to using &#8216;build.xml&#8217;, so the &#8216;-f build.xml&#8217; is redundant.</p>
<p>Firing up Xinc (/etc/init.d/xinc start) and tail&#8217;ing /var/log/xinc.log give me a good idea of what was going on, and eventually with a bit of prodding I got it all working.</p>
<p>I then thought I ought to integrate test code coverage reports &#8211; as they&#8217;d be a useful addition and something I can point the customer to &#8211; at this point I discovered I needed to hack phing a little to get it to work with phpUnit&#8217;s xml output format to create the code coverage report. A patch of what&#8217;s needed <a title="phing xml log phpunit patch" href="http://phing.info/trac/ticket/363">should be here</a> but phing.info has been down for the last few days&#8230; so manually :</p>
<p>In /usr/share/php/phing:</p>
<p>Edit: tasks/ext/phpunit/formatter/XMLPHPUnitResultFormatter.php and change</p>
<p>$this-&gt;logger = new PHPUnit_Util_Log_JUnit(null, true) to</p>
<p>$this-&gt;logger = new PHPUnit_Util_Log_XML(null, true);</p>
<p>And change the require_once() call at the top of the file to become require_once &#8216;PHPUnit/Util/Log/XML.php&#8217;).</p>
<p>No doubt the above won&#8217;t be required once a new release of phing is made &#8211; I&#8217;m running v2.4.1.</p>
<p>And, if your code has an implicit dependency on various variables being global &#8211; and they&#8217;re not implicitly declared as global within an include file &#8211; it will fail and look like phpunit is trampling on globals; it&#8217;s not. Just edit the include file and be explicit with respect to global definition. You will probably need to tell phpUnit to not serialise globals between test calls as some variables ( e.g. a PDO connection) can&#8217;t be serialised&#8230;. this can be done by setting a property within your test class(es) called <em>backupGlobals</em> to false.</p>
<p>And, if everything works well, you&#8217;ll see something like the attached screenshot [[Screenshot 1]]</p>
<h2>Summary</h2>
<p>Xinc appears unmaintained; patching of it is probably required, but it does appear to work.</p>
<p>I&#8217;m glad I&#8217;ve finally started to use phing &#8211; I can see it being of considerable use in future projects when we have to deploy via FTP or something.</p>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/adventures-in-continuous-integration-php-xinc-phing-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Weekly Updates for 2010-07-04</title>
		<link>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-04/</link>
		<comments>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-04/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 16:41:00 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-04/</guid>
		<description><![CDATA[
Sign fail. http://yfrog.com/5sichktj #
Looks like the neighbours are holding a donut party for the police &#8230;. #
Man salt. (I sweat a lot when running, bit surprised it&#39;s so visible tho) http://yfrog.com/j8usfej #
now lets see if my body can run &#8211; http://bit.ly/droitwichrun #
At last! last.fm backgrounds on my iphone (3GS with ios4). #
Who will win? Patch [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Sign fail. <a href="http://yfrog.com/5sichktj" rel="nofollow">http://yfrog.com/5sichktj</a> <a href="http://twitter.com/TheGingerDog/statuses/17722762699" class="aktt_tweet_time">#</a></li>
<li>Looks like the neighbours are holding a donut party for the police &#8230;. <a href="http://twitter.com/TheGingerDog/statuses/17717845455" class="aktt_tweet_time">#</a></li>
<li>Man salt. (I sweat a lot when running, bit surprised it&#39;s so visible tho) <a href="http://yfrog.com/j8usfej" rel="nofollow">http://yfrog.com/j8usfej</a> <a href="http://twitter.com/TheGingerDog/statuses/17717779047" class="aktt_tweet_time">#</a></li>
<li>now lets see if my body can run &#8211; <a href="http://bit.ly/droitwichrun" rel="nofollow">http://bit.ly/droitwichrun</a> <a href="http://twitter.com/TheGingerDog/statuses/17709508251" class="aktt_tweet_time">#</a></li>
<li>At last! last.fm backgrounds on my iphone (3GS with ios4). <a href="http://twitter.com/TheGingerDog/statuses/17668585685" class="aktt_tweet_time">#</a></li>
<li>Who will win? Patch or my aunt ? (bye patch, I hope) <a href="http://twitter.com/TheGingerDog/statuses/17668214848" class="aktt_tweet_time">#</a></li>
<li>Can haz new iPhone ? <a href="http://twitter.com/TheGingerDog/statuses/17571044232" class="aktt_tweet_time">#</a></li>
<li>I might be off to Best Buy in Merry Hill today. That&#39;ll be: apple kb, mobo/psu, external drive bays, dvi cables&#8230;. Macmini? Self control? <a href="http://twitter.com/TheGingerDog/statuses/17550582796" class="aktt_tweet_time">#</a></li>
<li>- how is it possible for @<a href="http://twitter.com/myspace" class="aktt_username">myspace</a> to be so shit? it can&#39;t be an accident, must be deliberate /via @<a href="http://twitter.com/BluMarTen" class="aktt_username">BluMarTen</a> &lt;- soon: what&#39;s myspace? <a href="http://twitter.com/TheGingerDog/statuses/17550039550" class="aktt_tweet_time">#</a></li>
<li>Of course today<br />
my work desktop may have died. Coincidence?Conspiracy? Did an apple agent visit and vandalise it ? #<a href="http://search.twitter.com/search?q=%23macmini" class="aktt_hashtag">macmini</a> for work? <a href="http://twitter.com/TheGingerDog/statuses/17519928257" class="aktt_tweet_time">#</a></li>
<li>I&#39;m falling in love with my mighty mouse and apple keyboard &#8230; Does the mouse work with Linux ? #<a href="http://search.twitter.com/search?q=%23lazyweb" class="aktt_hashtag">lazyweb</a> <a href="http://twitter.com/TheGingerDog/statuses/17519803363" class="aktt_tweet_time">#</a></li>
<li>And a prospect customer I last spoke to a year ago is back in touch&#8230;. Glad I now have an extra minion. #<a href="http://search.twitter.com/search?q=%23palepurple" class="aktt_hashtag">palepurple</a> <a href="http://twitter.com/TheGingerDog/statuses/17506546369" class="aktt_tweet_time">#</a></li>
<li>Thank you @<a href="http://twitter.com/alijamieson" class="aktt_username">alijamieson</a> for showing my <a href="http://klout.com" rel="nofollow">http://klout.com</a> (twitter stats) <a href="http://twitter.com/TheGingerDog/statuses/17410535014" class="aktt_tweet_time">#</a></li>
<li>Why isn&#39;t there a standard bread size which matches up with what toasters can take? All I want is to toast the whole slice&#8230;. Come on #<a href="http://search.twitter.com/search?q=%23eu" class="aktt_hashtag">eu</a> <a href="http://twitter.com/TheGingerDog/statuses/17327565864" class="aktt_tweet_time">#</a></li>
<li>I love the new twitterific &#8211; shame it didn&#39;t update magically. Well worth £2.99  IMHO. #<a href="http://search.twitter.com/search?q=%23twitterific" class="aktt_hashtag">twitterific</a> <a href="http://twitter.com/TheGingerDog/statuses/17324938591" class="aktt_tweet_time">#</a></li>
<li>Woo. New apple mac mini does dual monitor display out of the box with no config. #<a href="http://search.twitter.com/search?q=%23whycantubuntudothis" class="aktt_hashtag">whycantubuntudothis</a> ? #<a href="http://search.twitter.com/search?q=%23shinytoy" class="aktt_hashtag">shinytoy</a> #itsforworkhonest <a href="http://twitter.com/TheGingerDog/statuses/17319368778" class="aktt_tweet_time">#</a></li>
<li>See <a href="http://bit.ly/ukfoodhygiene" rel="nofollow">http://bit.ly/ukfoodhygiene</a> for our first iphone app &#8211; food hygiene ratings for most of the UK. Pls rate/review <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  #<a href="http://search.twitter.com/search?q=%23opendata" class="aktt_hashtag">opendata</a> #Fsa #<a href="http://search.twitter.com/search?q=%23food" class="aktt_hashtag">food</a> <a href="http://twitter.com/TheGingerDog/statuses/17283582645" class="aktt_tweet_time">#</a></li>
<li>See <a href="http://bit.ly/ukfoodhygiene" rel="nofollow">http://bit.ly/ukfoodhygiene</a> for our first iphone app &#8211; food hygiene ratings for most of the UK. Pls rate/review <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <a href="http://twitter.com/TheGingerDog/statuses/17280010126" class="aktt_tweet_time">#</a></li>
<li>Fetchez le chien&#8230; <a href="http://twitter.com/TheGingerDog/statuses/17258254115" class="aktt_tweet_time">#</a></li>
<li>The dog has been found&#8230;.. Alive etc. <a href="http://twitter.com/TheGingerDog/statuses/17248989460" class="aktt_tweet_time">#</a></li>
<li>The shed of Persia. #<a href="http://search.twitter.com/search?q=%23swapwordinfilmforshed" class="aktt_hashtag">swapwordinfilmforshed</a> <a href="http://twitter.com/TheGingerDog/statuses/17200615526" class="aktt_tweet_time">#</a></li>
<li>The great shed #<a href="http://search.twitter.com/search?q=%23swapwordinfilmforshed" class="aktt_hashtag">swapwordinfilmforshed</a> <a href="http://twitter.com/TheGingerDog/statuses/17200447627" class="aktt_tweet_time">#</a></li>
<li>The green shed #<a href="http://search.twitter.com/search?q=%23swapwordinfilmforshed" class="aktt_hashtag">swapwordinfilmforshed</a> <a href="http://twitter.com/TheGingerDog/statuses/17200431107" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/madeupstats" class="aktt_username">madeupstats</a> 2 in 5 Englishmen now think MILF stands for Match I&#39;d Like to Forget. <a href="http://twitter.com/TheGingerDog/statuses/17190833607" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/paulfabretti" class="aktt_username">paulfabretti</a>: Do we want the England team to return? Surely there are more skilled workers we can allow in before them? #<a href="http://search.twitter.com/search?q=%23worldcup" class="aktt_hashtag">worldcup</a> <a href="http://twitter.com/TheGingerDog/statuses/17180087957" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/asda" class="aktt_username">asda</a> Free eye test for anyone with a Uruguayan passport after Lampard&#39;s goal disallowed: <a href="http://bit.ly/eyeoffer" rel="nofollow">http://bit.ly/eyeoffer</a> &lt;- haha <a href="http://twitter.com/TheGingerDog/statuses/17179979810" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-07-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Weekly Updates for 2010-06-27</title>
		<link>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-06-27/</link>
		<comments>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-06-27/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 16:41:00 +0000</pubDate>
		<dc:creator>David Goodwin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-06-27/</guid>
		<description><![CDATA[
Roads are deserted and it&#39;s so peacefully quiet. Can we do this football thing next weekend too ? #
I predict England flags and other promotional crap will be very cheap tomorrow and few cars / houses will remain &#39;decorated&#39; #mysticdavid #
I can think of better things to do than be woken by the ninky nonk [...]]]></description>
			<content:encoded><![CDATA[<ul class="aktt_tweet_digest">
<li>Roads are deserted and it&#39;s so peacefully quiet. Can we do this football thing next weekend too ? <a href="http://twitter.com/TheGingerDog/statuses/17172629225" class="aktt_tweet_time">#</a></li>
<li>I predict England flags and other promotional crap will be very cheap tomorrow and few cars / houses will remain &#39;decorated&#39; #<a href="http://search.twitter.com/search?q=%23mysticdavid" class="aktt_hashtag">mysticdavid</a> <a href="http://twitter.com/TheGingerDog/statuses/17163785272" class="aktt_tweet_time">#</a></li>
<li>I can think of better things to do than be woken by the ninky nonk at 530am on a sunday. If only I could drug him &#8230;. <a href="http://twitter.com/TheGingerDog/statuses/17147456241" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/ArmedForces_Day" class="aktt_username">ArmedForces_Day</a>: It&#39;s Armed Forces Day! Show your support by retweeting this message <a href="http://bit.ly/2nZeL" rel="nofollow">http://bit.ly/2nZeL</a> #<a href="http://search.twitter.com/search?q=%23armedforcesday" class="aktt_hashtag">armedforcesday</a> <a href="http://twitter.com/TheGingerDog/statuses/17107535130" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/PingChat" class="aktt_username">PingChat</a> PingChat! Android Beta begins next week! Join the Android page to be eligible! <a href="http://bit.ly/cnvF7O" rel="nofollow">http://bit.ly/cnvF7O</a> &#8211; iPhone and blackberry too <a href="http://twitter.com/TheGingerDog/statuses/17075395285" class="aktt_tweet_time">#</a></li>
<li>One customer handles foreign villa letting. A prospect handles flight bookings. This seems a good match. <a href="http://twitter.com/TheGingerDog/statuses/17026521669" class="aktt_tweet_time">#</a></li>
<li>Dog gone walking. Hoping he&#39;s heading home, safely. The perils of keeping doors open in the hot weather #<a href="http://search.twitter.com/search?q=%23bromsgrove" class="aktt_hashtag">bromsgrove</a> <a href="http://twitter.com/TheGingerDog/statuses/17026313992" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/madeupstats" class="aktt_username">madeupstats</a> Social media gurus have on average :<br />
850 Twitter followers<br />
410 contacts on LinkedIn<br />
390 Facebook friends<br />
1.5 real friends <a href="http://twitter.com/TheGingerDog/statuses/16994861433" class="aktt_tweet_time">#</a></li>
<li>Failed to jailbreak and upgrade to ios4. stupid pwnage tool. Reverting back to default apple image, will miss bitesms <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />  <a href="http://twitter.com/TheGingerDog/statuses/16962186884" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/PalePurpleLtd" class="aktt_username">PalePurpleLtd</a> iPhone app accepted <img src='http://codepoets.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  look for &#39;food hygiene&#39; by Transparency data &#8211; free. &lt;- check out where you eat out. <a href="http://twitter.com/TheGingerDog/statuses/16918368670" class="aktt_tweet_time">#</a></li>
<li>Losers still outside o2&#8230;. Orange is the way toward. <a href="http://twitter.com/TheGingerDog/statuses/16915993387" class="aktt_tweet_time">#</a></li>
<li>Will there be a geek fight now the iPhone supplies have run out? <a href="http://twitter.com/TheGingerDog/statuses/16915125223" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/madeupstats" class="aktt_username">madeupstats</a> The Sun newspaper has sufficient stocks of anti-German jokes to last until the year 2051. #<a href="http://search.twitter.com/search?q=%23achtungschweinhund" class="aktt_hashtag">achtungschweinhund</a> <a href="http://twitter.com/TheGingerDog/statuses/16911362248" class="aktt_tweet_time">#</a></li>
<li>So we can win. #<a href="http://search.twitter.com/search?q=%23eng" class="aktt_hashtag">eng</a> <a href="http://twitter.com/TheGingerDog/statuses/16861947824" class="aktt_tweet_time">#</a></li>
<li>Annoyed that I had an off-by-one perception error. Today is not iPhone Thursday &#8230; That&#39;s tomorrow. <a href="http://twitter.com/TheGingerDog/statuses/16832977936" class="aktt_tweet_time">#</a></li>
<li>Whole earth&#39;s chocolate spread is so very very very nice. <a href="http://twitter.com/TheGingerDog/statuses/16764213848" class="aktt_tweet_time">#</a></li>
<li>What a lovely morning. <a href="http://twitter.com/TheGingerDog/statuses/16758507366" class="aktt_tweet_time">#</a></li>
<li>.@rowangoodwin has decided to have a lie in. What a clever, perfect child he Is. <a href="http://twitter.com/TheGingerDog/statuses/16752614520" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/mezzle" class="aktt_username">mezzle</a> <a href="http://i.imgur.com/17Kkt.jpg" rel="nofollow">http://i.imgur.com/17Kkt.jpg</a> &lt;&#8211; utter win #<a href="http://search.twitter.com/search?q=%23ftw" class="aktt_hashtag">ftw</a> #mud <a href="http://twitter.com/TheGingerDog/statuses/16716111460" class="aktt_tweet_time">#</a></li>
<li>RT @<a href="http://twitter.com/BromsgroveDC" class="aktt_username">BromsgroveDC</a> News: Sainsbury’s Planning Application to be Heard <a href="http://bit.ly/b8GK4q" rel="nofollow">http://bit.ly/b8GK4q</a> #<a href="http://search.twitter.com/search?q=%23bromsgrove" class="aktt_hashtag">bromsgrove</a> <a href="http://twitter.com/TheGingerDog/statuses/16715740201" class="aktt_tweet_time">#</a></li>
<li>Hello $always_late_paying_customer &#8211; your website is offline as you&#39;ve not paid your hosting fees with $third_party &#8230; No, I can&#39;t help&#8230; <a href="http://twitter.com/TheGingerDog/statuses/16683729932" class="aktt_tweet_time">#</a></li>
<li>Why do I have a cold in the middle of<br />
Summer? Grr. Rubbish voice etc. <a href="http://twitter.com/TheGingerDog/statuses/16679160669" class="aktt_tweet_time">#</a></li>
<li>Bromsgrove &#8230;. is shit. Photographic proof found &#8211; <a href="http://twitpic.com/1yi54z" rel="nofollow">http://twitpic.com/1yi54z</a> <a href="http://twitter.com/TheGingerDog/statuses/16632360058" class="aktt_tweet_time">#</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://codepoets.co.uk/2010/twitter-weekly-updates-for-2010-06-27/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
