<?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'><id>tag:blogger.com,1999:blog-7631594461748448660</id><updated>2010-03-09T17:18:13.684+01:00</updated><title type='text'>Failure: ping successful</title><subtitle type='html'>Random musings of a geekish nature.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.elwell.org.uk/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default?start-index=26&amp;max-results=25'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>45</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-3175259966218662094</id><published>2010-03-02T11:32:00.003+01:00</published><updated>2010-03-02T11:44:15.723+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CERN'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><category scheme='http://www.blogger.com/atom/ns#' term='concerto'/><title type='text'>concerto + twitter</title><content type='html'>During the trials of &lt;a href="http://www.concerto-signage.com/"&gt;concerto&lt;/a&gt; at CERN, I wanted to make the text fields a bit more dynamic like say following a specific twitter feed.&lt;br /&gt;&lt;br /&gt;This would (ideally) simply consist of a DB entry with type=twitter, value=name of person. In the Real World however I got round this by hacking up a simple python script that connects to the DB and does a simple UPDATE of an existing text/plain entry via cron.&lt;br /&gt;&lt;br /&gt;posted below incase others find it useful:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/python&lt;br /&gt;&lt;br /&gt;# Script to pull twitter feeds for cern / lhcstatus&lt;br /&gt;import twitter&lt;br /&gt;import MySQLdb&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;conn = MySQLdb.connect (host = "...", user = "...", passwd = "...", db = "...")&lt;br /&gt;api = twitter.Api()&lt;br /&gt;feeds = { 'cern': 25, 'lhcstatus': 28 }&lt;br /&gt;for f in feeds:&lt;br /&gt; tweets = api.GetUserTimeline(f,count=1)&lt;br /&gt; for tweet in tweets:&lt;br /&gt;  sql = 'UPDATE content SET CONTENT = "%s" WHERE id = %s' % (tweet.GetText(),feeds[f])&lt;br /&gt;  cursor = conn.cursor ()&lt;br /&gt;  try:&lt;br /&gt;   cursor.execute(sql)&lt;br /&gt;   conn.commit()&lt;br /&gt;  except:&lt;br /&gt;   conn.rollback()&lt;br /&gt;  cursor.close ()&lt;br /&gt;conn.close ()&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;yes its hacky, but hey, called from cron regularly it works :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-3175259966218662094?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=3175259966218662094&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/3175259966218662094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/3175259966218662094'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2010/03/concerto-twitter.html' title='concerto + twitter'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-5745595971832788301</id><published>2010-03-01T09:07:00.003+01:00</published><updated>2010-03-01T09:09:50.352+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='gnuplot'/><category scheme='http://www.blogger.com/atom/ns#' term='LHC'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>They're following me!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_e1O4bTZDUPk/S4t2KYtft3I/AAAAAAAAAR4/_f1wtl-JM1s/s1600-h/twitterplot.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_e1O4bTZDUPk/S4t2KYtft3I/AAAAAAAAAR4/_f1wtl-JM1s/s320/twitterplot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5443574495411418994" /&gt;&lt;/a&gt;&lt;br /&gt;As you know, I've been 'tweeting' the Status of the LHC from the 'Page1 comments' field. Decided to knock up a &lt;a href="http://svnweb.cern.ch/world/wsvn/aelwell/misc_scripts/trunk/twittergraph.sh"&gt;quick script&lt;/a&gt; to plot the number of followers over time, and lo:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-5745595971832788301?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=5745595971832788301&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/5745595971832788301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/5745595971832788301'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2010/03/theyre-following-me.html' title='They&apos;re following me!'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_e1O4bTZDUPk/S4t2KYtft3I/AAAAAAAAAR4/_f1wtl-JM1s/s72-c/twitterplot.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-3699763118598158886</id><published>2010-02-11T16:09:00.004+01:00</published><updated>2010-02-12T09:15:13.235+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='savannah'/><category scheme='http://www.blogger.com/atom/ns#' term='graphviz'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><title type='text'>Design vs Reality</title><content type='html'>Decided to check that savannah was behaving as it should be. As with any good process we have a nice flowchart that depicts the allowed transition states.&lt;br /&gt;&lt;br /&gt;ie:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_e1O4bTZDUPk/S3UOAUXZxtI/AAAAAAAAARw/waXna5hHTx4/s1600-h/PatchStates.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 230px;" src="http://2.bp.blogspot.com/_e1O4bTZDUPk/S3UOAUXZxtI/AAAAAAAAARw/waXna5hHTx4/s320/PatchStates.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5437267523749398226" /&gt;&lt;/a&gt;&lt;br /&gt;however, thanks to a quick 'copy n paste' into &lt;a href="http://www.graphviz.org"&gt;graphviz&lt;/a&gt; it appears the reality is a little more complicated. Ho hum, cleanup time....&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_e1O4bTZDUPk/S3QfSBVVitI/AAAAAAAAARg/2sbHCDkR2dU/s1600-h/test.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 135px;" src="http://4.bp.blogspot.com/_e1O4bTZDUPk/S3QfSBVVitI/AAAAAAAAARg/2sbHCDkR2dU/s320/test.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5437005044599065298" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;update: Just tidied up savannah and lo:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_e1O4bTZDUPk/S3UMlUoinzI/AAAAAAAAARo/AXZpVI_2UWI/s1600-h/test2.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 205px; height: 320px;" src="http://3.bp.blogspot.com/_e1O4bTZDUPk/S3UMlUoinzI/AAAAAAAAARo/AXZpVI_2UWI/s320/test2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5437265960453185330" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-3699763118598158886?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=3699763118598158886&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/3699763118598158886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/3699763118598158886'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2010/02/design-vs-reality.html' title='Design vs Reality'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_e1O4bTZDUPk/S3UOAUXZxtI/AAAAAAAAARw/waXna5hHTx4/s72-c/PatchStates.jpg' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-6284888390505319357</id><published>2010-01-20T07:19:00.001+01:00</published><updated>2010-01-20T07:21:25.802+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bittorrent'/><category scheme='http://www.blogger.com/atom/ns#' term='transmission'/><title type='text'>transmission</title><content type='html'>Snippet to see how many chunks of a bittorrent file are still to be downloaded (ie, what does '84% complete *really* mean):&lt;br /&gt;&lt;br /&gt;transmission-remote -t 2 -i | egrep "^  (0|1)"| grep -o 0 | wc -l&lt;br /&gt;&lt;br /&gt;where -t 2 is the number of the torrent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-6284888390505319357?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=6284888390505319357&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/6284888390505319357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/6284888390505319357'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2010/01/transmission.html' title='transmission'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-17968585410834035</id><published>2009-11-23T11:56:00.004+01:00</published><updated>2009-11-23T12:22:49.956+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CERN'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='LHC'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Twittering OCR</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_e1O4bTZDUPk/Swpq45f9L0I/AAAAAAAAAQs/aWZLlpnKH0M/s1600/lhc1.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_e1O4bTZDUPk/Swpq45f9L0I/AAAAAAAAAQs/aWZLlpnKH0M/s320/lhc1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5407251828351774530" /&gt;&lt;/a&gt;&lt;br /&gt;'things that go bump in the tunnel'&lt;br /&gt;&lt;br /&gt;As I've beem following the LHC restart I've written a parser for the vistar status feed to send it to twitter. The basic method is:&lt;br /&gt;&lt;br /&gt;Grab URL (see image) then do some imagemagick hackery to cut out the corner. Resize larger (helps with the OCR) and save as tiff. Run the image through OCR software, compare the output to the last run, if different then upload to twitter.&lt;br /&gt;&lt;br /&gt;ie &lt;br /&gt;&lt;br /&gt;curl -o $IMG $SRC&lt;br /&gt;convert $IMG +repage -crop 509x205+1+533 -resize 1000x -threshold 39000 $IMG&lt;br /&gt;convert -monochrome $IMG $TIFF&lt;br /&gt;mv $OUT.txt $OUT.old # make a backup of old&lt;br /&gt;tesseract $TIFF $OUT&lt;br /&gt;&lt;br /&gt;# Strip out ready for Twitter&lt;br /&gt;DATE=`date +%d-%m-%Y`&lt;br /&gt;sed -i "s/Comments $DATE /#LHC Status /" $OUT.txt&lt;br /&gt;&lt;br /&gt;diff -q $OUT.txt $OUT.old&lt;br /&gt;if [ $? -eq 1 ] ; then&lt;br /&gt;# Post to Twitter.&lt;br /&gt;curl --basic --user lhcstatus:password --data status="`cat $OUT.txt`" http://twitter.com/statuses/update.json&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;and lo: &lt;a href="http://twitter.com/lhcstatus"&gt;http://twitter.com/lhcstatus&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-17968585410834035?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=17968585410834035&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/17968585410834035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/17968585410834035'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/11/twittering-ocr.html' title='Twittering OCR'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_e1O4bTZDUPk/Swpq45f9L0I/AAAAAAAAAQs/aWZLlpnKH0M/s72-c/lhc1.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-6548811810873755854</id><published>2009-10-05T20:03:00.005+02:00</published><updated>2009-10-05T20:18:14.091+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='swisscom'/><category scheme='http://www.blogger.com/atom/ns#' term='dyndns'/><title type='text'>swisscom VDSL &amp; dyndns</title><content type='html'>Those of you who follow my &lt;a href="http://twitter.com/elwell2000"&gt;twitter stream&lt;/a&gt; will have noticed that I managed to 'lose' my home machine today. It was online and active, I just didn't have its IP address (somwhere in the swisscom pool)&lt;br /&gt;&lt;br /&gt;I &lt;span style="font-style:italic;"&gt;thought&lt;/span&gt; I'd set up the embedded dynamic-dns client on my router, a Swisscom provided (motorola) netopia VDSL modem:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Terminal shell v1.0&lt;br /&gt;Copyright ©2008 Motorola, Inc.  All rights reserved.&lt;br /&gt;Netopia Model 7347-84 AnnexA VDSL Wireless Ethernet Switch, PBC&lt;br /&gt;Running Netopia SOC OS version 7.8.2 (build r3)&lt;br /&gt;VDSL Capable&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Turns out that you have to save your username not your email address in the client, even though both are valid in the dyndns.com web login.&lt;br /&gt;&lt;br /&gt;so the correct settings for those googling is:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Netopia-7000/XXXXXX&gt; conf&lt;br /&gt;&lt;br /&gt;Config Mode v1.3&lt;br /&gt;Netopia-7000/XXXXXX (top)&gt;&gt; &lt;br /&gt;set dynamic-dns option dyndns.org&lt;br /&gt;set dynamic-dns ddns-host-name "DYNHOSTNAME"&lt;br /&gt;set dynamic-dns ddns-user-name "USERNAME"&lt;br /&gt;set dynamic-dns ddns-user-password "PASSWORD"&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;subsitituting the things in caps for your own&lt;br /&gt;then do a &lt;span style="font-weight:bold;"&gt;validate&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;save&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;restart &lt;/span&gt;and lo:&lt;br /&gt;&lt;br /&gt;later on in 'view log' I see:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;10/5/09 08:01:05 PM L3      DDNS: initializing service&lt;br /&gt;10/5/09 08:01:23 PM L3      DDNS: Hostname updated. good&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;tada!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-6548811810873755854?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=6548811810873755854&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/6548811810873755854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/6548811810873755854'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/10/swisscom-vdsl-dyndns.html' title='swisscom VDSL &amp; dyndns'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-3501881002435490111</id><published>2009-09-21T11:24:00.002+02:00</published><updated>2009-09-21T11:33:29.095+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EGEE09'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>Studies on a hashtag</title><content type='html'>I'm at the EGEE09 conference this week, and they're also plugging use of tagging in social networking such as the #egee hashtag in twitter and the 'egee09' tag in flickr. As a small experiment I created an IRC channel on freenode (#EGEE09) and announced it with a hashtag on twitter. Within 3 minutes there were an additional 3 users, only one of whom was in my normal twitter cloud, ie the other 2 came in purely from the hashtag (and one of those was under a minute later)&lt;br /&gt;&lt;br /&gt;so, twitter is certainly becoming a respectable way of broadcasting announcements to an interested group of people who are subscribing to a hashtag.&lt;br /&gt;&lt;br /&gt;oh and as an aside, the IRC channel paid off -- I discovered that GridPP had some nice laptop bags via it and secured one for myself during coffee.&lt;br /&gt;&lt;br /&gt;Anyway, back to more important work -- listening to how the EU proposes to carve up the funding for call7&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-3501881002435490111?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=3501881002435490111&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/3501881002435490111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/3501881002435490111'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/09/studies-on-hashtag.html' title='Studies on a hashtag'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-70004091567092695</id><published>2009-09-03T12:13:00.004+02:00</published><updated>2009-09-03T12:30:32.337+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CERN'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>BeautifulSoup + savannah</title><content type='html'>At &lt;a href="http://cern.ch"&gt;work&lt;/a&gt;, we use &lt;a href="https://gna.org/projects/savane/"&gt;savanne&lt;/a&gt; to power &lt;a href="http://savannah.cern.ch"&gt;http://savannah.cern.ch&lt;/a&gt; where we keep track of all the glite-middleware (amongst other things)&lt;br /&gt;&lt;br /&gt;However, one of the problems with savanne/savannah is that it doesn't have a nice machine readable API, but requires the user to click with a browser.&lt;br /&gt;&lt;br /&gt;Cue &lt;a href="http://www.crummy.com/software/BeautifulSoup/"&gt;Beautiful Soup&lt;/a&gt; and lo, the python &lt;a href="https://twiki.cern.ch/twiki/bin/view/EGEE/SavannahCommandLineInterface"&gt;SavannahCLI&lt;/a&gt; was born.&lt;br /&gt;&lt;br /&gt;Well, in its early years it was unloved and handed round from developer to developer, until it arrived as a pedantic teenager to yours truly who decided to get rid of the horrible 'operation, item, name, value" syntax and replace with something more, um, fluid instead. (--patch 1234 --set foo=bar). It also had a huge set of hard coded lookup tables for converting select items to names and vice versa -- WHY? &lt;br /&gt;&lt;br /&gt;thanks to some googling, I came across &lt;a href="http://www.givegoodweb.com/post/59/beautiful-soup-example-2"&gt;this&lt;/a&gt; which, with a little refinement gave me:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;def enum_forms():&lt;br /&gt;  # we search within the table tag so that we lose the LHS searchbox&lt;br /&gt;  selects = soup.find('table').findAll('select')&lt;br /&gt;  for sel in selects:&lt;br /&gt;     sel_name = sel['name']&lt;br /&gt;     print "SELECT NAME=%s" % sel_name &lt;br /&gt;     for o in sel.findAll('option'):&lt;br /&gt;         print "  %s, %s" % (o['value'],o.renderContents())&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;hey, it's not finished yet, but sure saves a whole pile of hard-coded badness.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-70004091567092695?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=70004091567092695&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/70004091567092695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/70004091567092695'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/09/beautifulsoup-savannah.html' title='BeautifulSoup + savannah'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-5466770883300753778</id><published>2009-08-09T00:29:00.004+02:00</published><updated>2009-08-09T00:55:55.856+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='swisscom'/><category scheme='http://www.blogger.com/atom/ns#' term='voip'/><category scheme='http://www.blogger.com/atom/ns#' term='asterisk'/><title type='text'>SPA3102 and Swisscom</title><content type='html'>I've had a Linksys (nee sipura) spa3102 for a while (worked fine in the UK with sipgate) but havent got round to configuring it for switzerland yet.&lt;br /&gt;&lt;br /&gt;Idiots guide seeing as I had trouble finding this on the net:&lt;br /&gt;&lt;br /&gt;1) factory reset: ****, 73738#, 1#, hangup&lt;br /&gt;2) make sure you have a computer in the NAT socket ('Ethernet') - I use mine bridged or into a main switch&lt;br /&gt;3) http://192.168.0.1 and reset Router &gt; WAN Setup &gt;  Enable WAN Web Server &gt; YES&lt;br /&gt;4) Router &gt; LAN Setup &gt; Networking Service &gt; BRIDGE&lt;br /&gt;&lt;a href=" http://www.3amsystems.com/wireline/daa-search.htm?country=Switzerland"&gt;&lt;br /&gt;http://www.3amsystems.com/wireline/daa-search.htm?country=Switzerland&lt;/a&gt; helps a little&lt;br /&gt;as does &lt;a href="http://switzernet.com/public/070723-config_UA/spa-3102.php"&gt;http://switzernet.com/public/070723-config_UA/spa-3102.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Things I've changed are &lt;br /&gt;Voice &gt; Regional &gt; TimeZone &gt; "GMT +1"&lt;br /&gt;Voice &gt; Regional &gt; FXS Port Impedance &gt; "270+750||150nF"&lt;br /&gt;Voice &gt; Regional &gt; Caller ID Method &gt; ETSI FSK&lt;br /&gt;Voice &gt; Line 1 &gt; Dialplan &gt; (&lt;#:&gt;xx.&lt;:@gw1&gt;|xx.&lt;:@gw0&gt;)&lt;br /&gt;&lt;br /&gt;This dialplan is because I wish to use swisscom pstn most of the time, but prefix with # if I want the call to go over the VOIP service&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-5466770883300753778?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=5466770883300753778&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/5466770883300753778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/5466770883300753778'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/08/spa3102-and-swisscom.html' title='SPA3102 and Swisscom'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-6917052506615431606</id><published>2009-07-03T15:18:00.002+02:00</published><updated>2009-07-03T15:39:23.600+02:00</updated><title type='text'>Gimmie, Gimmie, Gimmie (a patch after midnight)</title><content type='html'>...won't somebody help me chase those bad docs away.&lt;br /&gt;&lt;br /&gt;As I recently &lt;a href="http://twitter.com/elwell2000/status/2420810030"&gt;mumbled&lt;/a&gt; on twitter (sorry, but 'tweet' is even naffer than the bad title of this post) I've started poking at Yum around the edges. Partially as I'm trying to find a 'Better Way' than the groupinstall we have to do for 64/32 bit package co-existence on the current middleware, but also as I'm narked off at the complete lack of manpages (on SL5) for yum-utils.&lt;br /&gt;&lt;br /&gt;actually, thats a bit harsh - as of 1.1.16 (el5) there are minimal docs, including yaim-utils.1 but nothing for each individual utility (see also http://yum.baseurl.org/wiki/YumUtils/RepoDiff). So, once again I'd ideally like something that can parse wiki markup and give me the output without having to keep pasting into a test page and hitting preview.&lt;br /&gt;&lt;br /&gt;wikilint anyone?&lt;br /&gt;&lt;br /&gt;Anyway, 1st patch sent off for approval, but my home server has dropped off the net so no more updates for the day. &lt;br /&gt;&lt;br /&gt;[obligatory swiss status report]&lt;br /&gt;Hot. :-) Sunflowers are blooming. nice n fresh in the evenings with thunderstorms. Sadly not had a chance to see if my shiny new camera can catch lightning, but I'm reasonably impressed with the highspeed capture. see &lt;a href="http://www.flickr.com/photos/elwell/3675462405/"&gt;sample&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-6917052506615431606?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=6917052506615431606&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/6917052506615431606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/6917052506615431606'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/07/gimmie-gimmie-gimmie-patch-after.html' title='Gimmie, Gimmie, Gimmie (a patch after midnight)'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-466681777656120678</id><published>2009-06-19T12:32:00.002+02:00</published><updated>2009-06-19T12:35:58.947+02:00</updated><title type='text'>SVN Stats munging</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_e1O4bTZDUPk/SjtqBZZyyiI/AAAAAAAAANk/p4eYpIxl-_w/s1600-h/test.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_e1O4bTZDUPk/SjtqBZZyyiI/AAAAAAAAANk/p4eYpIxl-_w/s320/test.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5348985554664081954" /&gt;&lt;/a&gt;&lt;br /&gt;As an aside I recently looked at a piece of GPL'd software and analysed the subversion stats for it.&lt;br /&gt;Each datapoint represents a checkin to the tree and I assigned a numerical ID to each ssh account. shows which developes 'stick' with a package and which abandon their updates.&lt;br /&gt;&lt;br /&gt;Bonus points for working out what the code is :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-466681777656120678?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=466681777656120678&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/466681777656120678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/466681777656120678'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/06/svn-stats-munging.html' title='SVN Stats munging'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_e1O4bTZDUPk/SjtqBZZyyiI/AAAAAAAAANk/p4eYpIxl-_w/s72-c/test.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-1045828799268078157</id><published>2009-06-12T16:01:00.003+02:00</published><updated>2009-06-12T16:27:17.350+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wishlist'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>In search of Feduntu</title><content type='html'>I've been a happy Ubuntu user for a while on my HP Compaq 8510p laptop, but a few things recently really started annoying me.&lt;br /&gt;&lt;br /&gt;1) regular ubuntu system upgrades don't include openafs-modules for that kernel, which means I have to recompile and install them before I can access cern.ch AFS space.&lt;br /&gt;&lt;br /&gt;2) it *really* doesn't work well with the ATI chipset in my laptop - full screen of a video hangs the machine with fglrx (not checked launchpad for bug no)&lt;br /&gt;&lt;br /&gt;3) since the last update it takes 2 *seconds* to minimise / maximise / alt-tab with windows. c'mon, this is a dual core machine..... (see &lt;a href="https://bugs.launchpad.net/ubuntu/+source/fglrx-installer/+bug/351186"&gt;bug #351186&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4) The fingerprint reader didn't work.&lt;br /&gt;&lt;br /&gt;5) ... neither did userfriendly xinerama.&lt;br /&gt;&lt;br /&gt;OK, so most of these problems are caused by the video driver (closed source fglrx) but since Fedora 11 came out I thought I'd compare and see what the opposition had (especially useful since I use RHEL clones at work - scientific linux 5 or 4)&lt;br /&gt;&lt;br /&gt;Installer -- worked wonderfully *once I'd managed to get the iso onto a USB stick -- I was using unetbootin (on Jaunty) but I hadn't formatted the stick as fat32 -- didn't work with an ext3 formatted stick. The LVM selection was a bit fiddly (I have /boot(sda1) and linuxvg(sda2) and within the VG I have homelv,rootlv and afscachelv (was ext2 as I used XFS for / and /home)&lt;br /&gt;&lt;br /&gt;F11 wanted me to migrate from xfs to ext4 for / -- OK not an issue, but its SElinux policy seems screwy wrt the /home&lt;br /&gt;&lt;br /&gt;I get home directory does not exist, logging in with HOME=/&lt;br /&gt;but then can immeadiatly cd to $HOME. harumph.&lt;br /&gt;&lt;br /&gt;also the Fan runs constantly, so battery life is low, Especially since it suspends as soon as *one* of the batteries goes flat (see &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=220962"&gt;bug 220962&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;in short, Fedora 11 fixes some of my issues. looks really nice, but just doesn't do what I want (*decent* laptop distro that lets me work for a long time). So I'm afraid I shall revert to Ubuntu over the weekend - it's still buggy for me, but in less critical ways (hopefully a fresh install of 9.04 will blow away any issues of the video driver rather than the upgrades.&lt;br /&gt;&lt;br /&gt;Maybe again in Fedora 11.1 ? &lt;br /&gt;Why not windows? well, I *like* using the CLI for most of my work, Putty + gvim + development languages are good but I'd need a virtual machine to test any linux stuff out on laptop. I don't actually have a need of any windows-only software, so why pay the licence. &lt;br /&gt;&lt;br /&gt;[OK - tomtom home is the only thing, but thats another story...]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-1045828799268078157?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=1045828799268078157&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/1045828799268078157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/1045828799268078157'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/06/in-search-of-feduntu.html' title='In search of Feduntu'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-8497335187162317343</id><published>2009-05-13T15:14:00.001+02:00</published><updated>2009-05-13T15:16:03.835+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CERN'/><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='twitter'/><title type='text'>twitter</title><content type='html'>OK, so it's been a few weeks since I started using &lt;a href="http://twitter.com"&gt;twitter&lt;/a&gt;. The best uses have been suitably &lt;a href="http://www.b3ta.com/challenge/twitter"&gt;demonstrated by those fine folks at b3ta&lt;/a&gt; but I thought I'd rant my findings so far.&lt;br /&gt;&lt;br /&gt;In it's original use as some sort of "hello, I'm on the train" - it totally fails to impress me. Why bother? I'm following a few friends, and no offence to them, but the parts of their personal lives they choose to share are um, not gripping. If I want to know what X is doing, I'd rather a) phone em up or have some other realtime converation or 2) look for a longer than 140 characters blog posting.&lt;br /&gt;&lt;br /&gt;However where I *do* find it useful is for a day to day scratchpad of stuff I've done to gather together for my weekly report. I'm sure the public at large don't give a monkeys what I'm up to, and my use of bug #1234 no doubt screws up hashtags something rotten, but hey, for me it works.&lt;br /&gt;&lt;br /&gt;The alternative is some sort of cgi elog thing, but the advantage of twitter is the open API that other people have already spent time working with. Twitterfox 'just works' for me.&lt;br /&gt;&lt;br /&gt;Ho Hum, there we go, somewhat over my 140 charaters, but if you're really sad you can follow me on http://twitter.com/elwell2000, or look over on the right of the page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-8497335187162317343?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=8497335187162317343&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/8497335187162317343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/8497335187162317343'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/05/twitter.html' title='twitter'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-8194200255700274997</id><published>2009-05-08T14:55:00.002+02:00</published><updated>2009-05-08T15:02:50.933+02:00</updated><title type='text'>Scientific Sailing</title><content type='html'>*why* can't the UK do something like &lt;a href="http://cdsweb.cern.ch/journal/article?issue=20/2009&amp;name=CERNBulletin&amp;category=News%20Articles&amp;number=6&amp;ln=en"&gt;this&lt;/a&gt;? &lt;br /&gt;&lt;br /&gt;I remember years ago when Curly Mills kindly donated &lt;i&gt;Alba Venturer&lt;/i&gt; to &lt;a href="http://www.oytscotland.org.uk"&gt;OYT Scotland&lt;/a&gt; we had a long discussion about how important teaching basic science / engineering was. Big plus points for the Italians for doing the &lt;a href="http://web.infn.it/fisicainbarca/"&gt;Right Thing (TM)&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-8194200255700274997?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=8194200255700274997&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/8194200255700274997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/8194200255700274997'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/05/scientific-sailing.html' title='Scientific Sailing'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-2295564914772316303</id><published>2009-04-30T14:48:00.002+02:00</published><updated>2009-04-30T14:55:55.549+02:00</updated><title type='text'>bacula</title><content type='html'>OK, so I work in IT. I *should* do regular backups. I know what happens when disks die. Finally (after aaaages of delaying) I set up my external USB HDD to work with &lt;a href="http://www.bacula.org"&gt;Bacula&lt;/a&gt;. Not a moment to soon, 3 days in and I get asked do I have a copy of X file from the PC at home. clickity click, restore, find file, select restore to different machine, run. and lo...&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  Job:                    RestoreFiles.2009-04-30_14.27.48.19&lt;br /&gt;  Restore Client:         shinybox-fd&lt;br /&gt;  Start time:             30-Apr-2009 14:27:50&lt;br /&gt;  End time:               30-Apr-2009 14:28:06&lt;br /&gt;  Files Expected:         1&lt;br /&gt;  Files Restored:         1&lt;br /&gt;  Bytes Restored:         42,212&lt;br /&gt;  Rate:                   2.6 KB/s&lt;br /&gt;  FD Errors:              0&lt;br /&gt;  FD termination status:  OK&lt;br /&gt;  SD termination status:  OK&lt;br /&gt;  Termination:            Restore OK&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;tada! scp'd and mailed. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-2295564914772316303?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=2295564914772316303&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/2295564914772316303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/2295564914772316303'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/04/bacula.html' title='bacula'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-2094196103777744278</id><published>2009-04-22T13:33:00.002+02:00</published><updated>2009-04-22T13:47:56.591+02:00</updated><title type='text'>No. Just 'NO' OK!</title><content type='html'>I may be proved wrong on this, but why do a &lt;a href="http://www.imdb.com/title/tt1226273/"&gt;remake&lt;/a&gt; of *such* a classic, the &lt;a href="http://www.imdb.com/title/tt0090424/"&gt;Edge of Darkness&lt;/a&gt;. I mean, the late Bob Peck vs 'Mel Gibson ... a homicide detective for the Boston Police Department." &lt;br /&gt;&lt;br /&gt;Ho Hum. &lt;br /&gt;/OldFart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-2094196103777744278?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=2094196103777744278&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/2094196103777744278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/2094196103777744278'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/04/no-just-no-ok.html' title='No. Just &apos;NO&apos; OK!'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-5919706678023806278</id><published>2009-04-22T11:03:00.003+02:00</published><updated>2009-04-22T11:12:01.557+02:00</updated><title type='text'>munin SNMP</title><content type='html'>Blogging this as the munin docs suck a bit -- lovely and technical but no HOWTOs&lt;br /&gt;&lt;br /&gt;anyway I have an out of the box debian munin install on my epia box (hostname mythic) and I wanted to also plot the network traffic on my swisscom VDSL router (which is SNMPable)&lt;br /&gt;&lt;br /&gt;Magic incantation to /etc/munin/munin.conf is:&lt;br /&gt;&lt;br /&gt;[mythic.localnet]&lt;br /&gt;    address 127.0.0.1&lt;br /&gt;    use_node_name yes&lt;br /&gt;&lt;br /&gt;[router.localnet]&lt;br /&gt;    address 127.0.0.1&lt;br /&gt;    use_node_name no&lt;br /&gt;&lt;br /&gt;(where I have a decent /etc/hosts for localnet) and then do&lt;br /&gt;&lt;br /&gt;munin-node-configure-snmp router.localnet | sh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-5919706678023806278?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=5919706678023806278&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/5919706678023806278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/5919706678023806278'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/04/munin-snmp.html' title='munin SNMP'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-2324922763861800239</id><published>2009-04-02T11:20:00.001+02:00</published><updated>2009-04-02T11:23:15.953+02:00</updated><title type='text'>New title</title><content type='html'>Decided to rename my blog in honour of Globus-gatekeeper&lt;br /&gt;&lt;br /&gt;it's a grid thing....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-2324922763861800239?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=2324922763861800239&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/2324922763861800239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/2324922763861800239'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/04/new-title.html' title='New title'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-580517184998310802</id><published>2009-03-31T16:26:00.001+02:00</published><updated>2009-03-31T16:27:49.712+02:00</updated><title type='text'>X marks the spot</title><content type='html'>Passed a google streetview car on the way home tonight - it was heading southbound on the A1 at ~15:28. &lt;iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=A1,+Crassier&amp;amp;sll=46.361856,6.187116&amp;amp;sspn=0.017858,0.032144&amp;amp;ie=UTF8&amp;amp;ll=46.361856,6.187116&amp;amp;spn=0.008929,0.016072&amp;amp;t=h&amp;amp;z=16&amp;amp;output=embed"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;small&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=embed&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=A1,+Crassier&amp;amp;sll=46.361856,6.187116&amp;amp;sspn=0.017858,0.032144&amp;amp;ie=UTF8&amp;amp;ll=46.361856,6.187116&amp;amp;spn=0.008929,0.016072&amp;amp;t=h&amp;amp;z=16" style="color:#0000FF;text-align:left"&gt;View Larger Map&lt;/a&gt;&lt;/small&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-580517184998310802?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=580517184998310802&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/580517184998310802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/580517184998310802'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/03/x-marks-spot.html' title='X marks the spot'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-4933266471319749014</id><published>2009-03-19T20:57:00.002+01:00</published><updated>2009-03-19T21:00:58.651+01:00</updated><title type='text'>Video killed the MSN star...</title><content type='html'>Flippin closed protocols. Discovered that there's a sneaky tickbox in the account settings on the Acer Aspire one messenger client.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The Webcam features are disabled when you enable the "Use a Windows Messenger compatible service" in the settings.&lt;br /&gt;If you go into the Account settings for your MSN account and make sure that isn't ticked, then reconnect and try again.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;(thanks to an acer forum for that one.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-4933266471319749014?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=4933266471319749014&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/4933266471319749014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/4933266471319749014'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/03/video-killed-msn-star.html' title='Video killed the MSN star...'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-3400035134038254315</id><published>2009-02-20T17:37:00.003+01:00</published><updated>2009-02-20T17:45:27.005+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KVM'/><category scheme='http://www.blogger.com/atom/ns#' term='Virtualbox'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Virtualbox and KVM</title><content type='html'>At the moment I'm using &lt;a href="http://www.virtualbox.org"&gt;virtualbox&lt;/a&gt; on my Ubuntu 8.10 laptop for running windows (very occasionally) and some &lt;a href="http://linux.web.cern.ch/linux/scientific5/"&gt;SLC&lt;/a&gt; test machines for work. Oh and a few other Linux Distros too. Anyway, much as I like the point n clickiness of virtualbox I thought I'd see what the 'built in' KVM could do, esp as libvirt looks like a nice abstraction layer.&lt;br /&gt;&lt;br /&gt;However on starting virtualbox machines I get the error:&lt;br /&gt;&lt;br /&gt;VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE).&lt;br /&gt;&lt;br /&gt;well, thats not strictly necessary - a simple &lt;b&gt;sudo rmmod kvm_intel kvm&lt;/b&gt; and relaunching the virtualbox guest.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-3400035134038254315?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=3400035134038254315&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/3400035134038254315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/3400035134038254315'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/02/virtualbox-and-kvm.html' title='Virtualbox and KVM'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-6350508260135410574</id><published>2009-02-20T16:50:00.002+01:00</published><updated>2009-02-20T16:53:11.486+01:00</updated><title type='text'>Easy in Eze</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3654/3289221813_85ee4210fe_b.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 1024px; height: 458px;" src="http://farm4.static.flickr.com/3654/3289221813_85ee4210fe_b.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Went down to the coast last weekend for the Nice Carnival. Stayed in Eze - nice medievel town on the hill. Stitched a pile of images together to try and get the scale of the hills, but managed to leave a gap sadly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-6350508260135410574?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=6350508260135410574&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/6350508260135410574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/6350508260135410574'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/02/easy-in-eze.html' title='Easy in Eze'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-4396483299667857114</id><published>2009-02-20T16:05:00.002+01:00</published><updated>2009-02-20T16:45:22.614+01:00</updated><title type='text'>koha!</title><content type='html'>Spent a bit of time tinkering with &lt;a href="http://www.koha.org"&gt;koha&lt;/a&gt; in my spare time recently. Threw in a few trivial patches (once I'd got my head round git). However Some notes here for those installing on Debian Lenny (current 'testing'&lt;br /&gt;&lt;br /&gt;1) Nearly all the required perl modules are available directly from the repos, the exception being SMS::Send (which needs Class::Adapter) -- Thise can be installed with the ever so handy &lt;b&gt;dh-make-perl&lt;/b&gt; which converts your CPAN into .debs (sadly it still doesn't help with &lt;A href="http://bash.org/?59894"&gt;other conversion issues&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;# dh-make-perl --build --cpan Class::Adapter ; dpkg -i libclass-adapter-perl_1.05-1_all.deb&lt;br /&gt;# dh-make-perl --build --cpan SMS::Send ; dpkg -i libsms-send-perl_0.05-1_all.deb&lt;br /&gt;&lt;br /&gt;2) I'll write up the rest as a HOWTO soon....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-4396483299667857114?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=4396483299667857114&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/4396483299667857114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/4396483299667857114'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/02/koha.html' title='koha!'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-9019951284274645829</id><published>2009-01-25T22:01:00.002+01:00</published><updated>2009-01-25T22:05:23.625+01:00</updated><title type='text'>up up and away!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://farm4.static.flickr.com/3348/3226436936_0cc2da1182_b_d.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 1024px; height: 258px;" src="http://farm4.static.flickr.com/3348/3226436936_0cc2da1182_b_d.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Spent weekend up at Leysin and Chateau D'oex for the baloon festival. Sat was grey and snowy / windy so not much flying. Sunday was superb tho - pics on &lt;a href="http://www.flickr.com/photos/elwell/sets/72157612934588741/"&gt;flickr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-9019951284274645829?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=9019951284274645829&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/9019951284274645829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/9019951284274645829'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/01/up-up-and-away.html' title='up up and away!'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7631594461748448660.post-2626409628884935330</id><published>2009-01-16T13:44:00.002+01:00</published><updated>2009-01-16T13:57:34.223+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wishlist'/><category scheme='http://www.blogger.com/atom/ns#' term='car'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>KITT updated?</title><content type='html'>OK Wishlist time.&lt;br /&gt;&lt;br /&gt;I'd like some sort of navigation system for the car. Yes I could buy a tomtom or suchlike, but whats the geek factor in that. Nope, what I'd really like is some sorta carpc. Now that Atom based motherboards are cheap, and SSD flash (certainly in the small storage capacity I'd need) are cheap(ish) this is becoming a sort of sketch plan. I'd still need to get a nice touchscreen and interface knocked up, and have a connection to the car amp (manufacturer fitted nice system)&lt;br /&gt;&lt;br /&gt;So in no particular order:&lt;br /&gt;* Touchscreen fitted 'neatly' in car&lt;br /&gt;-- it needs to have big 'bloke sized' buttons on the screen for doing tasks, so I don't have to look away - do you look down at the car radio?&lt;br /&gt;-- some sort of scriptable interface: eg 'upload all tracks since the last upload'&lt;br /&gt;* GPS receiver&lt;br /&gt;-- Datalogging for openstreetmap&lt;br /&gt;-- Navigation (doh!)&lt;br /&gt;-- Geofencing to allow comms when parked at home&lt;br /&gt;* Wifi and or GPRS/HSDPA connectivity&lt;br /&gt;-- limited storage in the car, download $music from home store - treat it as a small player rather than a full rsync copy.&lt;br /&gt;-- kismet anyone?&lt;br /&gt;-- remote upload of tracks&lt;br /&gt;-- download of traffic reports&lt;br /&gt;* OBD connection for datalogging.&lt;br /&gt;-- correlate engine conditions to position - if you're revving the engine is that because you're going up a twisty hill or because you're a numpty.&lt;br /&gt;* Accelerometer (wiimote velcro'd to dashboard?)&lt;br /&gt;-- Get relative acceleration of car, not just position&lt;br /&gt;&lt;br /&gt;Oh, and it should be cheap :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7631594461748448660-2626409628884935330?l=blog.elwell.org.uk' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=7631594461748448660&amp;postID=2626409628884935330&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/2626409628884935330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7631594461748448660/posts/default/2626409628884935330'/><link rel='alternate' type='text/html' href='http://blog.elwell.org.uk/2009/01/kitt-updated.html' title='KITT updated?'/><author><name>Elwell</name><uri>http://www.blogger.com/profile/03270150499813361998</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='16949043404653993565'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>