<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<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/"
	>

<channel>
	<title>Code That Works</title>
	<link>http://blog.industria.com/testbed</link>
	<description>Standing on the shoulders of midgets -- Lots of midgets.</description>
	<pubDate>Fri, 21 Dec 2007 13:25:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>JobScheduler, MkII</title>
		<link>http://blog.industria.com/testbed/2007/10/27/jobscheduler-mkii/</link>
		<comments>http://blog.industria.com/testbed/2007/10/27/jobscheduler-mkii/#comments</comments>
		<pubDate>Sat, 27 Oct 2007 19:29:18 +0000</pubDate>
		<dc:creator>logi</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.industria.com/testbed/2007/10/27/jobscheduler-mkii/</guid>
		<description><![CDATA[I&#8217;ve just re-written the JobScheduler, but can&#8217;t commit it from this hotel which blocks everything except web traffic. The new implementation has pluggable re-scheduling strategies, with three initial implementations for running once, running at fixed intervals with a random initial wait and for running on a boundary, such as on the hour or on the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just re-written the JobScheduler, but can&#8217;t commit it from this hotel which blocks everything except web traffic. The new implementation has pluggable re-scheduling strategies, with three initial implementations for running once, running at fixed intervals with a random initial wait and for running on a boundary, such as on the hour or on the minute.<br />
 <a href="http://blog.industria.com/testbed/2007/10/27/jobscheduler-mkii/#more-10" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.industria.com/testbed/2007/10/27/jobscheduler-mkii/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ekioh http redirect is now working</title>
		<link>http://blog.industria.com/testbed/2007/10/24/ekioh-http-redirect-is-now-working/</link>
		<comments>http://blog.industria.com/testbed/2007/10/24/ekioh-http-redirect-is-now-working/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 10:23:12 +0000</pubDate>
		<dc:creator>fannar</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.industria.com/testbed/2007/10/24/ekioh-http-redirect-is-now-working/</guid>
		<description><![CDATA[Thanks to Piers at Ekioh and a few emails back and forth with debug builds and information, redirects now works like in dream.
So now you can use your regular url to access Zignal.
http://lt-fannar:8088/index.svg
]]></description>
			<content:encoded><![CDATA[<p>Thanks to Piers at Ekioh and a few emails back and forth with debug builds and information, redirects now works like in dream.<br />
So now you can use your regular url to access Zignal.<br />
<code>http://lt-fannar:8088/index.svg</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.industria.com/testbed/2007/10/24/ekioh-http-redirect-is-now-working/feed/</wfw:commentRss>
		</item>
		<item>
		<title>log4es - Logging For EcmaScript</title>
		<link>http://blog.industria.com/testbed/2007/10/23/log4es-logging-for-ecmascript/</link>
		<comments>http://blog.industria.com/testbed/2007/10/23/log4es-logging-for-ecmascript/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 22:40:49 +0000</pubDate>
		<dc:creator>logi</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.industria.com/testbed/2007/10/23/log4es-logging-for-ecmascript/</guid>
		<description><![CDATA[It turned out that the log4js library we&#8217;d started adopting does not support globally configured appenders, but rather expected us to configure appenders for each individual logger. Also, it&#8217;s rather big, unwieldy and has more levels of indirection than you really want in a tight loop in javascript.
We therefore went ahead and prettied up the [...]]]></description>
			<content:encoded><![CDATA[<p>It turned out that the log4js library we&#8217;d started adopting does not support globally configured appenders, but rather expected us to configure appenders for each individual logger. Also, it&#8217;s rather big, unwieldy and has more levels of indirection than you really want in a tight loop in javascript.</p>
<p>We therefore went ahead and prettied up the logging library that Árni had worked on, re-naming it to log4es to distinguish it from the two existing log4js libraries.</p>
<p> <a href="http://blog.industria.com/testbed/2007/10/23/log4es-logging-for-ecmascript/#more-8" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.industria.com/testbed/2007/10/23/log4es-logging-for-ecmascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>To load Zignal in Ekioh</title>
		<link>http://blog.industria.com/testbed/2007/10/23/to-load-zignal-in-ekioh/</link>
		<comments>http://blog.industria.com/testbed/2007/10/23/to-load-zignal-in-ekioh/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 14:43:59 +0000</pubDate>
		<dc:creator>fannar</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.industria.com/testbed/2007/10/23/to-load-zignal-in-ekioh/</guid>
		<description><![CDATA[To be able to load Zignal in Ekioh you need to go directly to /launch/client with correct parameters because it seams like Ekioh doesn&#8217;t support redirect in the http layer.
Example url:

http://lt-fannar:8088/launch/client?JSESSIONID=&#38;Zignal-DmrSelector=Ekioh/db3073ab7ced&#38;Zignal-DmrTypeSelector=Ekioh/Ekioh&#38;Zignal-MacAddress=db3073ab7ced&#38;renderingType=svg&#38;Zignal-AccountSelector=1&#38;Zignal-AccountPassword=1234&#38;Zignal-DmrDriver=ekioh

Update : Redirect now works! 
]]></description>
			<content:encoded><![CDATA[<p>To be able to load Zignal in Ekioh you need to go directly to /launch/client with correct parameters because it seams like Ekioh doesn&#8217;t support redirect in the http layer.</p>
<p>Example url:<br />
<code><br />
http://lt-fannar:8088/launch/client?JSESSIONID=&amp;Zignal-DmrSelector=Ekioh/db3073ab7ced&amp;Zignal-DmrTypeSelector=Ekioh/Ekioh&amp;Zignal-MacAddress=db3073ab7ced&amp;renderingType=svg&amp;Zignal-AccountSelector=1&amp;Zignal-AccountPassword=1234&amp;Zignal-DmrDriver=ekioh<br />
</code></p>
<p>Update : Redirect now works! <img src='http://blog.industria.com/testbed/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.industria.com/testbed/2007/10/23/to-load-zignal-in-ekioh/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JobScheduler and channel-switch mockup</title>
		<link>http://blog.industria.com/testbed/2007/10/19/jobscheduler-and-channel-switch-mockup/</link>
		<comments>http://blog.industria.com/testbed/2007/10/19/jobscheduler-and-channel-switch-mockup/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 19:52:48 +0000</pubDate>
		<dc:creator>logi</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.industria.com/testbed/2007/10/19/jobscheduler-and-channel-switch-mockup/</guid>
		<description><![CDATA[The below code is a complete mockup of the channel-switching messaging and interactions, without actually switching channels or showing any svg graphics. It showcases the new JobScheduler and builds on the previous example.
We set up a job scheduler which delegates to a timer adapter using the browser&#8217;s window.setTimeout(...) and window.clearTimeout(...) methods (as opposed to what&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>The below code is a complete mockup of the channel-switching messaging and interactions, without actually switching channels or showing any svg graphics. It showcases the new <code>JobScheduler</code> and builds on the previous example.</p>
<p>We set up a job scheduler which delegates to a timer adapter using the browser&#8217;s <code>window.setTimeout(...)</code> and <code>window.clearTimeout(...)</code> methods (as opposed to what&#8217;s needed on SVG browsers without a window object or in unit tests).</p>
<p>We next set up a model for the current playback selection and a pair of listeners for channel changes to:</p>
<ol>
<li>Display the channel-switcher window, and set or reset the timer to hide it again for one second in the future.</li>
<li>Do nothing, but set or reset the timer to switch the playing channel for 300ms in the future.</li>
</ol>
<p>Finally, add a job to repeatedly select a random channel every 3 seconds to trigger everything. To manually trigger channel changes, add the following code to the testbed.html file: <code>&lt;a href="javascript:userInputJob()"&gt;random channel!&lt;/a&gt;</code><br />
 <a href="http://blog.industria.com/testbed/2007/10/19/jobscheduler-and-channel-switch-mockup/#more-6" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.industria.com/testbed/2007/10/19/jobscheduler-and-channel-switch-mockup/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ObjectReferenceModel and synchronous DWR calls</title>
		<link>http://blog.industria.com/testbed/2007/10/19/objectreferencemodel-and-synchronous-dwr-calls/</link>
		<comments>http://blog.industria.com/testbed/2007/10/19/objectreferencemodel-and-synchronous-dwr-calls/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 15:33:38 +0000</pubDate>
		<dc:creator>logi</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.industria.com/testbed/2007/10/19/objectreferencemodel-and-synchronous-dwr-calls/</guid>
		<description><![CDATA[The following testbed sets up an ObjectReferenceModel representing the channelPlaybackModel and simulates some of the interaction for our 2.0-M02 milestone. It also sets up a couple of listeners to changes to the channel playback selection.
Finally, a loop will repeatedly wait for the user to click a button, then request a random channel from the server [...]]]></description>
			<content:encoded><![CDATA[<p>The following testbed sets up an ObjectReferenceModel representing the channelPlaybackModel and simulates some of the interaction for our 2.0-M02 milestone. It also sets up a couple of listeners to changes to the channel playback selection.</p>
<p>Finally, a loop will repeatedly wait for the user to click a button, then request a random channel from the server using a synchronous call and set the channel playback selection to that.</p>
<p>The two listeners will log to the firebug console what they would be doing in an actually developed system.</p>
<pre>
// import com.dustindiaz.publisher
// import tv.zignal.karateka.models.ObjectReferenceModel
// import dwr:interface/ScheduleClientApi

var channelPlaybackModel = new ObjectReferenceModel();

var channelPlaybackListener = function channelPlaybackListener(event) {
    var to = event.to ? event.to.url : "nothing";
    console.info("Ask PlaybackManager to start playing " + to);
}
channelPlaybackListener.subscribe(channelPlaybackModel.changed);

var channelSwitchListener = function channelSwitchListener(event) {
    var to = event.to ? event.to.title : "nothing";
    console.info("Display that we are watching " + to);
}
channelSwitchListener.subscribe(channelPlaybackModel.changed);

for( i=0; i&lt;10; i++ ) {
    alert("Wait for user interaction");
    var channel;
    ScheduleClientApi.getRandomTvChannel({
        async:false,
        callback: function(result) {
            channel = result;
        }
    });
    channelPlaybackModel.set(channel);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.industria.com/testbed/2007/10/19/objectreferencemodel-and-synchronous-dwr-calls/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Publisher</title>
		<link>http://blog.industria.com/testbed/2007/10/19/4/</link>
		<comments>http://blog.industria.com/testbed/2007/10/19/4/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 14:11:37 +0000</pubDate>
		<dc:creator>logi</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://blog.industria.com/testbed/2007/10/19/4/</guid>
		<description><![CDATA[This testbed shows how Dustin Diaz&#8217; publisher framework can be imported and used. It is structured like a unit test and may be converted into one as the infrastructure for that is made more accessible.

]]></description>
			<content:encoded><![CDATA[<p>This testbed shows how Dustin Diaz&#8217; publisher framework can be imported and used. It is structured like a unit test and may be converted into one as the infrastructure for that is made more accessible.</p>
<pre> <a href="http://blog.industria.com/testbed/2007/10/19/4/#more-4" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.industria.com/testbed/2007/10/19/4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Testbeds</title>
		<link>http://blog.industria.com/testbed/2007/10/19/testbeds/</link>
		<comments>http://blog.industria.com/testbed/2007/10/19/testbeds/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 14:06:14 +0000</pubDate>
		<dc:creator>logi</dc:creator>
		
		<category><![CDATA[Meta]]></category>

		<guid isPermaLink="false">http://blog.industria.com/testbed/2007/10/19/testbeds/</guid>
		<description><![CDATA[We&#8217;ve recently added a testbed to the zignal 2 server so javascript developers can write testbed.js files to test whatever library or application code they&#8217;re working with and run it in the context of the whole application. This blog is started as a place to publish these testbeds for others to look at, learn from [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve recently added a testbed to the zignal 2 server so javascript developers can write testbed.js files to test whatever library or application code they&#8217;re working with and run it in the context of the whole application. This blog is started as a place to publish these testbeds for others to look at, learn from and poach from as needed.</p>
<p>Anyone who feels like they need to post to it should create accounts on blog.industria.com and send the e-mail address to me for adding.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.industria.com/testbed/2007/10/19/testbeds/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
