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

<channel>
	<title>dave&#039;s blog of art and programming &#187; accidental art</title>
	<atom:link href="http://www.pawfal.org/dave/blog/category/accidental-art/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pawfal.org/dave/blog</link>
	<description>missing acceptable use policy</description>
	<lastBuildDate>Fri, 03 Feb 2012 16:04:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Emotional Colour Map</title>
		<link>http://www.pawfal.org/dave/blog/2011/09/emotional-colour-map/</link>
		<comments>http://www.pawfal.org/dave/blog/2011/09/emotional-colour-map/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 15:12:19 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[lirec]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=2276</guid>
		<description><![CDATA[This is the emotional colour map for Germination X. It's a 22 by 8 sized image, with 8 colours for each OCC emotion (those we haven't done yet are white).

From left to right, these represent: LOVE, HATE, HOPE, FEAR, SATISFACTION, RELIEF, FEARS_CONFIRMED, DISAPPOINTMENT, JOY, DISTRESS, HAPPY_FOR, PITY, RESENTMENT, GLOATING, PRIDE, SHAME, GRATIFICATION, REMORSE, ADMIRATION, REPROACH, [...]]]></description>
			<content:encoded><![CDATA[<p>This is the emotional colour map for Germination X. It's a 22 by 8 sized image, with 8 colours for each OCC emotion (those we haven't done yet are white).</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/09/emotion-map.png"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/09/emotion-map-300x109.png" alt="" title="emotion-map" width="300" height="109" class="alignnone size-medium wp-image-2277" /></a></p>
<p>From left to right, these represent: LOVE, HATE, HOPE, FEAR, SATISFACTION, RELIEF, FEARS_CONFIRMED, DISAPPOINTMENT, JOY, DISTRESS, HAPPY_FOR, PITY, RESENTMENT, GLOATING, PRIDE, SHAME, GRATIFICATION, REMORSE, ADMIRATION, REPROACH, GRATITUDE, ANGER.</p>
<p>It's primarily based on a set of colours Lina has been working on. She found it useful to group the emotions into positive and negative sets. Something I think is significant is that these colours were made with the colours of the plants and the general feel of the game in mind. I think the <a href="http://www.pawfal.org/dave/blog/2011/08/colourful-emotions/">problems I found with this exercise</a> was a lack of context - perhaps thinking too abstractly about this is a bad idea. </p>
<p>It's great to see this work being picked up by the <a href="http://lifeproject.spacestudios.org.uk/">Life project</a> by Evan Raskobb at <a href="http://www.spacestudios.org.uk">Space Studios</a> - looking forward to seeing more of where they go with this.</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/09/PositiveSpiritEmotions.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/09/PositiveSpiritEmotions-300x264.jpg" alt="" title="PositiveSpiritEmotions" width="300" height="264" class="alignnone size-medium wp-image-2278" /></a> <a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/09/NegativeSpiritEmotions.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/09/NegativeSpiritEmotions-300x211.jpg" alt="" title="NegativeSpiritEmotions" width="300" height="211" class="alignnone size-medium wp-image-2279" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2011/09/emotional-colour-map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Colourful emotions</title>
		<link>http://www.pawfal.org/dave/blog/2011/08/colourful-emotions/</link>
		<comments>http://www.pawfal.org/dave/blog/2011/08/colourful-emotions/#comments</comments>
		<pubDate>Fri, 26 Aug 2011 13:57:32 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[lirec]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=2198</guid>
		<description><![CDATA[We're currently putting the new plant spirit characters in Germination X and thinking more about how to use colour changes as part of the expression of the many emotions the FAtiMA agents contain.
I made this chart quickly, deliberately avoiding thinking about potential reasons for my choices. Interestingly I found I needed to start with the [...]]]></description>
			<content:encoded><![CDATA[<p>We're currently putting the new plant spirit characters in <a href="http://www.germinationx.com">Germination X</a> and thinking more about how to use <a href="http://www.pawfal.org/dave/blog/2011/05/facial-and-body-expressions-for-companions/">colour changes as part of the expression</a> of the many emotions the FAtiMA agents contain.</p>
<p>I made this chart quickly, deliberately avoiding thinking about potential reasons for my choices. Interestingly I found I needed to start with the motion curves first (which describe how the colours are blended between over time) and these seemed much less arbitrary than the actual colours I chose. The reason could be that there is a closer connection between movement (however simple) and gestural expressions. </p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/colours.png"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/colours.png" alt="" title="colours" width="866" height="360" class="alignnone size-full wp-image-2199" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2011/08/colourful-emotions/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Splinterfields: Mathematickal Arts #3</title>
		<link>http://www.pawfal.org/dave/blog/2011/08/splinterfields-mathematickal-arts-3/</link>
		<comments>http://www.pawfal.org/dave/blog/2011/08/splinterfields-mathematickal-arts-3/#comments</comments>
		<pubDate>Mon, 01 Aug 2011 14:51:45 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[resilients]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=2158</guid>
		<description><![CDATA[A third and final update on the Mathematickal Arts Workshop -  following the previous outline, some more detail on the process of going from software to textile using plain weave.
 
First create a program and choose the colours:
Axiom: O
Rule: O => : O O :
Repeat 5 generations
: = Green
0 = Orange
Then "compile" the code [...]]]></description>
			<content:encoded><![CDATA[<p>A third and final update on the <a href="http://www.pawfal.org/dave/blog/2011/07/splinterfields-mathematickal-arts-1/">Mathematickal Arts Workshop</a> -  following the <a href="http://www.pawfal.org/dave/blog/2011/07/splinterfields-mathematickal-arts-2/">previous outline</a>, some more detail on the process of going from software to textile using plain weave.</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0345.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0345-300x179.jpg" alt="" title="IMAG0345" width="300" height="179" class="alignnone size-medium wp-image-2160" /></a> <a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0344.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0344-300x179.jpg" alt="" title="IMAG0344" width="300" height="179" class="alignnone size-medium wp-image-2161" /></a></p>
<p>First create a program and choose the colours:</p>
<p>Axiom: O<br />
Rule: O => : O O :<br />
Repeat 5 generations</p>
<p>: = Green<br />
0 = Orange</p>
<p>Then "compile" the code to expand the pattern:</p>
<p>1= O<br />
2= : O O :<br />
3= : : O O : : O O : :<br />
4= : : : O O : : O O : : : : O O : : O O : : :<br />
5= : : : : O O : : O O : : : : O O : : O O : : : : : : O O : : O O : : : : O O : : O O : : : :</p>
<p>The resulting weave can be previewed in ASCII <a href="http://www.pawfal.org/dave/blog/2011/07/splinterfields-mathematickal-arts-2/">as described earlier</a>. This was useful to discover the range of patterns possible. When done, install the compiled code on the loom as a warp thread colour sequence.</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0337.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0337-300x179.jpg" alt="" title="IMAG0337" width="300" height="179" class="alignnone size-medium wp-image-2163" /></a> <a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0343.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0343-179x300.jpg" alt="" title="IMAG0343" width="179" height="300" class="alignnone size-medium wp-image-2164" /></a></p>
<p>Then you follow the same sequence for the weft threads, choosing the colour based on the code generated. In this way you become a mere part of the process yourself.</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0353.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0353-300x179.jpg" alt="" title="IMAG0353" width="300" height="179" class="alignnone size-medium wp-image-2165" /></a></p>
<p>This is another, more complex program with 2 rules. This expands rather quicker than the last one, so only three generations are required:</p>
<p>Axiom: O<br />
Rule 1: O => O : O :<br />
Rule 2: : => : O :<br />
Run for 3 generations</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0376.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0376-300x179.jpg" alt="" title="IMAG0376" width="300" height="179" class="alignnone size-medium wp-image-2167" /></a> <a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0378-2.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/08/IMAG0378-2-300x179.jpg" alt="" title="IMAG0378-2" width="300" height="179" class="alignnone size-medium wp-image-2168" /></a></p>
<p>This technique draws comparisons with <a href="http://en.wikipedia.org/wiki/Jacquard_loom">Jacquard looms</a>, but obviously it's far simpler as the weave itself is the same, we are only changing between 2 colours (and a human is very much required to do the weaving in this case). However, one of the activities I would have tried with more time available would have been reverse engineering Jacquard woven fabric - to attempt to decode the rules used.</p>
<p>During the workshop it was also suggested that  a woven <a href="http://en.wikipedia.org/wiki/Quine_%28computing%29">quine</a> may be possible - where the pattern somehow contains the instructions for it's own manufacture.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2011/08/splinterfields-mathematickal-arts-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Splinterfields: Mathematickal Arts #2</title>
		<link>http://www.pawfal.org/dave/blog/2011/07/splinterfields-mathematickal-arts-2/</link>
		<comments>http://www.pawfal.org/dave/blog/2011/07/splinterfields-mathematickal-arts-2/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 16:19:35 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[resilients]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=2147</guid>
		<description><![CDATA[For my contribution to the Mathematickal Arts workshop, I wanted to explore weaving, specifically plain weave. This is the simplest form of weaving, but when combined with sequences of colour it can produce many different types of pattern.

Some of these patterns when combined with muted colours, have in the past been used as a type [...]]]></description>
			<content:encoded><![CDATA[<p>For my contribution to the <a href="http://www.pawfal.org/dave/blog/2011/07/splinterfields-mathematickal-arts-1/">Mathematickal Arts workshop</a>, I wanted to explore weaving, specifically plain weave. This is the simplest form of weaving, but when combined with sequences of colour it can produce many different types of pattern.</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/07/district12.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/07/district12-300x204.jpg" alt="" title="district12" width="300" height="204" class="alignnone size-medium wp-image-2151" /></a></p>
<p>Some of these patterns when combined with muted colours, have in the past been used as a type of camouflage - and are classified into <a href="http://www.gypsywearvintage.com/checks.htm">District Checks</a> for use in hunting in Lowland Scotland. This is, I guess, a kind of less prestigious form of Tartan.</p>
<p>I started off by trying to understand how the patterns emerge, beginning with the basic structure:</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/07/weave2.png"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/07/weave2.png" alt="" title="weave2" width="142" height="144" class="alignnone size-full wp-image-2149" /></a></p>
<p>The threads running top to bottom are the warp, those running across are the weft. If we consider the top most thread as visible, we can figure out the colours of this small section of weave. A few lines of scheme calculate and print the colours of an arbitrarily sized weave, by using lists of warp and weft as input.</p>
<pre style='color:#000000;background:#ffffff;'><span style='color:#696969; '>; return warp or weft, dependant on the position</span>
<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>define</span> <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>stitch</span> x y warp weft<span style='color:#808030; '>)</span>
  <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>if</span> <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>eq?</span> <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>modulo</span> x <span style='color:#008c00; '>2</span><span style='color:#808030; '>)</span>
           <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>modulo</span> y <span style='color:#008c00; '>2</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span>
      warp weft<span style='color:#808030; '>)</span><span style='color:#808030; '>)</span>

<span style='color:#696969; '>; prints out a weaving</span>
<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>define</span> <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>weave</span> warp weft<span style='color:#808030; '>)</span>
  <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>for</span> <span style='color:#808030; '>(</span><span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>x</span> <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>in-range</span> <span style='color:#008c00; '>0</span> <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>length</span> weft<span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span>
       <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>for</span> <span style='color:#808030; '>(</span><span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>y</span> <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>in-range</span> <span style='color:#008c00; '>0</span> <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>length</span> warp<span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span>
            <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>display</span> <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>stitch</span> x y
                             <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>list-ref</span> warp y<span style='color:#808030; '>)</span>
                             <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>list-ref</span> weft x<span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span>
       <span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>newline</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span><span style='color:#808030; '>)</span>
</pre>
<p> I've been visualising the weaves with single characters representing colours for ascii previewing, here are some examples:</p>
<pre>
(weave '(O O O O O O O) '(: : : : : : : : :))
=>
 O : O : O : O
 : O : O : O :
 O : O : O : O
 : O : O : O :
 O : O : O : O
 : O : O : O :
 O : O : O : O
 : O : O : O :
 O : O : O : O

(weave '(O O : : O O : : O O) '(O : : O O : : O O :))
 =>
 : O : : : O : : : O
 O : : : O : : : O :
 O O O : O O O : O O
 O O : O O O : O O O
 : O : : : O : : : O
 O : : : O : : : O :
 O O O : O O O : O O
 O O : O O O : O O O
 : O : : : O : : : O
</pre>
<p>This looked quite promising as ascii art, but I didn't really know how it would translate into a textile. I also wanted to look into ways of generating new patterns algorithmically, using formal grammars - this was actually one of the simpler parts of the project. The idea is that you begin with an axiom, or starting state, and do a search replace on it repeatedly following one or more simple rules:</p>
<pre>
Axiom: O
Rule: O -> :O:O

Generation 1: O
Generation 2: :O:O
Generation 3: ::O:O::O:O
Generation 4: :::O:O::O:O:::O:O::O:O
</pre>
<p>We can then generate quite complex patterns for the warp and the weft from very small instructions, next I'll show what happens when some of these are translated into real woven fabric...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2011/07/splinterfields-mathematickal-arts-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Modular decoration (GX)</title>
		<link>http://www.pawfal.org/dave/blog/2011/06/modular-decoration-gx/</link>
		<comments>http://www.pawfal.org/dave/blog/2011/06/modular-decoration-gx/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 12:50:48 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[lirec]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=2084</guid>
		<description><![CDATA[More sketching, this time for use in the game rather than concept design:

]]></description>
			<content:encoded><![CDATA[<p>More sketching, this time for use in the game rather than concept design:</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/06/gui-a.png"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/06/gui-a.png" alt="" title="gui-a" width="513" height="387" class="alignnone size-full wp-image-2083" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2011/06/modular-decoration-gx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PS2 homebrew #5</title>
		<link>http://www.pawfal.org/dave/blog/2011/05/ps2-homebrew-5/</link>
		<comments>http://www.pawfal.org/dave/blog/2011/05/ps2-homebrew-5/#comments</comments>
		<pubDate>Wed, 11 May 2011 06:53:23 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[fluxus hacking]]></category>
		<category><![CDATA[homebrew]]></category>
		<category><![CDATA[howto]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=1974</guid>
		<description><![CDATA[Getting stuff to work on PS2 wasn't quite as easy as I probably made it sound in the last homebrew post. The problem with loading code from usb stick is that there is no way to debug anything, no remote debugging, no stdout - not even any way to render text unless you write your [...]]]></description>
			<content:encoded><![CDATA[<p>Getting stuff to work on PS2 wasn't quite as easy as I probably made it sound in the last homebrew post. The problem with loading code from usb stick is that there is no way to debug anything, no remote debugging, no stdout - not even any way to render text unless you write your own program to do that.</p>
<p>The trick is to use the fact that we are rendering a CRT TV signal and that you can control what gets rendered in the overscan area (think 8bit loading screens). There is a register which directly sets the background colour of the scanline - this macro is all you need:</p>
<pre style='color:#000000;background:#ffffff;'><span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> gs_p_bgcolor        0x120000e0    </span><span style='color:#696969; '>// Set CRTC background color</span>

<span style='color:#004a43; '>#</span><span style='color:#004a43; '>define</span><span style='color:#004a43; '> GS_SET_BGCOLOR</span><span style='color:#808030; '>(</span><span style='color:#004a43; '>r</span><span style='color:#808030; '>,</span><span style='color:#004a43; '>g</span><span style='color:#808030; '>,</span><span style='color:#004a43; '>b</span><span style='color:#808030; '>)</span><span style='color:#004a43; '> \</span>
<span style='color:#004a43; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#808030; '>*</span><span style='color:#808030; '>(</span><span style='color:#004a43; '>volatile unsigned long </span><span style='color:#808030; '>*</span><span style='color:#808030; '>)</span><span style='color:#004a43; '>gs_p_bgcolor </span><span style='color:#808030; '>=</span><span style='color:#004a43; '>    \</span>
<span style='color:#004a43; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#808030; '>(</span><span style='color:#004a43; '>unsigned long</span><span style='color:#808030; '>)</span><span style='color:#808030; '>(</span><span style='color:#808030; '>(</span><span style='color:#004a43; '>r</span><span style='color:#808030; '>)</span><span style='color:#004a43; '> </span><span style='color:#808030; '>&amp;</span><span style='color:#004a43; '> 0x000000FF</span><span style='color:#808030; '>)</span><span style='color:#004a43; '> </span><span style='color:#808030; '>&lt;</span><span style='color:#808030; '>&lt;</span><span style='color:#004a43; '>  0 </span><span style='color:#808030; '>|</span><span style='color:#004a43; '> \</span>
<span style='color:#004a43; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#808030; '>(</span><span style='color:#004a43; '>unsigned long</span><span style='color:#808030; '>)</span><span style='color:#808030; '>(</span><span style='color:#808030; '>(</span><span style='color:#004a43; '>g</span><span style='color:#808030; '>)</span><span style='color:#004a43; '> </span><span style='color:#808030; '>&amp;</span><span style='color:#004a43; '> 0x000000FF</span><span style='color:#808030; '>)</span><span style='color:#004a43; '> </span><span style='color:#808030; '>&lt;</span><span style='color:#808030; '>&lt;</span><span style='color:#004a43; '>  8 </span><span style='color:#808030; '>|</span><span style='color:#004a43; '> \</span>
<span style='color:#004a43; '>&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;&#xa0;</span><span style='color:#808030; '>(</span><span style='color:#004a43; '>unsigned long</span><span style='color:#808030; '>)</span><span style='color:#808030; '>(</span><span style='color:#808030; '>(</span><span style='color:#004a43; '>b</span><span style='color:#808030; '>)</span><span style='color:#004a43; '> </span><span style='color:#808030; '>&amp;</span><span style='color:#004a43; '> 0x000000FF</span><span style='color:#808030; '>)</span><span style='color:#004a43; '> </span><span style='color:#808030; '>&lt;</span><span style='color:#808030; '>&lt;</span><span style='color:#004a43; '> 16</span>
</pre>
<p>Which you can use to set the background to green for example:</p>
<pre style='color:#000000;background:#ffffff;'>GS_SET_BGCOLOR<span style='color:#808030; '>(</span><span style='color:#800000; font-weight:bold; '>0,255,0</span><span style='color:#808030; '>)</span><span style='color:#696969; '>;</span>
</pre>
<p>Its a good idea to change this at different points in your program. When you get a crash the border colour it's frozen with will tell you what area it was last in, allowing you to track down errors. </p>
<p>There is also a nice side effect that this provides a visual profile of your code at the same time. Rendering is synced to the vertical blank - when the CRT laser shoots back to the top of the screen a new frame is started and you have a 50th of a second (PAL) to get everything done. In the screenshot below you can see how the frame time breaks down rendering 9 animated primitives - and why it might be a good idea to use some of these other processors:</p>
<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/05/debug.jpg"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2011/05/debug-1024x768.jpg" alt="" title="debug" width="1024" height="768" class="alignnone size-large wp-image-1975" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2011/05/ps2-homebrew-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LED tracking with a particle filter</title>
		<link>http://www.pawfal.org/dave/blog/2010/11/led-tracking/</link>
		<comments>http://www.pawfal.org/dave/blog/2010/11/led-tracking/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 20:08:55 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[lirec]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=1529</guid>
		<description><![CDATA[Some LED bike light tracking using a particle filter:

I've been invited to do a lecture for Markku Nousiainen's experimental course on computational photography next week,  so I've been constructing some demos that display different computer vision algorithms based on the work I've been doing on Lirec. The idea is that they may serve as [...]]]></description>
			<content:encoded><![CDATA[<p>Some LED bike light tracking using a <a href="http://www.pawfal.org/dave/blog/2010/01/particle-filters/">particle filter</a>:</p>
<p><embed src="http://blip.tv/play/AYKJvkEC" type="application/x-shockwave-flash" width="480" height="414" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<p>I've been invited to do a lecture for Markku Nousiainen's experimental course on <a href="http://mediafactory.aalto.fi/?page_id=674">computational photography</a> next week,  so I've been constructing some demos that display different computer vision algorithms based on the work I've been doing on <a href="http://www.lirec.eu">Lirec</a>. The idea is that they may serve as inspiration for how algorithmic understanding of images can be used for artistic purposes.</p>
<p>The code is part of the mysterious <a href="http://svn.lirec.eu/libs/magicsquares/">magic squares library</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2010/11/led-tracking/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SchemeBricks GUI work</title>
		<link>http://www.pawfal.org/dave/blog/2010/11/schemebricks-gui-work/</link>
		<comments>http://www.pawfal.org/dave/blog/2010/11/schemebricks-gui-work/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 20:40:21 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[livecoding]]></category>
		<category><![CDATA[visual programming]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=1524</guid>
		<description><![CDATA[Some schemebricks hacking in preparation for a workshop I'm doing with Alex McLean at Piksel in a few weeks. This is just a case of making it work a little bit more like you'd expect - messing with empty parentheses:

]]></description>
			<content:encoded><![CDATA[<p>Some schemebricks hacking in preparation for a workshop I'm doing with Alex McLean at <a href="http://www.piksel.no/">Piksel</a> in a few weeks. This is just a case of making it work a little bit more like you'd expect - messing with empty parentheses:</p>
<p><embed src="http://blip.tv/play/AYKJhA8C" type="application/x-shockwave-flash" width="480" height="414" allowscriptaccess="always" allowfullscreen="true"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2010/11/schemebricks-gui-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NIMk Sprint day 1 and 2</title>
		<link>http://www.pawfal.org/dave/blog/2010/08/nimk-sprint-day-1-and-2/</link>
		<comments>http://www.pawfal.org/dave/blog/2010/08/nimk-sprint-day-1-and-2/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 21:02:41 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[naked on pluto]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=1440</guid>
		<description><![CDATA[This is my update from Amsterdam on day two of our Naked on Pluto residency. Marloes' report on day 1 is here. 
Today was all about taking the themes from yesterday and making them into concrete game mechanics we can use. We started by mapping out possible constraints imposed by multiplayer activities. We want a [...]]]></description>
			<content:encoded><![CDATA[<p>This is my update from Amsterdam on day two of our Naked on Pluto residency. Marloes' report on day 1 is <a href="http://pluto.kuri.mu/2010/08/30/nop-sprint-at-nimk-started/">here</a>. </p>
<p>Today was all about taking the themes from yesterday and making them into concrete game mechanics we can use. We started by mapping out possible constraints imposed by multiplayer activities. We want a large amount of what you do on pluto to be coordinated with other players - and this impacts on the logic of the game world. For instance, doors can be locked - sometimes in a room full of people we only want players who are carrying a key to be able to get through the door, at other times a single player might be able to unlock a door for everyone (perhaps for a limited time).</p>
<p><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2010/08/nop12.jpg" alt="" title="nop1" width="424" height="450" class="alignnone size-full wp-image-1452" /><br />
A locking conundrum.</p>
<p>This sort of play requires a way for players to coordinate with each other, for example using a realtime chat system. A minor crisis involving the details of how to handle this feature was narrowly averted and we escaped to the shores of Ljsselmeer to begin considering the vertical slice, the moustache as core game feature, community service and mandatory fanny packs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2010/08/nimk-sprint-day-1-and-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stupid conversation graph</title>
		<link>http://www.pawfal.org/dave/blog/2010/07/stupid-conversation-graph/</link>
		<comments>http://www.pawfal.org/dave/blog/2010/07/stupid-conversation-graph/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 10:06:09 +0000</pubDate>
		<dc:creator>dave</dc:creator>
				<category><![CDATA[accidental art]]></category>
		<category><![CDATA[naked on pluto]]></category>
		<category><![CDATA[visual programming]]></category>

		<guid isPermaLink="false">http://www.pawfal.org/dave/blog/?p=1385</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pawfal.org/dave/blog/wp-content/uploads/2010/07/converse.png"><img src="http://www.pawfal.org/dave/blog/wp-content/uploads/2010/07/converse.png" alt="" title="converse" width="776" height="209" class="alignnone size-full wp-image-1386" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pawfal.org/dave/blog/2010/07/stupid-conversation-graph/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

