<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="atom.xsl"?>
	<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:www.splintered.co.uk,2005:/experiments/</id>
	<lat xmlns="http://www.w3.org/2003/01/geo/wgs84_pos#">53.506786</lat> 
	<long xmlns="http://www.w3.org/2003/01/geo/wgs84_pos#">-2.314479</long>
	<title>splintered - random sparks of creative insight - experiments</title>
	<subtitle>the portfolio and experimental playground of patrick h. lauke aka redux</subtitle>
	<rights>Copyright Patrick H. Lauke, all rights reserved</rights>
	<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/"/>
	<link rel="self" type="application/atom+xml" href="http://www.splintered.co.uk/feeds/experiments.xml"/>
	<updated>2011-04-19T13:17:16+00:00</updated>
	<author>
		<name>Patrick H. Lauke</name>
	</author>

	<entry>
		<title>robotron 2084 font set</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/113"/>
		<id>tag:www.splintered.co.uk,2011-04-19:/experiments/113</id>
		<published>2011-04-18T00:00:00+00:00</published><updated>2011-04-19T13:11:39+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2011-04-19T13:11:30 --><p>pixel font inspired by the williams electronics classic arcade game <a href="http://en.wikipedia.org/wiki/Robotron:_2084">robotron 2084</a>.</p><p><strong>update:</strong> this package now also includes the alternative small font, also used in the game for status messages.</p><p>designed to be used aliased at a size of 8 pixels (or multiples thereof).</p><p>tags: pixel font</p></div>
		</content></entry>
	<entry>
		<title>daumenkino redux</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/111"/>
		<id>tag:www.splintered.co.uk,2010-12-17:/experiments/111</id>
		<published>2010-12-17T00:00:00+00:00</published><updated>2010-12-17T00:00:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2010-12-17T13:17:48 --><p>an admittedly hacky hommage to <a href="http://www.brendandawes.com/project/cinema-redux/">Brendan Dawes' <cite>Cinema Redux</cite></a>, using HTML5 <code>video</code> and <code>canvas</code> to take snapshots of a movie and collate them as a stacked filmstrip.</p><p>unfortunately, unless the video is hosted on the same domain, it's not possible to save the <code>canvas</code> back as an image because of its ridiculously restrictive security policy.</p><p>tags: html5 canvas video</p></div>
		</content></entry>
	<entry>
		<title>cosimo font</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/110"/>
		<id>tag:www.splintered.co.uk,2010-11-21:/experiments/110</id>
		<published>2010-11-21T00:00:00+00:00</published><updated>2010-11-21T00:00:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2010-11-21T01:20:41 --><p>incomplete proportional pixel font based on the <a href="http://www.nitrome.com">nitrome</a> game <a href="http://www.nitrome.com/games/cosmiccannon/"><cite>cosmic cannon</cite></a>.</p><p>designed to be used aliased at a size of 16 pixels (or multiples thereof).</p><p>tags: pixel font</p></div>
		</content></entry>
	<entry>
		<title>HTML5 canvas ambilight</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/109"/>
		<id>tag:www.splintered.co.uk,2010-11-04:/experiments/109</id>
		<published>2010-11-04T00:00:00+00:00</published><updated>2010-11-04T00:00:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2010-11-04T22:42:32 --><p>a refactored version of my old <a href="/experiments/100/">ambilight experiment</a>. at the time, i used a variety of technologies, including <a href="http://jquery.com/">jQuery</a>, the <a href="http://plugins.jquery.com/project/color">jQuery Color plugin</a> and <a href="http://www.php.net/gd">PHP's GD library functions</a> – with an obvious roundtrip to a server running PHP – to simply find the average colour of an image and then animate its background accordingly. flash forward to today, and i can do pretty much the same thing (in modern browsers) all on the client, using just <code class="inline">&lt;canvas&gt;</code> and <a href="http://www.w3.org/TR/css3-transitions/">CSS3 Transitions</a>.</p><p>interestingly, my very naive averaging (simply adding all red, green and blue values of each pixel and then dividing by the number of pixels) gives slightly different results compared to the original ambilight experiment (note the first and fifth image in particular).</p><p>from the original experiment's description:</p><blockquote><p>a quick eyecandy experiment, inspired by <a href="http://www.brendandawes.com/sketches/ambiflickr">brendan dawes' <cite>ambiflickr</cite> sketch</a> and <a href="http://mezzoblue.com/archives/2006/12/14/fountain/">dave shea's <cite>fountain</cite> redesign</a> (both strangely from 2006).</p></blockquote><p>tags: ambilight javascript html5 canvas css3</p></div>
		</content></entry>
	<entry>
		<title>binaural beats in pure data</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/107"/>
		<id>tag:www.splintered.co.uk,2010-08-24:/experiments/107</id>
		<published>2010-08-24T00:00:00+00:00</published><updated>2010-08-24T00:00:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><p><a href="http://www.google.co.uk/search?q=i-dosing"><cite>i-dosing – the digital drug terror that's sweeping the nation</cite></a>...quite.</p>
