<?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>iknowthe.net &#124; Internet and Ecommerce Consultant</title>
	<atom:link href="http://www.iknowthe.net/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.iknowthe.net/blog</link>
	<description>Emma Kane Internet Expert and Ecommerce Consultant blogs on the internet and ecommerce</description>
	<lastBuildDate>Thu, 29 Jul 2010 10:39:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Times Online Paywall statistics</title>
		<link>http://www.iknowthe.net/blog/times-online-paywall-statistics.html</link>
		<comments>http://www.iknowthe.net/blog/times-online-paywall-statistics.html#comments</comments>
		<pubDate>Thu, 29 Jul 2010 10:39:05 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=438</guid>
		<description><![CDATA[This graph has leaked out of somewhere and purports to show the effect of the Paywall on the time online website. Allegedly. If its real, and it may well be, then the paywall isn&#8217;t working. Personally, I&#8217;d pay if it wasn&#8217;t so relatively expensive &#8211; there&#8217;s nothing in the Times for me I can&#8217;t get [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iknowthe.net/blog/wp-content/uploads/2010/07/timesonlinepaywall1.jpg"><img class="alignleft size-full wp-image-440" title="timesonlinepaywall" src="http://www.iknowthe.net/blog/wp-content/uploads/2010/07/timesonlinepaywall1.jpg" alt="" width="603" height="253" /></a></p>
<p>This graph has leaked out of somewhere and purports to show the effect of the Paywall on the time online website. Allegedly. If its real, and it may well be, then the paywall isn&#8217;t working. Personally, I&#8217;d pay if it wasn&#8217;t so relatively expensive &#8211; there&#8217;s nothing in the Times for me I can&#8217;t get for free elsewhere&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/times-online-paywall-statistics.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No news is Good news..</title>
		<link>http://www.iknowthe.net/blog/news-good-news.html</link>
		<comments>http://www.iknowthe.net/blog/news-good-news.html#comments</comments>
		<pubDate>Mon, 17 May 2010 12:40:43 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=435</guid>
		<description><![CDATA[I now have an office in central Oxford, just by the station, which is very handy for London clients wanting to meet up in Paddington. That aside, the complete lack of blog updates demonstrate how busy I have been, with some very interesting new Ecommerce clients, plus I&#8217;ve been doing some Internet video streaming, SEO [...]]]></description>
			<content:encoded><![CDATA[<p>I now have an office in central Oxford, just by the station, which is very handy for London clients wanting to meet up in Paddington. That aside, the complete lack of blog updates demonstrate how busy I have been, with some very interesting new Ecommerce clients, plus I&#8217;ve been doing some Internet video streaming, SEO and Google Analytics consultancy. As well as the obligatory social media work. As ever though, any question, thoughts or comments do get in touch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/news-good-news.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google heal thyself</title>
		<link>http://www.iknowthe.net/blog/google-heal-thyself.html</link>
		<comments>http://www.iknowthe.net/blog/google-heal-thyself.html#comments</comments>
		<pubDate>Wed, 24 Mar 2010 23:46:09 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=431</guid>
		<description><![CDATA[So, Google appears to be failing to close its HTML tag (&#60;/HTML&#62;) tag on its homepage, Google.co.uk. nOOb error. I mean, this is the Google Homepage&#8230;Get it vaguely right guys, even if it doesn&#8217;t validate. Check it out yourself, but here&#8217;s the source as of 23:44, 24th March 2010, http://www.google.co.uk. &#60;!doctype html&#62;&#60;html onmousemove="google&#38;&#38;google.fade&#38;&#38;google.fade(event)"&#62;&#60;head&#62;&#60;meta http-equiv="content-type" content="text/html; [...]]]></description>
			<content:encoded><![CDATA[<p>So, Google appears to be failing to close its HTML tag (&lt;/HTML&gt;) tag on its homepage, Google.co.uk. nOOb error.</p>
<p>I mean, this is the <a href="http://www.google.co.uk/">Google</a> Homepage&#8230;Get it vaguely right guys, even if it doesn&#8217;t <a href="http://validator.w3.org/check?uri=http%3A%2F%2Fwww.google.co.uk%2F&amp;charset=%28detect+automatically%29&amp;doctype=Inline&amp;group=0">validate</a>.</p>
<p>Check it out <a href="http://www.google.co.uk/">yourself</a>, but here&#8217;s the source as of 23:44, 24th March 2010, http://www.google.co.uk.</p>
<pre>&lt;!doctype html&gt;&lt;html onmousemove="google&amp;&amp;google.fade&amp;&amp;google.fade(event)"&gt;&lt;head&gt;&lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&gt;&lt;title&gt;Google&lt;/title&gt;&lt;script&gt;window.google={kEI:"o6GqS8-BBoiO4gauptG2Ag",kEXPI:"17259",kCSI:{e:"17259",ei:"o6GqS8-BBoiO4gauptG2Ag",expi:"17259"},ml:function(){},kHL:"en",time:function(){return(new Date).getTime()},log:function(b,d,c){var a=new Image,e=google,g=e.lc,f=e.li;a.onerror=(a.onload=(a.onabort=function(){delete g[f]}));g[f]=a;c=c||"/gen_204?atyp=i&amp;ct="+b+"&amp;cad="+d+"&amp;zx="+google.time();a.src=c;e.li=f+1},lc:[],li:0,Toolbelt:{}};
window.google.sn="webhp";window.google.timers={load:{t:{start:(new Date).getTime()}}};try{}catch(u){}window.google.jsrt_kill=1;
var _gjwl=location;function _gjuc(){var b=_gjwl.href.indexOf("#");if(b&gt;=0){var a=_gjwl.href.substring(b+1);if(/(^|&amp;)q=/.test(a)&amp;&amp;a.indexOf("#")==-1&amp;&amp;!/(^|&amp;)cad=h($|&amp;)/.test(a)){_gjwl.replace("/search?"+a.replace(/(^|&amp;)fp=[^&amp;]*/g,"")+"&amp;cad=h");return 1}}return 0}function _gjp(){!(window._gjwl.hash&amp;&amp;window._gjuc())&amp;&amp;setTimeout(_gjp,500)};
window._gjp &amp;&amp; _gjp()&lt;/script&gt;&lt;style&gt;td{line-height:.8em;}.gac_m td{line-height:17px;}form{margin-bottom:20px;}body,td,a,p,.h{font-family:arial,sans-serif}.h{color:#36c;font-size:20px}.q{color:#00c}.ts td{padding:0}.ts{border-collapse:collapse}em{font-weight:bold;font-style:normal}.lst{font:17px arial,sans-serif;margin-bottom:.2em;vertical-align:bottom;}input{font-family:inherit}.lsb,.gac_sb{-webkit-appearance:button;padding:0 8px;border:1px solid #999;-webkit-border-radius:2px;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#ddd));font-size:15px;height:1.85em!important;margin:.2em;}.lsb:active,.gac_sb:active{background:-webkit-gradient(linear,left top,left bottom,from(#ccc),to(#ddd))}#fctr,#ghead,#pmocntr,#sbl,#tba,#tbe,.fade{opacity:0;}#fctr,#ghead,#pmocntr,#sbl,#tba,#tbe,.fade{background:#fff;}#gbar,#guser{font-size:13px;padding-top:1px !important}#gbar{float:left;height:22px}#guser{padding-bottom:7px !important;text-align:right}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}#gbs,.gbm{background:#fff;left:0;position:absolute;text-align:left;visibility:hidden;z-index:1000}.gbm{border:1px solid;border-color:#c9d7f1 #36c #36c #a2bae7;z-index:1001}.gb1{margin-right:.5em}.gb1,.gb3{zoom:1}.gb2{display:block;padding:.2em .5em;}.gb2,.gb3{text-decoration:none;border-bottom:none}a.gb1,a.gb2,a.gb3,a.gb4{color:#00c !important}a.gb2:hover{background:#36c;color:#fff !important}&lt;/style&gt;&lt;noscript&gt;&lt;style&gt;#fctr,#ghead,#pmocntr,#sbl,#tba,#tbe,.fade{opacity:1;}&lt;/style&gt;&lt;/noscript&gt;&lt;script&gt;google.y={};google.x=function(e,g){google.y[e.id]=[e,g];return false};if(!window.google)window.google={};window.google.crm={};window.google.cri=0;window.clk=function(d,e,f,j,k,l,m){if(document.images){var a=encodeURIComponent||escape,b=new Image,g=window.google.cri++;window.google.crm[g]=b;b.onerror=(b.onload=(b.onabort=function(){delete window.google.crm[g]}));b.src=["/url?sa=T","",e?"&amp;oi="+a(e):"",f?"&amp;cad="+a(f):"","&amp;ct=",a(j||"res"),"&amp;cd=",a(k),"&amp;ved=",a(m),d?"&amp;url="+a(d.replace(/#.*/,"")).replace(/\+/g,"%2B"):"","&amp;ei=","o6GqS8-BBoiO4gauptG2Ag",l].join("")}
return true};
window.gbar={qs:function(){},tg:function(e){var o={id:'gbar'};for(i in e)o[i]=e[i];google.x(o,function(){gbar.tg(o)})}};&lt;/script&gt;&lt;/head&gt;&lt;body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b alink=#ff0000 onload="document.f.q.focus();if(document.images)new Image().src='/images/nav_logo8.png'" topmargin=3 marginheight=3&gt;&lt;textarea id=csi style=display:none&gt;&lt;/textarea&gt;&lt;div id=ghead&gt;&lt;div id=gbar&gt;&lt;nobr&gt;&lt;b&gt;Web&lt;/b&gt; &lt;a href="http://images.google.co.uk/imghp?hl=en&amp;tab=wi" onclick=gbar.qs(this)&gt;Images&lt;/a&gt; &lt;a href="http://video.google.co.uk/?hl=en&amp;tab=wv" onclick=gbar.qs(this)&gt;Videos&lt;/a&gt; &lt;a href="http://maps.google.co.uk/maps?hl=en&amp;tab=wl" onclick=gbar.qs(this)&gt;Maps&lt;/a&gt; &lt;a href="http://news.google.co.uk/nwshp?hl=en&amp;tab=wn" onclick=gbar.qs(this)&gt;News&lt;/a&gt; &lt;a href="http://www.google.co.uk/prdhp?hl=en&amp;tab=wf" onclick=gbar.qs(this)&gt;Shopping&lt;/a&gt; &lt;a href="http://mail.google.com/mail/?hl=en&amp;tab=wm"&gt;Mail&lt;/a&gt; &lt;a href="http://www.google.co.uk/intl/en/options/" onclick="this.blur();gbar.tg(event);return !1" aria-haspopup=true&gt;&lt;u&gt;more&lt;/u&gt; &lt;small&gt;&amp;#9660;&lt;/small&gt;&lt;/a&gt;&lt;div id=gbi&gt;&lt;a href="http://books.google.co.uk/bkshp?hl=en&amp;tab=wp" onclick=gbar.qs(this)&gt;Books&lt;/a&gt; &lt;a href="http://www.google.co.uk/finance?hl=en&amp;tab=we" onclick=gbar.qs(this)&gt;Finance&lt;/a&gt; &lt;a href="http://translate.google.co.uk/?hl=en&amp;tab=wT" onclick=gbar.qs(this)&gt;Translate&lt;/a&gt; &lt;a href="http://scholar.google.co.uk/schhp?hl=en&amp;tab=ws" onclick=gbar.qs(this)&gt;Scholar&lt;/a&gt; &lt;a href="http://blogsearch.google.co.uk/?hl=en&amp;tab=wb" onclick=gbar.qs(this)&gt;Blogs&lt;/a&gt; &lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href="http://www.youtube.com/?hl=en&amp;tab=w1&amp;gl=GB" onclick=gbar.qs(this)&gt;YouTube&lt;/a&gt; &lt;a href="http://www.google.com/calendar/render?hl=en&amp;tab=wc"&gt;Calendar&lt;/a&gt; &lt;a href="http://picasaweb.google.co.uk/home?hl=en&amp;tab=wq" onclick=gbar.qs(this)&gt;Photos&lt;/a&gt; &lt;a href="http://docs.google.com/?hl=en&amp;tab=wo"&gt;Documents&lt;/a&gt; &lt;a href="http://www.google.co.uk/reader/view/?hl=en&amp;tab=wy"&gt;Reader&lt;/a&gt; &lt;a href="http://sites.google.com/?hl=en&amp;tab=w3"&gt;Sites&lt;/a&gt; &lt;a href="http://groups.google.co.uk/grphp?hl=en&amp;tab=wg" onclick=gbar.qs(this)&gt;Groups&lt;/a&gt; &lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href="http://www.google.co.uk/intl/en/options/"&gt;even more &amp;raquo;&lt;/a&gt; &lt;/div&gt;&lt;/nobr&gt;&lt;/div&gt;&lt;div id=guser width=100%&gt;&lt;nobr&gt;&lt;span id=gbn&gt;&lt;/span&gt;&lt;span id=gbf&gt;&lt;/span&gt;&lt;span id=gbe&gt;&lt;a href="/url?sa=p&amp;pref=ig&amp;pval=3&amp;q=http://www.google.co.uk/ig%3Fhl%3Den%26source%3Diglk&amp;usg=AFQjCNH9dUJQAsNWnO3XKq2EIPgFbczqlA"&gt;iGoogle&lt;/a&gt; | &lt;/span&gt;&lt;a href="/preferences?hl=en"&gt;Search settings&lt;/a&gt; | &lt;a href="https://www.google.com/accounts/Login?hl=en&amp;continue=http://www.google.co.uk/"&gt;Sign in&lt;/a&gt;&lt;/nobr&gt;&lt;/div&gt;&lt;div style=left:0&gt;&lt;/div&gt;&lt;div style=right:0&gt;&lt;/div&gt;&lt;/div&gt; &lt;center&gt;&lt;br clear=all id=lgpd&gt;&lt;img alt="Google" height=110 src="/intl/en_uk/images/logo.gif" width=276 id=logo onload="window.lol&amp;&amp;lol()"&gt;&lt;br&gt;&lt;br&gt;&lt;form action="/search" name=f&gt;&lt;table cellpadding=0 cellspacing=0&gt;&lt;tr valign=top&gt;&lt;td width=25%&gt;&amp;nbsp;&lt;/td&gt;&lt;td align=center nowrap&gt;&lt;input name=hl type=hidden value=en&gt;&lt;input name=source type=hidden value=hp&gt;&lt;input autocomplete="off" onblur="google&amp;&amp;google.fade&amp;&amp;google.fade()" maxlength=2048 name=q size=55 title="Google Search" value=""&gt;&lt;br&gt;&lt;input name=btnG type=submit value="Google Search"&gt;&lt;input name=btnI type=submit value="I&amp;#39;m Feeling Lucky"&gt;&lt;/td&gt;&lt;td nowrap width=25% align=left id=sbl&gt;&lt;font size=-2&gt;&amp;nbsp;&amp;nbsp;&lt;a href="/advanced_search?hl=en"&gt;Advanced Search&lt;/a&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&lt;a href="/language_tools?hl=en"&gt;Language Tools&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=center colspan=3&gt;&lt;font size=-1&gt;&lt;span style="text-align:left"&gt;Search: &lt;input id=all type=radio name=meta value="" checked&gt;&lt;label for=all&gt; the web &lt;/label&gt; &lt;input id=cty type=radio name=meta value="cr=countryUK|countryGB"&gt;&lt;label for=cty&gt; pages from the UK &lt;/label&gt; &lt;/span&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/form&gt;&lt;br&gt;&lt;span id=footer&gt;&lt;center id=fctr&gt;&lt;br&gt;&lt;font size=-1&gt;&lt;a href="/intl/en/ads/"&gt;Advertising&amp;nbsp;Programmes&lt;/a&gt; - &lt;a href="/services/"&gt;Business Solutions&lt;/a&gt; - &lt;a href="/intl/en/about.html"&gt;About Google&lt;/a&gt; - &lt;a href="http://www.google.com/ncr"&gt;Go to Google.com&lt;/a&gt;&lt;/font&gt;&lt;p&gt;&lt;font size=-2&gt;&amp;copy;2010 - &lt;a href="/intl/en/privacy.html"&gt;Privacy&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;/center&gt;&lt;/span&gt; &lt;div id=xjsd&gt;&lt;/div&gt;&lt;div id=xjsi&gt;&lt;script&gt;if(google.y)google.y.first=[];if(google.y)google.y.first=[];google.dstr=[];google.rein=[];window.setTimeout(function(){var a=document.createElement("script");a.src="/extern_js/f/CgJlbhICdWsrMAo4XkAdLCswDjgMLCswFjgXLCswFzgGLCswGDgFLCswGTgZLCswJTjKiAEsKzAmOAksKzAnOAQsKzA8OAIsKzBAOA0sKzBEOAIsKzBFOAEsKzBOOAEs/I94o1lzRNcA.js";(document.getElementById("xjsd")||document.body).appendChild(a);if(google.timers&amp;&amp;google.timers.load.t)google.timers.load.t.xjsls=(new Date).getTime();},0);
;google.neegg=1;google.y.first.push(function(){google.ac.b=true;google.ac.i(document.f,document.f.q,'','','',{a:0,o:0});(function(){
var g,h,i=1,k=google.time();function l(c,e){var a=[];for(var b=0,d;d=c[b++];){var f=document.getElementById(d);f&amp;&amp;a.push(f)}for(var b=0,j;j=e[b++];)a=a.concat(m(j[0],j[1]));for(var b=0;a[b];b++)a[b]=[a[b],"opacity",0,1,0,""];return a}function m(c,e){var a=[],b=0,d,f=document.getElementsByTagName(c);for(;d=f[b++];)d.className==
e&amp;&amp;a.push(d);return a}google.fade=function(c){if(google.fx&amp;&amp;i){c=c||window.event;var e=1,a=google.time()-k;if(c&amp;&amp;c.type=="mousemove"){var b=c.clientX,d=c.clientY;e=(g||h)&amp;&amp;(g!=b||h!=d)&amp;&amp;a&gt;600;g=b;h=d}if(e){i=0;google.fx.animate(600,l(["fctr","ghead","pmocntr","sbl","tba","tbe"],[["span","fade"],["div","fade"],["div","gbh"]]))}}};
})();
;google.History&amp;&amp;google.History.initialize('/')});if(google.j&amp;&amp;google.j.en&amp;&amp;google.j.xi){window.setTimeout(google.j.xi,0);google.fade=null;}&lt;/script&gt;&lt;/div&gt;&lt;script&gt;(function(){
var b,d,e,f;function g(a,c){if(a.removeEventListener){a.removeEventListener("load",c,false);a.removeEventListener("error",c,false)}else{a.detachEvent("onload",c);a.detachEvent("onerror",c)}}function h(a){f=(new Date).getTime();++d;a=a||window.event;var c=a.target||a.srcElement;g(c,h)}var i=document.getElementsByTagName("img");b=i.length;d=0;for(var j=0,k;j&lt;b;++j){k=i[j];g(k,h);if(k.complete||typeof k.src!="string"||!k.src)++d;else if(k.addEventListener){k.addEventListener("load",h,false);k.addEventListener("error",
h,false)}else{k.attachEvent("onload",h);k.attachEvent("onerror",h)}}e=b-d;function l(){google.timers.load.t.ol=(new Date).getTime();google.timers.load.t.iml=f;google.kCSI.imc=d;google.kCSI.imn=b;google.kCSI.imp=e;google.report&amp;&amp;google.report(google.timers.load,google.kCSI)}if(window.addEventListener)window.addEventListener("load",l,false);else if(window.attachEvent)window.attachEvent("onload",l);google.timers.load.t.prt=(f=(new Date).getTime());
})();
&lt;/script&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/google-heal-thyself.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Arduino Twitter LCD</title>
		<link>http://www.iknowthe.net/blog/arduino-twitter-lcd-doorsign.html</link>
		<comments>http://www.iknowthe.net/blog/arduino-twitter-lcd-doorsign.html#comments</comments>
		<pubDate>Sat, 20 Mar 2010 21:14:47 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=400</guid>
		<description><![CDATA[Not that I&#8217;m busy or anything, but I saw this,  this, then this, then this and decided I HAD to build a twitter enabled door sign /office messaging system. With a little help, as I&#8217;m a python noob, I have this up  and running. I&#8217;d been wanting to play with Arduno for a while, and [...]]]></description>
			<content:encoded><![CDATA[<p>Not that I&#8217;m busy or anything, but I saw <a href="http://www.pixelpoppin.com/physicalC/doorSign.html">this</a>,  <a href="http://www.pixelpoppin.com/physicalC/doorsign/index.html">this</a>, then <a href="http://blog.tinyenormous.com/2008/12/05/rss-parser-for-twitter/">this</a>, then <a href="http://dawes.wordpress.com/2009/12/23/twitter-to-lcd/">this</a> and decided I HAD to build a twitter enabled door sign /office messaging system.</p>
<p><a href="http://www.iknowthe.net/blog/wp-content/uploads/2010/03/odm-sign.jpg"><img class="alignleft size-medium wp-image-401" title="oxford digital media twitter enabled sign" src="http://www.iknowthe.net/blog/wp-content/uploads/2010/03/odm-sign-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>With a little help, as I&#8217;m a python noob, I have this up  and running.</p>
<p>I&#8217;d been wanting to play with Arduno for a while, and do have some minimal electronic skills, so off to ebay I went.</p>
<p>I bought an Arduino Duemilanove and a Sparkfun Serial 16&#215;2 LCD, and some wire.</p>
<p>I soldered the wires on to the Serial LCD (it has a slot for a 3 pin JST connector &#8211; couldn&#8217;t find one in Maplin).</p>
<p>You then connect the VVD pin to the 5v pin(I had the 5v version of the LCD), GND to GND and RX to RX.</p>
<p><a href="http://www.iknowthe.net/blog/wp-content/uploads/2010/03/photo1.jpg"><img class="alignleft size-full wp-image-413" title="wiring" src="http://www.iknowthe.net/blog/wp-content/uploads/2010/03/photo1.jpg" alt="" width="300" height="225" /></a></p>
<p>Upload the ardino code using the arduino interface from <a href="http://www.arduino.cc/">http://www.arduino.cc/</a></p>
<p>Code below -<span style="text-decoration: line-through;"> it isn&#8217;t auto updating yet, but it will be</span> &#8211; EDIT now it is, improvements welcomed. <a href="http://www.iknowthe.net/blog/wp-content/uploads/2010/03/LCDDoorsign.zip">LCDDoorsign.zip</a></p>
<p>This does occasionally stop working with a peer reset connection error &#8211;  presumably an issue on the twitter api side &#8211; I need to way to stop this halting everything / automatically restart the script&#8230;</p>
<p>Here&#8217;s a video showing the sign in action&#8230;<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="320" height="265" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Zeq4SuvDNhI&amp;hl=en_US&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="320" height="265" src="http://www.youtube.com/v/Zeq4SuvDNhI&amp;hl=en_US&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object><br />
<span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"><span style="line-height: normal; white-space: pre;"><br />
</span></span></p>
<p>Nice modifications would be to do this on a massive screen and let it include @ so people can tweet to your sign.</p>
<p>Or include an PIR  / Proximity detector and auto tweet when triggered. Endless possibilities &#8211; but this is what I wanted.</p>
<p><a href="http://www.iknowthe.net/blog/wp-content/uploads/2010/03/arduino_interface.jpg"><img class="alignleft size-medium wp-image-414" title="arduino_interface" src="http://www.iknowthe.net/blog/wp-content/uploads/2010/03/arduino_interface-225x300.jpg" alt="" width="225" height="300" /></a></p>
<p>Mine will be going on the wall outside <a href="http://www.oxforddigitalmedia.co.uk/">Oxford Digital Media&#8217;s offices in Oxford.</a></p>
<p>Enjoy, and huge thanks to everyone who came before.</p>
<p>You&#8217;ll need py-serial and py-twitter installed on your computer to run this.</p>
<p>Arduino Code &#8211; stolen from <a href="http://dawes.wordpress.com/2009/12/23/twitter-to-lcd/">http://dawes.wordpress.com/2009/12/23/twitter-to-lcd/</a></p>
<div id="_mcePaste">
<p><span style="font-family: Arial, FreeSans, sans-serif; line-height: 24px; color: #333333;"> </span></p>
</div>
<div>#include &lt;SoftwareSerial.h&gt;</div>
<div id="_mcePaste">#define txPin 2</div>
<div id="_mcePaste">int incomingByte = 0;&amp;nbsp;&amp;nbsp; &amp;nbsp;// for incoming serial data</div>
<div id="_mcePaste">SoftwareSerial LCD = SoftwareSerial(0, txPin);</div>
<div id="_mcePaste">// since the LCD does not send data back to the Arduino, we should only define the txPin</div>
<div id="_mcePaste">void setup()</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">Serial.begin(9600);</div>
<div id="_mcePaste">pinMode(txPin, OUTPUT);</div>
<div id="_mcePaste">LCD.begin(9600);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">void loop()</div>
<div id="_mcePaste">{</div>
<div id="_mcePaste">if (Serial.available() &gt; 0) {</div>
<div id="_mcePaste">// read the incoming byte:</div>
<div id="_mcePaste">incomingByte = Serial.read();</div>
<div id="_mcePaste">LCD.print(incomingByte,BYTE);</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">}</div>
<p>#include &lt;SoftwareSerial.h&gt;<br />
#define txPin 2<br />
int incomingByte = 0;&amp;nbsp;&amp;nbsp; &amp;nbsp;// for incoming serial data<br />
SoftwareSerial LCD = SoftwareSerial(0, txPin);// since the LCD does not send data back to the Arduino, we should only define the txPin<br />
void setup(){ Serial.begin(9600); pinMode(txPin, OUTPUT); LCD.begin(9600);}<br />
void loop(){ if (Serial.available() &gt; 0) { // read the incoming byte: incomingByte = Serial.read(); LCD.print(incomingByte,BYTE); }}</p>
<p><span style="font-family: Arial, FreeSans, sans-serif; line-height: 24px; color: #333333;"> </span></p>
<pre class="code" style="margin-top: 1em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 13px; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: transparent; overflow-x: auto; overflow-y: auto; width: 608px; background-position: initial initial; padding: 0px; border: 0px initial initial;"><span style="font-family: monospace, Monaco, 'Courier New', Courier, monospace;"><a href="http://www.iknowthe.net/blog/wp-content/uploads/2010/03/photo.jpg"><img class="alignleft size-medium wp-image-422" title="photo" src="http://www.iknowthe.net/blog/wp-content/uploads/2010/03/photo-300x225.jpg" alt="" width="300" height="225" /></a>
</span></pre>
<p>Adapted code from http://dawes.wordpress.com/2009/12/23/twitter-to-lcd/ &#8211; to make it actually run <img src='http://www.iknowthe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span style="font-family: monospace, Monaco, 'Courier New', Courier, monospace;"><span style="line-height: 18px; white-space: pre;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;"><span style="line-height: 19px; white-space: normal;"> </span></span></span></span></p>
<p><span style="font-family: monospace, Monaco, 'Courier New', Courier, monospace;"> </span></p>
<p><span style="font-family: monospace, Monaco, 'Courier New', Courier, monospace;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;">#!/usr/bin/env python</span></span></p>
<p># encoding: utf-8</p>
<p>&#8220;&#8221;"</p>
<p>TweetLCD.py</p>
<p>This twitter-to-LCD script implements two functions for displaying</p>
<p>text on a Sparkfun Serial LCD.</p>
<p>scrollText &#8211; allows long lines of text to be scrolled along the top of the</p>
<p>LCD pageText &#8211; allows long text to be paged up. First the top line is</p>
<p>written, then the bottom line, then the lines shift up, and more text is</p>
<p>written on the bottom line.</p>
<p>Created by Andrew M.C. Dawes on 2009-12-18.</p>
<p>Copyright (c) 2009, 2010 Andrew M.C. Dawes.</p>
<p>Some rights reserved. License: Creative Commons GNU GPL:</p>
<p>http://creativecommons.org/licenses/GPL/2.0/</p>
<p>&#8220;&#8221;"</p>
<p>import serial</p>
<p>import time</p>
<p>import threading</p>
<p>import twitter</p>
<p>SERIALPORT = &#8220;/dev/tty.usbserial-A800ep5H&#8221; # this is my USB serial port YMMV</p>
<p>def pageText(textString, sPort):</p>
<p>botLine = &#8220;&#8221;</p>
<p>cursor = 0</p>
<p>for letter in textString:</p>
<p># print letter, cursor     # this is for debugging</p>
<p>sPort.write(letter)</p>
<p>if cursor &gt; 15:</p>
<p># I&#8217;m printing in second line so keep track of what I write</p>
<p>botLine = botLine + letter</p>
<p># print botLine</p>
<p># page the bottom line up to top, clear bottom, and write</p>
<p>if cursor == 31:</p>
<p># print &#8220;cursor wrap&#8221;</p>
<p>sPort.write(&#8216;\xFE\x80&#8242;) # wrap to start of first line</p>
<p>sPort.write(botLine) # what was on the bottom (now on top)</p>
<p>sPort.write(&#8221;                &#8221;)</p>
<p>sPort.write(&#8216;\xFE\xC0&#8242;) # skip to beginning of second line</p>
<p>botLine = &#8220;&#8221;</p>
<p>cursor = 15 # reset to beginning of second line</p>
<p>cursor = cursor + 1</p>
<p>time.sleep(0.05) # set this delay to a comfortable value</p>
<p># The quick brown fox jumped over t|he lazy yellow dog.</p>
<p>#letter:  t</p>
<p>#sPort      The quick brown f</p>
<p>#botLine    ox jumped over t</p>
<p>#cursor 31</p>
<p>def scrollText(textString, sPort):</p>
<p>cursor = 0</p>
<p>firstPass = True # test whether this is the first 16 characters</p>
<p>for letter in textString:</p>
<p>if firstPass == False:</p>
<p>sPort.write(&#8216;\xFE\x18&#8242;) # scroll left one spot at each letter</p>
<p># print letter, cursor    # this is for debugging</p>
<p>sPort.write(letter)</p>
<p>if cursor == 15:</p>
<p># I&#8217;m printing the last visible character</p>
<p>sPort.write(&#8216;\xFE\x90&#8242;) # jump cursor to 2nd column of 16</p>
<p># once the first row is filled, we need to scroll</p>
<p>firstPass = False</p>
<p>if cursor == 31:</p>
<p>sPort.write(&#8216;\xFE\xA0&#8242;) # jump cursor to 3rd column</p>
<p>if cursor == 39:</p>
<p># start over, there are only 40 characters in memory</p>
<p>cursor = -1</p>
<p>sPort.write(&#8216;\xFE\x80&#8242;) # original character address</p>
<p>cursor = cursor + 1</p>
<p>time.sleep(0.5) # adjust this to a comfortable value</p>
<p>def main():</p>
<p>sPort = serial.Serial(SERIALPORT, 9600)</p>
<p>time.sleep(0.1)</p>
<p>sPort.write(&#8216;\xFE\x01&#8242;) # clear the LCD screen</p>
<p>while(True):</p>
<p>time.sleep(0.1)</p>
<p>sPort.write(&#8216;\xFE\x80&#8242;) # goto 0 position</p>
<p>api = twitter.Api()</p>
<p>status = api.GetUserTimeline(user=&#8217;doorsign&#8217;, count=1)[0]</p>
<p># textstring = &#8220;11111111111111112222222222222222\</p>
<p>#                33333333333333334444444444444444&#8243;</p>
<p>textstring = &#8220;&#8221; + status.text</p>
<p>#scrollText(textstring, sPort) # choose one of these</p>
<p>pageText(textstring,sPort) # two options</p>
<p>time.sleep(2)</p>
<p>sPort.write(&#8216;\xFE\x01&#8242;) # clear the screen (in preparation to repeat)</p>
<p>sPort.close()</p>
<p>threading.Timer(3, main).start()</p>
<p>if __name__ == &#8216;__main__&#8217;:</p>
<p>main()</p>
<p>time.sleep(20)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/arduino-twitter-lcd-doorsign.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Google Buns</title>
		<link>http://www.iknowthe.net/blog/google-buns.html</link>
		<comments>http://www.iknowthe.net/blog/google-buns.html#comments</comments>
		<pubDate>Sat, 13 Feb 2010 09:13:06 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=391</guid>
		<description><![CDATA[“Come on,” said Moon-Face. “Come and eat a Google Bun and see what you think of it.” Soon they were all sitting on the broad branches outside Moon-Face’s house, eating Pop Biscuits and Google Buns. The buns were most peculiar. They each had a very large currant in the middle, and this was filled with [...]]]></description>
			<content:encoded><![CDATA[<p><em>“Come on,” said Moon-Face. “Come and eat a <strong>Google Bun</strong> and see what you think of it.”<br />
Soon they were all sitting on the broad branches outside Moon-Face’s house, eating Pop Biscuits and Google Buns. The buns were most peculiar. They each had a very large currant in the middle, and this was filled with sherbet. So when you got to the currant and bit it the sherbet frothed out and filled your mouth with fine bubbles that tasted delicious. The children got a real surprise when they bit their currants, and Moon-Face almost fell off the branch with laughing.</em></p>
<p><em><br />
</em><a href="http://www.iknowthe.net/blog/wp-content/uploads/2010/02/51+pQcHMuZL._SL500_AA240_.jpg"><img class="alignleft size-full wp-image-393" title="51+pQcHMuZL._SL500_AA240_" src="http://www.iknowthe.net/blog/wp-content/uploads/2010/02/51+pQcHMuZL._SL500_AA240_.jpg" alt="" width="168" height="168" /></a><br />
I&#8217;m reading <a href="http://www.amazon.co.uk/Magic-Faraway-Tree-Enid-Blyton/dp/1405230282">The Magic Faraway Tree</a> to my 6 year old &#8211; and was surprised to find this mention of Google Buns. Enid Blyton was ahead of her time. If you missed out on these as a kids &#8211; they are really good books!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/google-buns.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backup mail.app to gmail</title>
		<link>http://www.iknowthe.net/blog/backup-mailapp-gmail.html</link>
		<comments>http://www.iknowthe.net/blog/backup-mailapp-gmail.html#comments</comments>
		<pubDate>Tue, 09 Feb 2010 17:43:32 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=389</guid>
		<description><![CDATA[http://googlemac.blogspot.com/2010/01/upload-your-email-to-google-apps.html Just when I want to upload all my archived email to google, they come up with a free app.]]></description>
			<content:encoded><![CDATA[<p><a href="http://googlemac.blogspot.com/2010/01/upload-your-email-to-google-apps.html">http://googlemac.blogspot.com/2010/01/upload-your-email-to-google-apps.html</a> Just when I want to upload all my archived email to google, they come up with a free app.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/backup-mailapp-gmail.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ipad</title>
		<link>http://www.iknowthe.net/blog/ipad.html</link>
		<comments>http://www.iknowthe.net/blog/ipad.html#comments</comments>
		<pubDate>Wed, 27 Jan 2010 18:42:49 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=383</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.iknowthe.net/blog/wp-content/uploads/2010/01/ipad.png"><img src="http://www.iknowthe.net/blog/wp-content/uploads/2010/01/ipad.png" alt="" title="ipad" width="300" height="199" class="alignleft size-full wp-image-387" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/ipad.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Personalised Search</title>
		<link>http://www.iknowthe.net/blog/google-personalised-search.html</link>
		<comments>http://www.iknowthe.net/blog/google-personalised-search.html#comments</comments>
		<pubDate>Sun, 06 Dec 2009 17:28:51 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=374</guid>
		<description><![CDATA[Some info on the new personalised search from Google and some good analysis from searchengineland.]]></description>
			<content:encoded><![CDATA[<p>Some info on the new personalised search from <a href="http://googleblog.blogspot.com/2009/12/personalized-search-for-everyone.html">Google</a> and some good analysis from <a href="http://searchengineland.com/google-search-history-expands-becomes-web-history-11016">searchengineland</a>.<center><br />
<object width="300" height="195"><param name="movie" value="http://www.youtube.com/v/EKuG2M6R4VM&#038;hl=en_US&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/EKuG2M6R4VM&#038;hl=en_US&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="300" height="195"></embed></object></center></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/google-personalised-search.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Play.com email disaster &#8211; an etailers nightmare</title>
		<link>http://www.iknowthe.net/blog/play-etailers-nightmare.html</link>
		<comments>http://www.iknowthe.net/blog/play-etailers-nightmare.html#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:12:20 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=365</guid>
		<description><![CDATA[The BBC are reporting that play.com have accidentally sent thousands of emails out, each detailing someone else&#8217;s order details. Play have spent the day fielding emails and calls from angry customers, and apparently described the incident as a &#8220;massive problem.&#8221; Ouch. What not to do with your customers data.]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://news.bbc.co.uk/1/hi/technology/8346833.stm">BBC</a> are reporting that play.com have accidentally sent thousands of emails out, each detailing someone else&#8217;s order details.<br />
<img src="http://newsimg.bbc.co.uk/media/images/46681000/jpg/_46681708_email-play226.jpg" alt="Play.com" /></p>
<p>Play have spent the day fielding emails and calls from angry customers, and apparently described the incident as a &#8220;massive problem.&#8221; <br />Ouch. What not to do with your customers data.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/play-etailers-nightmare.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Great post on above the fold content</title>
		<link>http://www.iknowthe.net/blog/great-post-on-above-the-fold-content.html</link>
		<comments>http://www.iknowthe.net/blog/great-post-on-above-the-fold-content.html#comments</comments>
		<pubDate>Thu, 29 Oct 2009 20:34:24 +0000</pubDate>
		<dc:creator>Emma Kane</dc:creator>
				<category><![CDATA[Everything]]></category>

		<guid isPermaLink="false">http://www.iknowthe.net/blog/?p=358</guid>
		<description><![CDATA[Over at econsultancy. Put important stuff above the fold. Even nowadays.]]></description>
			<content:encoded><![CDATA[<p>Over at <a href="http://econsultancy.com/blog/4869-what-should-be-above-the-fold-on-an-e-commerce-site">econsultancy</a>. Put important stuff above the fold. Even nowadays.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iknowthe.net/blog/great-post-on-above-the-fold-content.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
