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

<channel>
	<title>Whomwah.com &#187; BBC</title>
	<atom:link href="http://whomwah.com/tag/bbc/feed/" rel="self" type="application/rss+xml" />
	<link>http://whomwah.com</link>
	<description>The website of Duncan Robertson, currently working for the BBC in London, Uk</description>
	<lastBuildDate>Thu, 29 Jul 2010 19:51:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>RadioAunty 1.16 release</title>
		<link>http://whomwah.com/2010/06/11/radioaunty-1-16-release/</link>
		<comments>http://whomwah.com/2010/06/11/radioaunty-1-16-release/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 13:42:28 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[radioaunty]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1967</guid>
		<description><![CDATA[RadioAunty updated to work with the new iPlayer radio console. Oh and I&#8217;m pulling in JSON data instead of XML for the schedules, which has proved much quicker. Not quite sure I like the new now playing text on the console. Not because it&#8217;s not useful, but because it&#8217;s just not very pretty. With all [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://whomwah.github.com/radioaunty/">RadioAunty updated</a> to work with the new <a href="http://bbc.co.uk/iplayer">iPlayer</a> radio console. Oh and I&#8217;m pulling in JSON data instead of XML for the schedules, which has proved much quicker. Not quite sure I like the new now playing text on the console.</p>
<p><a href="http://www.flickr.com/photos/duncanponting/4690225101/" title="RadioAunty 1.16 by whomwah, on Flickr"><img src="http://farm2.static.flickr.com/1275/4690225101_a2071d9181.jpg" width="500" height="313" alt="RadioAunty 1.16" /></a></p>
<p>Not because it&#8217;s not useful, but because it&#8217;s just not very pretty.  With all the text handling power Flash gives you, I&#8217;m sure they can do more. Hopefully they&#8217;ll fix this.</p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2010/06/11/radioaunty-1-16-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building the Mythology Engine</title>
		<link>http://whomwah.com/2010/03/30/building-the-mythology-engine/</link>
		<comments>http://whomwah.com/2010/03/30/building-the-mythology-engine/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 22:06:06 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1876</guid>
		<description><![CDATA[More than a few weeks ago now, we finished a project called The Mythology Engine. This was a prototype to see if we could build a framework for navigating drama on the BBC. Our first test case was Doctor Who. Mr Ferne has written an excellent post on the subject over on the BBC R&#038;D [...]]]></description>
			<content:encoded><![CDATA[<p>More than a few weeks ago now, we finished a project called The Mythology Engine. This was a prototype to see if we could build a framework for navigating drama on the BBC. Our first test case was <a href="http://www.bbc.co.uk/doctorwho">Doctor Who</a>. <a href="http://www.cookinrelaxin.com/">Mr Ferne</a> has <a href="http://www.bbc.co.uk/blogs/researchanddevelopment/2010/03/the-mythology-engine-represent.shtml">written an excellent post on the subject</a> over on the <a href="http://www.bbc.co.uk/blogs/researchanddevelopment/">BBC R&#038;D blog</a>. Rather than repeat what he said there, I advise you to <a href="http://www.bbc.co.uk/blogs/researchanddevelopment/2010/03/the-mythology-engine-represent.shtml">go have a read</a>.</p>
<p>This project was a wonderful experience for me, mainly due to the fact I got to build a lot of it. This post is a bookmark for me, and runs though the technologies we used.</p>
<p><a href="http://www.flickr.com/photos/duncanponting/4476566061/" title="Mythology Engine Prototype by whomwah, on Flickr"><img src="http://farm3.static.flickr.com/2708/4476566061_3a21d164bf.jpg" width="500" height="365" alt="Mythology Engine Prototype" /></a></p>
<p>As a prototyping team, we get to make technology decisions that help us build stuff quickly. This affords us a lot of flexibility. So for this project we used a fairly common set of tools paired with bits and pieces to make our lives easier.</p>
<p><a href="http://rubyonrails.org/">Ruby on Rails</a>: This choice was because I have a lot of experience with the framework, and it is an ideal candidate for prototypes. In fact over the years it has been used to build some great internal tools at the BBC. Oh and I know it&#8217;s fine for production too incase you were wondering.</p>
<p><a href="http://www.mysql.com/">MySql database</a>: Again, we have a lot of experience with this, so why change.</p>
<p><a href="http://www.apache.org/">Apache WebServer</a>: Familiar, and easy to setup. We run <a href="http://www.modrails.com/">Passenger</a> as well to make Rails deployment a breeze. Because the prototype has streaming media playback, we needed to compile in the (<a href="http://h264.code-shop.com/trac"> H264 Streaming Module</a>). This was a fairly simple process with good documentation. I actually think if I did the project again, I would plump for <a href="http://nginx.org/">Nginx</a> instead of Apache. Just because it is so lightweight and fast, but Apache worked just fine.</p>
<p>Build for browsers that support <a href="http://www.w3.org/TR/css3-roadmap/">CSS3</a>: Here&#8217;s an interesting one. So when building the pages, I realised that some of the complex design could be implemented just using CSS3, without the need to chop up images and create complex layouts. This did mean that &#8220;browsers&#8221; like I.E (at least < 9) and the like would not display the designs as expected. But hey, this is a prototype, so let's just save come complexity and do it the easy way.</p>
<p>As well as the technologies above, we also used <a href="http://get.adobe.com/flashplayer/">Flash</a> for our visualisations and the custom media player. We powered them using an API we built into the main site. We are lucky to have great Flash experts like <a href="http://www.fridayforward.com/">Mr Bowley</a> to build this stuff, and I even got the chance to dust off my own AS3 skills with one of the visualisations. Oh and finally, we used the <a href="http://jquery.com/">jQuery</a> javascript library for any client side trickery.</p>
<p>So, nothing too unusual there, or in the build really. We decided on our data model (which was influenced by the <a href="http://eprints.ecs.soton.ac.uk/11024/">OntoMedia</a> and ideas from the team) and url design up front, and created the database and subsequent models. We initially thought we could populate the database using provided documents (exel etc) but quickly realised this would be inadequate, and needed something quick and easy to allow data entry. Along came <a href="http://github.com/fesplugas/typus">Typus</a>. I highly recommend this project. It creates a simple but extendable CMS based on your Rails applications models. You also get user admin for free. We made some change to suit our project (If any of the Typus people are reading, I tried to feed back changes we made but couldn&#8217;t get your tests to run). I also wrote some filters for <a href="http://github.com/thoughtbot/paperclip">Paperclip</a> so we could get all images sizes and styles from one upload.</p>
<p>Finally we first built an initial basic site. This was to test out initial layouts and get some understanding of how the site felt when we had real data. This layout was then tweaked and polished once we were happy.   </p>
<p>So that was a whistle stop tour of how we built the prototype. What we ended up with was a very polished prototype, which we are all rather proud of. Current I only have <a href="http://www.flickr.com/photos/duncanponting/4477342698/">screenshots</a> <a href="http://www.flickr.com/photos/duncanponting/4477341500/in/photostream/">to</a> <a href="http://www.flickr.com/photos/duncanponting/4476566061/in/photostream/">show</a>, but hopefully that will only be temporary.</p>
<p>One final thing to note. We build this with a maximum of 5 people. The majority of the team were cross discipline. This really helps. It means that everyone understands what the other is doing without everyone having to work on the same area of the project. This was especially key on this project, as we built in from scratch in a very short period of time. I have been fortunate enough to work on some recent <a href="http://www.bbc.co.uk/programmes/developers/are">influential</a> <a href="http://whomwah.com/2009/01/12/visualising-radio-pushing-not-pulling/">projects</a> within the BBC, and all those projects had around 5 people working on them. 5 is clearly, the magic number.</p>
<p>So that&#8217;s a brief overview. Like I say up top, <a href="http://www.bbc.co.uk/blogs/researchanddevelopment/2010/03/the-mythology-engine-represent.shtml">read the proper explanation on the R&#038;D blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2010/03/30/building-the-mythology-engine/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I built a Chrome extension, and yes it shows BBC Now Next information</title>
		<link>http://whomwah.com/2010/02/08/bbc-now-next-chrome-extention/</link>
		<comments>http://whomwah.com/2010/02/08/bbc-now-next-chrome-extention/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 12:33:43 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[nownext-chrome]]></category>
		<category><![CDATA[Web development]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1809</guid>
		<description><![CDATA[UPDATE: I added a new feature. Reminders I like Google Chrome, it&#8217;s fast and simple and works as expected. It&#8217;s currently my main browser, and with Extensions, it&#8217;s likely to remain that way. An extension is a zipped bundle of files — HTML, CSS, JavaScript, images, and anything else you need — that adds functionality [...]]]></description>
			<content:encoded><![CDATA[<p class="update">UPDATE: I added a new feature. <a href="http://whomwah.com/2010/02/14/bbc-now-next-chrome-extension-with-reminders/">Reminders</a></p>
<p>I like <a href="http://www.google.co.uk/chrome">Google Chrome</a>, it&#8217;s fast and simple and works as expected. It&#8217;s currently my main browser, and with <a href="https://chrome.google.com/extensions">Extensions</a>, it&#8217;s likely to remain that way.</p>
<blockquote><p>An extension is a zipped bundle of files — HTML, CSS, JavaScript, images, and anything else you need — that adds functionality to the Google Chrome browser. Extensions are essentially web pages, and they can use all the APIs that the browser provides to web pages, from XMLHttpRequest to JSON to HTML5 local storage</p></blockquote>
<p> I use a <a href="http://www.apple.com/macbook/">Mac</a> so extensions have not been available to me, until that is the <a href="http://dev.chromium.org/getting-involved/dev-channel">dev versions of Chrome</a> started incorporating them. I installed it the other day, and thought I&#8217;d have a play at creating one. You can build them too, as their <a href="http://code.google.com/chrome/extensions/getstarted.html">dev site is very helpful</a>.</p>
<p>Using my standard use case, I have built an extension that displays BBC stations Now and Next information. Give it a whirl:</p>
<ul>
<li><a href="https://chrome.google.com/extensions/detail/gejphpmnffccdjcjgbelkklbpnigiika">Install BBC Now and Next Chrome extension</a></li>
</ul>
<p>You can see what it looks like in action below.</p>
<p><a href="http://www.flickr.com/photos/duncanponting/4339849859/"><img src="http://farm5.static.flickr.com/4030/4339849859_9b4ee8918a.jpg" alt="chrome extension" /></a></p>
<p>It uses feeds from <a href="http://bbc.co.uk/programmes">BBC Programmes</a>, the <a href="http://www.bbc.co.uk/6music/programmes/schedules/upcoming.json">upcoming feed</a> and the lesser know <a href="http://www.bbc.co.uk/programmes/services.json">service feed</a>. So you install it, and choose the stations you are interested in. You then get to see what is on now and next when you click the BBC icon that appears in the browser bar. the results are clickable. You can click on the network icons to listen or watch live. You can click on the show images or heading to go to that shows programme page.</p>
<p>Oh, and if you&#8217;re interested in the code, it on available via <a href="http://github.com/whomwah/BBC-Now-Next-Chrome">my Github account</a>.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2010/02/08/bbc-now-next-chrome-extention/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creating shopping lists from BBC Recipes using Sinatra</title>
		<link>http://whomwah.com/2009/10/28/creating-shopping-lists-from-bbc-recipes-using-sinatra/</link>
		<comments>http://whomwah.com/2009/10/28/creating-shopping-lists-from-bbc-recipes-using-sinatra/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 12:44:06 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[sinatra]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1738</guid>
		<description><![CDATA[This is another case of looking at a BBC site I use frequently, and extending it. Here&#8217;s my use case. I found a recipe I&#8217;d like to make from the BBC Recipes site, so I first need to buy the ingredients. The ingredients by default are part of the recipe page, and even if I [...]]]></description>
			<content:encoded><![CDATA[<p>This is <a href="http://whomwah.com/2009/10/15/subscribe-to-the-bbc-garden-planner-with-the-help-of-sinatra/">another case</a> of looking at a <a href="http://www.bbc.co.uk">BBC site</a> I use frequently, and extending it. Here&#8217;s my use case. I found a recipe I&#8217;d like to make from the <a href="http://www.bbc.co.uk/food/recipes">BBC Recipes site</a>, so I first need to buy the ingredients. The ingredients by default are part of the recipe page, and even if I print out the recipe, it&#8217;s still got stuff I don&#8217;t need. It would be nice if I could just turn that recipe information into this:</p>
<p><a href="http://www.flickr.com/photos/duncanponting/4051983397/"><img src="http://farm3.static.flickr.com/2711/4051983397_8f8f71f692.jpg" alt="Ingredients" /></a></p>
<p>It&#8217;s a simple list of ingredients, that have a checkbox next to each item to mark when I have put it in my basket.</p>
<p>So I have built myself a simple <a href="http://www.sinatrarb.com/">Sinatra</a> app that does just this:</p>
<ul>
<li><a href="http://sl.whomwah.com">http://sl.whomwah.com</a></li>
<li><a href="http://github.com/whomwah/shoppinglist">Source Code</a></li>
</ul>
<p>If you look at it on your iphone it will look styled, whereas on other devices it will just look simple and standard.</p>
<p>From the site you just need to post the url of a recipe you want the ingredients listed, for example the screenshot above is what happened when I posted this url into it:</p>
<ul>
<li><a href="http://www.bbc.co.uk/food/recipes/database/spicychorizopennepas_84044.shtml">http://www.bbc.co.uk/food/recipes/database/spicychorizopennepas_84044.shtml</a></li>
</ul>
<p>It&#8217;s very simple, give it a try, see what you think.</p>
<p>Ok, one thing I should note, is that I can&#8217;t be sure it will be 100% correct every time. This is a real pain, but out of may hands. The BBC recipe pages look very nice and all, but the most important part of the page &#8220;<em>The Recipe</em>&#8221; is not only terribly marked up, but it&#8217;s not consistent. I suspect this is due to being a free text field in a legacy CMS? but it means that when I get my application to try to look at it, and turn it into a list of ingredients, I can&#8217;t be sure of the structure and have to make a bunch of assumptions, which are sometimes wrong.</p>
<p>It would be great if this could be rectified, as we could then see lots of experiments like this out there.  In fact with well marked up recipes, and there does appear to be a recipe markup spec:</p>
<ul>
<li><a href="http://www.formatdata.com/recipeml/spec/recipeml-spec.html">http://www.formatdata.com/recipeml/spec/recipeml-spec.html</a></li>
</ul>
<p>People could build some great application around all this information.</p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2009/10/28/creating-shopping-lists-from-bbc-recipes-using-sinatra/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BBC Gardeners&#8217; Planner in your calendar part deux</title>
		<link>http://whomwah.com/2009/10/20/bbc-gardeners-planner-in-your-calendar-part-deux/</link>
		<comments>http://whomwah.com/2009/10/20/bbc-gardeners-planner-in-your-calendar-part-deux/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 13:01:24 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[sinatra]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1713</guid>
		<description><![CDATA[This is just a small extension to the original post: Subscribe to the BBC Gardeners’ Planner with the help of Sinatra. I mentioned there that I needed to add some caching to the application, and also that it didn&#8217;t live anywhere. Well it now has caching (a feeds cached for a day) thanks to rack/cache [...]]]></description>
			<content:encoded><![CDATA[<p>This is just a small extension to the original post: <a href="http://whomwah.com/2009/10/15/subscribe-to-the-bbc-garden-planner-with-the-help-of-sinatra/">Subscribe to the BBC Gardeners’ Planner with the help of Sinatra</a>.</p>
<p>I mentioned there that I needed to add some caching to <a href="http://github.com/whomwah/gwplanner">the application</a>, and also that it didn&#8217;t live anywhere. Well it now has caching (a feeds cached for a day) thanks to <a href="http://tomayko.com/src/rack-cache/">rack/cache</a> and it now has a url:</p>
<ul>
<li><a href="http://gw.whomwah.com">http://gw.whomwah.com</a></li>
</ul>
<p>Which you can now use in your iCal enabled calendar, one of which is <a href="http://www.google.com/calendar/">Google Calendar</a>, which is used in the photo below where I have subscriber to:</p>
<ul>
<li><a href="http://gw.whomwah.com/planner.ics?s=houseplants,greenhouse">http://gw.whomwah.com/planner.ics?s=houseplants,greenhouse</a></li>
<li><a href="http://gw.whomwah.com/planner.ics?s=hedges">http://gw.whomwah.com/planner.ics?s=hedges</a></li>
</ul>
<p><a href="http://www.flickr.com/photos/duncanponting/4029389908/"><img src="http://farm3.static.flickr.com/2489/4029389908_b184d826df.jpg" alt="Google Calendar" /></a></p>
<p>I was having some strange problems the other day, where Google Calendar was showing the calendar titles as long email addresses. I think this may be a Google Calendar index thing (anyone know?), as it appears to fix itself over time so ignore it.</p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2009/10/20/bbc-gardeners-planner-in-your-calendar-part-deux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Subscribe to the BBC Gardeners&#8217; Planner with the help of Sinatra</title>
		<link>http://whomwah.com/2009/10/15/subscribe-to-the-bbc-garden-planner-with-the-help-of-sinatra/</link>
		<comments>http://whomwah.com/2009/10/15/subscribe-to-the-bbc-garden-planner-with-the-help-of-sinatra/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 09:45:50 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[sinatra]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1685</guid>
		<description><![CDATA[[UPDATE] I have posted an update with a url you can use I really like being in my garden, so I was looking at the BBC Gardening site the other day for some gardening tips. The hardest part for me, is the lack of experience I have in knowing what needs to be done and [...]]]></description>
			<content:encoded><![CDATA[<p class="update">[UPDATE] I have <a href="http://whomwah.com/2009/10/20/bbc-gardeners-planner-in-your-calendar-part-deux/">posted an update</a> with a url you can use</p>
<p>I really like being in my garden, so I was looking at the <a href="http://www.bbc.co.uk/gardening">BBC Gardening site</a> the other day for <a href="http://www.bbc.co.uk/gardening/calendar/">some gardening tips</a>. The hardest part for me, is the lack of experience I have in knowing what needs to be done and when.</p>
<p>The BBC Gardening website solves this by having <a href="http://www.bbc.co.uk/gardening/calendar/calendar.shtml">a gardeners&#8217; planner</a>. Great I thought, there&#8217;s loads of really useful stuff in there. The problem is I have to keep going back to the site, to check what I&#8217;m suppose to be doing. As it&#8217;s a planner, it would be great of I could have this information to put in <a href="http://calendar.google.com">my own calendar</a>, so I could see it along with other jobs I have to do. Even better if I could subscribe to this information, so if it ever changes, I&#8217;m kept up-to-date. Maybe they will provide this one day (I really think they should), but in the mean time I decided to roll my own:</p>
<p><a href="http://www.flickr.com/photos/duncanponting/4012776724/"><img src="http://farm3.static.flickr.com/2609/4012776724_9a7b594374.jpg" alt="Subscribing to the BBC Garden planner" /></a></p>
<p>I&#8217;ve <a href="http://github.com/whomwah/gwplanner">created a web app</a> that reads this planner data, and converts it into the <a href="http://en.wikipedia.org/wiki/ICalendar">iCal format</a> that you can now subscribe to. It&#8217;s written using <a href="http://www.sinatrarb.com/">Sinatra</a>, and I choose to run it under the awesome <a href="http://www.modrails.com/">Passenger</a> via mod_passenger. It&#8217;s currently not hosted anywhere (other than on my laptop), so you&#8217;ll have to run it on your own server. Maybe that will change if I can find somewhere to stick it, I&#8217;ll keep you posted. I think some caching may be needed before that happens though.</p>
<p>Once running on your computer of choice, you only really have one uri to stick in your calendar of choice. You can extend this uri by passing in section names to filter the information displayed in the calendar. Here&#8217;s a few examples:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#008000; font-style:italic;"># to subscribe to a calendar of everything ( quite big! )</span>
http:<span style="color:#006600; font-weight:bold;">//</span>mydomain.<span style="color:#9900CC;">local</span><span style="color:#006600; font-weight:bold;">/</span>planner.<span style="color:#9900CC;">ics</span>
&nbsp;
<span style="color:#008000; font-style:italic;"># to subscribe to a calendar of tips on just trees, ponds and wildlife</span>
http:<span style="color:#006600; font-weight:bold;">//</span>mydomain.<span style="color:#9900CC;">local</span><span style="color:#006600; font-weight:bold;">/</span>planner.<span style="color:#9900CC;">ics</span>?s=trees,ponds,wildlife
&nbsp;
<span style="color:#008000; font-style:italic;"># to view all the available sections</span>
http:<span style="color:#006600; font-weight:bold;">//</span>mydomain.<span style="color:#9900CC;">local</span><span style="color:#006600; font-weight:bold;">/</span></pre></div></div>

<p>And here&#8217;s what it looks like in <a href="http://www.apple.com/">Apple&#8217;s</a> iCal once you have subscibed:</p>
<p><a href="http://www.flickr.com/photos/duncanponting/4012776834/"><img src="http://farm3.static.flickr.com/2616/4012776834_8e3c7d9a54.jpg" alt="BBC Garden planner in iCal" /></a></p>
<p>Get your own copy of the app from <a href="http://github.com/">github</a>. You <a href="http://www.modrails.com/documentation/Users%20guide%20Apache.html#_sinatra">get up and running</a> in the same way you would with any Sinatra/Passenger app. The structure and config file is already written, so you really just need to do the vhost and symlinking :</p>
<ul>
<li><a href="http://github.com/whomwah/gwplanner/raw/master/README">Check the apps README file</a></li>
<li><a href="http://github.com/whomwah/gwplanner">Get a copy of GWPlanner</a></li>
</ul>
<p>Happy Gardening!</p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2009/10/15/subscribe-to-the-bbc-garden-planner-with-the-help-of-sinatra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with Quartz Composer in Snow Leopard and the BBC Radio Schedule</title>
		<link>http://whomwah.com/2009/10/07/fun-with-quartz-composer-in-snow-leopard-and-the-bbc-radio-schedule/</link>
		<comments>http://whomwah.com/2009/10/07/fun-with-quartz-composer-in-snow-leopard-and-the-bbc-radio-schedule/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 12:34:30 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[quartzcomposer]]></category>
		<category><![CDATA[Screen Saver]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1584</guid>
		<description><![CDATA[I&#8217;ve just posted on the BBC Radio Labs blog about some tinkering with Quartz Composer I&#8217;ve done. Please read the full article there, but in short, I&#8217;ve created a Quartz Composition that you can install as a Screen Saver, that reads in the BBC National Radio Schedule and rolls through each station showing who&#8217;s on [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just posted on the <a href="http://www.bbc.co.uk/blogs/radiolabs">BBC Radio Labs blog</a> about some <a href="http://www.bbc.co.uk/blogs/radiolabs/2009/10/fun_with_quartz_composer_in_sn.shtml">tinkering with Quartz Composer I&#8217;ve done</a>. Please read the full article there, but in short, I&#8217;ve created a <a href="http://en.wikipedia.org/wiki/Quartz_Composer">Quartz Composition</a> that you can install as a Screen Saver, that reads in the <a href="http://www.bbc.co.uk/radio/">BBC National Radio</a> Schedule and rolls through each station showing who&#8217;s on and displays a pretty picture. Oh, and I think it all looks very pretty.</p>
<p><img src="http://farm3.static.flickr.com/2568/3983622551_7ebbf90f30.jpg" alt="BBC Radio Screen Saver" /></p>
<p><a href="http://www.bbc.co.uk/blogs/radiolabs/2009/10/fun_with_quartz_composer_in_sn.shtml">Head on over to the Radio Labs site to download</a> and install on your machine. Please note though, it&#8217;s for <a href="http://en.wikipedia.org/wiki/Snow_Leopard">OSX 10.6 Snow Leopard</a> only.</p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2009/10/07/fun-with-quartz-composer-in-snow-leopard-and-the-bbc-radio-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Controlling the spotlights at work with Sinatra and OSC</title>
		<link>http://whomwah.com/2009/04/24/controlling-the-spotlights-at-work-with-sinatra-and-osc/</link>
		<comments>http://whomwah.com/2009/04/24/controlling-the-spotlights-at-work-with-sinatra-and-osc/#comments</comments>
		<pubDate>Fri, 24 Apr 2009 20:47:58 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[sinatra]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1470</guid>
		<description><![CDATA[Nic bought some spotlights the other week for work, so we could hook them up to our continuous integration server, and they would let us know using the medium of colour, when things had failed! Before we did that, I thought I&#8217;d have a little play. Tristan and Chris having been building a fun new [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.aelius.com/njh/">Nic</a> bought some <a href="http://www.soundsavers.com/catalog/all-lighting-177/led-par-cans-231/ledj-eco-led-56-can-black-10mm-led-2985.html">spotlights</a> the other week for work, so we could hook them up to our <a href="http://en.wikipedia.org/wiki/Continuous_Integration">continuous integration server</a>, and they would let us know using the medium of colour, when things had failed!</p>
<p>Before we did that, I thought I&#8217;d have a little play. <a href="http://www.cookinrelaxin.com">Tristan</a> and <a href="http://www.fridayforward.com/">Chris</a> having been building a fun new game (Read more via the <a href="http://www.bbc.co.uk/blogs/radiolabs/">Radio Labs blog</a> soon) which uses <em>nowplaying</em> data from <a href="http://bbc.co.uk/6music">BBC 6 Music</a> to power it. Knowing when a track is starting and ending is also useful, so as a bit of fun, I wrote a little <a href="http://ruby-lang.org/en/">Ruby</a> script that made the spotlights behave like traffic lights:</p>
<ol>
<li>Green &#8211; when a track started playing</li>
<li>Flashing Amber &#8211; when a track was about to finish</li>
<li>Red &#8211; when the track finally finished</li>
</ol>
<p><img src="http://farm4.static.flickr.com/3586/3465581068_67c13f1132.jpg?v=0" alt="spotlight" /><span class="caption">Photo by <a href="http://www.cookinrelaxin.com/">Tristan</a></span></p>
<p>To control the lights we&#8217;re using <a href="http://hans.fugal.net/src/rosc/doc/">ROSC</a> open sound control for <a href="http://ruby-lang.org/en/">Ruby</a>. It&#8217;s very good, but required building to install, and the interface is nice, but not simple enough if all you&#8217;re doing is turning a light on or off and changing it&#8217;s colour. So in order to make the script even more simple, I thought I&#8217;d write a little http proxy so that your could control the lights by just going to a url. It meant even the non-programmers could have fun replicating disco lighting. The urls look like this:</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">http://spotlights.local/all/green
http://spotlights.local/all/rgb120-12-200
http://spotlights.local/all/off
http://spotlights.local/all/random</pre></div></div>

<p>The proxy is written using <a href="http://www.sinatrarb.com/">Sinatra</a>. I love <a href="http://www.sinatrarb.com/">Sinatra</a>. If you thought prototyping was simple with <a href="http://rubyonrails.org/">Rails</a>, well with Sinatra + <a href="http://www.modrails.com/">Passenger</a> it takes simplicity to a whole new level.</p>
<p>You can <a href="http://github.com/whomwah/light-controller">download the lightcontroller source</a> from <a href="http://github.com/">Github</a> as normal, you&#8217;ll have to tweak a few settings for your needs. You may even find it a useful template for controlling something else. </p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2009/04/24/controlling-the-spotlights-at-work-with-sinatra-and-osc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TellyBox 1.4, Twitter, Scheduling .. plus the coolest icon</title>
		<link>http://whomwah.com/2009/03/22/tellybox-1_4/</link>
		<comments>http://whomwah.com/2009/03/22/tellybox-1_4/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 15:35:42 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[tellybox]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1283</guid>
		<description><![CDATA[[note] if you are updating and have the current app in your dock, you may need to remove it, and then re-add it again to get the new icon to appear straight away I&#8217;ve just released a new version of TellyBox, version 1.4. This version pulls in all the new features from sister app RadioAunty, [...]]]></description>
			<content:encoded><![CDATA[<p class="update">[<strong>note</strong>] if you are updating and have the current app in your dock, you may need to remove it, and then re-add it again to get the  new icon to appear straight away</p>
<p>I&#8217;ve just released a new version of <a href="http://whomwah.github.com/tellybox/">TellyBox</a>, version 1.4. This version pulls in all the<a href="http://whomwah.com/2009/03/14/radioaunty-feature-update-twitter-scheduling-and-much-more/"> new features from sister app RadioAunty</a>, plus a few news ones specific to TellyBox.</p>
<p>If you didn&#8217;t know, <a href="http://whomwah.github.com/tellybox">TellyBox</a> is a Mac app that allows you to watch live and catchup <a href="http://www.bbc.co.uk/tv/">BBC Television</a> (Uk users only I&#8217;m afraid). It uses the <a href="http://bbc.co.uk/iplayer/">BBC iPlayer</a> to actually display the telly, but wraps it all up into a native Mac application. </p>
<p><a href="http://www.flickr.com/photos/duncanponting/sets/72157614336016460/"><img src="http://farm4.static.flickr.com/3596/3372908443_537eb57e45.jpg?v=0" alt="TellyApp screenshot" /></a></p>
<p>Like I mentioned above, new features include <a href="http://twitter.com/">Twitter</a> support and scheduling as per <a href="http://whomwah.github.com/radioaunty/">RadioAunty</a>. I recommend <a href="http://whomwah.com/2009/03/14/radioaunty-feature-update-twitter-scheduling-and-much-more/">reading this post</a> to get more information on these. As well as them, the new features specific to TellyBox are:</p>
<ol>
<li>I have removed the default channel entry from the preferences. The app now just remembers what channel you last watched.</li>
<li>The close button, and zoom buttons (red and green) now work.</li>
<li>A brand new app icon (designed by <a href="http://boxblu.com/">David Wilson</a>)</li>
</ol>
<p>I&#8217;m really pleased with the icon. I know <a href="http://boxblu.com/?p=42">David spent a lot of time designing it</a>, and for a first application icon, I think it&#8217;s awesome. I also knew the effect I wanted. I really liked the idea of the icon being a mini telly showing you exactly what you are watching in the main screen. It seems <a href="http://normalkid.com/2008/05/09/application-icons-and-domain-names/">Mac icons can make or break an app</a>, so I&#8217;m hoping this one can only help.</p>
<p>It&#8217;s actually quite a simple effect to achieve. It&#8217;s just about building layers. I use <a href="http://www.cocoadev.com/index.pl?ScreenShotCode">CGWindowListCreateImage</a> to take a screen grab of what&#8217;s playing over time. When I have a new grab, I then construct the dock icon, using the grab at the bottom, then a version of the app icon with a transparent screen to give the glass effect, and finally the channel logo. If you minimize the app, or change windows using spaces, then the icon will change to the <a href="http://images.google.com/images?client=safari&#038;rls=en-us&#038;q=bbc+test+card&#038;oe=UTF-8&#038;um=1&#038;ie=UTF-8&#038;ei=f1TGSfjDPMaHtgfNyZHUCg&#038;sa=X&#038;oi=image_result_group&#038;resnum=1&#038;ct=title">BBC test card</a>.</p>
<p><a href="http://whomwah.github.com/tellybox/">Download TellyBox from the project page on Github</a>, or if you already have the app installed, then you should get a request to update automagically.</p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2009/03/22/tellybox-1_4/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>RadioAunty feature update &#8211; twitter, scheduling and much more</title>
		<link>http://whomwah.com/2009/03/14/radioaunty-feature-update-twitter-scheduling-and-much-more/</link>
		<comments>http://whomwah.com/2009/03/14/radioaunty-feature-update-twitter-scheduling-and-much-more/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 19:50:40 +0000</pubDate>
		<dc:creator>Duncan</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[OSX]]></category>

		<guid isPermaLink="false">http://whomwah.com/?p=1239</guid>
		<description><![CDATA[In my on going Cocoa learning I have been working hard on updates for RadioAunty. ( If you didn&#8217;t know, RadioAunty is Mac app that allows you to listen to live and catchup BBC Radio ). This means the feature list is now quite compelling, so I decided to give and overview of the features [...]]]></description>
			<content:encoded><![CDATA[<p>In my on going <a href="http://developer.apple.com/cocoa/">Cocoa</a> learning I have been working hard on updates for <a href="http://whomwah.github.com/radioaunty/">RadioAunty</a>. ( If you didn&#8217;t know, RadioAunty is Mac app that allows you to listen to live and catchup BBC Radio ). This means the feature list is now quite compelling, so I decided to give and overview of the features to date.</p>
<p><strong>1. Select your Favourite Station</strong> &#8211; Choose from all the <a href="http://www.bbc.co.uk/radio/">BBC National radio stations</a>. You can listen to them in Normal RealPlayer or the much higher quality ACC streams. Make your decision via the preferences screen.</p>
<p><a href="http://www.flickr.com/photos/duncanponting/sets/72157615137746093/"><img src="http://farm4.static.flickr.com/3452/3351927033_7d2d56fcea.jpg?v=0" alt="RadioAunty select a Station" /></a></p>
<p><strong>2. Minimise the radio</strong> &#8211; I didn&#8217;t think people generally stare at the player whilst they are listening, so you can now minimise it like you can with <a href="http://www.apple.com/itunes">iTunes</a>, using ^ cmd Z or the window menu. You can also tweak the width whilst minimised. You will also see that the window title shows the current show playing. This updates along with the schedule as time goes on. More on this next.</p>
<p><a href="http://www.flickr.com/photos/duncanponting/sets/72157615137746093/"><img src="http://farm4.static.flickr.com/3454/3351927271_bd0ec71ca9.jpg?v=0" alt="RadioAunty minimized" /></a></p>
<p><strong>3. View the schedule</strong> &#8211; In the Schedule menu, you will see the day schedule for the station you are listening to (using data from <a href="http://bbc.co.uk/programmes">BBC programmes</a>). You will see a tick next to the show you are currently listening. You will also see that some shows are clickable. This is stuff you can listen to, that is available to catchup in <a href="http://www.bbc.co.uk/iplayer/">iPlayer</a>, it also displays how long left that show is available in iPlayer for. This schedule updates as you listen throughout the day. </p>
<p><img src="http://farm4.static.flickr.com/3434/3354268798_02081fdbf1.jpg?v=0" alt="RadioAunty schedule menu" /></p>
<p><strong>4. Twitter support and other preferences</strong> &#8211; The preferences window gives you the chance to change some of RadioAunty&#8217;s settings and turn on others. From the top, we have updates. Turning this on allows you to receive updates to the application when they become available. Next is default station. This allows you to choose a default station to open with (I think this may be removed next release, and the app will just remember what you last listened to. Next is audio quality. It&#8217;s best to stick to high quality, but those streams are only available in the UK, so if you are listening abroad you will have to choose normal quality. Finally <a href="http://twitter.com">Twitter</a> support. Opting in means that as you listen, details about what you are listening to will be sent to the <a href="http://twitter.com/radioandtvbot">@radioandtvbot</a> account on Twitter. If you supply your twitter username, this will be added to the tweet instead of the default, which is your computer login FullName. The screenshot below next shows you what gets sent.</p>
<p><a href="http://www.flickr.com/photos/duncanponting/sets/72157615137746093/"><img src="http://farm4.static.flickr.com/3651/3352752518_23810447a0.jpg?v=0" alt="RadioAunty twitter support" /></a><br />
<img src="http://farm4.static.flickr.com/3209/3353735857_4367bff3b6.jpg" alt="radioandtvbot" /></p>
<p><strong>5. A nice dynamic app icon</strong> &#8211; The wonderful Tim Broom made the current icon. The icon changes, showing the network you are currently listening to.</p>
<p><a href="http://www.flickr.com/photos/duncanponting/sets/72157615137746093/"><img src="http://farm4.static.flickr.com/3601/3351926135_fba2d2cf0d.jpg?v=0" alt="Nice Icon" /></a></p>
<p><strong>6. Growl support</strong> &#8211; If you use Growl, then RadioAunty will notify you when a show starts playing. If you choose the twitter support it will also notify you when this information is sent to twitter.</p>
<p><a href="http://www.flickr.com/photos/duncanponting/sets/72157615137746093/"><img src="http://farm4.static.flickr.com/3638/3351926335_acd4880bd6.jpg?v=0" alt="Growl Support" /></a></p>
<p>Next then. I&#8217;m going to be transferring the twitter and scheduling stuff over to <a href="http://whomwah.github.com/tellybox/">TellyBox</a> (A Mac app that allows you to watch live and catchup BBC Television). So watch out for the updates. Then I think <a href="http://www.last.fm/">lastfm</a> integration is on the cards. It&#8217;s be nice to scrobble what tracks you are listening to.</p>
]]></content:encoded>
			<wfw:commentRss>http://whomwah.com/2009/03/14/radioaunty-feature-update-twitter-scheduling-and-much-more/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