<p>here's a simple implementation of <a href="http://en.wikipedia.org/wiki/Binaural_beats">binaural beats</a> using <a href="http://puredata.info/">pure data (PD)</a>. enjoy, and remember kids: don't get high off your own supply.</p><p>tags: pd pure data</p></div>
		</content></entry>
	<entry>
		<title>dogs of war font</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/106"/>
		<id>tag:www.splintered.co.uk,2010-08-08:/experiments/106</id>
		<published>2010-08-08T00:00:00+00:00</published><updated>2010-08-08T00:00:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><p>stencil-like pixel font based on the old amiga game <cite>dogs of war</cite>.</p>
<p>designed to be used aliased at a size of 16 pixels (or multiples thereof).</p><p>tags: pixel font</p></div>
		</content></entry>
	<entry>
		<title>hoodlum samurai font</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/105"/>
		<id>tag:www.splintered.co.uk,2010-03-02:/experiments/105</id>
		<published>2010-03-02T22:09:00+00:00</published><updated>2010-03-02T22:09:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><p>slightly expanded version of the bitmap font used by the group <cite>hoodlum</cite> on the bootup screen to a cracked amiga version of <cite>second samurai</cite> i happened to have...</p>
<p>designed to be used aliased at a size of 16px (or multiples thereof).</p><p>tags: pixel font</p></div>
		</content></entry>
	<entry>
		<title>hello cthulhu opera widget</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/104"/>
		<id>tag:www.splintered.co.uk,2010-02-13:/experiments/104</id>
		<published>2010-02-13T01:22:00+00:00</published><updated>2010-02-13T01:22:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><p>tired of the usual "hello world" demos, i made a trivially simple "hello cthulhu" widget to show <a href="http://www.opera.com/browser/next/">opera 10.50</a>'s <a href="http://dev.opera.com/articles/view/widgets-as-standalone-applications/">standalone widget engine</a>.</p>
<p><small><cite>Hello Cthulhu</cite> image found at <a href="http://www.nyder.com/cthulhu/cthulhucomic.html">www.nyder.com/cthulhu/cthulhucomic.html</a>...apparently it's by <a href="http://www.meathouse.com/">Meathouse Audio Grafik</a>.</small></p><p>tags: opera widget</p></div>
		</content></entry>
	<entry>
		<title>paranoid</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/103"/>
		<id>tag:www.splintered.co.uk,2009-10-09:/experiments/103</id>
		<published>2009-10-09T00:00:00+00:00</published><updated>2009-10-09T02:26:28+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><p>following the recent custom of nostalgically recreating vintage games to show that our web browsers are now as powerful as an old amiga, here's my first proper play with the HTML5 <code class="inline">&lt;canvas&gt;</code> element.</p>
