<?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>Barryvan &#187; Uncategorized</title>
	<atom:link href="http://www.barryvan.com.au/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.barryvan.com.au</link>
	<description>Music, Programming, Design</description>
	<lastBuildDate>Sun, 08 Jan 2012 08:48:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Songs for the Cure 2010</title>
		<link>http://www.barryvan.com.au/2010/02/songs-for-the-cure-2010/</link>
		<comments>http://www.barryvan.com.au/2010/02/songs-for-the-cure-2010/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 10:57:44 +0000</pubDate>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.barryvan.com.au/?p=428</guid>
		<description><![CDATA[Last year, I was proud to be part of the inaugural Indie Music Cancer Drive. Along with a whole lot of very talented artists, I contributed music to a compilation album, &#8220;Songs for the Cure&#8221;. All the proceeds from the sales of this album went to the American Cancer Society. This year, I am once [...]]]></description>
			<content:encoded><![CDATA[<p>Last year, I was proud to be part of the inaugural <b>Indie Music Cancer Drive</b>. Along with a whole lot of very talented artists, I contributed music to a compilation album, &#8220;Songs for the Cure&#8221;. All the proceeds from the sales of this album went to the American Cancer Society.</p>
<div style="text-align:center;"><img src="http://www.cancerdrive.org/SongsCure10Banner-sig.jpg" alt="Songs for the Cure 2010"/></div>
<p>This year, I am once again contributing. I just finished work on the track I will be contributing, so I thought it high time I let everyone know about this. Josh Whelchel, the organiser of the drive (and a fantastic musician to boot), has set a target of $10,000 for this year. If you donate $25 or more, you receive a physical copy of the (two disc!) album; otherwise, you receive the album digitally.</p>
<p>Here&#8217;s the official media release:</p>
<blockquote>
<h2>Indie Music Cancer Drive to Release Songs for the Cure &#8217;10 Album</h2>
<p><b>Twenty-eight artists join together to raise money for the American Cancer Society and aim to raise $10,000.</b></p>
<p><i>Cincinnati, OH, January 24th, 2010.</i> &#8211; The Indie Music Cancer Society will release it&#8217;s 2010 compilation, <b>Songs for the Cure &#8217;10</b> on March 1st, 2010 and forward 100% of all donations and profits to the American Cancer Society through its Relay for Life event held on April 23rd, 2010 at the University of Cincinnati.  The album will feature music from over twenty-eight (28) diverse artists, including Select Start, big giant circles, Alec Holowka, Two Seconds Away, Jay Tholen, Josh Whelchel, Renee Winter, and others.  The organization is currently accepting donations, and all donors of $25 or more before MARCH 1, 2010 will receive a free physical copy of the album.  Supporters with $10 or more will receive a free digital copy.  Genres represented include Pop, Rock, Alternative, Chiptunes, Instrumental, Opera, Classical, Avant-Garde, Jazz, Fusion, and many others.  The organization raised over $6,000 for the event last year and is still forwarding profits from last year&#8217;s album, available on iTunes, Amazon, and others.  A full list of artists can be found at the Songs for the Cure &#8217;10 website at <a href="http://www.cancerdrive.org" target="_blank">http://www.cancerdrive.org</a>.  The fundraiser aims to raise $10,000 by April 23rd, 2010, preceding a digital release of the album to iTunes, Amazon, CDBaby, and other retailers.  Donations are accepted through <a href="http://www.cancerdrive.org" target="_blank">http://www.cancerdrive.org</a>.</p>
<p>For more information please contact:</p>
<p>JOSH WHELCHEL<br />
(513) 549-2336<br />
<a href="http://www.cancerdrive.org" target="_blank">http://www.cancerdrive.org</a>
</p></blockquote>
<p>So there you have it. And for good measure, here&#8217;s the promotional video:</p>
<div style="text-align:center;"><object width="601" height="338"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8933889&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8933889&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=ffffff&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="601" height="338"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.barryvan.com.au/2010/02/songs-for-the-cure-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another new theme</title>
		<link>http://www.barryvan.com.au/2010/01/another-new-theme/</link>
		<comments>http://www.barryvan.com.au/2010/01/another-new-theme/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 01:25:15 +0000</pubDate>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.barryvan.com.au/?p=416</guid>
		<description><![CDATA[I was never really happy with my previous 2010 theme, so I&#8217;ve gone and done a completely new one. This new one makes extensive use of CSS3 properties, such as gradients and shadows. It looks best in Firefox &#62;= 3.6,followed by Safari &#62;= 4, then Chrome &#62;= 4, Opera &#62;= 10, and IE &#62;= 8. [...]]]></description>
			<content:encoded><![CDATA[<p>I was never really happy with my previous 2010 theme, so I&#8217;ve gone and done a completely new one.</p>
<p>This new one makes extensive use of CSS3 properties, such as gradients and shadows. It looks best in Firefox &gt;= 3.6,followed by Safari &gt;= 4, then Chrome &gt;= 4, Opera &gt;= 10, and IE &gt;= 8. Theoretically, Firefox and Safari/Chrome support the same level of features, but the webkit gradient syntax is absolutely <em>awful</em>. It&#8217;s confusing, needlessly complex, and poorly thought-out, in my opinion. Contrast the following two lines:</p>
<pre class="brush: css">background: -moz-linear-gradient(top, #111, #333);
background: -webkit-gradient(linear, left top, left bottom, from(#222), to(#333));</pre>
<p>See what I mean?</p>
<div class="screenshots"><img class="aligncenter size-full wp-image-418" title="Gecko rendering" src="http://www.barryvan.com.au/wp-content/uploads/2010/01/gecko.png" alt="" width="200" height="200" /><img class="aligncenter size-full wp-image-420" title="Webkit rendering" src="http://www.barryvan.com.au/wp-content/uploads/2010/01/webkit.png" alt="" width="200" height="199" /><img class="aligncenter size-full wp-image-419" title="Trident rendering" src="http://www.barryvan.com.au/wp-content/uploads/2010/01/trident.png" alt="" width="200" height="200" /></div>
<p>Gecko (Firefox), Webkit (Safari), and Trident (IE) rendering.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryvan.com.au/2010/01/another-new-theme/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Clean Word markup</title>
		<link>http://www.barryvan.com.au/2010/01/clean-word-markup/</link>
		<comments>http://www.barryvan.com.au/2010/01/clean-word-markup/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 03:21:24 +0000</pubDate>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.barryvan.com.au/?p=410</guid>
		<description><![CDATA[When writing a web-app that accepts formatted input from users, you&#8217;ll often find that they will copy and paste text from Microsoft Word. Unfortunately, Word fills the markup with lots of unnecessary and unwanted muck. To clean this all up, I wrote the following function (directly implemented on the String prototype below): String.implement({ sanitiseWord: function() [...]]]></description>
			<content:encoded><![CDATA[<p>When writing a web-app that accepts formatted input from users, you&#8217;ll often find that they will copy and paste text from Microsoft Word. Unfortunately, Word fills the markup with lots of unnecessary and unwanted muck. To clean this all up, I wrote the following function (directly implemented on the String prototype below):</p>
<pre class="brush: javascript">String.implement({
	sanitiseWord: function() {
		var s = this.replace(/\r/g, &#039;\n&#039;).replace(/\n/g, &#039; &#039;);
		var rs = [];
		rs.push(/&lt;!--.+?--&gt;/g); // Comments
		rs.push(/&lt;title&gt;.+?&lt;\/title&gt;/g); // Title
		rs.push(/&lt;(meta|link|.?o:|.?style|.?div|.?head|.?html|body|.?body|.?span|!\[)[^&gt;]*?&gt;/g); // Unnecessary tags
		rs.push(/ v:.*?=&quot;.*?&quot;/g); // Weird nonsense attributes
		rs.push(/ style=&quot;.*?&quot;/g); // Styles
		rs.push(/ class=&quot;.*?&quot;/g); // Classes
		rs.push(/(&amp;nbsp;){2,}/g); // Redundant &amp;nbsp;s
		rs.push(/&lt;p&gt;(\s|&amp;nbsp;)*?&lt;\/p&gt;/g); // Empty paragraphs
		rs.each(function(regex) {
			s = s.replace(regex, &#039;&#039;);
		});
		return s.replace(/\s+/g, &#039; &#039;);
	}
});</pre>
<p>If you&#8217;re not using MooTools, the function will look something like this:</p>
<pre class="brush: javascript">String.prototype.sanitiseWord = function() {
// function body here...
};</pre>
<h2>Usage</h2>
<pre class="brush: javascript">var s = &quot;(some awful Word markup)&quot;.sanitiseWord();</pre>
<p>In one of the tests I ran, the input went from around 7000 characters to just 700.</p>
<h2>Example</h2>
<p><iframe style="width: 100%; height: 300px" src="http://mootools.net/shell/26Jpf/embedded/"></iframe></p>
<p>Some of the regular expressions I used were adapted from C# ones in <a href="http://www.codinghorror.com/blog/archives/000485.html">a post by Jeff Atwood</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryvan.com.au/2010/01/clean-word-markup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quicksort an array of objects</title>
		<link>http://www.barryvan.com.au/2009/08/quicksort-an-array-of-objects/</link>
		<comments>http://www.barryvan.com.au/2009/08/quicksort-an-array-of-objects/#comments</comments>
		<pubDate>Wed, 05 Aug 2009 07:14:51 +0000</pubDate>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MooTools]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.barryvan.com.au/?p=225</guid>
		<description><![CDATA[Often, you will need to sort an array of objects in Javascript. The inbuilt sort() function can&#8217;t do this, but here is a Quicksort implementation for doing just this. Parameters array The array to be sorted. (See below for an implementation on the Array Native itself, which makes this variable unnecessary). key The key to [...]]]></description>
			<content:encoded><![CDATA[<p>Often, you will need to sort an array of objects in Javascript. The inbuilt <em>sort()</em> function can&#8217;t do this, but here is a Quicksort implementation for doing just this.</p>
<h2>Parameters</h2>
<p><strong>array</strong> The array to be sorted. (See below for an implementation on the Array Native itself, which makes this variable unnecessary).</p>
<p><strong>key</strong> The key to sort by. Make sure every object in your array has this key.</p>
<h2>Examples</h2>
<pre class="brush: javascript">
var objs = [
	{fruit:&quot;cherry&quot;},
	{fruit:&quot;apple&quot;},
	{fruit:&quot;banana&quot;}
];

console.log(objs.sortObjects(&#039;fruit&#039;));
// Logs [{fruit:&quot;apple&quot;},{fruit:&quot;banana&quot;},{fruit:&quot;cherry&quot;}] to the console
</pre>
<h2>The code</h2>
<pre class="brush: javascript">
sortObjects: function(array, key) {
	for (var i = 0; i &lt; array.length; i++) {
		var currVal = array[i][key];
		var currElem = array[i];
		var j = i - 1;
		while ((j &gt;= 0) &amp;&amp; (array[j][key] &gt; currVal)) {
			array[j + 1] = array[j];
			j--;
		}
		array[j + 1] = currElem;
	}
}
</pre>
<h3>Implemented on the Array native:</h3>
<pre class="brush: javascript">
Array.implement({
	sortObjects: function(key) {
		for (var i = 0; i &lt; this.length; i++) {
			var currVal = this[i][key];
			var currElem = this[i];
			var j = i - 1;
			while ((j &gt;= 0) &amp;&amp; (this[j][key] &gt; currVal)) {
				this[j + 1] = this[j];
				j--;
			}
			this[j + 1] = currElem;
		}
	}
});
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.barryvan.com.au/2009/08/quicksort-an-array-of-objects/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Words I have invented</title>
		<link>http://www.barryvan.com.au/2009/07/words-i-have-invented/</link>
		<comments>http://www.barryvan.com.au/2009/07/words-i-have-invented/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 09:23:06 +0000</pubDate>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[lexicon]]></category>
		<category><![CDATA[word play]]></category>
		<category><![CDATA[wordplay]]></category>

		<guid isPermaLink="false">http://www.barryvan.com.au/?p=209</guid>
		<description><![CDATA[Here are just two of the words that I have invented to fill gaps in the English language. Adopt, disseminate, and promulgate them! Spanxiety cf. spangst, spanxious The fear of being punished; trepidation at the thought of retribution for past transgressions. Little Jimmy, having been seen stealing the cookies, was now feeling quite spanxious. I [...]]]></description>
			<content:encoded><![CDATA[<p>Here are just two of the words that I have invented to fill gaps in the English language. Adopt, disseminate, and promulgate them!</p>
<p><span style="font-size:150%;font-weight:bold;">Spanxiety</span> <em>cf. spangst, spanxious</em></p>
<p>The fear of being punished; trepidation at the thought of retribution for past transgressions.</p>
<p><em>Little Jimmy, having been seen stealing the cookies, was now feeling quite spanxious.</em><br />
<em>I suffered a bout of spanxiety at the thought of what she would do to me.</em></p>
<hr />
<span style="font-size:150%;font-weight:bold;">Illigiterate</span> <em>cf. illigiteracy</em></p>
<p>Children born out of wedlock who lack basic reading and writing skills.</p>
<p><em>With the advent of widely-available contraceptives and education, illigiteracy has fallen in Australia.</em><br />
<img src="/temp/illigiterate.png" alt="Illigiteracy Venn Diagram" title="Illigiteracy Venn Diagram" width="355" height="187" class="alignnone size-full wp-image-213" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryvan.com.au/2009/07/words-i-have-invented/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Camping: June 2009</title>
		<link>http://www.barryvan.com.au/2009/06/camping-june-2009/</link>
		<comments>http://www.barryvan.com.au/2009/06/camping-june-2009/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 08:59:39 +0000</pubDate>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Ariel]]></category>
		<category><![CDATA[camping]]></category>
		<category><![CDATA[Holidays]]></category>
		<category><![CDATA[photographs]]></category>

		<guid isPermaLink="false">http://www.barryvan.com.au/?p=195</guid>
		<description><![CDATA[Well, Ariel and I have just returned from a weekend away at Dwellingup, camping. How was it? First and foremost, it was cold. Bitterly cold. Notwithstanding the sub-arctic conditions, however, it was absolutely fantastic. The Murray River is beautiful, and we were camped no more than fifty metres away from it. We camped in the [...]]]></description>
			<content:encoded><![CDATA[<p>Well, Ariel and I have just returned from a weekend away at Dwellingup, camping. How was it? First and foremost, it was <strong>cold</strong>. Bitterly cold. Notwithstanding the sub-arctic conditions, however, it was absolutely fantastic.</p>
<p>The Murray River is beautiful, and we were camped no more than fifty metres away from it. We camped in the &#8220;Stringers&#8221; area of the Lane Poole Reserve, and managed to wrangle probably the best camping site in the entire park &#8212; secluded, equipped with a fire pit, and quiet.</p>
<p>As you can see from the photos below, our two primary concerns were a) exploring the banks of the river, and b) fire. When it&#8217;s so cold at noon that you can see your breath, a fire is a wonderful thing.</p>
<table class="photoGallery" cellspacing="0" cellpadding="0">
<tr>
<td><a href="/photos/DSC09784.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09784_tn.jpg" title="The first night's fire"/></a></td>
<td><a href="/photos/DSC09801.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09801_tn.jpg" title="Reflections on the Murray"/></a></td>
<td><a href="/photos/DSC09817.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09817_tn.jpg" title="Looking out over the Murray"/></a></td>
<td><a href="/photos/DSC09860.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09860_tn.jpg" title="Lazing around at camp"/></a></td>
<td><a href="/photos/DSC09879.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09879_tn.jpg" title="Ari on a log"/></a></td>
<td><a href="/photos/DSC09889.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09889_tn.jpg" title="The Murray up close"/></a></td>
</tr>
<tr>
<td><a href="/photos/DSC09895.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09895_tn.jpg" title="Rope swing over the Murray"/></a></td>
<td><a href="/photos/DSC09898.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09898_tn.jpg" title="The Murray River"/></a></td>
<td><a href="/photos/DSC09936.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09936_tn.jpg" title="Ari on another log"/></a></td>
<td><a href="/photos/DSC09974.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09974_tn.jpg" title="The campsite"/></a></td>
<td><a href="/photos/DSC09997.jpg" rel="lightbox[camping-june-2009]"><img src="/photos/DSC09997_tn.jpg" title="The last night's fire"/></a></td>
<td>&#160;</td>
</tr>
</table>
<p><em>(Click on an image for a larger view)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryvan.com.au/2009/06/camping-june-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The amazing Regret Index</title>
		<link>http://www.barryvan.com.au/2009/05/the-amazing-regret-index/</link>
		<comments>http://www.barryvan.com.au/2009/05/the-amazing-regret-index/#comments</comments>
		<pubDate>Fri, 01 May 2009 04:17:39 +0000</pubDate>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Dinosaur Comics]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[Ryan North]]></category>

		<guid isPermaLink="false">http://www.barryvan.com.au/?p=152</guid>
		<description><![CDATA[Ryan North, of Dinosaur Comics fame, has crafted an awesome little webapp: The Regret Index. Essentially, you vote on whether or not you regret certain things. You can even add your own regrets or search for regrets. Most of them aren&#8217;t particularly serious, and a lot of them are kinda fun. It&#8217;s worth having a [...]]]></description>
			<content:encoded><![CDATA[<p>Ryan North, of <a href="http://www.qwantz.com">Dinosaur Comics</a> fame, has crafted an awesome little webapp: <a href="http://qwantz.com/regret/index.php">The Regret Index</a>. Essentially, you vote on whether or not you regret certain things. You can even add your own regrets or search for regrets.</p>
<p>Most of them aren&#8217;t particularly serious, and a lot of them are kinda fun. It&#8217;s worth having a browse through the archive of regrets, looking at the votes, and reading the comments people have left. Some of my favourite &#8216;regrets&#8217; on the site include</p>
<ul>
<li>Eating a kitten just to prove you&#8217;re evil</li>
<li>Supergluing your foot to the bathroom floor</li>
<li>Constantly fearing regret</li>
<li>Starting to think all these questions are addressing you specifically</li>
</ul>
<p>Check it out &#8212; it&#8217;s well worth a look.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryvan.com.au/2009/05/the-amazing-regret-index/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Best WordPress Design Award</title>
		<link>http://www.barryvan.com.au/2009/03/best-wordpress-design-award/</link>
		<comments>http://www.barryvan.com.au/2009/03/best-wordpress-design-award/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 04:55:32 +0000</pubDate>
		<dc:creator>Barry van Oudtshoorn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web design]]></category>

		<guid isPermaLink="false">http://www.barryvan.com.au/?p=116</guid>
		<description><![CDATA[Over at WPWebHost, they&#8217;re hosting the Best WordPress Design Award, which should produce a lot of really great designs. I recommend taking a look!]]></description>
			<content:encoded><![CDATA[<p>Over at WPWebHost, they&#8217;re hosting the <a href="http://wpwebhost.com/best-wordpress-design-award/">Best WordPress Design Award</a>, which should produce a lot of really great designs. I recommend taking a look!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryvan.com.au/2009/03/best-wordpress-design-award/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

