<?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>Cazmockett.com &#187; technology</title>
	<atom:link href="http://cazmockett.com/blog/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://cazmockett.com</link>
	<description>My Personal Geek Ramblings</description>
	<lastBuildDate>Thu, 05 Jan 2012 11:46:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Geting My Fingers Burned: Camera Axe Construction</title>
		<link>http://cazmockett.com/blog/2011/11/camera-axe/</link>
		<comments>http://cazmockett.com/blog/2011/11/camera-axe/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 18:48:17 +0000</pubDate>
		<dc:creator>Caz M</dc:creator>
				<category><![CDATA[hardware hacking]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[arduino uno]]></category>
		<category><![CDATA[camera axe]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[high speed flash]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[soldering]]></category>
		<category><![CDATA[What's that burning smell? Is it my hair? No it's just my fingers this time]]></category>

		<guid isPermaLink="false">http://cazmockett.com/?p=1409</guid>
		<description><![CDATA[I wondered whether to post this in my photographic blog, but decided this bit of the game was really more for the geeks amongst my readership, and would therefore fit better in this blog. For future results, I will post in &#8230; <a href="http://cazmockett.com/blog/2011/11/camera-axe/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I wondered whether to post this in <a href="http://cazphoto.co.uk/photoblog/">my photographic blog</a>, but decided this bit of the game was really more for the geeks amongst my readership, and would therefore fit better in this blog. For future results, I will post in the photography blog, so don&#8217;t expect to see much on that here.</p>
<p><a href="http://www.cameraaxe.com"><img class="size-full wp-image-1410 alignleft" title="Camera Axe" src="http://cazmockett.com/wp-content/uploads/2011/11/camera-axe-logo.png" alt="Camera Axe" width="130" height="150" /></a></p>
<p>For a couple of months, I&#8217;ve had my <a href="http://www.dreamingrobots.com/store/index.php?main_page=product_info&amp;products_id=14">Camara Axe Arduino shield kit</a> in a box waiting to be put together. I imported it from the States as it seemed one of the most versatile ways to control flash sync timing in a reasonably cost-effective way. I have done some <a href="http://cazphoto.co.uk/photoblog/2011/07/10/crowning-glory/">manual shots with flash and liquid droplets</a>, but have really reached the limit of what I can do effectively with timing by hand. (For more info, see the presentation I did for <a href="http://cazmockett.com/blog/2011/07/barcamp-nottingham/">BarCamp Nottingham</a> in July.) Anyway, today, I finally pulled my finger out and constructed the kit. Those less willing to do a bit of DIY have the option of the more expensive <a href="http://www.dreamingrobots.com/store/index.php?main_page=product_info&amp;products_id=1">ready-built version</a>.</p>
<p><a href="http://arduino.cc/"><img class="size-full wp-image-1413 alignright" title="Arduino Logo" src="http://cazmockett.com/wp-content/uploads/2011/11/arduino-logo.png" alt="Arduino Logo" width="170" height="116" /></a></p>
<p>It&#8217;s based around the popular <a href="http://arduino.cc/">Arduino Uno</a> open source hardware. I bought my Uno from the lovely folks at <a href="http://www.oomlout.co.uk/arduino-usb-uno-p-252.html">Oomlaut</a> in the summer. The <strong>Camera Axe Shield v5</strong> (CAS5) acts as an additional board with specialist I/O hardware and LCD screen, which piggy-backs onto a regular Uno. It comes as a custom PCB with all the discrete components and LCD screen required to make the shield:</p>
<div id="attachment_1421" class="wp-caption alignnone" style="width: 610px"><img class="size-full wp-image-1421" title="CAS5 Kit of Parts" src="http://cazmockett.com/wp-content/uploads/2011/11/D742-007.jpg" alt="CAS5 Kit of Parts" width="600" height="400" /><p class="wp-caption-text">CAS5 Kit of Parts</p></div>
<p>Maurice Ribble is the CAS5&#8242;s designer, and he is terribly helpful if you need any questions answered. The <a href="http://www.cameraaxe.com/wiki/index.php?title=Main_Page">CameraAxe Wiki</a> also has a very easy to follow <a href="http://www.cameraaxe.com/wiki/index.php?title=Buildguide">step-by-step guide to building the kit</a>. I had absolutely no problems seeing where everything should go, and once my rusty soldering skills were honed a little, I was reasonably fast in putting things together. Not quite as fast as the great little <a href="http://www.youtube.com/watch?v=hf1PnRqOmXg&amp;feature=player_embedded">stop-motion video</a> of the folks from TechPhotoBlog constructing the kit! <img src='http://cazmockett.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div id="attachment_1432" class="wp-caption alignnone" style="width: 610px"><img class="size-full wp-image-1432" title="Build in progress" src="http://cazmockett.com/wp-content/uploads/2011/11/D742-010.jpg" alt="Build in progress" width="600" height="375" /><p class="wp-caption-text">Build in progress</p></div>
<p>A few hours, a lot of soldering and a couple of minor burns later and it was done! I did manage to avoid setting my  hair on fire this time, which has been known in the past. The smell of singed hair is pretty awful, so I was glad I didn&#8217;t do any damage to my locks!</p>
<div id="attachment_1437" class="wp-caption alignleft" style="width: 260px"><img class="size-full wp-image-1437" title="Shield front completed" src="http://cazmockett.com/wp-content/uploads/2011/11/D742-014.jpg" alt="Shield front completed" width="250" height="300" /><p class="wp-caption-text">Shield front completed</p></div>
<div id="attachment_1438" class="wp-caption alignleft" style="width: 260px"><img class="size-full wp-image-1438" title="Shield rear with Uno board" src="http://cazmockett.com/wp-content/uploads/2011/11/D742-016.jpg" alt="Shield rear with Uno board" width="250" height="300" /><p class="wp-caption-text">Shield rear with Uno board</p></div>
<h2 class="clearleft">Did It Work?</h2>
<p><em>Yes!</em></p>
<p>I&#8217;m pleased to say that once the <a href="http://www.cameraaxe.com/wiki/index.php?title=Programming#How_to_Install_Camera_Axe_Software">CAS5 software</a> was loaded onto the Arduino board, the shield booted up and showed me a nice menu first time &#8211; hurrah!</p>
<p>But then I depowered and repowered and it appeared to be dead! Minor panic, until I realised I was using the Uno R2 board, some of which require a <a href="http://dreamingrobots.com/forums/viewtopic.php?f=8&amp;t=258">very minor mod</a> by adding a diode which prevents a big voltage spike on startup (this apparently upsets the CAS5 board until the software is re-loaded again). I also need an external PSU for the Arduino, since I don&#8217;t necessarily want to have to have it connected via USB to my netbook every time I do a shoot.</p>
<p>I guess now I should really learn how to use the thing! It is quite complicated with lots of menu settings &#8211; each of which will need careful experimentation with the various different sensors I have also bought (<a href="http://www.dreamingrobots.com/store/index.php?main_page=product_info&amp;cPath=1&amp;products_id=6">Microphone sensor</a>, <a href="http://www.dreamingrobots.com/store/index.php?main_page=product_info&amp;cPath=1&amp;products_id=10">Photogate sensor</a> and the <a href="http://www.dreamingrobots.com/store/index.php?main_page=product_info&amp;cPath=1&amp;products_id=23">Valve sensor</a>) to get optimum results. But as the long winter nights are drawing in again, it&#8217;s the perfect time of year to have a play and see what I can achieve. <a href="http://cazphoto.co.uk/photoblog/?s=camera+axe">Watch the other space!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2011/11/camera-axe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maker Faire Madness</title>
		<link>http://cazmockett.com/blog/2011/03/maker-faire-madness/</link>
		<comments>http://cazmockett.com/blog/2011/03/maker-faire-madness/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 14:38:57 +0000</pubDate>
		<dc:creator>Caz M</dc:creator>
				<category><![CDATA[geekery]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[alistair macdonald]]></category>
		<category><![CDATA[alistair_uk]]></category>
		<category><![CDATA[craft]]></category>
		<category><![CDATA[inventions]]></category>
		<category><![CDATA[maker faire]]></category>
		<category><![CDATA[mfuk]]></category>
		<category><![CDATA[mfuk11]]></category>
		<category><![CDATA[newcastle]]></category>
		<category><![CDATA[science]]></category>

		<guid isPermaLink="false">http://cazmockett.com/?p=1093</guid>
		<description><![CDATA[I had the pleasure of attending the 2011 Maker Faire event in Newcastle over the weekend. It was a real geek-fest &#8211; with all sorts of mad inventions and sciency-crafty-creativity on show. Alistair was demonstrating his Newcastle Metro Simulator, and &#8230; <a href="http://cazmockett.com/blog/2011/03/maker-faire-madness/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I had the pleasure of attending the <a href="http://www.makerfaire.co.uk/">2011 Maker Faire</a> event in Newcastle over the weekend. It was a real geek-fest &#8211; with all sorts of mad inventions and sciency-crafty-creativity on show.</p>
<div id="attachment_1094" class="wp-caption alignleft" style="width: 610px"><img class="size-full wp-image-1094" title="Alistair demos his Metro Simulation" src="http://cazmockett.com/wp-content/uploads/2011/03/D672-149.jpg" alt="Alistair demos his Metro Simulation" width="600" height="400" /><p class="wp-caption-text">Alistair demos his Metro Simulation</p></div>
<p><a href="http://www.agm.me.uk/blog/">Alistair</a> was demonstrating his <a href="http://www.agm.me.uk/metrosim/">Newcastle Metro Simulator</a>, and I gave him a hand minding the stand while he had a look around. It was great fun, and I really hope they can find sufficient funding to put on another event in 2012. If so, I&#8217;ll be back!</p>
<p>Here are a selection of my images from the two-day event:</p>
				<div id="gallery-4936ec11" class="flickr-gallery photoset">
													<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522042509"><img class="photo" title="Maker Faire" src="http://farm6.static.flickr.com/5253/5522042509_b07c9dcbfa_s.jpg" alt="Maker Faire" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522632314"><img class="photo" title="Blue Pads" src="http://farm6.static.flickr.com/5296/5522632314_e8e04ca74a_s.jpg" alt="Blue Pads" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522042677"><img class="photo" title="Blue Pad Demo" src="http://farm6.static.flickr.com/5175/5522042677_14c3bf8ff0_s.jpg" alt="Blue Pad Demo" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522042865"><img class="photo" title="Head Shot" src="http://farm6.static.flickr.com/5136/5522042865_421a933654_s.jpg" alt="Head Shot" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522632744"><img class="photo" title="Bird Profile" src="http://farm6.static.flickr.com/5178/5522632744_9c0e4f1e83_s.jpg" alt="Bird Profile" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522043107"><img class="photo" title="Pleased To Meet You" src="http://farm6.static.flickr.com/5172/5522043107_49eee6fc30_s.jpg" alt="Pleased To Meet You" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522043221"><img class="photo" title="21st Century Pianola" src="http://farm6.static.flickr.com/5013/5522043221_0a685a7cfe_s.jpg" alt="21st Century Pianola" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522633088"><img class="photo" title="Dino" src="http://farm6.static.flickr.com/5012/5522633088_cdf65fb0f6_s.jpg" alt="Dino" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522633012"><img class="photo" title="Shiny Shiny" src="http://farm6.static.flickr.com/5096/5522633012_1a68208625_s.jpg" alt="Shiny Shiny" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522633158"><img class="photo" title="Orange Rose" src="http://farm6.static.flickr.com/5179/5522633158_7caf3314e0_s.jpg" alt="Orange Rose" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522633372"><img class="photo" title="Roborachnid" src="http://farm6.static.flickr.com/5216/5522633372_73e3809e9c_s.jpg" alt="Roborachnid" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522043751"><img class="photo" title="Red Yellow Green" src="http://farm6.static.flickr.com/5093/5522043751_b324930b8f_s.jpg" alt="Red Yellow Green" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522043843"><img class="photo" title="Robo Bird" src="http://farm6.static.flickr.com/5258/5522043843_9e3d95b8b6_s.jpg" alt="Robo Bird" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522044083"><img class="photo" title="Lovely Plumage" src="http://farm6.static.flickr.com/5133/5522044083_11f365947f_s.jpg" alt="Lovely Plumage" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522044165"><img class="photo" title="Blood Transfusion" src="http://farm6.static.flickr.com/5139/5522044165_7d421934db_s.jpg" alt="Blood Transfusion" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522044231"><img class="photo" title="Flame Harmonics" src="http://farm6.static.flickr.com/5173/5522044231_fa3bb85fe2_s.jpg" alt="Flame Harmonics" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522634070"><img class="photo" title="Musical Contraption" src="http://farm6.static.flickr.com/5252/5522634070_7981af9990_s.jpg" alt="Musical Contraption" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522634186"><img class="photo" title="Victorian Steam Punk" src="http://farm6.static.flickr.com/5018/5522634186_511ff2c5ee_s.jpg" alt="Victorian Steam Punk" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522044459"><img class="photo" title="Steam Punk" src="http://farm6.static.flickr.com/5012/5522044459_70c108f826_s.jpg" alt="Steam Punk" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522044547"><img class="photo" title="Valve Jewellery" src="http://farm6.static.flickr.com/5140/5522044547_8c827c8ca1_s.jpg" alt="Valve Jewellery" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522634444"><img class="photo" title="Pink Heart" src="http://farm6.static.flickr.com/5055/5522634444_e64dd16261_s.jpg" alt="Pink Heart" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522634518"><img class="photo" title="Robot Football" src="http://farm6.static.flickr.com/5297/5522634518_23df72bf4d_s.jpg" alt="Robot Football" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522634590"><img class="photo" title="DIY PIE" src="http://farm6.static.flickr.com/5171/5522634590_d9939c7075_s.jpg" alt="DIY PIE" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522044927"><img class="photo" title="This Way For Pie" src="http://farm6.static.flickr.com/5139/5522044927_5aaa949d14_s.jpg" alt="This Way For Pie" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522634848"><img class="photo" title="Pie Shapes" src="http://farm6.static.flickr.com/5094/5522634848_bd472f5e1c_s.jpg" alt="Pie Shapes" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522634932"><img class="photo" title="Pie Pie Pie Pie Pie" src="http://farm6.static.flickr.com/5175/5522634932_334ec0617f_s.jpg" alt="Pie Pie Pie Pie Pie" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522635002"><img class="photo" title="PiePal" src="http://farm6.static.flickr.com/5259/5522635002_a8d022d55b_s.jpg" alt="PiePal" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522045267"><img class="photo" title="Swirly LEDs" src="http://farm6.static.flickr.com/5015/5522045267_d7c50141d0_s.jpg" alt="Swirly LEDs" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522635134"><img class="photo" title="Gravity Well" src="http://farm6.static.flickr.com/5058/5522635134_64ca5d725e_s.jpg" alt="Gravity Well" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522045447"><img class="photo" title="ICM In A Tent" src="http://farm6.static.flickr.com/5216/5522045447_3e3a6fe2c9_s.jpg" alt="ICM In A Tent" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522045607"><img class="photo" title="Appliqué Postcards" src="http://farm6.static.flickr.com/5172/5522045607_b7b26227ba_s.jpg" alt="Appliqué Postcards" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522045505"><img class="photo" title="Knitted Lego Brick" src="http://farm6.static.flickr.com/5216/5522045505_13e570da3a_s.jpg" alt="Knitted Lego Brick" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522635432"><img class="photo" title="Getting Crafty" src="http://farm6.static.flickr.com/5092/5522635432_40ff421c77_s.jpg" alt="Getting Crafty" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522045741"><img class="photo" title="Wave Me!" src="http://farm6.static.flickr.com/5176/5522045741_1903a2edc6_s.jpg" alt="Wave Me!" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522045827"><img class="photo" title="Brain Cells" src="http://farm6.static.flickr.com/5291/5522045827_6bc5c611d0_s.jpg" alt="Brain Cells" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522045875"><img class="photo" title="Knit A Neuron" src="http://farm6.static.flickr.com/5255/5522045875_e6a5a75c8b_s.jpg" alt="Knit A Neuron" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522045945"><img class="photo" title="Pulse" src="http://farm6.static.flickr.com/5172/5522045945_eb8f97334d_s.jpg" alt="Pulse" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522046023"><img class="photo" title="All In The Head" src="http://farm6.static.flickr.com/5091/5522046023_936bcd4d29_s.jpg" alt="All In The Head" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522046097"><img class="photo" title="Robot Computer" src="http://farm6.static.flickr.com/5292/5522046097_bd983c425c_s.jpg" alt="Robot Computer" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522635970"><img class="photo" title="Blue Flowers" src="http://farm6.static.flickr.com/5018/5522635970_28dc269c34_s.jpg" alt="Blue Flowers" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522636044"><img class="photo" title="Hanging Blue Blooms" src="http://farm6.static.flickr.com/5017/5522636044_132b0c0f56_s.jpg" alt="Hanging Blue Blooms" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522046321"><img class="photo" title="Dragon 436/365" src="http://farm6.static.flickr.com/5176/5522046321_2d570a5c0c_s.jpg" alt="Dragon 436/365" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5522636186"><img class="photo" title="Day #1167" src="http://farm6.static.flickr.com/5058/5522636186_1020611790_s.jpg" alt="Day #1167" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529920804"><img class="photo" title="We Are All In Peril!" src="http://farm6.static.flickr.com/5055/5529920804_f085a28d7e_s.jpg" alt="We Are All In Peril!" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529333371"><img class="photo" title="Nothing Blew Up" src="http://farm6.static.flickr.com/5016/5529333371_4cbaec780b_s.jpg" alt="Nothing Blew Up" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529921036"><img class="photo" title="Alistair Demos His Thing" src="http://farm6.static.flickr.com/5132/5529921036_857bcf8156_s.jpg" alt="Alistair Demos His Thing" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529333623"><img class="photo" title="Reel To Reel To Reel" src="http://farm6.static.flickr.com/5056/5529333623_6de31afebb_s.jpg" alt="Reel To Reel To Reel" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529333751"><img class="photo" title="Strange Silhouettes" src="http://farm6.static.flickr.com/5056/5529333751_338516fcca_s.jpg" alt="Strange Silhouettes" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529921348"><img class="photo" title="Rainy's Cat" src="http://farm6.static.flickr.com/5059/5529921348_7c239a5fe6_s.jpg" alt="Rainy's Cat" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529921438"><img class="photo" title="What A Get-Up" src="http://farm6.static.flickr.com/5294/5529921438_d2a71ae306_s.jpg" alt="What A Get-Up" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529334135"><img class="photo" title="Robot Wars" src="http://farm6.static.flickr.com/5295/5529334135_011ec29eab_s.jpg" alt="Robot Wars" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529334203"><img class="photo" title="Um. Should I Be Worried?" src="http://farm6.static.flickr.com/5135/5529334203_55a51374a0_s.jpg" alt="Um. Should I Be Worried?" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529921764"><img class="photo" title="Motive Powered Skateboard" src="http://farm6.static.flickr.com/5135/5529921764_f4ff7d0085_s.jpg" alt="Motive Powered Skateboard" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529334425"><img class="photo" title="Robot Chequers?" src="http://farm6.static.flickr.com/5298/5529334425_4ca6445dd0_s.jpg" alt="Robot Chequers?" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529922066"><img class="photo" title="Green This Time" src="http://farm6.static.flickr.com/5138/5529922066_18be31ed0f_s.jpg" alt="Green This Time" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529922176"><img class="photo" title="Robot Model" src="http://farm6.static.flickr.com/5057/5529922176_457f13aedc_s.jpg" alt="Robot Model" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529334899"><img class="photo" title="Anti-Photon Chamber" src="http://farm6.static.flickr.com/5134/5529334899_ff3fb630bb_s.jpg" alt="Anti-Photon Chamber" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529922416"><img class="photo" title="Helix Decoration" src="http://farm6.static.flickr.com/5140/5529922416_4525272a5a_s.jpg" alt="Helix Decoration" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529922514"><img class="photo" title="Helix, Blue And Yellow" src="http://farm6.static.flickr.com/5220/5529922514_a407d451a0_s.jpg" alt="Helix, Blue And Yellow" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529335239"><img class="photo" title="Dragon On Stage" src="http://farm6.static.flickr.com/5013/5529335239_06a9c498db_s.jpg" alt="Dragon On Stage" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529335365"><img class="photo" title="Smokin'" src="http://farm6.static.flickr.com/5099/5529335365_42a52b4c97_s.jpg" alt="Smokin'" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529335489"><img class="photo" title="Brought To Life" src="http://farm6.static.flickr.com/5218/5529335489_8f00366940_s.jpg" alt="Brought To Life" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529335631"><img class="photo" title="Firebreather" src="http://farm6.static.flickr.com/5299/5529335631_0d1fe10c6b_s.jpg" alt="Firebreather" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529335727"><img class="photo" title="Flamethrower" src="http://farm6.static.flickr.com/5051/5529335727_36e20d8190_s.jpg" alt="Flamethrower" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529335819"><img class="photo" title="Head On" src="http://farm6.static.flickr.com/5017/5529335819_371f00d294_s.jpg" alt="Head On" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529336081"><img class="photo" title="Cooling Down" src="http://farm6.static.flickr.com/5175/5529336081_3be87a01ed_s.jpg" alt="Cooling Down" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529336193"><img class="photo" title="Out Of Pie Error" src="http://farm6.static.flickr.com/5173/5529336193_1883ba7fe4_s.jpg" alt="Out Of Pie Error" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529336317"><img class="photo" title="Alistair Makes A Friend" src="http://farm6.static.flickr.com/5173/5529336317_b74fbbf8b0_s.jpg" alt="Alistair Makes A Friend" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529336441"><img class="photo" title="Light-Up Wand" src="http://farm6.static.flickr.com/5133/5529336441_75852566d4_s.jpg" alt="Light-Up Wand" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529336547"><img class="photo" title="Watch The Birdie!" src="http://farm6.static.flickr.com/5091/5529336547_e6175b53d7_s.jpg" alt="Watch The Birdie!" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529924022"><img class="photo" title="Dragon 437/365" src="http://farm6.static.flickr.com/5100/5529924022_56dd5a5e87_s.jpg" alt="Dragon 437/365" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=5529924098"><img class="photo" title="Day #1168" src="http://farm6.static.flickr.com/5254/5529924098_90ec243530_s.jpg" alt="Day #1168" /></a>
								</div>
												<div class="fg-clear"></div>
				</div>
												<div class="fg-clear"></div>
							<script type="text/javascript">
											jQuery(document).ready(function(){
							jQuery("#gallery-4936ec11 .flickr-thumb img").flightbox({size_callback: get_sizes});
						});
										
										//-->
				</script>
			
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2011/03/maker-faire-madness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ernie The Electronic Organist &#8211; Part 3 (Generating The Data)</title>
		<link>http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-3/</link>
		<comments>http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-3/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 19:06:46 +0000</pubDate>
		<dc:creator>Caz</dc:creator>
				<category><![CDATA[barCamps]]></category>
		<category><![CDATA[geekery]]></category>
		<category><![CDATA[hardware hacking]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[bbc micro]]></category>
		<category><![CDATA[geoff king]]></category>
		<category><![CDATA[hardware hack]]></category>
		<category><![CDATA[pipe organ]]></category>

		<guid isPermaLink="false">http://cazmockett.com/blog/?p=502</guid>
		<description><![CDATA[Data Format Following on from the previous post, we now move on to Data Formats and Data Generation. The system can play music in up to 8-part harmony, equivalent to 8 separate parts or voices in a choir, and keeps &#8230; <a href="http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3>Data Format</h3>
<p>Following on from the <a href="http://cazmockett.com/blog/2009/11/21/ernie-the-electronic-organist-part-2/">previous post,</a> we now move on to Data Formats and Data Generation.</p>
<p>The system can play music in up to 8-part harmony, equivalent to 8 separate parts or voices in a choir, and keeps track of the current status of each part. The numerical data for each piece of  music are arranged in groups to represent events at successive points in time. Each event usually involves changing the note being played by any one or more of the parts, including muting any of the parts. Following are some examples of three typical events:</p>
<table border="0" cellspacing="0" cellpadding="2" width="550">
<tbody>
<tr>
<th scope="col">Data Group starting at Address</th>
<th scope="col"></th>
<th scope="col"></th>
<th scope="col">193</th>
<th scope="col">199</th>
<th scope="col">200</th>
</tr>
<tr>
<td><strong>Duration</strong></td>
<td></td>
<td></td>
<td>21</td>
<td>03</td>
<td>00</td>
</tr>
<tr>
<td><strong>Control Byte</strong></td>
<td></td>
<td></td>
<td>&amp;B4 (180)</td>
<td>&amp;83 (131)</td>
<td>08</td>
</tr>
<tr>
<td><strong>Notes</strong></td>
<td>S<br />
X<br />
A<br />
T<br />
Y<br />
B<br />
P<br />
Q</td>
<td>bit 7<br />
bit 6<br />
bit 5<br />
bit 4<br />
bit 3<br />
bit 2<br />
bit 1<br />
bit 0</td>
<td>A3  (34)<br />
&#8211;<br />
F#3 (31)<br />
C3 (25)<br />
&#8211;<br />
D2 (15)<br />
&#8211;<br />
&#8211;</td>
<td></td>
<td></td>
</tr>
<tr>
<td><strong>Significance</strong></td>
<td><em>Voice</em></td>
<td></td>
<td><em>4-note chord</em></td>
<td><em>Mute</em></td>
<td><em>Bar No. 8</em></td>
</tr>
</tbody>
</table>
<ul>
<li>Starting at address 193 is the Data Group for a chord, duration 21 time units.</li>
<li>The Control Byte at 194 has value 180 = &amp;B4, which has 4 bits set (7, 5, 4, 2).</li>
<li>The voices corresponding to bits (6, 3, 1, 0) will remain unchanged, whatever their previous states.</li>
<li>Address 199 holds value 131 = &amp;83, which represents a mute of all voices, duration 3 time units.</li>
<li>Address 200, 201 hold the sequence 00, 08 which represents the bar line at the start of bar 8.</li>
</ul>
<p>The data group for each event begins with a Duration Parameter, D, a 6-bit number in the range 1 to 63 which defines the length of time that the note or chord in question is to be sustained.</p>
<p>The default value of D is 24 units for a crotchet, 12 for a quaver, etc., although these values are arbitrary – but the inclusion of a factor of 3 facilitates the rendering of triplet rhythms when required.</p>
<p>Next comes an 8-bit Control Byte which acts as a mask defining which part or parts are to be changed. This is followed by a list of N numbers, each in the range 0 to 54, representing the notes to be played. N is the number of set bits in the mask and the sequence of note-numbers defines to which parts they are allocated.</p>
<p>The note value zero indicates that the relevant voice is to be silenced. A Duration Parameter in the range (1 to 63) + &amp;40 indicates that the previous chord is to be maintained unchanged for a further period of time (a tie). A parameter in the range (1 to 63) + &amp;80 heralds a mute, a period in which all parts are to be silenced.</p>
<p>A Duration Parameter of zero represents an Escape Code which is followed by at least one further byte. If this next byte is a number in the range 0 to 240 (&amp;F0) it indicates a bar number in the music &#8211; this is ignored by the playing program but is an invaluable aid to editing the data. Values from &amp;F1 to &amp;FF invoke various special functions and may be followed by additional bytes. These functions include setting the Tempo Parameters, marking the beginning and end of repeated passages, implementing octave- and pedal-coupling facilities and marking the end of the piece.</p>
<h3>Generating The Data</h3>
<p>In the early days, the data lists were compiled and entered into memory manually, which was extremely tedious even for short and simple melodies. Around the same time, Dad was writing a PC-based program originally designed merely to print music in a legible form, and it occurred that it might be possible to combine these two problems. Now, generation of the data begins with a Project in Visual Basic running on a PC under Windows 98. Please stop laughing, there are good reasons for using this ancient machine!</p>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-10B-Bars-1-4.jpg"><img class="alignleft size-medium wp-image-519" title="Bars 1-4" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-10B-Bars-1-4-300x228.jpg" alt="" width="300" height="228" /></a>[Left - the PC-based Visual Basic screen for inputting music - very much <em>"me-ware"!</em> - click image for bigger version if you dare]</p>
<p>The programme initially displays a pair of blank staves, plus, in the case of organ music, an additional stave to show the pedal part. Notes are inserted by a series of mouse-clicks to build up a single line of music.</p>
<p>The information displayed is stored in memory merely as the note-values and their co-ordinates on the staves, and each line of music can be saved as a .DAT file. <strong>No bit-image files are involved.</strong></p>
<p>The N lines of music  required for a given work can be printed out for future reference. The filename for each line of music is constructed from the file-stem, Plus the bar number at the start of that line, thus Bday1.DAT and Bday5.DAT.</p>
<h3>About The Voices</h3>
<p><strong><a href="http://cazmockett.com/wp-content/uploads/2010/03/Voices.jpg"><img class="alignright size-medium wp-image-521" title="Voices" src="http://cazmockett.com/wp-content/uploads/2010/03/Voices-300x235.jpg" alt="" width="300" height="235" /></a></strong>The treble clef (normally played by the right hand) contains the <strong>S</strong>oprano part (tails up). <strong>A</strong>lto (tails down) and an extra intermediate part (<strong>X</strong>, with no tails).</p>
<p>Similarly the next stave down (bass clef, normally played by the left hand) supports <strong>T</strong>enor (tails up). <strong>B</strong>ass (tails down) and an additional part (<strong>Y</strong>, no tails).</p>
<p>When the music has been compiled the order of parts as shown in the Control Byte is from most to significant bit to least: S, X, A, T, Y, B, P, Q. The lower bass clef, where used, is played by the pedals and can contain two parts, tails up (<strong>P</strong>) and down (<strong>Q</strong>).</p>
<h3>Compiling &amp; Editing The Data</h3>
<p>Visual Basic and Windows can now be closed and a compilation program loaded in GWBASIC under MS-DOS. Details of the file-stem (Bday), bar numbers (1, 5) and Folder (Happy) are entered, together with an estimate of the required metronome value in crotchet beats per minute. The compiler then reads each if the .DAT files in turn and processes them into the format required by the BBC program. The complete data list is saved as a .BIN file, e.g. 8HBDAY1.BIN , indicating 8 parts (and 7+ext file name).</p>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-11A-Editor-on-PC-1st-half.jpg"><img class="alignleft size-medium wp-image-526" title="Editor on PC" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-11A-Editor-on-PC-1st-half-300x220.jpg" alt="" width="300" height="220" /></a>[Left - raw data Editor on the PC - click image for bigger version]</p>
<p>Control is now passed to a second program in GWBASIC. This enables the data to be edited and any errors and omissions corrected. In this 8-part PC editor two lines of data, comprising 32 columns or events, can be displayed. Note that a line of displayed data does not as a rule correspond to a line of the printed music.</p>
<p>Various features of the data are indicated by their colours: green (decimal) numerals indicate memory addresses at which the data for each event begins. Red (decimal) numerals are the Duration Parameters. Pale blue (hexadecimal) numbers are the Control Bytes, and the white characters define the note letters and the octaves in which they are situated. The usual range of organ music is from two octaves below middle C (C1-B1, and C2-B2) to two and a half or three octaves above (C3-B3, C4-B4 and C5-F5 in this case).</p>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-11C-Edit-Mode-on-PC.jpg"><img class="alignright size-medium wp-image-529" title="Edit Mode on PC" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-11C-Edit-Mode-on-PC-300x220.jpg" alt="" width="300" height="220" /></a>Pressing any key at this stage of the display causes the lower line of 16 columns to be erased and replaced by cues and space for input statements to make any changes [right - click image for bigger version].</p>
<p>Phrasing in organ music is achieved solely by small adjustments to the duration of selected chords and by short gaps inserted between them. The data as initially compiled will often sound rather bland and boring but can be made to sound more realistic by careful editing at this stage. In particular it is the custom to increase the length  of the first note in each bar by one unit, a process carried out automatically by the compiler.</p>
<h3>Transferring The Data</h3>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-12A-Editor-on-BBC-1.jpg"><img class="alignleft size-medium wp-image-531" title="Editor on BBC Micro" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-12A-Editor-on-BBC-1-300x204.jpg" alt="" width="300" height="204" /></a>[Left: the equivalent Editor on BBC Micro - click image for bigger version]</p>
<p>After the data has been edited it is wise to save it to a different filename, e.g. 8HBDAY2.BIN</p>
<p>A further GWBASIC program is then invoked to transfer the file over a parallel cable to a BBC where it is received and saved by another program. There is also a BBC data editing program but due to memory space constraints it is very limited in scope compared to the PC version &amp; can display only 10 cols or events at a time. The data, now on a lovely old BBC floppy disc, can be taken to the church to be tested on the organ. If necessary, final adjustments can be made there using the BBC editor.</p>
<h3>So Why Bother?</h3>
<p>In typical geek fashion, the project was originally undertaken to test an idea and see if it could be done. After a few teething troubles were ironed out it has proved extremely versatile and reliable and appears to be capable of playing almost any organ music that can be rendered on a single-manual instrument. It just requires sufficient time and patience in setting up and editing the data.</p>
<p>It now plays most of the voluntaries in the weekly service and has even been used for an evening’s organ recital, raising money for charity. With the aid of a computer-literate assistant, it has occasionally been used to accompany the hymn singing when no organist (Dad) has been available. However, setting up the files for 5 hymns is no trivial task since each verse may need to be differently edited for correct phrasing due to different words.</p>
<h3>Ernie Performs!</h3>
<p>And now for a short recital… (use <a href="http://cazm.eu/ernie3u">http://cazm.eu/ernie3u</a> as a shortcut):</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/OPI76NYF6M8&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x402061&amp;color2=0x9461ca" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/OPI76NYF6M8&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x402061&amp;color2=0x9461ca" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Afterthought</h3>
<p>I have often wondered if, instead of spending so much time designing hardware, software and inputting data to the system, Dad had spent the time practicing the organ tunes in the first place, he would be able to play them himself! But that would not have been half the fun!</p>
<h3>Further Reading</h3>
<p>For more details, see <a href="http://cazmockett.com/blog/2009/11/20/ernie-the-electronic-organist-part-1/">Part 1 (Intro)</a> and <a href="http://cazmockett.com/blog/2009/11/21/ernie-the-electronic-organist-part-2/">Part 2 (Machine Control)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ernie The Electronic Organist &#8211; Part 2 (Machine Control)</title>
		<link>http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-2/</link>
		<comments>http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-2/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 18:13:23 +0000</pubDate>
		<dc:creator>Caz</dc:creator>
				<category><![CDATA[barCamps]]></category>
		<category><![CDATA[geekery]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[bbc micro]]></category>
		<category><![CDATA[geoff king]]></category>
		<category><![CDATA[hardware hack]]></category>
		<category><![CDATA[pipe organ]]></category>

		<guid isPermaLink="false">http://cazmockett.com/blog/?p=469</guid>
		<description><![CDATA[Following on from Part 1, the next stage is to explain how the BBC Micro actually interfaces with the organ to control the notes. The Switching Circuit in Parallel [Right: Transistor Switching for each Note - click image for bigger &#8230; <a href="http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Following on from <a href="http://cazmockett.com/blog/2009/11/20/ernie-the-electronic-organist-part-1/">Part 1</a>, the next stage is to explain how the BBC Micro actually interfaces with the organ to control the notes.</p>
<h3>The Switching Circuit in Parallel</h3>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-3-Transistor-Switching-for-each-Note.gif"><img class="alignright size-medium wp-image-475" title="Transistor Switching for each Note" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-3-Transistor-Switching-for-each-Note-300x174.gif" alt="" width="300" height="174" /></a>[Right: Transistor Switching for each Note - click image for bigger version]</p>
<p>The analogue switching circuit for each note looks like this:</p>
<p>The value of each note, ON or OFF, is stored in a 1-bit data latch</p>
<p>The LEDs were originally provided to facilitate trouble-shooting at the development stage, but now provide entertainment for interested spectators! It will be noted that the components are grouped to correspond to the layout of keys on the keyboard:</p>
<h3><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-4B-Manual-Switching-Board-2.jpg"><img class="alignleft size-medium wp-image-478" title="Manual Switching Board" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-4B-Manual-Switching-Board-2-300x149.jpg" alt="" width="300" height="149" /></a>A Quick Demontration!</h3>
<p>Here is a short video showing the switching boards whilst the organ plays a familiar tune… (use <a href="http://cazm.eu/ernie2u">http://cazm.eu/ernie2u</a> as a shortcut):<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/pjAIVmrxjEo&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x402061&amp;color2=0x9461ca" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/pjAIVmrxjEo&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x402061&amp;color2=0x9461ca" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Addressing The Latches</h3>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-5-Buffers-Latches-for-1-Note.gif"><img class="alignleft size-medium wp-image-481" title="Buffers Latches for 1 Note" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-5-Buffers-Latches-for-1-Note-300x179.gif" alt="" width="300" height="179" /></a>[Left: Buffers Latches for 1 Note - click image for bigger version]</p>
<p>The diagram of a sample latching circuit is shown below &#8211; there are 4 latches per chip, but there are only two clock lines, each one clocking two latches.</p>
<p>Each latching operation requires two <strong>data</strong> bits to be distributed to all latch pairs simultaneously, via a network of 74LS04 inverting buffers to provide the necessary fan-out</p>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-6-Part-of-CLK-Routing-Circuit.gif"><img class="alignright size-medium wp-image-487" title="Part of CLK Routing Circuit" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-6-Part-of-CLK-Routing-Circuit-219x300.gif" alt="" width="219" height="300" /></a>[Right: Part of CLK Routing Circuit - click image for bigger version]</p>
<p>A single 1-0-1 clock pulse is then routed to one latch pair only, using a 2-to-4 74LS139 decoder and a series of 1-to-16 74L154 demux chips, as shown. This arrangement requires 5 address bits as well as the two data bits and one clock bit.</p>
<p>Each of the 32 5-bit addresses points to a pair of latches, so giving access to a maximum of 64 individual latches. There are only 54 notes on the manual organ, but some of the spare latches are used for  auxiliary functions, including the operation of the master switching transistors in th 14V supply to upper and lower halves of the analogue switching board.</p>
<h3>Opto-Isolators, Decoders and Buffers</h3>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-7-Opto-isolators-Decoders-Buffers.jpg"><img class="alignleft size-medium wp-image-490" title="Opto isolators Decoders and Buffers" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-7-Opto-isolators-Decoders-Buffers-156x300.jpg" alt="" width="156" height="300" /></a> <a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-8-Latches-Buffers.jpg"><img class="alignleft size-medium wp-image-492" title="Latches and Buffers" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-8-Latches-Buffers-175x300.jpg" alt="" width="175" height="300" /></a>[Far Left: Opto isolators Decoders and Buffers of the  address routing circuit board]</p>
<p>[Left: Latches and Buffers of the latch circuit]</p>
<p>Much of the above hardware is duplicated to provide independent operation of the 30-note pedal organ, but this needs only one additional address line to distinguish between the two sections.</p>
<p>Thus:<br />
<strong>Note address bits</strong> &#8211; PB0-4<br />
<strong>Manual/Pedal select</strong> &#8211; PB5<br />
<strong>Data output bits</strong> &#8211; PB6-7<br />
<strong>Clock line</strong> &#8211; PA0</p>
<h3>Machine Control</h3>
<p>Operation of the above hardware is controlled by a machine code program running on the BBC Micro. A user interface in BBC BASIC, normally running in MODE 6, controls the display, selection and loading of items from the music menu. Prior to the transfer of control to the machine code there is provision for setting a number of playing parameters, whose values are passed via the Resident Integer Variables.</p>
<h3>Further Reading</h3>
<p>For more details, see <a href="http://cazmockett.com/blog/2009/11/20/ernie-the-electronic-organist-part-1/">Part 1 (Intro)</a> and <a href="http://cazmockett.com/blog/2009/11/22/ernie-the-electronic-organist-part-3/">Part 3 (Generating The Data)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ernie The Electronic Organist &#8211; Part 1 (Intro)</title>
		<link>http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-1/</link>
		<comments>http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-1/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 17:20:38 +0000</pubDate>
		<dc:creator>Caz</dc:creator>
				<category><![CDATA[barCamps]]></category>
		<category><![CDATA[geekery]]></category>
		<category><![CDATA[hardware hacking]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[bbc micro]]></category>
		<category><![CDATA[geoff king]]></category>
		<category><![CDATA[hardware hack]]></category>
		<category><![CDATA[pipe organ]]></category>

		<guid isPermaLink="false">http://cazmockett.com/blog/?p=443</guid>
		<description><![CDATA[It&#8217;s been ages since I did a semi-tech talk at a BarCamp, since I usually talk about photography. But recently I&#8217;d been picking my Dad&#8217;s brains on his hardware hack which makes an old BBC Model B Micro play a &#8230; <a href="http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/keyboard03.gif"><img class="alignright size-medium wp-image-444" title="keyboard" src="http://cazmockett.com/wp-content/uploads/2010/03/keyboard03-300x192.gif" alt="" width="300" height="192" /></a>It&#8217;s been ages since I did a semi-tech talk at a BarCamp, since I usually talk about photography. But recently I&#8217;d been picking my Dad&#8217;s brains on his hardware hack which makes an old BBC Model B Micro play a pipe organ with electro-pneumatic action at the local church. <strong><em><br />
Look Ma, no hands!</em></strong></p>
<p>I thought a bunch of BarCamping geeks would appreciate knowing about this madcap scheme, so I put together this presentation and ran sessions at <a href="http://cazmockett.com/2009/10/20/barcamp-blackpool-rocks/">BarCamp Blackpool</a> and BarCamp London 7. I hope you enjoy.</p>
<h3>About The Project Engineer</h3>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/D011-26_henry.jpg"><img class="alignleft size-medium wp-image-449" title="My Dad" src="http://cazmockett.com/wp-content/uploads/2010/03/D011-26_henry-242x300.jpg" alt="" width="242" height="300" /></a>I am presenting a hardware hack project which has been undertaken by my dad, Geoff King [left]. He is a closet geek/engineer/tinkerer with many years’ experience under his belt.</p>
<p>He spent most of his career before retirement in the Physics Department of the University of Essex where he taught the students how to interface lab experiments with KIMs, then BBCs, and later PCs.</p>
<p>When the BBC Model B arrived, he had an idea to use one to play the organ in his local church, where he has been organist since the mid-1960’s.</p>
<p>But in the early 1980’s BEEBs were expensive state-of-the-art machines – as you may have seen recently on the excellent BBC4 series Electric Dreams!</p>
<p>So the idea was put on hold for a while. But you know a geek. An idea never really goes away&#8230; Some 20 years later, with his retirement looming, he was able to “acquire” several Beebs, by then regarded as redundant and heading for the scrap heap. The idea was dusted down, and Ernie the Electronic Organist was born.</p>
<h3>The Organ</h3>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-1A-Organ-in-SW-corner-of-church.jpg"><img class="alignright size-medium wp-image-454" title="The Organ" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-1A-Organ-in-SW-corner-of-church-300x200.jpg" alt="" width="300" height="200" /></a>The church organ is a modest affair of 6 speaking stops on a single 54-note manual keyboard, with a single stop on an independent 30-note pedal organ.</p>
<p>[Right - the organ sits in a corner of the church]</p>
<p>As small organs go, the instrument is unusual in having electro-pneumatic action.</p>
<p>This is in contrast to the traditional system of rods and levers, known as trackers, linking the keyboard to the pallet valves which supply air to the pipes.</p>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-1B-Organ-Console-with-BBC-on-shelf.jpg"><img class="alignleft size-medium wp-image-456" title="Organ Console with BBC on shelf" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-1B-Organ-Console-with-BBC-on-shelf-217x300.jpg" alt="" width="217" height="300" /></a>Switches beneath the keys supply current to a series of solenoids which operate small valves controlling the air supply to the pneumatic motors attached to the pallet valves.</p>
<p>[Left - the organ console with pedals below, and the BBC Micro mounted on the window sill next to the seat]</p>
<h3>Hardware In Action</h3>
<p>This video shows a part of the wind chest and the solenoids in action whilst the organ is played (use <a href="http://cazm.eu/ernie1u">http://cazm.eu/ernie1u</a> as a shortcut):</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/4GiY3nFFyJo&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;color1=0x402061&amp;color2=0x9461ca" /></object></p>
<h3>Electro-Pneumatic Action</h3>
<p><a href="http://cazmockett.com/wp-content/uploads/2010/03/Fig-2-Electric-Action-for-each-Note.gif"><img class="alignleft size-medium wp-image-471" title="Electric Action for each Note" src="http://cazmockett.com/wp-content/uploads/2010/03/Fig-2-Electric-Action-for-each-Note-300x279.gif" alt="" width="300" height="279" /></a>[Left, Electric action for each note - click image for bigger version]</p>
<p>An unregulated PSU provides up to 10 amps of current at a nominal 14 volts DC to power the action.</p>
<p>One side of each magnet is connected to the 0 volt rail, with the keyboard switches on the +14 volt side.</p>
<p>The aim of the project is to simulate a series of computer-controlled switches in parallel with the keyboard switches.</p>
<h3>Further Reading</h3>
<p>For more details, see <a href="http://cazmockett.com/blog/2009/11/21/ernie-the-electronic-organist-part-2/">Part 2 (Machine Control)</a> and <a href="http://cazmockett.com/blog/2009/11/22/ernie-the-electronic-organist-part-3/">Part 3 (Generating The Data)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2009/11/ernie-the-electronic-organist-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unsheffield &#8211; A Week To Go</title>
		<link>http://cazmockett.com/blog/2009/06/unsheffield-a-week-to-go/</link>
		<comments>http://cazmockett.com/blog/2009/06/unsheffield-a-week-to-go/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 22:11:23 +0000</pubDate>
		<dc:creator>Caz</dc:creator>
				<category><![CDATA[barCamps]]></category>
		<category><![CDATA[geekery]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[BarCamp]]></category>
		<category><![CDATA[sheffield]]></category>
		<category><![CDATA[uns1]]></category>
		<category><![CDATA[unsheffield1]]></category>

		<guid isPermaLink="false">http://cazmockett.com/blog/?p=296</guid>
		<description><![CDATA[I&#8217;m really looking forward to attending the upcoming Unsheffield event which kicks off next Friday evening. It is brought to you by the same team that organised BarCampSheffieldII last year, but they felt that they wanted to deviate a little &#8230; <a href="http://cazmockett.com/blog/2009/06/unsheffield-a-week-to-go/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://unsheffield.net"><img class="size-full wp-image-299 aligncenter" title="unsheffield" src="http://cazmockett.com/wp-content/uploads/2009/06/unsheffield.png" alt="unsheffield" width="384" height="88" /></a></p>
<p>I&#8217;m really looking forward to attending the upcoming Unsheffield event which kicks off next Friday evening. It is brought to you by the same team that organised <a href="http://cazmockett.com/blog/2008/12/02/barcamp-sheffield2/">BarCampSheffieldII</a> last year, but they felt that they wanted to deviate a little from the standard BarCamp format, hence the rebranding of this new event.</p>
<p>I will endeavour to write more about the event during or shortly afterwards.</p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2009/06/unsheffield-a-week-to-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>@media Session 9</title>
		<link>http://cazmockett.com/blog/2008/05/media-session-9/</link>
		<comments>http://cazmockett.com/blog/2008/05/media-session-9/#comments</comments>
		<pubDate>Fri, 30 May 2008 11:25:02 +0000</pubDate>
		<dc:creator>Caz</dc:creator>
				<category><![CDATA[at media]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[john resig]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.cazmockett.com/blog/?p=147</guid>
		<description><![CDATA[The Why and Which of JavaScript Libraries John Resig took us through various scenarios when you write JavaScript: Plug &#38; Play: Drop in a widget, little or no JavaScript knowledge required, just customise some options and go &#8211; no flexibility &#8230; <a href="http://cazmockett.com/blog/2008/05/media-session-9/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">The Why and Which of JavaScript Libraries</strong><br />
<a href="http://cazmockett.com/wp-content/uploads/2008/07/d372-071.jpg"><img class="alignleft size-medium wp-image-148" title="John Resig" src="http://cazmockett.com/blog/wp-content/uploads/2008/07/d372-071-200x300.jpg" alt="" width="200" height="300" /></a><br />
John Resig took us through various scenarios when you write JavaScript:</p>
<ul>
<li><strong>Plug &amp; Play:</strong><br />
Drop in a widget, little or no JavaScript knowledge required, just customise some options and go &#8211; <em>no flexibility</em></li>
<li><strong>Some assembly required:</strong><br />
Write common utilities, use pre-made code to distance yourself from browser bugs &#8211; <em>flexible, until you hit a browser bug</em></li>
<li><strong>Down and dirty:</strong><br />
Write all code from scratch, deal directly with bugs, quirksmode can save your life &#8211; <em>eccessively flexible &#8211; almost too flexible</em></li>
<li><strong>Use JavaScript library:</strong><br />
Makes JavaScript bearable, gets the job done fast, simplifies cross-browser support &#8211; <em>easily customisable</em></li>
</ul>
<p>John then did a comparison between the various JavaScript libraries, including <a href="http://jquery.com/">jQuery</a>, <a href="http://protoypejs.org/">Prototype</a>, <a href="http://developer.yahoo.com/yui/">YUI</a> and <a href="http://dojotoolkit.org/">Dojo</a>, which are commonly in use. A developer survey showed that jQuery and Prototype were used by around 32% of developers; YUI was 22% and others around 14%.</p>
<p>John&#8217;s full slides give much more detail of each library&#8217;s strengths.</p>
<p>John&#8217;s presentation: <a href="http://www.slideshare.net/jeresig/javascript-libraries-media/">slides (slideshare)</a> | <a href="http://www.htmldog.com/atmedia2008/jslibraries.mp3">audio (mp3)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/media-session-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2008/jslibraries.mp3" length="21906900" type="audio/mpeg" />
		</item>
		<item>
		<title>@media Session 7</title>
		<link>http://cazmockett.com/blog/2008/05/media-session-7/</link>
		<comments>http://cazmockett.com/blog/2008/05/media-session-7/#comments</comments>
		<pubDate>Fri, 30 May 2008 09:30:35 +0000</pubDate>
		<dc:creator>Caz</dc:creator>
				<category><![CDATA[at media]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nate koechley]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.cazmockett.com/blog/?p=142</guid>
		<description><![CDATA[Professional Front-End Engineering Nate Koechley Nate began by giving us a bit of historical context to the way Yahoo! has evolved over the years. He then covered topics such as Yahoo&#8217;s server architecture, graded browser support [see below], progressive enhancement, &#8230; <a href="http://cazmockett.com/blog/2008/05/media-session-7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">Professional Front-End Engineering</strong></p>
<p><a rel="acquaintance met" href="http://nate.koechley.com/blog/">Nate Koechley</a></p>
<p>Nate began by giving us a bit of historical context to the way <a href="http://www.yahoo.com/">Yahoo!</a> has evolved over the years.</p>
<p><a href="http://cazmockett.com/wp-content/uploads/2008/06/d372-013.jpg"><img class="aligncenter size-full wp-image-143" title="Nate\'s talk" src="http://cazmockett.com/wp-content/uploads/2008/06/d372-013.jpg" alt="" width="500" height="333" /></a></p>
<p>He then covered topics such as Yahoo&#8217;s server architecture, <a href="http://developer.yahoo.com/yui/articles/gbs/index.html#history">graded browser support</a> [see below], progressive enhancement, unobtrusive JavaScript etc.</p>
<p><a href="http://cazmockett.com/wp-content/uploads/2008/06/graded_browser_support.gif"><img class="aligncenter size-full wp-image-144" title="graded browser support chart" src="http://cazmockett.com/wp-content/uploads/2008/06/graded_browser_support.gif" alt="" width="500" height="249" /></a></p>
<p>He suggests we all have an interesting set of decisions to make regarding front-end design:</p>
<ol>
<li><strong>Do what is standard</strong><br />
<small>if impossible, then</small></li>
<li><strong>Do what is common</strong><br />
<small>if impossible, then</small></li>
<li><strong>Do what it takes</strong></li>
</ol>
<p>Then we get on to:</p>
<ol>
<li>Do what is <strong>simple</strong><br />
<small>+</small></li>
<li>Do what is <strong>flexible &amp; progressive</strong><br />
<small>+</small></li>
<li>Do what is <strong>open</strong></li>
</ol>
<p>This is in order to satisfy the multiple audiences for any website: Users, Developers, Machines.</p>
<p>At Yahoo!, they focus on 8 specific areas:</p>
<ol>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>Accessibility</li>
<li>Internationalisation</li>
<li>Performance</li>
<li>Infrastructre &amp; Process</li>
<li>Tooling</li>
</ol>
<p>They use tools such as <a href="http://www.jslint.org/">JSLint</a> to check code for quality, and adopt the idioms it promotes to improve their code. Also, unit testing with <a href="http://developer.yahoo.com/yui/yuitest/">YUI Test</a>.</p>
<p>There&#8217;s much more detail in his slides (see below).</p>
<p>Nate&#8217;s presentation: <a href="http://nate.koechley.com/blog/2008/06/11/slides-professional-frontend-engineering/">slides (blog/slideshare</a>) | <a href="http://www.htmldog.com/atmedia2008/engineering.mp3">audio (mp3)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/media-session-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2008/engineering.mp3" length="18994589" type="audio/mpeg" />
		</item>
		<item>
		<title>@media Session 3</title>
		<link>http://cazmockett.com/blog/2008/05/media-session-3/</link>
		<comments>http://cazmockett.com/blog/2008/05/media-session-3/#comments</comments>
		<pubDate>Thu, 29 May 2008 11:50:49 +0000</pubDate>
		<dc:creator>Caz</dc:creator>
				<category><![CDATA[at media]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[atmedia08]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[james graham]]></category>
		<category><![CDATA[lachlan hunt]]></category>
		<category><![CDATA[london web week]]></category>
		<category><![CDATA[lww08]]></category>
		<category><![CDATA[whatwg]]></category>

		<guid isPermaLink="false">http://www.cazmockett.com/blog/?p=132</guid>
		<description><![CDATA[Getting Your Hands Dirty With HTML5 James Graham / Lachlan Hunt What can you do with it now, what in the future? Intro Next iteration of HTML spec. Long overdue for overhaul. What are we trying to achieve? Do things &#8230; <a href="http://cazmockett.com/blog/2008/05/media-session-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">Getting Your Hands Dirty With HTML5</strong></p>
<p><a href="http://www.vivabit.com/atmedia2008/london/speakers/#jamesg">James Graham</a> / <a href="http://www.vivabit.com/atmedia2008/london/speakers/#lachlan">Lachlan Hunt</a></p>
<p>What can you do with it now, what in the future?</p>
<p><strong>Intro</strong><br />
Next iteration of HTML spec. Long overdue for overhaul. What are we trying to achieve? Do things you can&#8217;t do now without JS, for instance. Working on HTML and XHTML together. Authors can choose which is most appropriate for them.</p>
<p><strong>Design Principles</strong></p>
<ul>
<li><strong>Compatability</strong> &#8211; Browsers must remain compatible with existing content, old sites MUST still work.</li>
<li><strong>Degrade gracefully</strong> &#8211; make new features work in, or at least not break, new browsers.</li>
<li><strong>Don&#8217;t reinvent the wheel </strong>- fix what we already have, don&#8217;t reinvent it from scratch.</li>
<li><strong>Pave the cowpath</strong> &#8211; consider Use Cases &#8211; look what authors already do and improve where neccessary.c.f. Microformat Date/Time pattern.</li>
<li><strong>Evolution, not revolution </strong>- make incremental improvements. Can&#8217;t discard existing content and start fresh.</li>
<li><strong>Solve real problems</strong> &#8211; ensure work is relevent to web developers. Identify the problems first, then find solutions.</li>
<li><strong>Priority of Constituencies </strong>- have to prioritise the needs of:<br />
Users, authors, implementers, spec writers, theoretical purity</li>
<li><strong>Secure by design</strong> &#8211; protect end users from malicious intent</li>
<li><strong>Separation of Concerns</strong> &#8211; Separate presentation, structure, semantics where doing so provides real benefits. &lt;b&gt; and &lt;i&gt; are still in the spec.</li>
<li><strong>DOM Consistency</strong> &#8211; minimize differences between HTML and XHTML, allow scripts to work now.</li>
<li><strong>Avoid needless complexity</strong> &#8211; authors won&#8217;t use something complex if they don&#8217;t understand it</li>
<li>Well-defined Behaviour &#8211; 97% of web has syntax errors! Define precisely what browers must do with all possibly bad input.</li>
<li><strong>Handle Errors</strong> &#8211; authors make mistakes all the time, the spec must define how browsers handle the errors.</li>
<li><strong>Media independence</strong> &#8211; make sure pages work on different media, devices and platforms.</li>
<li><strong>Support World Languages</strong> &#8211; support pages in any language, bi-directional text etc</li>
<li><strong>Accessibility </strong>- provide for the needs of users with disabilities. Built-in preferred over add-on accessibility, where possible.</li>
</ul>
<p><strong>When can we start using HTML5?</strong><br />
As soon as the browsers start implementing the features. FF3, IE8 support some of the spec.</p>
<p><strong>What can I do with it?</strong><br />
Common elements of a blog &#8211; header, main nav, article, sidebar, footer. So we get:</p>
<p><a href="http://cazmockett.com/wp-content/uploads/2008/06/d371-044.jpg"><img class="aligncenter size-full wp-image-133" title="Cat Lovr" src="http://cazmockett.com/wp-content/uploads/2008/06/d371-044.jpg" alt="" width="500" height="334" /></a><br />
<strong>&lt;header&gt; </strong>element &#8211; for site-wide header, not H1. Title/subtitle etc.<br />
<strong>&lt;nav&gt;</strong> element &#8211; screenreaders could jump straight to it easily<br />
<strong>&lt;article&gt;</strong> element &#8211; for the main body<br />
<strong>&lt;aside&gt;</strong> element &#8211; for sidebar etc, pullquotes.<br />
<strong>&lt;footer&gt;</strong> element &#8211; for copyright info</p>
<p>These can add more consistency than using <strong>&lt;div&gt;</strong>s and variable class names.</p>
<p><strong>&lt;section&gt;</strong> elements can be nested &#8211; each of which has H1 &#8211; without worrying about correct nesting of H1, H2 elements.</p>
<p><a href="http://cazmockett.com/wp-content/uploads/2008/06/d371-047.jpg"><img class="aligncenter size-full wp-image-135" title="Whack a LOL" src="http://cazmockett.com/wp-content/uploads/2008/06/d371-047.jpg" alt="" width="500" height="334" /></a></p>
<p><strong>&lt;time&gt;</strong> &#8211; for posted date of blog item. Attribute has machine-readable timestamp, tag wraps human-readable content.<br />
<strong>&lt;figure&gt;</strong> &#8211; represents image(or table etc)+caption, &lt;legend&gt; nested inside to associate it together. <strong><br />
&lt;caption&gt;</strong> not used for reasons of backwards compatibility.<br />
<strong>&lt;meter&gt;</strong> &#8211; attributes shows rating of content &#8211; the bar is drawn by the browser not meant as a graphic. Eg, content of element is 3/5, the bar is drawn by the user agent. Also progress bars <strong><br />
&lt;progress&gt;</strong> for dynamic (ajax) apps.<br />
<strong>&lt;video&gt;</strong> &#8211; native video support in browsers, DOM APIs for providing custom interfaces, no more dependance on Flash. Browser provides the controls etc. Casual authors can quickly cope with video files.<br />
<strong>&lt;canvas&gt;</strong> &#8211; dynamically draw graphics and text, graphics-oriented DOM APIs.</p>
<p><strong>Offline Web Apps</strong> &#8211; offline caching APIs, local storage, SQL database.<br />
<strong>Developer Tools</strong> &#8211; HTML5 conformance checker &#8211; exceeds the capabilities of traditional DTD bases validators. Gives more useful info.<br />
<strong>Parsing HTML5</strong> &#8211; libraries for python, ruby. off-the-shelf parser reduces reliance on RegExpr hacks.<br />
<strong>The Community</strong> &#8211; diverse group of individuals and organisations. W3C, WHATWG trying to work together. Open to everyone.<br />
<strong>How to Contribute</strong> &#8211; general feedback, develop tools, research, community participation.</p>
<ul>
<li><a href="http://blog.whatwg.org">blog.whatwg.org</a></li>
<li><a href="http://forums.whatwg.org/">forums.whatwg.org</a></li>
<li><a href="http://wiki.whatwg.org/">wiki.whatwg.org</a></li>
<li><a href="http://www.whatwg.org/mailing-list">Mailing list and IRC.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/media-session-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lifestream, Yahoo! Pipes and jQuery</title>
		<link>http://cazmockett.com/blog/2007/12/lifestream-yahoo-pipes-and-jquery/</link>
		<comments>http://cazmockett.com/blog/2007/12/lifestream-yahoo-pipes-and-jquery/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 16:44:00 +0000</pubDate>
		<dc:creator>Caz</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[geekery]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[cristiano betta]]></category>
		<category><![CDATA[jeremy keith]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[lifestream. barcamplondon3]]></category>
		<category><![CDATA[simon willison]]></category>
		<category><![CDATA[yahoo pipes]]></category>

		<guid isPermaLink="false">http://cazmockett.wordpress.com/2007/12/05/lifestream-yahoo-pipes-and-jquery/</guid>
		<description><![CDATA[Jeremy Keith&#8217;s lifestream was the first I saw online, where he&#8217;d aggregated together his many RSS feeds into one place. It shows the various sources ordered by time, and it can be quite interesting to follow along and see what &#8230; <a href="http://cazmockett.com/blog/2007/12/lifestream-yahoo-pipes-and-jquery/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a rel="friend met" href="http://lifestream.adactio.com/">Jeremy Keith&#8217;s lifestream</a> was the first I saw online, where he&#8217;d aggregated together his many RSS feeds into one place. It shows the various sources ordered by time, and it can be quite interesting to follow along and see what sort of sources are most prevalent at any one time. I&#8217;d been meaning to have a play with something similar myself for some time, but wasn&#8217;t sure how to go about it. Then a couple of weekends ago, I went to <a href="http://cazmockett.blogspot.com/search/label/BarCampLondon3">BarCampLondon3</a> and <a rel="friend met" href="http://blog.cristianobetta.com/">Cristiano Betta</a> did a great session on how to author your lifestream using <a href="http://pipes.yahoo.com/pipes/">Yahoo! Pipes</a>. There&#8217;s bags <a href="http://blog.cristianobetta.com/2007/11/23/how-to-build-your-own-lifestream-with-yahoo-pipes-and-no-server-side-logic/">more information</a> about how to do it at his blog. Finally, I thought it was about time I had a play with it myself. The feeds I used were the following:</p>
<ul>
<li>My <a rel="me" href="http://cazphoto.blogspot.com/feeds/posts/default">photographic blog</a></li>
<li>My <a rel="me" href="http://rugbymadgirl.blogspot.com/feeds/posts/default">rubgymad blog</a></li>
<li>My <a rel="me" href="http://cazmockett.blogspot.com/feeds/posts/default">web design blog</a></li>
<li>Stuff I post to <a rel="me" href="http://api.flickr.com/services/feeds/photos_public.gne?id=57821189@N00&amp;format=rss_200">Flickr</a></li>
<li><a rel="me" href="http://twitter.com/statuses/user_timeline/81923.atom">My tweets</a> from Twitter</li>
<li><a rel="me" href="http://del.icio.us/rss/cazmockett">Stuff I&#8217;m reading</a> via del.icio.us</li>
</ul>
<p>I decided against using <a rel="me" href="http://ws.audioscrobbler.com/1.0/user/cazmockett/recenttracks.rss">my Last.fm feed</a> for the moment, as it would probably swamp all the other inputs (I listen to a lot of music while working, it&#8217;s one of the perks of working from home, no-one moans about your choice of songs!).</p>
<p>Having got the basic lifestream out of Pipes, I used Dreamweaver&#8217;s XSLT transform functionality to generate a list which would sit in my ASP.NET page. I wanted to use specific icons to show which feed each item was from. Cristiano was using a JSON output for his pipe, but mine is coming out as RSS, so the custom ID&#8217;s applied in the pipe weren&#8217;t getting through, since they&#8217;re not part of the RSS spec.</p>
<p>CSS3 attribute selectors are one option, but they don&#8217;t work in clunky browsers like IE6. So having also been at <a rel="met" href="http://simonwillison.net/">Simon Willison</a>&#8216;s <span style="font-weight:bold;">jQuery</span> session at BarCampLondon3, I thought I&#8217;d have a play with with the library to see if I could do some neat DOM manipulation to add the correct class to each list item.</p>
<p>The Llifestream list is marked up thus: <span style="font-weight:bold;">&lt;ul id=&#8221;lifestream&#8221;&gt;</span>. I added some jQuery to insert the class for the list element, based on the attribute of the link it contains. That requires a parent element to be changed, based on it&#8217;s child&#8217;s attributes. Slightly tricky for a jQuery novice like myself. It took me a while but eventually I found the correct syntax:</p>
<blockquote><p>$(document).ready(function() {<br />
$(&#8220;#lifestream &gt; li &gt; a[@href^=http://twitter]&#8220;).parent(&#8220;li&#8221;).addClass(&#8220;twitter&#8221;);<br />
});</p></blockquote>
<p>The first line calls jQuery once the full DOM is loaded; line 2 (which looks rather horrible with text wrap, but bear with me) selects an anchor with the attribute which begins with &#8220;http://twitter&#8221;, but I wanted the class added to the parent LI, so hence the chaining of jQuery functions.</p>
<p>Now all I needed to do was to add a case for each link type to my new <span style="font-weight:bold;">lifestreamclasses.js</span> file and add a linke to it in the header of my lifestream page, and the proper stylings can be applied. I decided to keep them in a separate JS file for ease of maintenance. Once the pipe has mashed it all together and I&#8217;ve written the relevant styles into the stylesheet, the resulting RSS aggregated feed <a href="http://www.carolinemockett.com/design/lifestream.aspx">looks like this</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2007/12/lifestream-yahoo-pipes-and-jquery/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