<p>at this stage it's of course nowhere near a proper game, but i thought i'd release this early version for now...</p><p>tags: html5 html canvas game</p></div>
		</content></entry>
	<entry>
		<title>native tap to unlock theme for iphone</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/102"/>
		<id>tag:www.splintered.co.uk,2008-12-25:/experiments/102</id>
		<published>2008-12-24T00:00:00+00:00</published><updated>2008-12-25T23:23:43+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2008-12-25T23:24:05 --><p>a small <a href="http://www.saurik.com/id/9">winterboard</a> theme for use on jailbroken iphones that replaces the <cite>unlock</cite>, <cite>answer</cite> and <cite>power off</cite> sliders with buttons that can simply be tapped to activate.</p><p>although there are already a few <cite>tap to unlock</cite> winterboard themes out there, i wanted something that looked a bit more &quot;native&quot; to the default iphone user interface...here's a <a href="http://www.splintered.co.uk/experiments/archives/native_tap_to_unlock/native_tap_to_unlock.jpg">screenshot of the result</a>.</p><p>to install, unpack the zip archive, SSH into your iphone, copy the <code class="inline">Native Tap to Unlock.theme</code> folder to <code class="inline">/private/var/stash/Themes.xxxxxx</code> and activate the theme in winterboard.</p><p><strong>update:</strong> this theme is now <a href="http://www.flickr.com/photos/redux/3136752922/">available from the iphone-planets repository</a> via cydia.</p><p>tags: iphone winterboard theme</p></div>
		</content></entry>
	<entry>
		<title>google analytics tracker</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/101"/>
		<id>tag:www.splintered.co.uk,2008-09-21:/experiments/101</id>
		<published>2008-09-21T00:00:00+00:00</published><updated>2008-09-21T00:00:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2008-09-21T23:23:57 --><p><a href="https://www.google.com/analytics/">google analytics</a> is a pretty powerful, and free, tool for website stats analysis. however, one of its main drawbacks is that it can only track pages that specifically call its tracking script. links to documents (Word, PDF, etc) and links to external websites are not tracked out-of-the-box.</p><p>this small script dynamically attaches the necessary explicit calls to google's tracker functions to any document or external links found in a page.</p><p>by specifying a prefix for external and document links it's possible to log any clicks in specific &quot;fake&quot; directories in the analytics reports.</p><p>for instance, with a prefix for external links set to <var>/stats/external/</var>, a link to <var>http://www.foo.com/somedir/</var> will appear in google analytics as a click to <var>/stats/external/http/www.foo.com/somedir/</var>. by default, the prefix for document links is simply <var>/</var>, meaning that a link to <var>/somedir/file.pdf</var> on your site will be logged in its &quot;native&quot; location. if you prefer to see all documents logged separately, it is of course possible to change the prefix to something like <var>/stats/documents/</var>, so the above document would appear in the stats under <var>/stats/documents/somedir/file.pdf</var>.</p><p>in addition, this script fixes google analytics' <cite>site overlay</cite> view. if the overlay is detected (given away by the presence of a <code class="inline">script</code> element with <code class="inline">id=&quot;_gasojs&quot;</code>), the <code class="inline">href</code> of document and external links is rewritten dynamically, ensuring that the correct percentage and click count are displayed in the overlay. the links are also &quot;neutered&quot; (their default behaviour is suppressed), so you don't accidentally click away from the overlay.</p><p>for debugging purposes, if you're running <a href="http://getfirebug.com/">firebug</a> in <a href="http://www.mozilla.com/firefox/">firefox</a>, the script also writes to the console when a tracked link is clicked. this feature is commented out by default.</p><p>i originally wrote this back in april 2008, and it has since been used in production on a few high-traffic sites with excellent and reliable results. many thanks to <a href="http://www.kryogenix.org">stuart langridge</a> for giving it a quick code review and suggesting some excellent optimisations.</p><p>tags: analytics javascript google</p></div>
		</content></entry>
	<entry>
		<title>ambilight</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/100"/>
		<id>tag:www.splintered.co.uk,2008-09-20:/experiments/100</id>
		<published>2008-09-20T00:00:00+00:00</published><updated>2008-09-20T21:33:10+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2008-09-20T21:57:56 --><p>a quick eyecandy experiment, inspired by <a href="http://www.brendandawes.com/sketches/ambiflickr">brendan dawes' <cite>ambiflickr</cite> sketch</a> and <a href="http://mezzoblue.com/archives/2006/12/14/fountain/">dave shea's <cite>fountain</cite> redesign</a> (both strangely from 2006).</p><p>it uses <a href="http://jquery.com/">jQuery</a>, the <a href="http://plugins.jquery.com/project/color">jQuery Color plugin</a> and <a href="http://www.php.net/gd">PHP's GD library functions</a>.</p><p><a href="/experiments/archives/ambilight/average.phps">average.php</a> is a small PHP script that loads an image, resizes it down to a single pixel (thus averaging all the of the original image colours down to a single colour), and then outputs the RGB values of this pixel as a <a href="http://www.json.org/">JSON</a> object.</p><p>this PHP script is called by the <a href="/experiments/archives/ambilight/ambilight.js">ambilight.js</a> function. when given an image DOM object and a speed value in milliseconds, this function makes a JSON call to the PHP script, receives the JSON object with the average colour for that particular image, and then animates the background colour of the image's parent object at the specified speed.</p><p>in the example page, jQuery iterates over all images with an <code class="inline">ambilight</code> class once the page has finished loading, and fires off the ambilight function for each of them. however, the function could be called at any time (for instance, on focus/hover or click).</p><p>if the page of images was generated dynamically from a database or set of known images, it would of course be far more efficient to pre-calculate the average values necessary for the animation. this is mostly a little thought experiment, but could also be used when the images themselves are not known at the outset (for instance when pulling images from a third-party site like <a href="http://www.flickr.com">flickr</a>, as in <a href="http://www.brendandawes.com">brendan</a>'s original sketch).</p><p>tags: ambilight javascript jquery php gd</p></div>
		</content></entry>
	<entry>
		<title>twitter</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/99"/>
		<id>tag:www.splintered.co.uk,2008-06-03:/experiments/99</id>
		<published>2008-06-03T00:00:00+00:00</published><updated>2008-06-03T00:00:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2008-06-03T00:16:18 --><p>another simple aggregation experiment which uses my <a href="http://www.splintered.co.uk/experiments/69/"><acronym title="PHP Hypertext Processor">PHP</acronym> feedreader class</a> to fetch the latest tweets from my <a href="http://twitter.com/patrick_h_lauke">twitter account</a> via the simple <a href="http://twitter.com/help/api">twitter <abbr title="Application Programming Interface">API</abbr></a> functions and present them using a <a href="http://www.splintered.co.uk/experiments/archives/twitter/twitter.xsl">custom <abbr title="eXtensible Stylesheet Language Transformation">XSLT</abbr></a></p><p>tags: twitter experiment xml xslt</p></div>
		</content></entry>
	<entry>
		<title>last.fm recent tracks</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/98"/>
		<id>tag:www.splintered.co.uk,2008-02-12:/experiments/98</id>
		<published>2008-02-12T00:00:00+00:00</published><updated>2008-02-12T00:00:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2008-03-15T15:45:17 --><p>out of boredom, yet another experiment using uses my <a href="http://www.splintered.co.uk/experiments/69/"><acronym title="PHP Hypertext Processor">PHP</acronym> feedreader class</a>, running the <a href="http://ws.audioscrobbler.com/1.0/user/patrick_h_lauke/recenttracks.xml">audioscrobbler <cite>recent tracks</cite> feed</a> of <a href="http://www.last.fm/user/patrick_h_lauke/">my last.fm account</a> through a <a href="http://www.splintered.co.uk/experiments/archives/last.fm/lastfm.xsl">custom <abbr title="eXtensible Stylesheet Language Transformation">XSLT</abbr></a> to output the last 10 tracks played.</p><p>tags: lastfm experiment xml xslt</p></div>
		</content></entry>
	<entry>
		<title>firefox 3 zoom toolbar extension</title>
		<subject xmlns="http://purl.org/dc/elements/1.1/"></subject>
		<link rel="alternate" type="text/html" href="http://www.splintered.co.uk/experiments/97"/>
		<id>tag:www.splintered.co.uk,2008-03-12:/experiments/97</id>
		<published>2007-12-01T00:00:00+00:00</published><updated>2008-03-12T00:00:00+00:00</updated><content type="xhtml" xml:lang="en">
			<div xmlns="http://www.w3.org/1999/xhtml"><!-- Generated by XStandard version 2.0.0.0 on 2008-03-12T19:22:10 --><p>a simple firefox extension that lets you add buttons for firefox 3's built-in zoom functionality to the toolbar, for easier user access. this is a redevelopment of my <a href="http://www.splintered.co.uk/experiments/70/">firefox text size toolbar</a> - sadly, text resizing itself has been removed from version 3 altogether...</p><p>the magnifying glass icon is part of <a href="http://jonas.seph.ws/">jonas rask</a>'s <cite>danish royalty free icons</cite> set.</p><p>tags: firefox extension</p></div>
		</content></entry>
</feed>
