<?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>Ronald!</title>
	<atom:link href="http://www.rchu.nl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rchu.nl</link>
	<description>My own little corner of the world wide web</description>
	<lastBuildDate>Mon, 06 Feb 2012 20:00:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Mix of the Month &#8211; January 2012</title>
		<link>http://www.rchu.nl/2012/02/mix-of-the-month-january-2012/</link>
		<comments>http://www.rchu.nl/2012/02/mix-of-the-month-january-2012/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 19:53:51 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[deejay]]></category>
		<category><![CDATA[Mix of the Month]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[set]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=989</guid>
		<description><![CDATA[I have a LOT of material from last month, so I tried to push a lot of tracks in little time. Quite satisfied with the result, though not with the trouble I went trough do get it on youtube. First I got the message I could upload videos longer than 15 minutes, then I made <a href='http://www.rchu.nl/2012/02/mix-of-the-month-january-2012/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><iframe width="560" height="315" src="http://www.youtube.com/embed/U5YWbFbv29g?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>I have a LOT of material from last month, so I tried to push a lot of tracks in little time. Quite satisfied with the result, though not with the trouble I went trough do get it on youtube. First I got the message I could upload videos longer than 15 minutes, then I made a video of a 19 minute set, then it was rejected because of copyright issues, then I made a quick mix without that track and uploaded it to see if it was all right, then it was rejected because my longer-than-15-minute rights were revoked, then I made a shorter quick mix and uploaded it, it was all right, then I made the final video for that mix, then when I opened my upload page my longer-than-15-minutes rights were reinstated, then I decided I was done for this month and simply uploaded the video. Pfff. Not much fun.</p>
<p>Tracklisting</p>
<ul>
<li>Noisia &#8211; Could This Be (Original Mix)</li>
<li>Smooth &#8211; From Within</li>
<li>Subsonik &#8211; Inside Your Mind (Feat. Essence)</li>
<li>L Plus &#8211; Gas Grenade</li>
<li>Davip, Engage &#038; Conectivers &#8211; Massacre</li>
<li>Cyantific &#8211; Infinity</li>
<li>Interface &#8211; Get Down</li>
<li>Octane &#038; DLR &#8211; Ordnance</li>
<li>Krakota &#8211; Scraper</li>
<li>Smooth &#8211; Shifting Sands, Pt. 2 (feat. Shaz Sparks)</li>
<li>Need for Mirrors &#8211; Columbia</li>
<li>Pdex &#038; Retrospekt &#8211; Dizzy</li>
<li>Cause4Concern &#8211; Dead Planet</li>
<li>Crystal Clear &#038; Zen &#8211; Bullet</li>
<li>2dB &#8211; Virus</li>
<li>Incube &#8211; Starscream</li>
</ul>
<p>Mix of the Month<br />
2012 Jan<br />
2011 <a href="http://www.rchu.nl/2011/10/the-best-of-october-2011/" title="The Best of October 2011">Oct</a> <a href="http://www.rchu.nl/2011/12/mix-of-the-month-november-video/" title="Mix of the Month – November (video)">Nov</a> <a href="http://www.rchu.nl/2012/01/mix-of-the-month-december-2011/" title="Mix of the Month – December 2011">Dec</a></p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2012/02/mix-of-the-month-january-2012/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2012/02/mix-of-the-month-january-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mix of the Month &#8211; December 2011</title>
		<link>http://www.rchu.nl/2012/01/mix-of-the-month-december-2011/</link>
		<comments>http://www.rchu.nl/2012/01/mix-of-the-month-december-2011/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 07:23:12 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[deejay]]></category>
		<category><![CDATA[Mix of the Month]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[set]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=981</guid>
		<description><![CDATA[My second monthly mix, sorry for the delay but early January I was busy recording a 6 hour mix of last year&#8217;s best tracks. The rule I invented and broke last month (make it 10 tracks) is going out of the window, I&#8217;ll just see what each month brings from now on. Tracklisting: * Indivision <a href='http://www.rchu.nl/2012/01/mix-of-the-month-december-2011/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><iframe width="560" height="315" src="http://www.youtube.com/embed/lw4ddlEIwq4?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>My second monthly mix, sorry for the delay but early January I was busy recording a 6 hour mix of last year&#8217;s best tracks. The rule I invented and broke last month (make it 10 tracks) is going out of the window, I&#8217;ll just see what each month brings from now on.</p>
<p>Tracklisting:<br />
* Indivision &#8211; Missing You<br />
* Tantrum Desire &#8211; Reach (Push the Feeling) [Original Mix]<br />
* Sparkzeeman &#8211; Back In 5 Minutes<br />
* ShockOne &#8211; Relapse (Tantrum Desire Remix)<br />
* Majistrate &#8211; Oxygen<br />
* Modified Motion &#038; Faction &#8211; Sci-Fi (Supreme Being Remix)<br />
* Dominator &#8211; Holes in Ya Chest (feat. Fat Man D)<br />
* Sensai &#8211; Greater Power<br />
* Mindscape &#038; Jade &#8211; Orion<br />
* Pleasure &#8211; Cradle<br />
* The Damn Bell Doors, A Girl &#038; A Gun &#8211; Stun Gun (Original Mix)</p>
<p>Mix of the Month<br />
2012 <a href="http://www.rchu.nl/2012/02/mix-of-the-month-january-2012/" title="Mix of the Month – January 2012">Jan</a><br />
2011 <a href="http://www.rchu.nl/2011/10/the-best-of-october-2011/" title="The Best of October 2011">Oct</a> <a href="http://www.rchu.nl/2011/12/mix-of-the-month-november-video/" title="Mix of the Month – November (video)">Nov</a> Dec</p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2012/01/mix-of-the-month-december-2011/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2012/01/mix-of-the-month-december-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 2011 Mix</title>
		<link>http://www.rchu.nl/2011/12/the-2011-mix/</link>
		<comments>http://www.rchu.nl/2011/12/the-2011-mix/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 17:28:46 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[deejay]]></category>
		<category><![CDATA[best of]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[set]]></category>
		<category><![CDATA[VirtualDJ Radio]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=970</guid>
		<description><![CDATA[End of the year, time to look back at the many great tracks released this year. But since music isn&#8217;t particulary interesting to look at I&#8217;ve made a mix, to listen to. Some remarks: I did not prepare a tracklist but improvised a set as usual. I did, obviously, only use tracks from 2011 and <a href='http://www.rchu.nl/2011/12/the-2011-mix/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.rchu.nl/wordpress/wp-content/uploads/2011mix-150x150.png" alt="" title="2011mix" width="150" height="150" class="alignright size-thumbnail wp-image-971" />End of the year, time to look back at the many great tracks released this year. But since music isn&#8217;t particulary interesting to look at I&#8217;ve made a mix, to listen to. Some remarks:</p>
<ul>
<li>I did not prepare a tracklist but improvised a set as usual. I did, obviously, only use tracks from 2011 and tried not to use the same artist or release to much</li>
<li>I&#8217;ve specialised in popular DnB and Jump-up but the two hours were gone before I got to those genres.</li>
<li>I tried some changes to my mixing style to make it cleaner and tighter, and am quite content with the result.</li>
<li>I found out I&#8217;ve acquired a lot of music in 2011, so part 2 contains only pop tracks</li>
</ul>
<p>Download the 2011 mix:<br />
<a href="http://www.rchu.nl/files/dj/Ronald-2011-pt1.mp3">Part 1</a><br />
<a href="http://www.rchu.nl/files/dj/Ronald-2011-pt2.mp3">Part 2</a><br />
<a href="http://www.rchu.nl/files/dj/Ronald-2011-pt3.mp3">Part 3</a></p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2011/12/the-2011-mix/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2011/12/the-2011-mix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.rchu.nl/files/dj/Ronald-2011-pt1.mp3" length="159682465" type="audio/mpeg" />
<enclosure url="http://www.rchu.nl/files/dj/Ronald-2011-pt2.mp3" length="31391744" type="audio/mpeg" />
<enclosure url="http://www.rchu.nl/files/dj/Ronald-2011-pt3.mp3" length="165139070" type="audio/mpeg" />
		</item>
		<item>
		<title>Mix of the Month &#8211; November (video)</title>
		<link>http://www.rchu.nl/2011/12/mix-of-the-month-november-video/</link>
		<comments>http://www.rchu.nl/2011/12/mix-of-the-month-november-video/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 00:10:35 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[deejay]]></category>
		<category><![CDATA[Mix of the Month]]></category>
		<category><![CDATA[set]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=962</guid>
		<description><![CDATA[My best ten purchusases in the last month, just like last month, only this time not a playlist but a movie of a mix! Mix of the Month 2012 Jan 2011 Oct Nov Dec]]></description>
			<content:encoded><![CDATA[<p>My best ten purchusases in the last month, just like <a href="http://www.rchu.nl/2011/10/the-best-of-october-2011/" title="The Best of October 2011">last month</a>, only this time not a <a href="http://www.youtube.com/watch?v=5-vdOtNmMGU&#038;list=PL84D769C2EC55EE54&#038;feature=plpp_play_all">playlist</a> but a movie of a mix!</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/GWdxsW1OQq0?rel=0" frameborder="0" allowfullscreen></iframe></p>
<p>Mix of the Month<br />
2012 <a href="http://www.rchu.nl/2012/02/mix-of-the-month-january-2012/" title="Mix of the Month – January 2012">Jan</a><br />
2011 <a href="http://www.rchu.nl/2011/10/the-best-of-october-2011/" title="The Best of October 2011">Oct</a> Nov <a href="http://www.rchu.nl/2012/01/mix-of-the-month-december-2011/" title="Mix of the Month – December 2011">Dec</a></p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2011/12/mix-of-the-month-november-video/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2011/12/mix-of-the-month-november-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Live recording (18/11/2011)</title>
		<link>http://www.rchu.nl/2011/11/live-recording-18112011/</link>
		<comments>http://www.rchu.nl/2011/11/live-recording-18112011/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 13:08:12 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[deejay]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[set]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=956</guid>
		<description><![CDATA[Yesterday I played two live sets at the CKI alumni party. The first 45 minute set resulted in an 60 minutes awesome full dance floor, so I only had 30 minutes for the second part but by then many people were already gone anyway. I&#8217;m pretty satisfied with the first set (except for the Pendulum <a href='http://www.rchu.nl/2011/11/live-recording-18112011/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.rchu.nl/wordpress/wp-content/uploads/live21-150x150.png" alt="" title="Live recordings" width="150" height="150" class="alignright size-thumbnail wp-image-761" />Yesterday I played two live sets at the <a href="http://www.uscki.nl/">CKI</a> alumni party. The first 45 minute set resulted in an 60 minutes awesome full dance floor, so I only had 30 minutes for the second part but by then many people were already gone anyway. I&#8217;m pretty satisfied with the first set (except for the Pendulum track, but that&#8217;s what people want to hear) and was surprised at the positive reaction to the oldskool hits. I recorded everything so you can listen to both tightly packed sets here:</p>
<p><a href="http://www.rchu.nl/files/dj/Live05_ K-Sjot pt. 1 (2011_11_19).mp3">Part 1</a><br />
<a href="http://www.rchu.nl/files/dj/Live06_ K-Sjot pt. 2 (2011_11_19).mp3">Part 2</a></p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2011/11/live-recording-18112011/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2011/11/live-recording-18112011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inconsistent gestures in OSX Lion</title>
		<link>http://www.rchu.nl/2011/11/inconsistent-gestures-in-osx-lion/</link>
		<comments>http://www.rchu.nl/2011/11/inconsistent-gestures-in-osx-lion/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 11:44:17 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[Lion]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=949</guid>
		<description><![CDATA[As everyone it took me some time, though not more than a day or two, to get used to natural scrolling in OS X Lion, but now I really like it. If feels natural because it feels like you put your fingers on the page and pull it upwards to scroll down, and vice versa. <a href='http://www.rchu.nl/2011/11/inconsistent-gestures-in-osx-lion/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.rchu.nl/wordpress/wp-content/uploads/Screen-Shot-2011-11-01-at-12.18.17-150x150.png" alt="OS X Swipe gesture" title="OS X Swipe gesture" width="150" height="150" class="alignright size-thumbnail wp-image-950" />As everyone it took me some time, though not more than a day or two, to get used to <em>natural scrolling</em> in OS X Lion, but now I really like it. If feels natural because it feels like you put your fingers on the page and pull it upwards to scroll down, and vice versa. The same thing goes for the four finger swipe to switch between spaces and full screen applications. Hold the current space, and pull it to the left to reveal the space or application on the right.</p>
<p>It does not, however, work that way with the three finger gesture to go to the next or previous page, which also works as the back/next button in my browser. Visualizing the pages of a document or in your browser history as numbered pages going from left to right seems the most natural (if you read from left to right as I do). But swiping to the left brings you to the previous page, not the next. I ask you to go into mission control. Do a four-finger swipe to the left, and then a three finger swipe to the left and see what happens (you will go to the next space, and then go back to the previous space). Same direction, different result.</p>
<p>The trackpad gestures take little time to get used to, the direction doesn&#8217;t really matter that much because  you get used to it. But because these swipe gestures are inconsistent they still causes me to make the wrong gesture. I hope those human-interface geniuses at Apple will realize this too and, most importantly, fix it.</p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2011/11/inconsistent-gestures-in-osx-lion/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2011/11/inconsistent-gestures-in-osx-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Best of October 2011</title>
		<link>http://www.rchu.nl/2011/10/the-best-of-october-2011/</link>
		<comments>http://www.rchu.nl/2011/10/the-best-of-october-2011/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 11:27:05 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[deejay]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[best of]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=933</guid>
		<description><![CDATA[The idea of sharing my best music purchases has been in my head for a while, and now I&#8217;m finally putting it into practice. This is the first monthly blog post where I share some of the best new tracks (just the names, obviously, no illegal downloads!) of the past month. Delta Heavy &#8211; OverkillOverkill/Hold <a href='http://www.rchu.nl/2011/10/the-best-of-october-2011/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>The idea of sharing my best music purchases has been in my head for a while, and now I&#8217;m finally putting it into practice. This is the first monthly blog post where I share some of the best new tracks (just the names, obviously, no illegal downloads!) of the past month.</p>
<p><img src="/images/covers/overkill.png" style="float:left;margin: 0 4px 4px 0;" /><strong>Delta Heavy &#8211; Overkill</strong><br /><span style="color: #777">Overkill/Hold Me &#8211; Single</span><br style="clear: both" /><img src="/images/covers/rollstar.png" style="float:left;margin: 0 4px 4px 0;" /><strong>Dom &#038; Roland &#8211; Rollstar</strong><br /><span style="color: #777">Last Chance Saloon/Rollstar &#8211; Single</span><br style="clear: both" /><img src="/images/covers/cemetery.png" style="float:left;margin: 0 4px 4px 0;" /><strong>Foreign Concept &#038; Bringa &#8211; Cemetery</strong><br /><span style="color: #777">Shogun Audio Presents &#8211; Way of the Warrior</span><br style="clear: both" /><img src="/images/covers/thefirstnote.png" style="float:left;margin: 0 4px 4px 0;" /><strong>High Contrast feat Tiësto and Underworld &#8211; The First Note Is Silent</strong><br /><span style="color: #777">The First Note is Silent &#8211; EP</span><br style="clear: both" /><img src="/images/covers/newlife.png" style="float:left;margin: 0 4px 4px 0;" /><strong>Nero &#8211; New Life</strong><br /><span style="color: #777">Promises EP</span><br style="clear: both" /><img src="/images/covers/bloodshed.png" style="float:left;margin: 0 4px 4px 0;" /><strong>S.P.Y &#8211; Bloodshed</strong><br /><span style="color: #777">Fierce Presents Oblivion &#8211; Single</span><br style="clear: both" /><img src="/images/covers/sacrifice.png" style="float:left;margin: 0 4px 4px 0;" /><strong>Telekinesis &#8211; Sacrifice</strong><br /><span style="color: #777">Sacrifice/Polaris &#8211; Single</span><br style="clear: both" /><img src="/images/covers/thelight.png" style="float:left;margin: 0 4px 4px 0;" /><strong>Trei &#038; L.A.O.S. &#8211; The Light</strong><br /><span style="color: #777">The Light / Mumbo Jumbo &#8211; Single</span><br style="clear: both" /></p>
<p>And for your convienience I&#8217;ve put them all in a <a href="http://www.youtube.com/watch?v=5-vdOtNmMGU&#038;list=PL84D769C2EC55EE54&#038;feature=plpp_play_all">youtube playlist</a>.</p>
<p>Finally I like to point your attention to this album compiled for the 15th birthday of Drum &#038; Bass Arena. It contains 50 gems ranging from oldskool classics to this year&#8217;s hits. Even if you, like me, already have most of the tracks there are probably enough left that make it worth buying (€6.99 on iTunes).</p>
<p><img src="/images/covers/dnbarena15.png" style="float:left;margin: 0 4px 4px 0;" /><strong>Drum &#038; Bass Arena: 15 Years</strong><br /><a style="color: #777" href="http://dnba15.breakbeat.co.uk/">dnba15.breakbeat.co.uk</a><br style="clear: both" /></p>
<p>Mix of the Month<br />
2012 <a href="http://www.rchu.nl/2012/02/mix-of-the-month-january-2012/" title="Mix of the Month – January 2012">Jan</a><br />
2011 Oct <a href="http://www.rchu.nl/2011/12/mix-of-the-month-november-video/" title="Mix of the Month – November (video)">Nov</a> <a href="http://www.rchu.nl/2012/01/mix-of-the-month-december-2011/" title="Mix of the Month – December 2011">Dec</a></p>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2011/10/the-best-of-october-2011/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2011/10/the-best-of-october-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A new toy website</title>
		<link>http://www.rchu.nl/2011/10/a-new-toy-website-2/</link>
		<comments>http://www.rchu.nl/2011/10/a-new-toy-website-2/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 21:22:05 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=920</guid>
		<description><![CDATA[As some of you might have noticed I&#8217;ve just launched a single-purpose toy website called Mag de verwarming aan (a dutch site that tells you if you can turn the heating on) together with a friend who made the design. It was a fun project overall, and interesting in three ways: Lots of Javascript The <a href='http://www.rchu.nl/2011/10/a-new-toy-website-2/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.rchu.nl/wordpress/wp-content/uploads/p1a-300x180.png" alt="" title="Mag de vewarming aan? Jazeker!" width="300" height="180" class="alignright size-medium wp-image-924" />As some of you might have noticed I&#8217;ve just launched a single-purpose toy website called <a href="http://magdeverwarmingaan.nl"><em>Mag de verwarming aan</em></a> (a dutch site that tells you if you can turn the heating on) together with <a href="http://prezi.com/edsga45604pw/cv-renske-jongbloed/">a friend</a> who made the design. It was a fun project overall, and interesting in three ways:<br />
<span id="more-920"></span></p>
<h2>Lots of Javascript</h2>
<p>The entire functionality (API calls to retrieve the location and weather, user input and the animations) is in the javascript front-end. Not my most elegant because all animations are (slightly) different and the whole application flow is basically displaying the current step and then waiting for user input or the response of an API-call. </p>
<h2>Location and weather APIs</h2>
<p>Stan Wiechers has created <a href="http://code.google.com/p/geo-location-javascript/">geo-location-javascript</a> which I gladly use to determine the location of the user. I&#8217;ve used the <a href="http://code.google.com/apis/maps/documentation/javascript/reference.html">Google maps API</a> for three reasons:</p>
<ol>
<li>Visualisation of the location</li>
<li>A convenient way to let the user input his location if it cannot be determined automatically</li>
<li><a href="http://code.google.com/apis/maps/documentation/javascript/services.html#ReverseGeocoding">Reverse Geocoding (Address Lookup)</a> which, according to the TOS, you can only use if you actually display a map.
</ol>
<p>For the weather I use the Google weather API. The downside is that is it an unofficial API so there is no official documentation and chances are the functionality will change without notice. Unfortunately there is no good alternative if you want the weather based on a longitude/latitude location (there are some US-based weather API&#8217;s that support long/lat locations and <a href="http://developer.yahoo.com/weather/">Yahoo!</a> uses its own <a href="http://developer.yahoo.com/geo/geoplanet/guide/concepts.html">WOEID</a> which means adding extra steps (reverse geocoding, obtaining an WOEID, retrieve the weather).</p>
<h2>SVG images</h2>
<p>Almost all images on the site are SVG images, because they were created as vector images anyway and vector graphics are the shit! SVG images, even though they are uncompressed XML, are way smaller than bitmap files and resize beautifully. Because MSIE support is poor (not supported below version 9) I&#8217;ve added some javascript that replaces all SVG references to PNG images.</p>
<h3>Inline</h3>
<p>I exported the image to SVG using Adobe Illustrator, loaded the XML in my favorite editor and went back to Illustrator. Naming the layer I needed to animate and exporting it again was faster than guessing which path I needed based on the <code>d</code> attribute. The inline SVG code worked immediately in Firefox, but not in Safari and Chrome (both use webkit). This is where the lack of documentation really got anoying. After lots of experimentation the solution was to place all gradient definitions in a <code>&lt;defs&gt;</code> group.</p>
<h3>Aminations</h3>
<p>One animation (the thermometer) was a perfect case to dig into SVG animations, which much more elegant and probably more efficient than a javascript <code>setTimeout()</code> based animation. Because the animation had to be triggered by Javascript after the local temperature had been determined an inline SVG image seems the best way to go. At this point it was apparent that SVG isn&#8217;t widely used on the web as there were few good sources of documentation. Using <a href="http://www.w3.org/TR/SVG/animate.html">the W3C specification</a> because no one has written more friendly documentation and tutorials was a good cue.</p>
<pre class="brush: xml;">
&lt;path id=&quot;kwik&quot; fill=&quot;url(#kwik_1_)&quot; transform=&quot;translate(0,161) scale(1,0)&quot; d=&quot;…&quot;&gt;
    &lt;animateTransform id=&quot;kwik_tr&quot; attributeName=&quot;transform&quot; attributeType=&quot;XML&quot; type=&quot;translate&quot; from=&quot;0,161&quot; to=&quot;0,0&quot; dur=&quot;2s&quot; additive=&quot;sum&quot; fill=&quot;freeze&quot; begin=&quot;indefinite&quot;/&gt;
    &lt;animateTransform id=&quot;kwik_sc&quot; attributeName=&quot;transform&quot; attributeType=&quot;XML&quot; type=&quot;scale&quot; from=&quot;1,0&quot; to=&quot;1,1&quot; dur=&quot;2s&quot; additive=&quot;sum&quot; fill=&quot;freeze&quot; begin=&quot;indefinite&quot;/&gt;
&lt;/path&gt;</pre>
<p>The animations are done with <code>animateTransform</code>, the <code>to</code> attribute is changed with javascript so the thermometers output is based on the actual temperature, and because <code>begin</code> is set to <code>indefinite</code> the animation can be started with some simple javascript:</p>
<pre class="brush: jscript;">
var _sc = Math.min(1, Math.max(0.1, (temp+10)/40));
var _tr = 161 - Math.round(_sc*161);
$('#kwik').attr(&quot;transform&quot;,&quot;translate(0,0) scale(1,1)&quot;);
$('#kwik_tr').attr('to','0,'+_tr);
$('#kwik_sc').attr('to','1,'+_sc);
document.getElementById('kwik_tr').beginElement();
document.getElementById('kwik_sc').beginElement();
</pre>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2011/10/a-new-toy-website-2/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2011/10/a-new-toy-website-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Waveform image with PHP</title>
		<link>http://www.rchu.nl/2011/09/creating-a-waveform-image-with-php/</link>
		<comments>http://www.rchu.nl/2011/09/creating-a-waveform-image-with-php/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 08:00:36 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=909</guid>
		<description><![CDATA[For my new website I have been working on for a while I want to generate an image of the waveform of all audio files uploaded on the server. A trip down google avenue quickly led me to this post on andrewfreiday.com. He describes his search for the very same and comes up with a <a href='http://www.rchu.nl/2011/09/creating-a-waveform-image-with-php/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.rchu.nl/wordpress/wp-content/uploads/wave.png" alt="" title="wave" width="150" height="150" class="alignright size-full wp-image-910" />For my new website I have been working on for a while I want to generate an image of the waveform of all audio files uploaded on the server. A trip down google avenue quickly led me to <a href="http://andrewfreiday.com/2010/04/29/generating-mp3-waveforms-with-php/">this post on andrewfreiday.com</a>. He describes his search for the very same and comes up with a solution using lame to convert the mp3 file to a wave file and a php script to generate the image. I&#8217;m going to use his approach and couldn&#8217;t resist rewriting the script.</p>
</p>
<p>You can download <a href="http://rchu.nl/files/waveform.phps">my script for generating a waveform</a>. It is licensed under the Apache License v2.0 because the original script was (I usually don&#8217;t bother with a license).</p>
<p><span id="more-909"></span></p>
<p>Too fully get what I&#8217;m talking about you should really first read the <a href="http://andrewfreiday.com/2010/04/29/generating-mp3-waveforms-with-php/">post on andrewfreiday.com</a> and look at the source code of both his and my script.</p>
<p>The original script gets the input via a POST request and uses <code>eval()</code> to call lame for the conversion. Since I do not want to use <code>eval()</code> my script should be used a a command-line tool and I&#8217;ll probably watch a directory or use the cron daemon to call a shell script which will call lame and my PHP script. It takes two parameters: the wave and png file (eg. <code>php waveform.php file.wav file.phg</code>). Same difference, and if you want the original approach it shouldn&#8217;t be hard to change it back. The actual waveform generating part consists of two parts: reading the wave file and drawing the image.</p>
<p>Reading the wave file is bases <a href="http://forums.devshed.com/php-development-5/reading-16-bit-wav-file-318740.html">a post by &#8220;zvoneM&#8221; on DevShed</a>. I&#8217;ve looked closely at the wave file specifications and the code that reads the header of the file but changed little. There are some checks on the format of the file, that&#8217;s all. I did completely rewrite how the actual is read.</p>
<p>The original code reads one value and then skips a bunch. This approach is not flexible enough and takes more time on large files. Since I am going to post two-hour DJ sets this needed to change. How much values need to be read depends on the width of the image generated. The image is also drawn within the same loop as opposed to looping over an array after reading the file.</p>
<p>The drawing part is mainly the original code, but to improve the quality of the image it is generated and then resized resulting in a more accurate and nicely antialiased image. Multiple values are read for one line to reduce the chance that the one value read is not the most representable for the block of audio it represents. This results in a more full image because less (or no) peaks are missing or to short. The image at the top of this post is generated with a zoom level of 10 and 100 values per line.<br />
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2011/09/creating-a-waveform-image-with-php/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2011/09/creating-a-waveform-image-with-php/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Watching several files for changes</title>
		<link>http://www.rchu.nl/2011/08/watching-several-files-for-changes/</link>
		<comments>http://www.rchu.nl/2011/08/watching-several-files-for-changes/#comments</comments>
		<pubDate>Sat, 20 Aug 2011 13:00:53 +0000</pubDate>
		<dc:creator>ronald</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.rchu.nl/?p=895</guid>
		<description><![CDATA[This little bash script will watch several files for changes and serves as the basis for more complicated scripts that actually do something when a change is detected. It&#8217;s simply a matter of comparing the output of stat every 5 seconds #!/bin/bash count=0 for var in &#34;$@&#34;; do count=$(($count + 1)); files[$count]=$var; stats[$count]=`stat -r &#34;$var&#34;`; <a href='http://www.rchu.nl/2011/08/watching-several-files-for-changes/'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>This little bash script will watch several files for changes and serves as the basis for more complicated scripts that actually do something when a change is detected. It&#8217;s simply a matter of comparing the output of stat every 5 seconds</p>
<pre class="brush: bash;">
#!/bin/bash

count=0
for var in &quot;$@&quot;; do
    count=$(($count + 1));
    files[$count]=$var;
    stats[$count]=`stat -r &quot;$var&quot;`;
done

while [ true ]; do
    i=1
    while [ $i -le $count ]; do
        newstat=`stat -r &quot;${files[i]}&quot;`
        if [ &quot;$newstat&quot; != &quot;${stats[i]}&quot; ]; then
            echo \&quot;${files[i]}\&quot;
            stats[$i]=$newstat
        fi
        i=$(($i+1))
    done

    sleep 5
done
</pre>
<p class='fb-like'><iframe src='http://www.facebook.com/plugins/like.php?href=http://www.rchu.nl/2011/08/watching-several-files-for-changes/&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:450px; height:65px'></iframe></p>]]></content:encoded>
			<wfw:commentRss>http://www.rchu.nl/2011/08/watching-several-files-for-changes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

