<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Changing colours along the way</title>
	<atom:link href="http://happyt.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://happyt.wordpress.com</link>
	<description>helping to see what's going on as we walk through the jungle...</description>
	<lastBuildDate>Mon, 16 Jan 2012 08:19:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='happyt.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Changing colours along the way</title>
		<link>http://happyt.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://happyt.wordpress.com/osd.xml" title="Changing colours along the way" />
	<atom:link rel='hub' href='http://happyt.wordpress.com/?pushpress=hub'/>
		<item>
		<title>C# Application settings</title>
		<link>http://happyt.wordpress.com/2012/01/06/c-application-settings/</link>
		<comments>http://happyt.wordpress.com/2012/01/06/c-application-settings/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 10:05:17 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[properties]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=931</guid>
		<description><![CDATA[Had a play around with the Click once installer the other day and it seems quite straightforward to use. Instead of being installed in a particular directory, the application is installed within the user folders. It then has none of the rights problems when writing files. When a new version is installed, the application is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=931&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Had a play around with the Click once installer the other day and it seems quite straightforward to use. Instead of being installed in a particular directory, the application is installed within the user folders. It then has none of the rights problems when writing files. When a new version is installed, the application is put in a new path with some randomly generated guid folder name. This gives a problem when trying to take across previous versions of property settings. The following code will solve the problem quite simply.<br />
<span id="more-931"></span><br />
I hadn&#8217;t realized it was as easy as this so I had a long piece of code to recognize where the app was before and to bring the values across. If the version is updated, the application will be looking for the saved settings in the wrong directory path, because the application GUID has changed. I had previously added code in my applications to find the previous directory path and then use that, but it is a bit verbose and I now see the correct solution.</p>
<p>Firstly, you will need to add a Property in the settings to show that the application version has changed. I call this ‘callUpdate’ and set its default value to true. When a new version of the application runs, it will check this value; if the directory has changed there will be no previous value found, so the default value will be set. So, in the start up of the application, we can test for a true value; if true, we call the Upgrade function to find the older version of the settings, update the values, then we save the value &#8216;callUpdate&#8217; as false so that it will not be called next time.</p>
<p>I now replace my previous lengthy code, with a simple call to Upgrade, as shown below. </p>
<p>private void Window_Loaded(object sender, RoutedEventArgs e)<br />
{<br />
bool updateForNewVersion = Properties.Settings.Default.callUpgrade;</p>
<p>if (updateForNewVersion)<br />
{<br />
Properties.Settings.Default.Upgrade();<br />
Properties.Settings.Default.callUpgrade = false;<br />
Properties.Settings.Default.Save();<br />
}<br />
txtIP.Text = Properties.Settings.Default.ipAddress;<br />
// etc<br />
}</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/931/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=931&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2012/01/06/c-application-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>
	</item>
		<item>
		<title>A resolution to improve my Greek&#8230;.again</title>
		<link>http://happyt.wordpress.com/2011/12/27/a-resolution-to-improve-my-greek-again/</link>
		<comments>http://happyt.wordpress.com/2011/12/27/a-resolution-to-improve-my-greek-again/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 11:31:57 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[inspiration]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[anki]]></category>
		<category><![CDATA[byki]]></category>
		<category><![CDATA[greek]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=900</guid>
		<description><![CDATA[Every few years I resolve to go and see my friends in Greece again, and of course I need to be able to speak to them and their friends. Each year I struggle to learn a few more words and remember a bit more grammar; I&#8217;ve seen most of the books and tried most of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=900&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Every few years I resolve to go and see my friends in Greece again, and of course I need to be able to speak to them and their friends. Each year I struggle to learn a few more words and remember a bit more grammar; I&#8217;ve seen most of the books and tried most of the systems, but it takes real effort to get any progress. My brain isn&#8217;t the correct shape for language training! Perhaps by making it more public, it will become more of a commitment. I doubt it, but at least I&#8217;ll leave some things here that may help other make some progress. I&#8217;ve put some of the word lists here in a format usable by Anki, the latest application that I&#8217;m using to learn words with. It&#8217;s free for most formats, but is worth a donation. This year I&#8217;m going o start with the <a href="http://www.kypros.org/LearnGreek/">kypros.org</a> lessons and then go back to the <a href="http://www.hau.gr/?i=learning.en.greek-podcasts">Hellenic American Union</a> scripts which are more of a challenge. They are podcasts and are easy to use. Kypros-Net should do the same with their audio.<br />
<span id="more-900"></span></p>
<p>I could recommend the <a href="http://www.byki.com/">byki</a> flashcard application; it has done me quite well over the last couple of years. I have created lists of flash cards for languages, A level chemistry and other smaller tasks. It is relatively easy to build up a set of cards, with a built in on-screen Greek keyboard. You are able to add graphics and sound. The main annoyance has been the very simplistic repetition algorithm and the proprietary file format. Having recently used the scoring system of the<a href="http://ankisrs.net/"> Anki flashcard system</a>, where it scores more difficult words for repetition at varying intervals, I have decided to move my word lists across. It&#8217;s free and open source apart from the iPhone version which is considered a donation to the project. I&#8217;ve made some lists for the Hellenic podcasts as well, but they are my translations, so bear that in mind if you&#8217;d like to download them. I&#8217;m currently building up a list for the lessons 11-20. The list from 1-10 has around 200 words, which seems a manageable size. Anki is about to bring out a beta for version 2 which will be able to share lists more easily; I shall upload them there, but if you need them earlier, just let me know. WordPress doesn&#8217;t allow txt file upload, otherwise I&#8217;d upload them here.</p>
<p>If you create, as I do, within Excel on a Mac, it&#8217;s fairly painless to get into the correct UTF-8 format output. This is how I do it, which works, but I&#8217;m open to easier suggestions. The aim is to end up with a plain UTF-8 format text file with two columns of words, separated with a tab. You could use a comma as separator, but this would preclude it from being used within a phrase. My main aim is to use Anki for text tests, so I haven&#8217;t worried about audio and sound files here( although it will handle them).</p>
<p>My lists exist within Excel, where I can arrange them more easily. I can then copy and paste from here into the built in Macintosh text editor TextEdit. You&#8217;ll find it in the Applications folder if not visible in the applications bar. You need to create a new file and then set it to be Plain text format before the Paste, from the Format menu, if it isn&#8217;t already (otherwise the text is pasted into a table). You may then save this type of file as Unicode (UTF-8) format. Put the entries in twice if you want to test both English to Greek and Greek to English.</p>
<p>Anki comes with some useful lists for the kypros Greek site, but I have created a few other lists that you can download and these are shown below. I have started the HAU podcasts a couple of times but they become intermediate level quite quickly and have no translations, so I am reverting back to the audio lessons from kypros.org for my basic refresh training this year. I&#8217;ll go back to HAU afterwards. I&#8217;ve had a go at most series, over the years, so we shall see how far we get this year. Another resolution to break!  Real player was a bit awkward for me, so I downloaded and moved them into iTunes. I also have a set of 400 food words.</p>
<p>I have also put the HAU pdf files into plain text without the pictures etc, for more simple printing and highlighting. They&#8217;re below also, as far as I&#8217;ve got.  Might be useful for someone. I found them more compact this way when I was reading them, but that may change if I take them onto my iPad.</p>
<p>If you want to add to or correct the lists, you could tweet me or ask for an email to send them to. I shall be enthusiastic for a month or two, I&#8217;m sure. I&#8217;ll add them to the lists and re-publish. WHen Anki version 2 is out of beta, I&#8217;ll stick them up as shared lists, if I haven&#8217;t given up learning by then.</p>
<p>I made a small list to help my wife learn Greek letters, <a href='http://happyt.files.wordpress.com/2012/01/greekletters.xlsx'>greekletters</a> WordPress doesn&#8217;t allow uploading of text files, so this one is an Excel document. </p>
<p>Anki comes with the word lists for the first two Kypros levels; this spreadsheet is for the remainder of the levels,<a href='http://happyt.files.wordpress.com/2011/12/kypros-vocab.xlsx'>kypros vocab</a> </p>
<p>The HAU podcasts, without images, are here; I&#8217;d be interested to know if anyone has translated them.</p>
<p><a href='http://happyt.files.wordpress.com/2012/01/6_atthestore.doc'>6_Atthestore</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/7_givingdirections.doc'>7_Givingdirections</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/8_gettingill.doc'>8_Gettingill</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/9_commands.doc'>9_Commands</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/10_atthecinema.doc'>10_atthecinema</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/11_whatshallweeat.doc'>11_whatshallweeat</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/12_lookingforappartment.doc'>12_Lookingforappartment</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/13_atthekiosk.doc'>13_Atthekiosk</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/14_atthepostoffice.doc'>14_Atthepostoffice</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/15_atthegym.doc'>15_Atthegym</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/16_spendingmyweekend.doc'>16_Spendingmyweekend</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/17_lookingforajob.doc'>17_Lookingforajob</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/18_atthesupermarket.doc'>18_Atthesupermarket</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/19_atthetraveloffice.doc'>19_Atthetraveloffice</a><br />
<a href='http://happyt.files.wordpress.com/2012/01/20_faultyproducts.doc'>20_Faultyproducts</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/900/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/900/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/900/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=900&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2011/12/27/a-resolution-to-improve-my-greek-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>
	</item>
		<item>
		<title>Kontact touch screen plugins for VizRT</title>
		<link>http://happyt.wordpress.com/2011/12/05/kontact-touch-screen-plugins-for-vizrt/</link>
		<comments>http://happyt.wordpress.com/2011/12/05/kontact-touch-screen-plugins-for-vizrt/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 15:01:46 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[inspiration]]></category>
		<category><![CDATA[tv]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[panasonic]]></category>
		<category><![CDATA[tuio]]></category>
		<category><![CDATA[vizrt]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=897</guid>
		<description><![CDATA[I&#8217;ve been working on software for touch screens recently. We&#8217;ve created a variety of systems that have been automated for the production teams to drive, with a series of C# web services through IIS, a set of javascript scripted web pages and the graphics produced from VizRT. Normally we would have had to script much [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=897&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on software for touch screens recently. We&#8217;ve created a variety of systems that have been automated for the production teams to drive, with a series of C# web services through IIS, a set of javascript scripted web pages and the graphics produced from VizRT. Normally we would have had to script much of the interaction using Viz&#8217;s fairly primitive version of vbScript which has little in the way of modern development tools. What has helped has been the use of a TUIO gateway and and a set of plugins from Pete Lane at Kenziko. Their Kontact suite of plugins allow very easy interaction to be used by a Viz designer; a lot of the interaction can be done without any scripting at all. I&#8217;ve been putting together some documentation for them, which they should have available by now.<br />
<span id="more-897"></span><br />
It really is as simple as adding plugins in the same way as adding Datapool and other similar functions to the scene. The plugins vary from a simple single touch to animate a Director, to very sophisticated plugins which allow control of a scrolling list or similar complex interactions. They fit into most type of interface being used behind the scenes. It will allow the designer to fire off or continue a director, to run a script, to set Datapool variables or to set and read from shared memory variables. They are all easy to use, but I&#8217;m impressed by how efficient the shared memory system is. We are using it within other data collection systems in boxing and other sports and it has performed perfectly for us.</p>
<p><a href="http://happyt.files.wordpress.com/2012/01/kt-complextouchscreen.png"><img src="http://happyt.files.wordpress.com/2012/01/kt-complextouchscreen.png?w=300&#038;h=193" alt="" title="KT-ComplexTouchscreen" width="300" height="193" class="aligncenter size-medium wp-image-898" /></a> As well as helping within the scenes, the Kontact TUIO gateway allows more complex connections to be handled between more than one screen. We have a rehearsal screen set up and the Viz can be shared between the two. Control is via a simple web page (we use our iPhone when on the studio floor!) and the change of configuration is automated for speed and ease of use.</p>
<p>We&#8217;re using the system with Panasonic screens and either UElektrosil or U-Touch sensors. There are many more TUIO systems about to hit production, so I&#8217;m sure we shall much more of this as prices come down.</p>
<p>I&#8217;m sure there will be more to come from Kenziko, as they have generated a lot of interest from their IBC appearance. They should be at NAB next year if you&#8217;re on that side of the Atlantic. I&#8217;d recommend going to see their telestration system using touchscreen or iPads which should be available by then.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/897/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/897/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/897/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=897&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2011/12/05/kontact-touch-screen-plugins-for-vizrt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>

		<media:content url="http://happyt.files.wordpress.com/2012/01/kt-complextouchscreen.png?w=300" medium="image">
			<media:title type="html">KT-ComplexTouchscreen</media:title>
		</media:content>
	</item>
		<item>
		<title>XBox controller with C#</title>
		<link>http://happyt.wordpress.com/2011/11/17/xbox-controller-with-c/</link>
		<comments>http://happyt.wordpress.com/2011/11/17/xbox-controller-with-c/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 10:08:56 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[slimdx]]></category>
		<category><![CDATA[sport]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=891</guid>
		<description><![CDATA[Just testing the interface with an XBox controller for the a Boxing punch counter app, so these are a few notes of what I&#8217;m using. Main drivers for the XBox controller are downloaded from the Microsoft site, http://www.microsoft.com/hardware/en-us/d/xbox-360-wireless-controller-for-windows I used the 32 bit version with Windows XP and I tested with the wireless version. Under [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=891&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just testing the interface with an XBox controller for the a Boxing punch counter app, so these are a few notes of what I&#8217;m using.</p>
<p>Main drivers for the XBox controller are downloaded from the Microsoft site, <a href="http://www.microsoft.com/hardware/en-us/d/xbox-360-wireless-controller-for-windows">http://www.microsoft.com/hardware/en-us/d/xbox-360-wireless-controller-for-windows</a> I used the 32 bit version with Windows XP and I tested with the wireless version. Under another test with Windows 7, the drivers updated automatically when the wifi section was plugged into the USB port.</p>
<p>I looked at some examples and decided to use the SlimDX open source C# interface, rather than a full XNA library. It&#8217;s lightweight and we don&#8217;t need all the 3D facilities of the full XNA sdk. We&#8217;ll start with that and see how it goes. The SDK details are here, <a href="http://slimdx.org/">http://slimdx.org/</a> and it may be downloaded here, <a href="http://code.google.com/p/slimdx/downloads/detail?name=SlimDX%20Runtime%20for%20.NET%202.0%20%28September%202011%29.msi&amp;can=2&amp;q=">http://code.google.com/p/slimdx/downloads/detail?name=SlimDX Runtime for .NET 2.0 28September 2011%29.msi</a> This needs to be installed. It’s a .msi file. They may be producing an update for .Net 4.0 soon, so keep a check.</p>
<p><a href="http://happyt.files.wordpress.com/2011/11/xbox-app.png"><img src="http://happyt.files.wordpress.com/2011/11/xbox-app.png?w=288&#038;h=300" alt="" title="xbox-app" width="288" height="300" class="aligncenter size-medium wp-image-892" /></a><br />
This is a simple example that works from this guy, <a href="http://visualcsharp.webs.com/projectdownloads.htm">http://visualcsharp.webs.com/projectdownloads.htm</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/891/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/891/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/891/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/891/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/891/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/891/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/891/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/891/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/891/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/891/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/891/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/891/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/891/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/891/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=891&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2011/11/17/xbox-controller-with-c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>

		<media:content url="http://happyt.files.wordpress.com/2011/11/xbox-app.png?w=288" medium="image">
			<media:title type="html">xbox-app</media:title>
		</media:content>
	</item>
		<item>
		<title>Latest node.js, npm, express and jade</title>
		<link>http://happyt.wordpress.com/2011/10/30/latest-node-js-npm-express-and-jade/</link>
		<comments>http://happyt.wordpress.com/2011/10/30/latest-node-js-npm-express-and-jade/#comments</comments>
		<pubDate>Sun, 30 Oct 2011 18:34:36 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=884</guid>
		<description><![CDATA[I&#8217;ve been dabbling with these over the last few months and trying to make some time to use them in some new projects, but they&#8217;ve been making great strides recently and it has been hard to keep up with all the developments. I tried to update to node.js v0.5 but in the end got confused [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=884&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been dabbling with these over the last few months and trying to make some time to use them in some new projects, but they&#8217;ve been making great strides recently and it has been hard to keep up with all the developments. I tried to update to node.js v0.5 but in the end got confused with the different mixes of versions between older projects. I&#8217;d had some problems installing some of the modules with various dependencies. I decided to start again with the latest on all fronts. It has shown me how different it has become. express has a guide  here, <a href="http://expressjs.com/guide.html">http://expressjs.com/guide.html</a> but I just want to give you something simple. Using version 5 should be more compatible with the soon to be released v6, as well.</p>
<p>I&#8217;ve been working on a C# driver for node, on Windows, using 5.8 exe which is impressive, but in the following install I&#8217;m working on a Mac.</p>
<p>The node modules may now be held within the project directories, rather than centrally, which gives more flexible versioning and the projects are growing together to allow a variety of templating and css engines.<br />
<span id="more-884"></span></p>
<p>I installed the development version of node, to get the latest 5.10 version; found that I needed latest python27 upgrade as well (in for a penny&#8230;)<br />
<code>sudo port install nodejs-devel</code></p>
<p>and npm was installed to be similarly up to date,<br />
<code>curl http://npmjs.org/install.sh | sudo sh</code></p>
<p>express now gives similar facilities to Rails and will create a working structure of directories and source code files when creating a new project. I next installed express, but globally, which puts the files at /opt/local/lib/node_modules/express</p>
<p><code>sudo npm install express -g</code></p>
<p>and did the same for the jade templating engine,</p>
<p>To create a project, just run express,</p>
<p><code>sudo express ./foo &amp;&amp; cd foo</code></p>
<p>this will create the directory with all basic project files within it; jade is the default templating engine used. You can add a &#8216;-s stylus&#8217; option to further add a css engine.</p>
<p><code>   create : ./foo<br />
   create : ./foo/package.json<br />
   create : ./foo/app.js<br />
   create : ./foo/public<br />
   create : ./foo/routes<br />
   create : ./foo/routes/index.js<br />
   create : ./foo/views<br />
   create : ./foo/views/layout.jade<br />
   create : ./foo/views/index.jade<br />
   create : ./foo/public/javascripts<br />
   create : ./foo/public/images<br />
   create : ./foo/public/stylesheets<br />
   create : ./foo/public/stylesheets/style.css<br />
</code></p>
<p>We then need to run npm to bring in all the dependencies,<br />
<code>sudo npm install</code></p>
<p><code>express@2.5.0 ./node_modules/express<br />
├── mime@1.2.4<br />
├── mkdirp@0.0.7<br />
├── connect@1.7.2<br />
└── qs@0.3.1<br />
jade@0.16.4 ./node_modules/jade<br />
├── mkdirp@0.0.7<br />
└── commander@0.2.1<br />
</code></p>
<p>The result is a well structured set of files, built-in session and cookie features and a single command to change easily from development to production (or other) configurations. There is an app.js file that node will use to give the basic site.</p>
<p>One module that I always bring in on the first test is <a href="https://github.com/remy/nodemon">nodemon</a>. It monitors the files in your project. If any changes/edits are gone it restarts the node server. Excellent; it saves so much time, thanks Remy.</p>
<p>I also took some help and inspiration from this url, <a href="http://shapeshed.com/journal/creating-a-basic-site-with-node-and-express/">http://shapeshed.com/journal/creating-a-basic-site-with-node-and-express/</a></p>
<p>Next, I shall probably have a look at <a href="http://zeptojs.com">zepto.js</a>, the mini-jQuery lookalike for mobiles and the <a href="http://raphaeljs.com/">Raphael javascript graphics</a> library which have now released a new 2.0 version.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/884/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/884/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/884/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/884/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/884/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/884/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/884/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/884/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/884/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/884/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/884/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/884/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/884/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/884/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=884&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2011/10/30/latest-node-js-npm-express-and-jade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>
	</item>
		<item>
		<title>Panasonic 152&#8243; 4k screen</title>
		<link>http://happyt.wordpress.com/2011/10/13/panasonic-152-4k-screen/</link>
		<comments>http://happyt.wordpress.com/2011/10/13/panasonic-152-4k-screen/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 14:00:24 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[technology]]></category>
		<category><![CDATA[tv]]></category>
		<category><![CDATA[panasonic]]></category>
		<category><![CDATA[pinewood]]></category>
		<category><![CDATA[plasma]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=869</guid>
		<description><![CDATA[I was lucky to have an hour or two away from my desk to go and see this little beauty. I visited the Panasonic demo rooms at Pinewood with Liam Norris from PSCo who move it around the country. This screen would have to be my choice for the next TV in the back room. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=869&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I was lucky to have an hour or two away from my desk to go and see this little beauty. I visited the Panasonic demo rooms at Pinewood with Liam Norris from <a href="http://psco.co.uk/">PSCo</a> who move it around the country. This screen would have to be my choice for the next TV in the back room. I can&#8217;t wait to do some demos on there; at a resolution of 4k x 2k it should make the graphics look great.</p>
<p><a href="http://happyt.files.wordpress.com/2011/10/panasonic-152.jpg"><img src="http://happyt.files.wordpress.com/2011/10/panasonic-152.jpg?w=300&#038;h=237" alt="" title="panasonic-152" width="300" height="237" class="aligncenter size-medium wp-image-871" /></a></p>
<p><span id="more-869"></span></p>
<p>There was a lot going on at Pinewood so the UK film work must be thriving at the moment. They had just finished a James Bond and were onto several other projects. Caught a sneak look at the castle for the new Snow WHite movie. It&#8217;s amazing how they use so many containers as building blocks for the sup[port areas. You can also see a couple of trebuchet at the left. Fantastic place for being and finding craftsmen.<br />
<a href="http://happyt.files.wordpress.com/2011/10/castle.jpg"><img src="http://happyt.files.wordpress.com/2011/10/castle.jpg?w=300&#038;h=147" alt="" title="castle" width="300" height="147" class="aligncenter size-medium wp-image-872" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/869/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/869/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/869/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=869&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2011/10/13/panasonic-152-4k-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>

		<media:content url="http://happyt.files.wordpress.com/2011/10/panasonic-152.jpg?w=300" medium="image">
			<media:title type="html">panasonic-152</media:title>
		</media:content>

		<media:content url="http://happyt.files.wordpress.com/2011/10/castle.jpg?w=300" medium="image">
			<media:title type="html">castle</media:title>
		</media:content>
	</item>
		<item>
		<title>Using the C# httpServer with raised events</title>
		<link>http://happyt.wordpress.com/2011/08/23/using-the-c-httpserver-with-raised-events/</link>
		<comments>http://happyt.wordpress.com/2011/08/23/using-the-c-httpserver-with-raised-events/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 10:23:38 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[web sites]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[invoke]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=874</guid>
		<description><![CDATA[I am writing some applications at the moment which require a lot of data gathering and there are a number of people at the events who want to be able to see this data while it is being collected. I have TCP socket connections for the main data collection and these pass their data to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=874&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I am writing some applications at the moment which require a lot of data gathering and there are a number of people at the events who want to be able to see this data while it is being collected. I have TCP socket connections for the main data collection and these pass their data to a central server. In order to avoid having to create further clients to access the collected data, I decided to run a small web server as part of the central server and just create web pages to view the data. Other people would then be able to edit and style these pages without any interference from me. As it happens there were no others available, so the users had to put up with my web design.</p>
<p>I made a class based around the MSDN sample and comments, but wanted to extend it in two ways; firstly, I needed to be able serve up the full gamut of binary files for any of the image types in the documents; secondly, I wanted to allow a command to be sent to the hosting application, via an http command. I added an event handler to do this. This would then decouple any application logic from being involved on the web side. I can also use it to report unknown file requests.</p>
<p><span id="more-874"></span></p>
<p>The source and a zipped binary are on github.com, <a href="https://github.com/happyt/csharp/tree/master/httpWebServer">https://github.com/happyt/csharp/tree/master/httpWebServer</a></p>
<p>This is the main class definition, just edit out the parts labelled RaiseEvents if that is not needed, together with the delegate declaration.</p>
<p><code><br />
using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Text;<br />
using System.Net;<br />
using System.IO;</p>
<p>namespace httpWebServer<br />
{<br />
    ///<br />
<summary>
    /// To allow messages to be sent to the host app<br />
    /// </summary>
<p>    ///<br />
    ///<br />
    public delegate void clientEventHandler(object sender, HttpCommandArgs e);</p>
<p>    public class HttpWebServer<br />
    {<br />
        ///<br />
<summary>
        /// Some pages for reference chat<br />
        /// http://stackoverflow.com/questions/427326/httplistener-server-header-c<br />
        /// http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx<br />
        /// http://www.dreamincode.net/forums/topic/215467-c%23-httplistener-and-threading/</p>
<p>        /// </summary>
<p>        private HttpListener listener;<br />
        public string portNumber = "8081";<br />
        private const string rootPath = @"./web";<br />
        private const string defaultPage = @"default.htm";</p>
<p>        //===================================================================<br />
// RaiseEvents code<br />
        // to raise the message received<br />
        public event clientEventHandler controlMessage;</p>
<p>        ///<br />
<summary>
        /// Invoke the message received event<br />
        /// </summary>
<p>        ///<br />
        protected virtual void OnCommand(HttpCommandArgs e)<br />
        {<br />
            // check to see that there is at least one event handler listening<br />
            if (controlMessage != null) controlMessage(this, e);<br />
        }</p>
<p>        ///<br />
<summary>
        /// Set up the parameters and raise a Reply message event<br />
        /// </summary>
<p>        /// Message to be raised<br />
        private void RaiseCommand(string strMessage)<br />
        {<br />
            HttpCommandArgs s = new HttpCommandArgs();<br />
            s.m_Message = strMessage;<br />
            OnCommand(s);<br />
        }</p>
<p>        //===================================================================</p>
<p>        ///<br />
<summary>
        /// Creates the http server and opens listener<br />
        /// </summary>
<p>        public void Start()<br />
        {<br />
            listener = new HttpListener();<br />
            listener.Prefixes.Add("http://*:" + portNumber + "/");<br />
            listener.Start();<br />
            listener.BeginGetContext(ProcessRequest, listener);<br />
            Console.WriteLine("Connection Started");<br />
        }</p>
<p>        ///<br />
<summary>
        /// Stops listening<br />
        /// </summary>
<p>        public void Stop()<br />
        {<br />
            listener.Stop();<br />
        }</p>
<p>        ///<br />
<summary>
        /// Process the web request<br />
        /// </summary>
<p>        ///<br />
        private void ProcessRequest(IAsyncResult result)<br />
        {<br />
            string responseString = "";<br />
            string responseType = "text/html";<br />
            string filetype = "";<br />
            bool binary = false;<br />
            byte[] buffer;<br />
            int pos;</p>
<p>            HttpListener listener = (HttpListener)result.AsyncState;<br />
            HttpListenerContext context = listener.EndGetContext(result);<br />
            HttpListenerRequest request = context.Request;</p>
<p>            string path = rootPath + request.RawUrl;<br />
            if (path == rootPath + "/") path += "default.htm";</p>
<p>            filetype = Path.GetExtension(path);<br />
            switch (filetype)<br />
            {<br />
                case (".png"):<br />
                case (".jpg"):<br />
                case (".jpeg"):<br />
                case (".gif"):<br />
                case (".ico"):<br />
                    responseType = "image/" + filetype.Substring(1);    // leave off the decimal point<br />
                    binary = true;<br />
                    break;</p>
<p>                case (".htm"):<br />
                case (".html"):<br />
                case (".css"):<br />
                    responseType = "text/html";<br />
                    binary = false;<br />
                    break;</p>
<p>                case (".js"):<br />
                    responseType = "application/javascript";<br />
                    binary = false;<br />
                    break;</p>
<p>                case (".xml"):<br />
                    responseType = "text/" + filetype.Substring(1);    // leave off the decimal point<br />
                    binary = false;<br />
                    break;</p>
<p>                case (".json"):<br />
                    responseType = "application/json";<br />
                    binary = false;<br />
                    break;</p>
<p>                default:<br />
                    break;<br />
            }</p>
<p>            HttpListenerResponse response = context.Response;<br />
            if (File.Exists(path))<br />
            {<br />
                if (binary)<br />
                {<br />
                    //Open image as byte stream to send to requestor<br />
                    FileInfo fInfo = new FileInfo(path);<br />
                    long numBytes = fInfo.Length;<br />
                    FileStream fStream = new FileStream(path, FileMode.Open, FileAccess.Read);<br />
                    BinaryReader binaryReader = new BinaryReader(fStream);<br />
                    buffer = binaryReader.ReadBytes((int)numBytes);<br />
                }<br />
                else<br />
                {<br />
                    StreamReader streamReader = new StreamReader(path);<br />
                    responseString = streamReader.ReadToEnd();<br />
                    buffer = Encoding.UTF8.GetBytes(responseString);<br />
                }<br />
            }<br />
//====================================================<br />
// RaiseEvents code<br />
            else if ((pos = path.IndexOf("cmd=", 0)) &gt; 0)<br />
            {<br />
                string command = path.Substring(pos + 4);<br />
                RaiseCommand(command);<br />
                responseString = "OK";<br />
                buffer = Encoding.UTF8.GetBytes(responseString);<br />
            }<br />
//====================================<br />
            else<br />
            {<br />
                responseString = "Unknown file: " + request.RawUrl + "";<br />
                RaiseCommand("Unknown");<br />
                buffer = Encoding.UTF8.GetBytes(responseString);<br />
            }</p>
<p>            response.ContentType = responseType;<br />
            response.ContentLength64 = buffer.Length;<br />
            Stream output = response.OutputStream;<br />
            output.Write(buffer, 0, buffer.Length);<br />
            output.Close();</p>
<p>            listener.BeginGetContext(ProcessRequest, listener);<br />
        }<br />
    }<br />
}<br />
</code></p>
<p> The message being raised can be any class that you&#8217;d like to create, but in my case I just used a simple message, HttpCommandArgs.cs</p>
<p><code></p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.Linq;<br />
using System.Text;</p>
<p>namespace httpWebServer<br />
{<br />
    ///<br />
<summary>
    /// Used with socket handling messages<br />
    /// </summary>
<p>    public class HttpCommandArgs<br />
    {<br />
        public string m_Message;<br />
    }<br />
}<br />
</code></p>
<p>I tested this in a simple winForms application, where I start the server and wait for commands. The web side is self contained and there is nothing to be done in the host application, other than to create and start the server. Browse to the local host (on port 80 in my case) and the default page will be shown. It has a couple of image types on there, a javascript script to show the time, a style sheet and an icon, making sure that all the main types are served.</p>
<p>If a url such as &#8220;localhost/cmd=Counting&#8221; is used, the command will be raised to the host application and displayed. I do nothing with the commands other than display them in the form; to do this I need to use an Invoke because the application is returning the message on a different thread.<br />
<a href="http://happyt.files.wordpress.com/2011/08/httpclass.png"><img src="http://happyt.files.wordpress.com/2011/08/httpclass.png?w=300&#038;h=92" alt="" title="httpClass" width="300" height="92" class="aligncenter size-medium wp-image-878" /></a></p>
<p>The C# code for the host application is ,<br />
<code><br />
using System;<br />
using System.Collections.Generic;<br />
using System.ComponentModel;<br />
using System.Data;<br />
using System.Drawing;<br />
using System.Linq;<br />
using System.Text;<br />
using System.Windows.Forms;<br />
using httpWebServer;</p>
<p>namespace webTest<br />
{<br />
    public partial class Form1 : Form<br />
    {</p>
<p>        ///<br />
<summary>
        /// For browser status page<br />
        /// </summary>
<p>        private HttpWebServer http;</p>
<p>        ///<br />
<summary>
        /// Reply to update form<br />
        /// </summary>
<p>        ///<br />
        public delegate void SetTextCallback(string text);</p>
<p>        public Form1()<br />
        {<br />
            InitializeComponent();<br />
        }</p>
<p>        private void Form1_Load(object sender, EventArgs e)<br />
        {<br />
            try<br />
            {<br />
                StopStartWeb();<br />
            }<br />
            catch (Exception ex)<br />
            {<br />
                MessageBox.Show(ex.Message);<br />
            }<br />
        }</p>
<p>        //======================================================================</p>
<p>        ///<br />
<summary>
        /// Handle a button click to start/stop the service<br />
        /// </summary>
<p>        ///<br />
        ///<br />
        private void btnStartStop_Click(object sender, EventArgs e)<br />
        {<br />
            StopStartWeb();</p>
<p>            MessageBox.Show("After...");</p>
<p>        }</p>
<p>        ///<br />
<summary>
        /// Start/Stop the http service<br />
        /// </summary>
<p>        private void StopStartWeb()<br />
        {<br />
            try<br />
            {<br />
                if (http == null)<br />
                {<br />
                    http = new HttpWebServer();<br />
                    http.portNumber = "80";<br />
                    http.Start();<br />
                    btnStartStop.Text = "Stop http";<br />
                    http.controlMessage += new clientEventHandler(http_controlMessage);<br />
                }<br />
                else<br />
                {<br />
                    http.Stop();<br />
                    btnStartStop.Text = "Start http";<br />
                }<br />
            }<br />
            catch (Exception ex)<br />
            {<br />
                MessageBox.Show("Closing http error: " + ex.Message);<br />
            }<br />
        }</p>
<p>        ///<br />
<summary>
        /// Event handler for returned messages<br />
        /// </summary>
<p>        ///<br />
        ///<br />
        void http_controlMessage(object sender, HttpCommandArgs e)<br />
        {<br />
            try<br />
            {<br />
                SetStatus(e.m_Message);<br />
            }<br />
            catch (Exception ex)<br />
            {<br />
                MessageBox.Show(ex.Message);<br />
            }</p>
<p>            // Deal with the http command<br />
            ParseCommand(e.m_Message);<br />
        }</p>
<p>        ///<br />
<summary>
        /// Do any work for a command in this section<br />
        /// </summary>
<p>        ///<br />
        private void ParseCommand(string strCommand)<br />
        {</p>
<p>        }</p>
<p>        //=======================================================================</p>
<p>        ///<br />
<summary>
        /// Display a reply from the server<br />
        /// </summary>
<p>        ///<br />
        private void SetStatus(string text)<br />
        {<br />
            string s = text;</p>
<p>            if (this.labStatus.InvokeRequired)<br />
            {<br />
                SetTextCallback d = new SetTextCallback(SetStatus);<br />
                this.Invoke(d, new object[] { text });<br />
            }<br />
            else<br />
            {<br />
                this.labStatus.Text = "";<br />
                LogMessage(s);<br />
            }<br />
        }</p>
<p>        ///<br />
<summary>
        /// For a logging section<br />
        /// just put into a scrolling list for now<br />
        /// </summary>
<p>        ///<br />
        private void LogMessage(string s)<br />
        {<br />
            this.txtHistory.Text += s + Environment.NewLine;<br />
            this.txtHistory.SelectionStart = txtHistory.Text.Length;<br />
            this.txtHistory.ScrollToCaret();<br />
        }<br />
    }<br />
}<br />
</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/874/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/874/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/874/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=874&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2011/08/23/using-the-c-httpserver-with-raised-events/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>

		<media:content url="http://happyt.files.wordpress.com/2011/08/httpclass.png?w=300" medium="image">
			<media:title type="html">httpClass</media:title>
		</media:content>
	</item>
		<item>
		<title>Augmented reality conference</title>
		<link>http://happyt.wordpress.com/2011/06/06/augmented-reality-conference/</link>
		<comments>http://happyt.wordpress.com/2011/06/06/augmented-reality-conference/#comments</comments>
		<pubDate>Mon, 06 Jun 2011 17:10:02 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[animation]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[ar]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[unity]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=862</guid>
		<description><![CDATA[This was an Augmented reality event arranged by Lester Madden of the augmentedplanet blog. Sorry about the following being so scrappy. I haven&#8217;t had time to much more than copy my notes to the post. Didn&#8217;t want to lose them, but they won&#8217;t mean much to anyone out there. Maybe the links will be useful. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=862&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This was an Augmented reality event arranged by Lester Madden of the <a href="http://www.augmentedplanet.com/">augmentedplanet blog</a>. Sorry about the following being so scrappy. I haven&#8217;t had time to much more than copy my notes to the post. Didn&#8217;t want to lose them, but they won&#8217;t mean much to anyone out there. Maybe the links will be useful. There&#8217;s a lot happening in this space, but I&#8217;m not sure how useful it will be until it becomes a lot easier to use. Implementing the technical side is getting easier; the phone side of things is more difficult for anyone other than a dedicatedAR geek. I was taken most by the demo from the guy using Unity3D. All built in, so easy to produce.</p>
<p><span id="more-862"></span></p>
<p>Qr codes, fiducial markers on their way out; marker less on the way in<br />
Image markers, facial recognition this year (maybe in iPhone5) and next year, object recognition later<br />
eg google goggles on a wine bottle<br />
Showed some translation systems</p>
<p>Martin Lechner, mobilizy, wikitude browser<br />
Now installed on blackberry<br />
In Lg in real 3d<br />
Producing wikitude architect to Produce app without coding, just scripting No ARML<br />
6 JavaScript classes to do the interaction<br />
Location based services used every day by 10%, but 94% think valuable<br />
95% look for local info, 88% take actions within a day<br />
Use AR, list or a map<br />
Need content Eco system to access data or build personal data<br />
Social networking as well with BB messenger</p>
<p>Frank, metaio, junaio browser<br />
Shelley from British Museum, samsung digital discovery centre<br />
Hype cycle<br />
Tech trigger, peak of inflated expectations, trough of disillusionment, slope of enlightenment, plateau of productivity<br />
Smartphone performanc x3 in last 18months<br />
Metaio use image to enhance gps position<br />
Gravity aligned feature description, Daniel kurz<br />
Showed info about a car dashboard<br />
Want to interact with objects, including real occlusion, use of real gravity<br />
Cereal box games</p>
<p>Michelle &#8211; talk to your local galleries<br />
Recommends Exploratorium in San Francisco, late night adult evening<br />
Recompose layers onto paintings<br />
Virtual sculpture, Sheffield<br />
Franchising the Mona Lisa, shawl<br />
Invasion of MOMA, appropriation of spaces, w graffiti , stedelijk Amsterdam<br />
Can easily develop channels for junaio, esp if are a web developer<br />
Ollie did optimised 3d models<br />
No Apple phones!?<br />
Looked at<br />
SecondSight in schools<br />
Layer<br />
ARtoolkit</p>
<p>Still like markers, fits galleries<br />
People try with bar code scanners, so fail there<br />
Good for motor skills<br />
Paper prototyping<br />
Wearable AR workshop for teenagers this summer<br />
Hugo barroso , Mexico, wearing markers<br />
Junaio 10k euro licence to White label, otherwise free</p>
<p>Samsung, Keith Bauwise Staines<br />
Bringing feature phone users to smartphones<br />
eclipse based,<br />
Tutorial videos on the website, lots of learning examples, book as well<br />
ghost blaster game<br />
OpenGL 1.1, powerVR from Imagine<br />
Lots of code, to be open sourced at some point<br />
Layer plus Wikitude<br />
no current phones have gyro<br />
70k downloads for a technical experiment, so putting in social features</p>
<p>Manfred.b re eduard.Oks@samsung.com SARI image recognition toolkit. For markerless image recognition<br />
For bada and Android<br />
Teddy Bear app, created on a marker, but then taken off on a hand. The hand image replaces the initial marker image. Had a way of interaction with the bear.<br />
Picture on wall switches to a video</p>
<p>Also available for Win32 ? SLAM based</p>
<p>Cross platform<br />
Play Nicely, Bristol?<br />
Everyone wants to see themselves with a brand<br />
User generated markers more prevalent with mobile<br />
Total immersion/ARtoolkit/metaio/FLARtoolkit/SLARtoolkit<br />
D&#8217;Fusion star trek example &#8211; markerless tracking</p>
<p>Chat w Frank<br />
Recognise tv programme<br />
Overlay data<br />
Early map decision, pointing which way?</p>
<p>Markus.Edur@salzburgresearch.at<br />
Salzburg research<br />
3d models, cities, occlusions<br />
GML &#8211; don&#8217;t get height<br />
XAPI &#8211; unreliable, but more specific<br />
Convert 3d to open GL ES to UTM coords to depth buffer to AR image<br />
VS2010?<br />
Models &#8211; point, line, surface, building<br />
Analysis, GPS overview, map matching, image processing<br />
Detect edges, match to model<br />
Adjust progressively<br />
OpenCV<br />
Canny edge detector, line detect w Hough transformation, return screen coords</p>
<p>uses classical half transform, (probabilistic?)<br />
generalised half transform?</p>
<p>QuonceptAR<br />
Tom wood, jan warnstam. From kudan in UK<br />
From Japan AR toolkit, really cheap sdk engine<br />
Markerless, feature points, contour tracking, ID markers<br />
Built for mobile<br />
Rendering engine agnostic but ships with it&#8217;s own<br />
Colada models</p>
<p>Martin.Lechner@mobilizy.com<br />
Building worlds in Wikitude<br />
Could do similar to Google map, w locations,  wikitude.me<br />
KML, google maps &#8211; make map &#8211; add place marks &#8211; Link gives map, but add with output=kml<br />
ARML, based on KML w extra tags<br />
Web service &#8211; dynamic content &#8211; there&#8217;s a PDF of the spec, for ARML services<br />
Hoppala &#8211; third party web service</p>
<p>Competes w Google Goggles?<br />
Wikitude Drive?</p>
<p>Frank, metaio, junaio<br />
Free, image tracking, geolocation, api</p>
<p>Location based channels<br />
Indoor channels w LLA<br />
Our web server generates XML points of interest, icons, images<br />
Can remove based on an event, click etc sends request to server<br />
Can send POIs one at a time, for quick start<br />
Can generate QR for your channel download</p>
<p>Nadeem Rashid, Nadeem@goaugmented.com, indoor applications<br />
itouchmap.com to get lat/long<br />
Scan floor markers to set position, plusminus 30cm<br />
Put in angle distance for each poi, use normal device to calculate this</p>
<p>Holition demo, Adrian<br />
Work with Inition.<br />
Tissot watches 83% sales increase<br />
At Harrods, touchscreen also<br />
Want to make measurements of some types, find return on investment</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/862/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/862/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/862/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/862/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/862/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/862/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/862/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/862/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/862/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/862/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/862/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/862/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/862/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/862/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=862&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2011/06/06/augmented-reality-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>
	</item>
		<item>
		<title>GoogleIO conference with Arduino</title>
		<link>http://happyt.wordpress.com/2011/05/15/googleio-conference-with-arduino/</link>
		<comments>http://happyt.wordpress.com/2011/05/15/googleio-conference-with-arduino/#comments</comments>
		<pubDate>Sun, 15 May 2011 11:27:50 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[inspiration]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=857</guid>
		<description><![CDATA[Interesting tio see what the direction that Google is going. Lots of Android with the upcoming Honeycomb tablet version, but not much TV this year. They have been pressured by the networks, who are not too keen to give them any access to their content. Samsung and SMART TV will still have some sort of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=857&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Interesting tio see what the direction that Google is going. Lots of Android  with the upcoming Honeycomb tablet version, but not much TV this year. They have been pressured by the networks, who are not too keen to give them any access to their content. Samsung and SMART TV will still have some sort of chance of survival in this case.</p>
<p>Chrome box looks good. If that has a decent graphics hardware base, we could find it cheap enough for connected screen displays. </p>
<p>One thing that I found really interesting, (but not sure how practical) was the <a href="http://developer.android.com/guide/topics/usb/adk.html">android accessory development kit</a>. It&#8217;s based on an Arduino, which I&#8217;ve been playing around with using node.js. I&#8217;ve not had the time to do much more than the usual Hello World of blinking lights, but it should give a real boost to the Arduino guys. Well done to them for all their efforts.</p>
<p><a href="http://happyt.files.wordpress.com/2011/10/screen-shot-2011-10-13-at-12-56-41.png"><img src="http://happyt.files.wordpress.com/2011/10/screen-shot-2011-10-13-at-12-56-41.png?w=300&#038;h=185" alt="" title="Arduino Android Accessory, ADK" width="300" height="185" class="aligncenter size-medium wp-image-858" /></a></p>
<p>All the usual videos are here, <a href="http://www.google.com/events/io/2011/sessions.html">http://www.google.com/events/io/2011/sessions.html</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/857/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=857&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2011/05/15/googleio-conference-with-arduino/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>

		<media:content url="http://happyt.files.wordpress.com/2011/10/screen-shot-2011-10-13-at-12-56-41.png?w=300" medium="image">
			<media:title type="html">Arduino Android Accessory, ADK</media:title>
		</media:content>
	</item>
		<item>
		<title>Mix 2011</title>
		<link>http://happyt.wordpress.com/2011/04/13/mix-2011/</link>
		<comments>http://happyt.wordpress.com/2011/04/13/mix-2011/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 11:18:43 +0000</pubDate>
		<dc:creator>ianm</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mix]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://happyt.wordpress.com/?p=855</guid>
		<description><![CDATA[The keynote this year was interesting for what was not spoken about. Lots of talk in the main keynote but nothing about Silverlight. All the talk is about HTML5 and the speed of the new IE9 browser. On the Second day&#8217;s keynote, they talked about Win7 mobiles and then Scott showed that he has been [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=855&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The keynote this year was interesting for what was not spoken about. Lots of talk in the main keynote but nothing about Silverlight. All the talk is about HTML5 and the speed of the new IE9 browser. On the Second day&#8217;s keynote, they talked about Win7 mobiles and then Scott showed that he has been moved into the critical area of IE9. It shows that Microsoft are showing that the critical arena for competition is more on the web platform over the coming year.</p>
<p>Time to look at some more Javascript, I think. CSS video should be interesting.  jQuery should only become more popular.</p>
<p>More later&#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/happyt.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/happyt.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/happyt.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/happyt.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/happyt.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/happyt.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/happyt.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/happyt.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/happyt.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/happyt.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/happyt.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/happyt.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/happyt.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/happyt.wordpress.com/855/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=happyt.wordpress.com&amp;blog=226398&amp;post=855&amp;subd=happyt&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://happyt.wordpress.com/2011/04/13/mix-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/86a721fd05a714cdac4a96d5354edf03?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ianm</media:title>
		</media:content>
	</item>
	</channel>
</rss>
