<?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>log</title>
	<atom:link href="http://xhva.net/log/feed/" rel="self" type="application/rss+xml" />
	<link>http://xhva.net/log</link>
	<description>previously, in the last seventy-four episodes of Lost..</description>
	<lastBuildDate>Sat, 04 Sep 2010 04:04:29 +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>Hilarious: News.com.au classed as &#8216;adult website&#8217; in audit of politicians&#8217; internet use</title>
		<link>http://xhva.net/log/2010/09/hilarious-news-com-au-classed-as-adult-website-in-audit-of-politicians-internet-use/</link>
		<comments>http://xhva.net/log/2010/09/hilarious-news-com-au-classed-as-adult-website-in-audit-of-politicians-internet-use/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 03:03:52 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=302</guid>
		<description><![CDATA[No comment; the article itself is more than&#160;enough.
Both news.com.au and smh.com.au were classified as adult sites in the&#160;audit.
&#8220;The definition of what has been classed as an adult site is something we&#8217;re reviewing,&#8221; [Legislative Council president Amanda Fazio]&#160;said.

]]></description>
			<content:encoded><![CDATA[<p>No comment; <a href="http://www.news.com.au/technology/newscomau-classed-as-adult-website-in-audit-of-politicians-internet-use/story-e6frfro0-1225914118368">the article itself</a> is more than&nbsp;enough.</p>
<blockquote><p>Both news.com.au and smh.com.au were classified as adult sites in the&nbsp;audit.</p>
<p><span class="dquo">&#8220;</span>The definition of what has been classed as an adult site is something we&#8217;re reviewing,&#8221; [Legislative Council president Amanda Fazio]&nbsp;said.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/09/hilarious-news-com-au-classed-as-adult-website-in-audit-of-politicians-internet-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A photo corkboard using jQuery</title>
		<link>http://xhva.net/log/2010/09/a-photo-corkboard-using-jquery-2/</link>
		<comments>http://xhva.net/log/2010/09/a-photo-corkboard-using-jquery-2/#comments</comments>
		<pubDate>Sat, 04 Sep 2010 03:58:56 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=317</guid>
		<description><![CDATA[
Inspired by Vladimir Vukićević&#8217;s photos.svg demo, I tried building something similar using CSS/JS instead of SVG/JS. This first version of the photo corkboard is nowhere near parity with Vlad&#8217;s on a performance or intuitiveness scale. When I get some more time I&#8217;ll strip out the jQuery and look into using a resize/rotate handle similar to&#160;Vlad&#8217;s.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://xhva.net/work/corkboard/"><img src="http://xhva.net/log/wp-content/uploads/2010/09/thumb.jpg" alt="" title="_thumb" width="200" height="120" class="right size-full wp-image-306" /></a><br />
Inspired by <a href="http://blog.vlad1.com/">Vladimir Vukićević&#8217;s</a> <a href="http://people.mozilla.com/~vladimir/demos/photos.svg">photos.svg demo</a>, I tried building something similar using <span class="caps">CSS</span>/<span class="caps">JS</span> instead of <span class="caps">SVG</span>/<span class="caps">JS</span>. This <a href="http://xhva.net/work/corkboard/">first version of the photo corkboard</a> is nowhere near parity with Vlad&#8217;s on a performance or intuitiveness scale. When I get some more time I&#8217;ll strip out the jQuery and look into using a resize/rotate handle similar to&nbsp;Vlad&#8217;s.</p>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/09/a-photo-corkboard-using-jquery-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Article Expander plugin v1.0</title>
		<link>http://xhva.net/log/2010/08/jquery-article-expander-plugin-v1-0/</link>
		<comments>http://xhva.net/log/2010/08/jquery-article-expander-plugin-v1-0/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 11:19:34 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=286</guid>
		<description><![CDATA[Earlier this week a friend and I discussed using JavaScript to collapse and expand news articles to reduce page loads, so I played with a snippet of code over the weekend and then turned it into a jQuery plugin. It was fun getting my hands dirty with jQuery again &#8212; I&#8217;d forgotten how concise and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xhva.net/work/jqae/jqae_integrated_demo.html"><img src="http://xhva.net/log/wp-content/uploads/2010/08/Untitled-1.jpg" alt="" title="jQuery Article Expander - Integrated demo" width="200" height="174" class="right size-full wp-image-297" /></a>Earlier this week a friend and I discussed using JavaScript to collapse and expand news articles to reduce page loads, so I played with a snippet of code over the weekend and then turned it into a jQuery plugin. It was fun getting my hands dirty with jQuery again &#8212; I&#8217;d forgotten how concise and beautiful the code can&nbsp;be.</p>
<h4>See the&nbsp;demos</h4>
<ul>
<li><a href="http://xhva.net/work/jqae/jqae_basic_demo.html">Basic demo: get started&nbsp;here</a></li>
<li><a href="http://xhva.net/work/jqae/jqae_options_demo.html">Options demo: customising the&nbsp;plugin</a></li>
<li><a href="http://xhva.net/work/jqae/jqae_integrated_demo.html">Integrated demo: see it used in a real&nbsp;layout</a></li>
</ul>
<h4>Installing and basic&nbsp;usage</h4>
<ol>
<li>Download <a href="http://jquery.com/">jQuery</a> and save it into the folder containing your other website&nbsp;files.</li>
<li>Download <a href="http://xhva.net/work/jqae/jquery.articleexpander.1.0.zip">jquery.articleexpander.1.0.zip</a> and extract the <span class="caps">JS</span> <span class="amp">&amp;</span> <span class="caps">CSS</span> files into the folder&nbsp;above.</li>
<li>
		Insert the following lines into the &lt;head&gt; section of your <span class="caps">HTML</span>&nbsp;file:</p>
<pre>
&lt;script type="text/javascript" src="jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="jquery.articleexpander.1.0.minified.js"&gt;&lt;/script&gt;
&lt;link type="text/css" rel="stylesheet" href="jquery.articleexpander.1.0.css"&gt;
&lt;script type="text/javascript"&gt;
    $(function() {
        $(".article").articleExpander();
    });
&lt;/script&gt;
		</pre>
</li>
<li>Change the <kbd>jquery.js</kbd> reference in the code above to match your jquery file&#8217;s&nbsp;filename.</li>
<li>
		Write your news articles, blog posts or whatever to use this <span class="caps">HTML</span>&nbsp;structure:</p>
<pre>
&lt;div class="article"&gt;
    &lt;h2&gt;Article Heading 1&lt;/h2&gt;
    &lt;div&gt;
        &lt;p&gt;The first line of your article content.&lt;/strong&gt;&lt;/p&gt;
        &lt;p&gt;The second line of your article content.&lt;/strong&gt;&lt;/p&gt;
        &lt;p&gt;The nth line of your article content.&lt;/strong&gt;&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
		</pre>
</li>
<li>See if it works&nbsp;:)</li>
</ol>
<h4>Changing options and using different <span class="caps">HTML</span>&nbsp;structures</h4>
<p>Like most jQuery addons, this one lets you change options with a <span class="caps">JS</span> object passed to the plugin. For example, the code below customises the expand and collapse text while making the animation a little&nbsp;faster:</p>
<pre>
    &lt;script type="text/javascript"&gt;
        $(function() {
            $(".article").articleExpander({
               expandText: "See more",
               collapseText: "See less",
               speedInMilliseconds: 1000
            });
        });
    &lt;/script&gt;
</pre>
<h4>The full list of the&nbsp;options</h4>
<dl>
<dt>expandText</dt>
<dd>The text shown in the &#8216;read more&#8217; button when the article is collapsed.</dd>
<dt>collapseText</dt>
<dd>The text shown in the &#8216;read more&#8217; button when the article is expanded.</dd>
<dt>headingSelector</dt>
<dd>The <span class="caps">CSS</span> selector used to find the heading element inside the article. The selector is relative to the article element.</dd>
<dt>contentSelector</dt>
<dd>The <span class="caps">CSS</span> selector used to find the content element inside the article. Note the selector is relative to the article element.</dd>
<dt>headingClickable</dt>
<dd>If true, the article heading can be clicked to trigger the expand/collapse.</dd>
<dt>contentClickable</dt>
<dd>If true, the article content can be clicked to trigger the expand/collapse. Note this will get in the way of copy/paste operations and possibly links.</dd>
<dt>speedInMilliseconds</dt>
<dd>The length of time the animation takes to execute. 1000 milliseconds = 1 second.</dd>
<dt>cursor</dt>
<dd>The mouse cursor shown when hovering over clickable headings and content.</dd>
</dl>
<h4>A full config&nbsp;example</h4>
<pre>
    &lt;script type="text/javascript"&gt;
        $(function() {
            $(".article").articleExpander({
                expandText: "&amp;raquo; Read more",
                collapseText: "&amp;laquo; Collapse article",
                headingSelector: "&gt; div gt; :first-child",
                contentSelector: "&gt; div gt; div",
                headingClickable: true,
                contentClickable: true,
                speedInMilliseconds: 300,
                cursor: 'pointer'
            });
        });
    &lt;/script&gt;
</pre>
<h4>Licensing, feedback and&nbsp;modifications</h4>
<p>jQAE is dual licensed under the <span class="caps">MIT</span> or <span class="caps">GPL</span> Version 2 licenses, like jQuery itself. This leaves your options for re-use pretty&nbsp;open.</p>
<p>Feedback and comments are welcome; patches and improvements even more so! Thanks for your&nbsp;interest.</p>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/08/jquery-article-expander-plugin-v1-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Brittle</title>
		<link>http://xhva.net/log/2010/08/brittle/</link>
		<comments>http://xhva.net/log/2010/08/brittle/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 08:39:15 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=280</guid>
		<description><![CDATA[From&#160;public-html-wg-announce:
Testing front: We approved 25 canvas tests. Work is still on going on the underlying test framework to make tests more automatic: we are now going to allow reftests (but our framework will run them manually). We&#8217;re running into a serious limitation of the W3C test server (test.w3.org): it cannot run PHP code. This is [...]]]></description>
			<content:encoded><![CDATA[<p>From&nbsp;<a href="http://lists.w3.org/Archives/Public/public-html-wg-announce/2010JulSep/0019.html">public-html-wg-announce</a>:</p>
<blockquote><p>Testing front: We approved 25 canvas tests. Work is still on going on the underlying test framework to make tests more automatic: we are now going to allow reftests (but our framework will run them manually). <strong><em>We&#8217;re running into a serious limitation of the <span class="caps">W3C</span> test server (test.w3.org): it cannot run <span class="caps">PHP</span> code.</em></strong> This is preventing us from hosting the <span class="caps">XHR</span> test suite at the moment and will affect the <span class="caps">HTML</span> test suite in the medium term. <strong><em>We&#8217;re looking for a solution.</em></strong><br />
</blockquote>
<p>Emphasis&nbsp;mine.</p>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/08/brittle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Australian Election Pokémon</title>
		<link>http://xhva.net/log/2010/08/australian-election-pokemon/</link>
		<comments>http://xhva.net/log/2010/08/australian-election-pokemon/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 20:09:32 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=277</guid>
		<description><![CDATA[Absolutely hilarious. Two thumbs&#160;up.
Also see:&#160;doesaustraliahaveagovernmentyet.com
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.youtube.com/watch?v=lxVHSDz1y0s&#038;feature=player_embedded">Absolutely hilarious.</a> Two thumbs&nbsp;up.</p>
<p>Also see:&nbsp;<a href="http://doesaustraliahaveagovernmentyet.com/">doesaustraliahaveagovernmentyet.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/08/australian-election-pokemon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The new DevMo: when designers get near documentation websites</title>
		<link>http://xhva.net/log/2010/08/the-new-devmo-when-designers-get-near-documentation-websites/</link>
		<comments>http://xhva.net/log/2010/08/the-new-devmo-when-designers-get-near-documentation-websites/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 10:11:08 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=269</guid>
		<description><![CDATA[
Egads. Overwhelming much? This new frontend-heavy design for the Mozilla Developer Network sure is disorienting until you learn to ignore most of the front page and realise all the useful content is halfway down, beneath the fold. Because it&#8217;s important that you know it&#8217;s the last week to vote for your favorite Firefox Home iPhone [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xhva.net/log/wp-content/uploads/2010/08/devmo.jpg"><img src="http://xhva.net/log/wp-content/uploads/2010/08/devmo-194x300.jpg" alt="" title="devmo" width="194" height="300" class="right size-medium wp-image-270" /></a><br />
<a href="https://developer.mozilla.org/en-US/">Egads</a>. Overwhelming much? This new frontend-heavy design for the Mozilla Developer Network sure is disorienting until you learn to ignore most of the front page and realise all the useful content is halfway down, beneath the fold. Because it&#8217;s important that you know it&#8217;s the last week to vote for your favorite Firefox Home iPhone Skin (!), an entire sidebar, almost a third of the screen wide, is dedicated to Twitter posts. Significant screen space is set aside for an enormous swiping advert for projects you already know about (being a web developer and all) or that would be better delivered near a link to their relevant&nbsp;category.</p>
<p>A huge red bar dominates the front page like an error box that won&#8217;t go away, and sadly contains only one useful link (&#8220;Here&#8217;s how to get started&#8221;). Even that could be filed away near the login/register panel at the top right, which also <strong><em>really</em></strong> needs some loving. This red bar turns into a different bar when you navigate away from the front page, but it still doesn&#8217;t contain anything of merit (twitter, feed and forum links should not be in a dedicated horizontal bar that results in the actual page content being shoved down by&nbsp;85px).</p>
<p>I initially disregarded the entire &#8216;<span class="caps">WEB</span> <span class="caps">MOBILE</span> <span class="caps">ADD</span>-<span class="caps">ONS</span> <span class="caps">APPLICATIONS</span>&#8217; strip across the top since it just looked like an ugly way to state what you&#8217;d find on the site. Only by accident (noticing the mouse cursor change as I moved nearby) did I discover they&#8217;re actually links; without the traditional underline (or button/tab-styling) chunks of randomly-coloured capitalised text do not signify a&nbsp;link.</p>
<p>Clicking the large &#8216;<span class="caps">WEB</span>&#8217; link at the top takes you to a page with only four &#8216;popular&#8217; web documentation categories, so finding stuff on, say, the <span class="caps">DOM</span> requires clicking the small, light blue &#8216;All web development documentation&#8217; link underneath. At this point you actually transition from the shell of the new design to the sane, reasonably simple old <span class="caps">MDN</span>&nbsp;pages.</p>
<p>I filed a bunch of &#8220;I suggest&#8221; requests through a support system that&#8217;s also quite needlessly confusing and operates on &#8216;points&#8217; as if it&#8217;s some kind of democratic social network; here&#8217;s hoping something comes of it. Maybe I&#8217;ll just deep bookmark into the site proper&nbsp;instead&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/08/the-new-devmo-when-designers-get-near-documentation-websites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazing colour photos from 100 years ago</title>
		<link>http://xhva.net/log/2010/08/amazing-colour-photos-from-100-years-ago/</link>
		<comments>http://xhva.net/log/2010/08/amazing-colour-photos-from-100-years-ago/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 01:39:04 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=267</guid>
		<description><![CDATA[Just an amazing photo link this&#160;time.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.boston.com/bigpicture/2010/08/russia_in_color_a_century_ago.html">Just an amazing photo link this&nbsp;time.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/08/amazing-colour-photos-from-100-years-ago/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last minute voting choices</title>
		<link>http://xhva.net/log/2010/08/last-minute-voting-choices/</link>
		<comments>http://xhva.net/log/2010/08/last-minute-voting-choices/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 16:49:54 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=262</guid>
		<description><![CDATA[Not sure which party represents your personal policies? Have a look at this great post at The Progressive Reformist that breaks down each party/candidate&#8217;s policies in a readable fashion (and has links to each party&#8217;s&#160;site!).
Easy-to-read information on party preferences can be found on the ABC Elections&#160;site.
Afterwards, visit BelowTheLine.cc to build your personal Senate voting sheet [...]]]></description>
			<content:encoded><![CDATA[<p>Not sure which party represents your personal policies? Have a look at this <a href="http://theprogressivereformist.blogspot.com/2010/08/nsw-federal-senate-ballot-guide.html">great post at The Progressive Reformist</a> that breaks down each party/candidate&#8217;s policies in a readable fashion (and has links to each party&#8217;s&nbsp;site!).</p>
<p>Easy-to-read information on party preferences can be found on the <a href="http://www.abc.net.au/elections/federal/2010/guide/gtv.htm"><span class="caps">ABC</span> Elections</a>&nbsp;site.</p>
<p>Afterwards, visit <a href="http://belowtheline.cc">BelowTheLine.cc</a> to build your personal Senate voting sheet before visiting the polling booth. Thanks for the awesome tool <a href="http://mcc.id.au/">Cameron&nbsp;McCormack</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/08/last-minute-voting-choices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A semi-useful, half-done JavaScript 2D game engine (featuring Streets of Rage 2 characters)</title>
		<link>http://xhva.net/log/2010/08/a-semi-useful-half-done-javascript-2d-game-engine-featuring-streets-of-rage-2-characters/</link>
		<comments>http://xhva.net/log/2010/08/a-semi-useful-half-done-javascript-2d-game-engine-featuring-streets-of-rage-2-characters/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 09:54:20 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=250</guid>
		<description><![CDATA[In mid-April this year I got interested in playing with the Canvas element in JS. Back in the dark ages I used Visual Basic 6 (!) to make a few simple 2D &#38; 3D particle and game engines, and so those were the first things translated to JS. A simple point sphere demo and this [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xhva.net/test/canvas/xsor2/sor4.html"><img src="http://xhva.net/log/wp-content/uploads/2010/08/temp_xsor-300x141.png" alt="" title="XSOR demo" width="300" height="141" class="right size-medium wp-image-255" /></a>In mid-April this year I got interested in playing with the Canvas element in <span class="caps">JS</span>. Back in the dark ages I used Visual Basic 6 (!) to make a few simple 2D <span class="amp">&amp;</span> 3D particle and game engines, and so those were the first things translated to <span class="caps">JS</span>. A <a href="http://xhva.net/test/canvas/3d_sphere/xhva_sphere2.html">simple point sphere demo</a> and <a href="http://xhva.net/test/canvas/particle_engine/canvas_particles.html">this basic particle engine</a> were the result. Hilarity and/or horror will ensue if you look at the physics code&nbsp;btw.</p>
<p>I took that particle engine and started building objects to manage images and animation, drawing, sound, keybindings, input sequences, actors controlled by a programmable <a href="http://en.wikipedia.org/wiki/Finite-state_machine">state machine</a>, basic (read: incorrect) physics and boundary collision. The end result is the <a href="http://xhva.net/test/canvas/xsor2/sor4.html">incomplete Streets of Rage&nbsp;demo</a>.</p>
<h4>What&#8217;s&nbsp;missing</h4>
<ul>
<li>There&#8217;s no collision between characters, so you can&#8217;t attack anything&nbsp;yet.</li>
<li>Loading information of any sort. This is easy to do, and I just haven&#8217;t gotten to&nbsp;it.</li>
<li>Additional plumbing to allow multiple&nbsp;players.</li>
</ul>
<p>I haven&#8217;t really worked on this in a month or two (as usual, I got distracted by real life and work) but today I fixed some of the outstanding glitches and reviewed the todo comments throughout the code. There&#8217;s plenty more to do&nbsp;yet.</p>
<h4>Technical overview of&nbsp;features</h4>
<p>For programmers out there interested in the internals, here&#8217;s a quick breakdown on what each system&nbsp;does:</p>
<dl>
<dt>imageStore:</dt>
<dd>
<ul>
<li>handles the dynamic loading and storing of image files, with the option of providing or generating coordinates for each independent image in sprite sheets and a callback for load&nbsp;complete;</li>
<li>dynamic creation and storage of flipped-axis versions (to avoid using horribly slow transforms during Canvas&nbsp;drawing);</li>
<li>a draw function that knows about individual sprites in an image and automatically samples the correct coordinates from the source&nbsp;image;</li>
<li>a parser for compressed info about graphic files and sprite sheet coordinates that can also generate the coordinates when given the width and height of each sprite in an&nbsp;image.</li>
</ul>
</dd>
<dt>animStore:</dt>
<dd>
<ul>
<li>handles animation sets based on the sprite frames from&nbsp;imageStore;</li>
<li>has basic animStart, animStop and getCurrentFrame functionality to make it easy for your game to know which frame to&nbsp;draw;</li>
<li>a parser for compressed animation&nbsp;info.</li>
</ul>
</dd>
<dt>inputStore:</dt>
<dd>
<ul>
<li>handles the collection of keyboard events such as keyup and keydown (real keydown, not affected by the keyboard repeat&nbsp;rate);</li>
<li>translates raw keyboard events into customisable game&nbsp;key-mapping;</li>
<li>matches key-map sequences such as &#8220;down, down-forward, forward, jab punch&#8221; to game actions like &#8220;jab fireball&#8221;. The sequences are customisable and very similar to <a href="http://elecbyte.com/">Mugen</a>&#8217;s &#8216;D,<span class="caps">DF</span>,F,x&#8217; style, including charged attacks such as &#8216;~20D,U,ab&#8217; (an <span class="caps">EX</span> Flash Kick). This is the system I&#8217;m most proud&nbsp;of;</li>
<li>a parser for compressed input sequence data (again, quite similar to&nbsp;Mugen&#8217;s).</li>
</ul>
</dd>
<dt>actorStore:</dt>
<dd>
<ul>
<li>handles the creation of game actors (characters, agents, whatever you call&nbsp;them);</li>
<li>creates instances of actors with physics properties, animations, audio, state machine info etc unique to each&nbsp;instance;</li>
<li>a programmable state machine to affect a character&#8217;s state based on input, physics, current state and state timing, animation&nbsp;etc;</li>
<li>state machine can switch to new character states, animations, sounds, affect physics&nbsp;etc</li>
<li>a convenience function for building a draw queue list (see below) for every actor&nbsp;instance.</li>
</ul>
</dd>
<dt>physicsStore:</dt>
<dd>
<ul>
<li>stores basic physics information for each actor or particle such as position, velocity, mass, elastic restitution&nbsp;etc;</li>
<li>restricts actors to a customisable 3D boundary&nbsp;box</li>
<li>contains the most broken gravity and drag calculations you&#8217;ll ever&nbsp;see;</li>
<li>No actor/particle collision&nbsp;yet.</li>
</ul>
</dd>
<dt>audioStore:</dt>
<dd>
<ul>
<li>handles the loading and storing of audio files (very similar to&nbsp;imageStore);</li>
<li>detects browser support for the &lt;audio&gt; element and provides the browser with the appropriate&nbsp;file;</li>
<li>contains workarounds for popular browser&nbsp;bugs.</li>
</ul>
</dd>
<dt>drawQueue:</dt>
<dd>
<ul>
<li>handles the drawing queue for the game, so that other functions can just pass a list of sprites to&nbsp;draw;</li>
<li>drawQueue will sort everything by z order before running an optimised draw&nbsp;loop;</li>
<li>the result from actorStore&#8217;s getInstanceDrawList() can be passed directly to&nbsp;drawQueue.</li>
</ul>
</dd>
</dl>
<p>In the Streets of Rage demo, all the above systems are stored in xlib4.js, and the game-specific parts (such as sprite and animation lists, audio and input settings, etc) are stored in xsor4.js. There&#8217;s still a huge amount of work to do, but there&#8217;s a pretty clean divide between system and game&nbsp;logic.</p>
<p>The source code is licensed pretty liberally, and feedback, comments and patches (!) are welcome. Check the license at the top of the files before using or sampling from the code though, just to be&nbsp;safe.</p>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/08/a-semi-useful-half-done-javascript-2d-game-engine-featuring-streets-of-rage-2-characters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An increase in State-funded school chaplains</title>
		<link>http://xhva.net/log/2010/08/an-increase-in-state-funded-school-chaplains/</link>
		<comments>http://xhva.net/log/2010/08/an-increase-in-state-funded-school-chaplains/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 02:39:31 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://xhva.net/log/?p=247</guid>
		<description><![CDATA[We may have an atheist leader but she sure doesn&#8217;t shy away from buying votes from the religious wing. I would much prefer any state-funded programs to be establishing rational thought in schools, not the&#160;opposite.
The Department of Unpronounceable Acronyms provides a FAQ on the program including this interesting answer about school chaplain faith, although I [...]]]></description>
			<content:encoded><![CDATA[<p>We may have an atheist leader but <a href="http://www.news.com.au/breaking-news/labor-promises-more-school-chaplains/story-e6frfku0-1225902596306">she sure doesn&#8217;t shy away from buying votes from the religious wing</a>. I would much prefer any state-funded programs to be establishing rational thought in schools, not the&nbsp;opposite.</p>
<p>The Department of Unpronounceable Acronyms provides a <span class="caps">FAQ</span> on the program including <a href="http://www.deewr.gov.au/Schooling/NationalSchoolChaplaincyProgram/Pages/nscp_frequently_asked.aspx#Dochaplainshave">this interesting answer about school chaplain faith</a>, although I find the answer on <a href="http://www.deewr.gov.au/Schooling/NationalSchoolChaplaincyProgram/Pages/nscp_frequently_asked.aspx#whyisthegovt">why the government funds this program</a> more telling. There&#8217;s no real rationale apart from &#8220;<em>Chaplains play[ing] a significant role in&#8230; supporting the wellbeing, values and spirituality of young people</em>&#8221;; a highly debatable statement at best. Nothing a dedicated youth worker or counsellor couldn&#8217;t do, probably with a lot more frankness and&nbsp;pragmatism.</p>
<p>During my high-school years I have fond memories of avoiding the weekly religion class through any means necessary. Even at 13 I understood the absurdity of those classes being explicitly opt-out instead of opt-in; consider the parents and carers who don&#8217;t think about religion and thus aren&#8217;t likely to know their child is being delivered a dose of Arbitrary Belief System&trade; each week. From my perspective it&#8217;s an ill-fitting cog in a rational, supposedly-secular education system, and I&#8217;ve no interest in maintaining what church leaders consider the &#8216;<a href="http://xhva.net/log/?p=105">special religious education system</a>&#8217;.&nbsp;Eek.</p>
]]></content:encoded>
			<wfw:commentRss>http://xhva.net/log/2010/08/an-increase-in-state-funded-school-chaplains/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
