<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1568294492119442242</id><updated>2012-01-02T16:51:19.361Z</updated><category term='sony'/><category term='linux'/><category term='htc'/><category term='repair'/><category term='visualisation'/><category term='mp3'/><category term='travel'/><category term='android'/><category term='xfactor'/><category term='northumbria'/><category term='kids'/><title type='text'>Gurunoia</title><subtitle type='html'>Gurunoia.  Discoveries in computers and beyond.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-1329805202707612582</id><published>2011-05-31T22:56:00.001+01:00</published><updated>2011-05-31T22:58:18.128+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='kids'/><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='northumbria'/><title type='text'>Things to do with kids in Northumbria</title><content type='html'>In April the four of us - me, Carolyn, Aidan (7), and Megan (5) - spent a week in Northumbria. We stayed just south of Berwick, and had a fabulous time. Here are some of the things we did, in no particular order.&lt;br /&gt;&lt;br /&gt;Walking along the beach, looking in rock pools and marvelling at the geology of the skerrs at &lt;a href="http://www.northumberland-beaches.co.uk/cocklawburn-beach.htm"&gt;Cocklawburn Beach&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-bgISjliJ2TI/TeVeTjH4tsI/AAAAAAAAAFg/zmjPbVEru6k/s1600/C0012-5182.jpg" imageanchor="1"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-bgISjliJ2TI/TeVeTjH4tsI/AAAAAAAAAFg/zmjPbVEru6k/s400/C0012-5182.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Playing in the playground and eating icecream on the &lt;a href="http://www.northumberland-beaches.co.uk/spittal.htm"&gt;promenade at Spital&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Staying in a cottage at &lt;a href="http://www.google.co.uk/?q=north+ancroft+farm"&gt;North Ancroft Farm&lt;/a&gt;. Green fields in all directions, and the light of Lindisfarne winking in the twilight.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-uiVtjlkbvug/TeVeUMtOw_I/AAAAAAAAAFo/BTdReTVbVhA/s1600/C0012-5227.jpg" imageanchor="1"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-uiVtjlkbvug/TeVeUMtOw_I/AAAAAAAAAFo/BTdReTVbVhA/s400/C0012-5227.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Exploring the treasures of &lt;a href="http://en.wikipedia.org/wiki/Bamburgh_Castle"&gt;Bamburgh Castle&lt;/a&gt;. It felt like a European castle - still full of art, function, accessories, and history. The archaeology room's Norse games caught Megan's and my attention too.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-iQhkL6hiXzo/TeVeU7Ul0jI/AAAAAAAAAF4/rNbI7JpxnSg/s1600/C0012-5264.jpg" imageanchor="1"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/-iQhkL6hiXzo/TeVeU7Ul0jI/AAAAAAAAAF4/rNbI7JpxnSg/s400/C0012-5264.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-5gnmg-_gdIQ/TeVeUbeVI3I/AAAAAAAAAFw/a7UgGtNqe6k/s1600/C0012-5267.jpg" imageanchor="1"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-5gnmg-_gdIQ/TeVeUbeVI3I/AAAAAAAAAFw/a7UgGtNqe6k/s400/C0012-5267.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Learning the history of Oswald and Aidan, at &lt;a href="http://www.lindisfarne.org.uk/"&gt;Lindisfarne&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-txzgkt5atCk/TeVfn7bTH7I/AAAAAAAAAGI/qvMDyEcUaB8/s1600/C0012-5294.jpg" imageanchor="1"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-txzgkt5atCk/TeVfn7bTH7I/AAAAAAAAAGI/qvMDyEcUaB8/s400/C0012-5294.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Walking in the &lt;a href="http://www.northumberlandnationalpark.org.uk/"&gt;Northumberland National Park&lt;/a&gt;. We had a very windy walk to Linhope Spout waterfall.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-TL4BuWcIKuE/TeVfnoyP_2I/AAAAAAAAAGA/v_HnvgxowcI/s1600/C0012-5289.jpg" imageanchor="1"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/-TL4BuWcIKuE/TeVfnoyP_2I/AAAAAAAAAGA/v_HnvgxowcI/s400/C0012-5289.jpg" width="300" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Exploring the multitudinous activities of &lt;a href="http://www.nationaltrust.org.uk/main/w-cragsidehousegardenandestate"&gt;Cragside&lt;/a&gt; (National Trust property) - especially the labyrinth, the gardens, and the inventor's house.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-fXzQhdcsqzE/TeVfo6GrSoI/AAAAAAAAAGQ/zm0A7ug-WAk/s1600/C0012-5316.jpg" imageanchor="1"&gt;&lt;img border="0" height="300" src="http://2.bp.blogspot.com/-fXzQhdcsqzE/TeVfo6GrSoI/AAAAAAAAAGQ/zm0A7ug-WAk/s400/C0012-5316.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;And here are some things that were recommended to us, which we'll try next time:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.conundrumfarm.com/"&gt;Conundrum&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.potadoodledo.com/"&gt;Pot-a-Doodle Do&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.heatherslawlightrailway.co.uk/"&gt;Heatherslaw Light Railway&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-1329805202707612582?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/1329805202707612582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=1329805202707612582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/1329805202707612582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/1329805202707612582'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2011/05/things-to-do-with-kids-in-northumbria.html' title='Things to do with kids in Northumbria'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-bgISjliJ2TI/TeVeTjH4tsI/AAAAAAAAAFg/zmjPbVEru6k/s72-c/C0012-5182.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-8999750202201541303</id><published>2011-05-26T22:27:00.000+01:00</published><updated>2011-05-26T22:27:20.006+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='repair'/><category scheme='http://www.blogger.com/atom/ns#' term='htc'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Android recovery</title><content type='html'>I had to back up C's HTC Desire phone today, with a broken screen. A bit challenging - how to start random applications on Android without any feedback? &lt;a href="http://developer.android.com/guide/developing/tools/adb.html"&gt;adb&lt;/a&gt; to the rescue, plus my identical phone. Going through the sequences in parallel on both phones helped me know where to touch.&lt;br /&gt;&lt;br /&gt;First, make sure USB debugging mode is turned on. Unlock, make sure you're at the home screen, and press Menu, then Settings. Scroll to the top of the list (it comes up at the last place you were at, which caught me out), then down to reveal Applications. Press it, and then Development, then USB Debugging, then OK.&lt;br /&gt;&lt;br /&gt;Now fire up adb. Thanks to &lt;a href="http://learnandroid.blogspot.com/2008/01/run-android-application-from-command.html"&gt;Bhayangkara&lt;/a&gt; for the recipe!&lt;br /&gt;&lt;br /&gt;am start -a android.intent.action.MAIN -n com.riteshsahu.SMSBackupRestore/.FreeMain starts up the SMS backup/restore program (make sure you installed it already!). Press Backup, etc.&lt;br /&gt;&lt;br /&gt;am start -a android.intent.action.MAIN -n com.android.demo.notepad3/.Notepadv3 starts up the Notes program. Press Menu, Backup.&lt;br /&gt;&lt;br /&gt;In general, start the app on the working phone, then use your favourite log viewer to look for "Starting activity: Intent..." to figure out the right activity to pass to am start.&lt;br /&gt;&lt;br /&gt;Now all you want is on the SD card - back it up.&lt;br /&gt;&lt;br /&gt;Phew! Now all we need to do is send it off for repair. Fingers crossed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-8999750202201541303?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/8999750202201541303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=8999750202201541303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/8999750202201541303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/8999750202201541303'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2011/05/android-recovery.html' title='Android recovery'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-56871112084933468</id><published>2011-05-08T07:53:00.000+01:00</published><updated>2011-05-08T07:53:25.926+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sony'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mp3'/><title type='text'>Sorting MP3s on a Sony Walkman NWZ-B152 player</title><content type='html'>I bought an MP3 player yesterday for the kids, for bedtime music. They're currently using an old Nokia phone, but it's a bit broken and hard to navigate and the internal speaker isn't that great. The new plan is to wire a line in socket to an old CD/radio and attach the MP3 player to that.&lt;br /&gt;&lt;br /&gt;I got a Sony Walkman NWZ-B152 from Tesco because it was on special and they have a Double Points deal (though that took some negotiation in the end!). The documentation all assumes you're using the latest OS from Microsoft. I'm using Ubuntu Linux, but I figured that shouldn't be a problem.&lt;br /&gt;&lt;br /&gt;The device supports USB Mass Storage, but when I copied some MP3s onto it, the tracks in each album came up in random order. I tried adding ID3 track number tags with eyeD3, and they still came up in random order - but a different random order this time. Bizarre.&lt;br /&gt;&lt;br /&gt;Finally this morning I worked it out. &lt;b&gt;The Sony player sorts on the ID3v2.3 track tag only&lt;/b&gt; - if there's an ID3v1.0 track tag, it ignores it. And eyeD3 sometimes uses one flavour and sometimes another.&lt;br /&gt;&lt;br /&gt;Simple fix: in my encoder script, add &lt;code&gt;--id3v2-only&lt;/code&gt;. Or if, as in my case, you've already copied loads of MP3s across and don't want to repeat it, in your fixup script add &lt;code&gt;--to-v2.3&lt;/code&gt;. Et voilà, track sort order works at last!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-56871112084933468?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/56871112084933468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=56871112084933468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/56871112084933468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/56871112084933468'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2011/05/sorting-mp3s-on-sony-walkman-nwz-b152.html' title='Sorting MP3s on a Sony Walkman NWZ-B152 player'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-7323756432887511362</id><published>2010-12-13T20:51:00.003Z</published><updated>2010-12-14T00:23:15.048Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='xfactor'/><category scheme='http://www.blogger.com/atom/ns#' term='visualisation'/><title type='text'>X Factor 2010 Vote Analysis</title><content type='html'>&lt;a href="http://kw217.blogspot.com/2009/12/x-factor-2009-vote-analysis.html"&gt;Once again&lt;/a&gt;, here's the voting data for X Factor 2010 (from the &lt;a href="http://xfactor.itv.com/_uploads/userassets/files/vote2010.pdf"&gt;official PDF&lt;/a&gt;).&amp;nbsp; I've normalised it according to the number of contestants each week: if there are 5 contestants, then -1 means no votes, 0 means 20% (i.e, even split), 1 means 40%, etc.&amp;nbsp; In week 10, there were were two "splits" before the final vote, and the numbers include all votes for all four finalists, even though in split 2 and the final some contestants were no longer eligible.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://spreadsheets.google.com/ccc?key=0AvziFYHNsnfxdGtGU0FLVlZiOTlrNUxaWmtRWUdmVVE&amp;hl=en_GB#gid=1" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="245" src="http://3.bp.blogspot.com/_N14QdeKykhs/TQaGdtw5nuI/AAAAAAAAADc/znIXi2BOxHI/s400/chart1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="https://spreadsheets.google.com/ccc?key=0AvziFYHNsnfxdGtGU0FLVlZiOTlrNUxaWmtRWUdmVVE&amp;amp;hl=en_GB"&gt;Here's the spreadsheet&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-7323756432887511362?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/7323756432887511362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=7323756432887511362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/7323756432887511362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/7323756432887511362'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2010/12/x-factor-2010-vote-analysis.html' title='X Factor 2010 Vote Analysis'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_N14QdeKykhs/TQaGdtw5nuI/AAAAAAAAADc/znIXi2BOxHI/s72-c/chart1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-6072496971504878925</id><published>2010-07-30T22:30:00.000+01:00</published><updated>2010-07-30T22:30:49.503+01:00</updated><title type='text'>Archiving RockYou slideshows</title><content type='html'>Aidan's amazing primary 2 teacher keeps a class blog, which is full of lovely slideshows of pictures of the class and what they're up to (mostly taken by the kids themselves - the "media team"!).  It's fabulous, but I'm really worried about how long it will stay up once the year is over.  I decided to do some digging, and work out how to archive the slideshows.&lt;br /&gt;&lt;br /&gt;Of course, they're in Flash - courtesy of &lt;a href="http://www.rockyou.com/"&gt;RockYou&lt;/a&gt;.  And saving a Flash to your computer (even if you can do it) doesn't get you very far - it downloads all the images from the internet as it goes.&lt;br /&gt;&lt;br /&gt;Thanks to the fab (and free in both senses) &lt;a href="http://www.owasp.org/index.php/Category%3aOWASP_WebScarab_Project#Download"&gt;WebScarab&lt;/a&gt; (like &lt;a href="http://www.fiddler2.com/fiddler2/"&gt;Fiddler&lt;/a&gt;, but it works on Linux too), I was easily able to watch what happens when a slideshow is played on a browser with an empty cache.  Here's what I found:&lt;br /&gt;&lt;br /&gt;The blog source contains an &amp;lt;embed&amp;gt; link to a URL like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;http://apps.rockyou.com/rockyou.swf?instanceid=&amp;lt;NNmmmDDDD&amp;gt;&amp;amp;ver=102906&lt;/div&gt;&lt;br /&gt;This Flash app loads some more apps and a few beacons and things, but the most important thing is this:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;http://data.rockyou.com:80/xml/&amp;lt;NN&amp;gt;/&amp;lt;mmm&amp;gt;/&amp;lt;NNmmmDDDD&amp;gt;.xml&lt;/div&gt;&lt;br /&gt;This is a nice little XML file with a &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/rockmyspace/gallery&lt;/span&gt; element that has basic style, colour, and transition information as attributes, and as content has a list of &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;slide&lt;/span&gt; elements.&amp;nbsp; Each of these has an &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;image&lt;/span&gt; element - the URL to the image - and a &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;text&lt;/span&gt; element - the caption.&amp;nbsp; Here's an example:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;slide&amp;gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;lt;image path="http://img&amp;lt;YYY&amp;gt;.rockyou.com/&amp;lt;NNm&amp;gt;/&amp;lt;NNmmmD&amp;gt;/&amp;lt;NNmmmDDDD&amp;gt;/&amp;lt;NNmmmDDDD&amp;gt;_&amp;lt;xxxxxxxxxxxxxxxxxx&amp;gt;.jpg" /&amp;gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;lt;text text="Isn't this a cool photo?" /&amp;gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;lt;/slide&amp;gt;&lt;/div&gt;&lt;br /&gt;And that's all you need!&lt;br /&gt;&lt;br /&gt;To summarise:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Determine the &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;instanceid&lt;/span&gt; of the slideshow.&lt;/li&gt;&lt;li&gt;Download the corresponding XML file.&lt;/li&gt;&lt;li&gt;Read the XML file, looking for &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;/rockmyspace/gallery/slide/image&lt;/span&gt; elements.&amp;nbsp; (May not always be &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;gallery&lt;/span&gt; - I've seen other values here).&lt;/li&gt;&lt;li&gt;Download the images.&lt;/li&gt;&lt;li&gt;Read the captions from the corresponding &lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;text&lt;/span&gt; elements.&lt;/li&gt;&lt;/ul&gt;Obviously you have to work out how to display them yourself, and how to recreate the transitions.&amp;nbsp; But this way you can get at and archive the content that's been shared by the slideshow author, so it can be enjoyed for years afterward.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-6072496971504878925?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/6072496971504878925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=6072496971504878925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/6072496971504878925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/6072496971504878925'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2010/07/archiving-rockyou-slideshows.html' title='Archiving RockYou slideshows'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-8922152227682607717</id><published>2010-06-15T23:09:00.000+01:00</published><updated>2010-06-15T23:09:30.057+01:00</updated><title type='text'>Transferring calendar and contacts from Nokia to Google</title><content type='html'>I recently upgraded my lovely but old-fashioned Nokia N73 to a shiny new Android - the HTC Desire. It's a great phone, but I have hundreds of events, contacts, tasks, and notes in the N73. How to get them across?&lt;br /&gt;&lt;br /&gt;Well, there are a few ways *not* to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Don't follow &lt;a href="http://www.google.com/support/mobile/bin/answer.py?hl=en&amp;amp;answer=147951"&gt;Google's advice&lt;/a&gt; and install Mail for Exchange on the old phone, pointing it to your Google account. This didn't work for me - 'connection failed'.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Don't follow Orange's advice and put your new SIM in your old phone and save your contacts too it. Good stop-gap, but all entries are truncated and case-smashed.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Don't try registering for &lt;a href="http://www2.orange.co.uk/servlet/Satellite?pagename=OUKPersonal&amp;amp;c=OUKService&amp;amp;t=Service&amp;amp;cid=1044128984512&amp;amp;tab=1"&gt;Orange Sync&lt;/a&gt;.&amp;nbsp; The website hung for me at the registration screen.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Instead, do the following. &lt;br /&gt;&lt;ul&gt;&lt;li&gt;I used &lt;a href="http://europe.nokia.com/support/download-software/pc-suites"&gt;Nokia PC Suite&lt;/a&gt; 7.0.9.2 on Windows Vista.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Do a full phone backup before you start! It's too easy to sync the wrong way and wipe everything.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;In PC Suite, make sure your phone is not set to auto-sync on connection.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;In Windows Calendar (not Windows Live Messaging calendar), create a new calendar and deselect all the others.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Choose the Contacts menu option, which dumps you in Explorer with some shell extension running.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Delete any contacts that are here already (if you care about them, save them first).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;In PC Suite, create a new sync setting. Sync calendar and contacts, to Windows Vista Calendar and Contacts, choosing the calendar you named earlier. Choose 'advanced', and set conflicts to prefer phone and one-way sync from phone to PC.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Do a sync.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Go to Windows Calendar, make sure only your new calendar is selected, and export it as an .ics file.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Choose the Contacts menu option, select all contacts, and save as a folder of vCard files.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;In the command prompt, go to the folder and type&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;for %f in (*.vcf) do type %f &amp;gt;&amp;gt;all&lt;br /&gt;ren all all.vcf&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;On your PC, log into Google and go to Calendar. Go to Settings, Calendar Settings, Calendars, Import Calendar.&amp;nbsp; Click Browse and choose the .ics file you saved earlier.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Now go to GMail.&amp;nbsp; Go to Contacts, Import.&amp;nbsp; Click Browse and choose the all.vcf file you saved earlier.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;On your phone, go to Settings, Accounts and Sync, Google, and sync your contacts and calendar.&lt;/li&gt;&lt;/ul&gt;That's it!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I haven't yet worked out how to move my tasks or notes across.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-8922152227682607717?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/8922152227682607717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=8922152227682607717' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/8922152227682607717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/8922152227682607717'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2010/06/transferring-calendar-and-contacts-from.html' title='Transferring calendar and contacts from Nokia to Google'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-6453784323378719310</id><published>2010-01-05T00:10:00.010Z</published><updated>2010-01-06T12:26:32.867Z</updated><title type='text'>Fixing the Swan Teasmade backlight</title><content type='html'>We love our Swan STM100 Teasmade - two fresh cups of tea, in bed, whenever we want.  But like &lt;a href="http://www.google.co.uk/search?hl=en&amp;amp;site=&amp;amp;q=teasmade+too+bright&amp;amp;btnG=Search&amp;amp;meta="&gt;many other people&lt;/a&gt;, we found the blue backlight far too bright - so bright it disturbed our sleep.&lt;br /&gt;&lt;br /&gt;I got a bit tired of covering it up with a cloth every night.  Here's how I fixed it properly - the Gurunoia Teasmade backlight mod.&lt;br /&gt;&lt;h2&gt;How to turn off the blue backlight on a Swan STM100 Teasmade&lt;br /&gt;&lt;/h2&gt;&lt;span style="font-style: italic;"&gt;Note: this modification will void your warranty, can expose you to dangerous electrical voltages, and may ruin your Teasmade permanently.  I've documented what I did to my machine here for information only - follow at your own risk.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Teasmade is well put together and solid, but it seems to have rather more screws than strictly necessary.  The module is a bit tricky to remove and replace, but everything else is straightforward.  You'll need a crosshead screwdriver, a craft knife, and a bit of patience.&lt;br /&gt;&lt;br /&gt;1. Start by removing all 10 exposed screws from the base of the Teasmade.  Then &lt;span style="font-weight: bold;"&gt;remove the base&lt;/span&gt;.  All these screws are the same length.&lt;br /&gt;&lt;br /&gt;2. Hold the Teasmade upside down with the clock facing away from you.  Identify the large flat module that contains the clock, buttons, and controller.  In a moment you'll be sliding this out.&lt;br /&gt;&lt;br /&gt;But first, &lt;span style="font-weight: bold;"&gt;slide out the thin rectangular grey heat shield&lt;/span&gt; between the boiling chamber and the module.  You'll need to flex it a little and push the wires out of the way to do this.  It slides straight up.&lt;br /&gt;&lt;br /&gt;3. The module is held in by two screws - one on top at the right, and one down the bottom at the left.  &lt;span style="font-weight: bold;"&gt;Remove both screws&lt;/span&gt;.  The two screws are identical, but different from the first set - they have a built-in flange.&lt;br /&gt;&lt;br /&gt;4. Now very carefully &lt;span style="font-weight: bold;"&gt;slide the module up and out&lt;/span&gt;.  This is a bit tricky, since you have to do several things simultaneously:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Flex the front panel away from the buttons (you need to use considerable force for this, but don't use any tools or you may mark the panel).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Depress the buttons so they can slide up under the panel.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Slowly edge the module up on first one side then the other.&lt;/li&gt;&lt;li&gt;Unclip the module from the two screw posts from which you just removed screws.&lt;/li&gt;&lt;li&gt;Unhook the cable tie from the right-hand screw post.&lt;/li&gt;&lt;li&gt;Take care not to break the attachment of the delay-start button on the centre screw post as it slides past (although I did and it still works fine).&lt;/li&gt;&lt;li&gt;Take care not to lose the springs under the buttons (particularly the alarm-set and time-set buttons, which are not attached).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;5. Undo the 12 screws on the clear side of the module.  These screws are again identical, but different from the earlier screws.  &lt;span style="font-weight: bold;"&gt;Swing the opaque plastic rear cover out of the way&lt;/span&gt;, taking care not to bend the components on the board as the cover passes them.&lt;br /&gt;&lt;br /&gt;6. The clock face is backlit by four blue LEDs at the corners of the main board (KC-800-PC-V1.0).  These are wired in series and controlled by a single transistor (TR2) driven by the microcontroller.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N14QdeKykhs/S0PBUzSLkaI/AAAAAAAAAB4/NHr3mXs-Av8/s1600-h/0105-2707.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_N14QdeKykhs/S0PBUzSLkaI/AAAAAAAAAB4/NHr3mXs-Av8/s400/0105-2707.jpg" alt="" id="BLOGGER_PHOTO_ID_5423390939392217506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To disable the LEDs, all you need to do is break the connection anywhere in this chain.  I chose to &lt;span style="font-weight: bold;"&gt;cut the trace at the top of the board&lt;/span&gt;, between the first and second LEDs.  Use a sharp craft knife to cut through the green mask and the copper trace, into the fibreglass board.  Go over it a few times to make sure it's completely severed.&lt;br /&gt;&lt;br /&gt;You can reverse this later by bridging the gap by soldering a wire across it (or across the nearest LED terminals, which may be more convenient), or you could try dimming the display rather than disabling it completely by using an appropriate resistor.&lt;br /&gt;&lt;br /&gt;7. &lt;span style="font-weight: bold;"&gt;Replace the module cover&lt;/span&gt; and attach with the 12 screws.&lt;br /&gt;&lt;br /&gt;8. &lt;span style="font-weight: bold;"&gt;Slide the module back in&lt;/span&gt;.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Make sure the buttons are in the right places.  There's a flat on the two smaller buttons to hold them in place - the bottom of the alarm-set button and the top of the time-set button.&lt;/li&gt;&lt;li&gt;Easing the clock back into position behind the panel may be tricky, since there's a sharp metal surround in the panel.  I used a credit card between the clock face and the surround to lever it into place.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Be sure to clip the module into both screw posts, and to hook the cable tie back over the screw post before you do so.&lt;/li&gt;&lt;li&gt;Screw it back in with two flanged screws.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N14QdeKykhs/S0PCLEuN43I/AAAAAAAAACA/9w28MSHjDBw/s1600-h/0105-2712.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_N14QdeKykhs/S0PCLEuN43I/AAAAAAAAACA/9w28MSHjDBw/s400/0105-2712.jpg" alt="" id="BLOGGER_PHOTO_ID_5423391871786148722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_N14QdeKykhs/S0PDStmXxFI/AAAAAAAAACI/vwE7jqrFCjo/s1600-h/0105-2714.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_N14QdeKykhs/S0PDStmXxFI/AAAAAAAAACI/vwE7jqrFCjo/s400/0105-2714.jpg" alt="" id="BLOGGER_PHOTO_ID_5423393102529807442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;9. &lt;span style="font-weight: bold;"&gt;Slide the heat shield back into place&lt;/span&gt;.  Be sure the wires are kept as much as possible behind the heat shield, so they are not exposed to the heat of the boiling chamber.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N14QdeKykhs/S0PDSzK_hHI/AAAAAAAAACQ/lPLwhTHqI3k/s1600-h/0105-2721.jpg"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_N14QdeKykhs/S0PDSzK_hHI/AAAAAAAAACQ/lPLwhTHqI3k/s400/0105-2721.jpg" alt="" id="BLOGGER_PHOTO_ID_5423393104025584754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;10. &lt;span style="font-weight: bold;"&gt;Replace the bottom cover&lt;/span&gt;, taking care to fit the power cable filter and grommet correctly into the bottom cover.  Attach with 10 screws.&lt;br /&gt;&lt;br /&gt;You're done!  Power up and check everything still works.  Result: a Teasmade you can leave on without disturbing your sleep, until it's time for that trademark whooshing gurgle!  The clock face is easily readable without the backlight, and anyway you probably already have a bedside clock.&lt;br /&gt;&lt;h2&gt;Future enhancements&lt;/h2&gt;The delay-start button still has a bright blue LED behind it.  A future mod will do something about that; for now just mask it with some tape or a filter behind the button.&lt;br /&gt;&lt;br /&gt;It would be great to have the backlight just come on when needed - say when you pressed a button.  Please post if you know how to reprogram the microcontroller (it says something like "Elan EM78P808BAAQJ 07307 BG07782" which is presumably the &lt;a href="http://www.emc.com.tw/eng/database/Data_Sheet/COM/EM78P808.pdf"&gt;Elan EM78P808&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Please let me know if you try this.  Comments and corrections welcome!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-6453784323378719310?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/6453784323378719310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=6453784323378719310' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/6453784323378719310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/6453784323378719310'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2010/01/fixing-swan-teasmade-backlight.html' title='Fixing the Swan Teasmade backlight'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_N14QdeKykhs/S0PBUzSLkaI/AAAAAAAAAB4/NHr3mXs-Av8/s72-c/0105-2707.jpg' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-9086774641189783343</id><published>2009-12-13T22:20:00.007Z</published><updated>2010-12-13T20:53:46.219Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='xfactor'/><category scheme='http://www.blogger.com/atom/ns#' term='visualisation'/><title type='text'>X Factor 2009 Vote Analysis</title><content type='html'>Thanks to ITV, the voting stats for X Factor 2009 are available at &lt;a href="http://xfactor.itv.com/_uploads/documents/091213_votestats.pdf"&gt;ITV X Factor 2009 vote stats&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Unfortunately, they're expressed as percentages of the vote.  I've massaged the numbers to be the percentage of the average vote - in the first round (with 12 contestants) the average vote would be 8.3%, so 16.7% would be +100%.  In the last round, with 2 contestants, the average vote would be 50%, so 16.7% would be -67%.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This chart lets you see how the contestants' popularity changed over the contest.  Joe was always popular.  Stacey started well, peaked, then seemed to hand her support to Joe.  Olly's support was steady all the way through, but not high.  Danyl started out popular, troughed, peaked, and then slipped away.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spreadsheets.google.com/oimg?key=0AmzUhVp1OplodGxySkoxeERabTJNdlFSajNrYzJKZVE&amp;amp;oid=2&amp;amp;v=1260743308250"&gt;&lt;img src="http://spreadsheets.google.com/oimg?key=0AmzUhVp1OplodGxySkoxeERabTJNdlFSajNrYzJKZVE&amp;amp;oid=2&amp;amp;v=1260743308250" width="400px" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(Click to see full size, or &lt;a href="http://spreadsheets.google.com/ccc?key=0AmzUhVp1OplodGxySkoxeERabTJNdlFSajNrYzJKZVE&amp;amp;hl=en_GB"&gt;see the spreadsheet with data&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enjoy the chart!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--KW 8-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-9086774641189783343?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/9086774641189783343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=9086774641189783343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/9086774641189783343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/9086774641189783343'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2009/12/x-factor-2009-vote-analysis.html' title='X Factor 2009 Vote Analysis'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-4370475217575057341</id><published>2009-06-21T10:53:00.004+01:00</published><updated>2009-06-21T11:12:41.523+01:00</updated><title type='text'>The things they teach you</title><content type='html'>&lt;span style="font-style: italic;"&gt;"I" before "E" except after "C"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;...or so I was taught, and you probably were too.  But now &lt;a href="http://news.bbc.co.uk/2/hi/uk_news/education/8110573.stm"&gt;schools in England have been asked to stop teaching it&lt;/a&gt;, because "there are too few words that follow the rule".&lt;br /&gt;&lt;br /&gt;I remember the rule with fondness, so I have sympathy with the KCL lecturer quoted.  But facts are more reliable than impressions, so I thought I'd check it out myself.&lt;br /&gt;&lt;br /&gt;The fab team at Lancashire have made their &lt;a href="http://ucrel.lancs.ac.uk/bncfreq/"&gt;English-language word frequency lists&lt;/a&gt; &lt;a href="http://ucrel.lancs.ac.uk/bncfreq/flists.html"&gt;freely available&lt;/a&gt; under a Creative Commons license.  A quick download and a little bit of Perl later, we have the following:&lt;br /&gt;&lt;br /&gt;Total: per million words of English, the rule is wrong 5820 times, and right 8475 times (the remainder do not contain either "ie" or "ei").  In other words, &lt;span style="font-weight: bold;"&gt;for any random word you might want to write or speak, the rule will be right 59% of the time - just fractionally better than tossing a coin!  &lt;/span&gt;In fact, the top four words containing "ie" or "ei" all break the rule - it's not until you reach the fifth that it works:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Wrong: their 2608&lt;/li&gt;&lt;li&gt;Wrong: being 862&lt;/li&gt;&lt;li&gt;Wrong: society 238&lt;/li&gt;&lt;li&gt;Wrong: either 220&lt;/li&gt;&lt;li&gt;Right: view 214&lt;/li&gt;&lt;li&gt;Right: believe 212&lt;/li&gt;&lt;li&gt;Right: experience 189&lt;/li&gt;&lt;li&gt;Right: companies 178&lt;/li&gt;&lt;li&gt;Right: patients 173&lt;/li&gt;&lt;li&gt;Wrong: eight 173&lt;/li&gt;&lt;/ol&gt;The British National Corpus has written and spoken English in it, but that doesn't make much difference - for the written corpus only, we have wrong 5760, right 7680, or 57% - slightly &lt;span style="font-style: italic;"&gt;worse&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;So the educationalists are right for once, and our intuition is wrong - the rule isn't much better than flipping a coin!&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;br /&gt;&lt;br /&gt;PS: Here's the Perl:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#!/usr/bin/perl -w&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;use strict;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;my $wrong = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;my $right = 0;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;while (&lt;&gt;) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    chomp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    # use [0,1] for 1_2_all_freq.txt or [0,5] for 2_2_writtenspoken.txt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    my ($word,$freq) = (split)[0,1];&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    if ($word =~ /(?:ie|ei)/i) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        # interesting&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        if ($word =~ /cie|(?:^|[^c])ei/i) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            print "Wrong: $word $freq\n";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            $wrong += $freq;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } else {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            print "Right: $word $freq\n";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            $right += $freq;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;print "Total wrong $wrong, right $right\n";&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-4370475217575057341?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/4370475217575057341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=4370475217575057341' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/4370475217575057341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/4370475217575057341'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2009/06/things-they-teach-you.html' title='The things they teach you'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1568294492119442242.post-5504900832119305351</id><published>2009-03-31T10:38:00.004+01:00</published><updated>2009-06-20T11:33:53.461+01:00</updated><title type='text'>Pressure switch</title><content type='html'>Today's bit of fun was fixing the &lt;a href="http://twitter.com/kw217/status/1356883641"&gt;PE error&lt;/a&gt; on our LG Fuzzy Logic 5.5kg WF-T552 3 step TurboDrum top-loading washing machine.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.fixya.com/support/t605653-pe_error_code_lg_wf_t653a"&gt;Apparently&lt;/a&gt; the PE error means there's a pressure switch problem.  The pressure switch is in the controller, but connected to the washer drum by a hose.  Given that draining and wiggling it wasn't working any more, and armed with the above information, a light, and a few screwdrivers, I bravely went &lt;a href="http://www.phrases.org.uk/meanings/269700.html"&gt;once more unto the&lt;/a&gt;&lt;a href="http://www.phrases.org.uk/meanings/269700.html"&gt; breach&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here is the inside of the machine.  Note the clear pressure hose at the upper right.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_N14QdeKykhs/SdHsf8XDEiI/AAAAAAAAAA0/SVwbodNFjbY/s1600-h/0092-9618ce-arrow.jpg"&gt;&lt;img style="cursor: pointer; width: 350px; height: 308px;" src="http://2.bp.blogspot.com/_N14QdeKykhs/SdHsf8XDEiI/AAAAAAAAAA0/SVwbodNFjbY/s400/0092-9618ce-arrow.jpg" alt="" id="BLOGGER_PHOTO_ID_5319292668424163874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The switch is in the controller on top of the machine, and the hose runs down to the outside of the drum.  There it meets a channel of some sort, which opens out at the very bottom of the drum like so:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_N14QdeKykhs/SdHsfvSjG5I/AAAAAAAAAAs/m8FP8Ikz7Dw/s1600-h/0092-9617ce-arrow.jpg"&gt;&lt;img style="cursor: pointer; width: 250px; height: 140px;" src="http://1.bp.blogspot.com/_N14QdeKykhs/SdHsfvSjG5I/AAAAAAAAAAs/m8FP8Ikz7Dw/s400/0092-9617ce-arrow.jpg" alt="" id="BLOGGER_PHOTO_ID_5319292664915630994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Presumably there's a blockage in the hose, in the channel, or in the opening at the bottom of the drum.  To fix this, you don't need to open any of the above!  Instead, open the cover on top of the machine, like so:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_N14QdeKykhs/SdHsfi4WwLI/AAAAAAAAAAk/MAZEIHyp0Rs/s1600-h/0092-9613ce-arrow.jpg"&gt;&lt;img style="cursor: pointer; width: 350px; height: 190px;" src="http://4.bp.blogspot.com/_N14QdeKykhs/SdHsfi4WwLI/AAAAAAAAAAk/MAZEIHyp0Rs/s400/0092-9613ce-arrow.jpg" alt="" id="BLOGGER_PHOTO_ID_5319292661584543922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The pressure switch is the component with the circular blue surround.  It's held in by three plastic retaining clips.  The hose connects underneath it.&lt;br /&gt;&lt;br /&gt;To fix it, I simply released the pressure switch, disconnected the hose, blew hard through it a few times to clear any blockage, and replaced it.   We shall see over the next few days whether that is enough to solve the problem!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Update: It worked for a while, but the pressure switch was on the way out.  I've since replaced it - very easy, and it only cost NZ$20.55.  Yay!  Big shout-out to &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.axial.co.nz/"&gt;Axial&lt;/a&gt;&lt;span style="font-style: italic;"&gt; who were splendid in identifying and supplying the part.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1568294492119442242-5504900832119305351?l=kw217.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://kw217.blogspot.com/feeds/5504900832119305351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1568294492119442242&amp;postID=5504900832119305351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/5504900832119305351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1568294492119442242/posts/default/5504900832119305351'/><link rel='alternate' type='text/html' href='http://kw217.blogspot.com/2009/03/pressure-switch.html' title='Pressure switch'/><author><name>Keith</name><uri>http://www.blogger.com/profile/10731302336174830606</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_N14QdeKykhs/SdHsf8XDEiI/AAAAAAAAAA0/SVwbodNFjbY/s72-c/0092-9618ce-arrow.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
