<?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>MrBlog &#187; xaraya</title>
	<atom:link href="http://mrblog.nl/category/xaraya/feed" rel="self" type="application/rss+xml" />
	<link>http://mrblog.nl</link>
	<description>eliminating my ignorance one bit at a time</description>
	<lastBuildDate>Thu, 12 Jan 2012 09:54:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-19847</generator>
	<atom:link rel='hub' href='http://mrblog.nl/?pushpress=hub'/>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><atom:link rel='salmon' href='http://mrblog.nl/?salmon=endpoint'/><atom:link rel='http://salmon-protocol.org/ns/salmon-replies' href='http://mrblog.nl/?salmon=endpoint'/><atom:link rel='http://salmon-protocol.org/ns/salmon-mention' href='http://mrblog.nl/?salmon=endpoint'/>		<item>
		<title>Xaraya commit history on video</title>
		<link>http://mrblog.nl/2010/04/11/xaraya-commit-history-on-video.html</link>
		<comments>http://mrblog.nl/2010/04/11/xaraya-commit-history-on-video.html#comments</comments>
		<pubDate>Sun, 11 Apr 2010 12:07:00 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[revision control]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://mrblog.nl/?p=826</guid>
		<description><![CDATA[Played a little with the gource log visualizer today. It is typically used to visualize committed revisions in a revision control system, although any system that logs events of some kind could be made to work with it I suppose. I happen to have a repository of xaraya going back to 2002 in git, so [...]]]></description>
			<content:encoded><![CDATA[<p>Played a little with the <a href='http://code.google.com/p/gource/' rel='external ' title='Gource revision log visualizer'>gource</a> log visualizer today. It is typically used to visualize committed revisions in a revision control system, although any system that logs events of some kind could be made to work with it I suppose.</p>

<p>I happen to have a repository of xaraya going back to 2002 in git, so I thought I&#8217;d give it a shot.</p>

<p>&#8230;more time passes than originally planned&#8230;</p>

<h4>Result</h4>

<p>8 years of commit history in 10 minutes of video. Produced with <a href='http://code.google.com/p/gource/' rel='external ' title='Gource revision log visualizer'>gource</a> from a git repository of <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a>. The video traces the 2.x main branch back to its origin, repository wise. The start is the import of the CVS postnuke repository into Bitkeeper. Since then xaraya has switched to monotone.</p>

<h5>Gource settings used:</h5>

<pre><code class="prettyprint"><a href='http://code.google.com/p/gource/' rel='external ' title='Gource revision log visualizer'>gource</a> --stop-position 1.0 \
       --camera-mode overview \
       --bloom-intensity 0.18 \
       --user-image-dir .git/avatar \
       --highlight-all-users \
       --output-framerate 60 \
       -s 0.5 \
       -720x576 \
       -a 0.3 \
       --hide filenames \
       --user-scale 1.4 \
       --date-format %Y-%m-%d \
       --disable-progress \
       --output-ppm-stream - \
| ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec libx264 -vpre default <a href='http://code.google.com/p/gource/' rel='external ' title='Gource revision log visualizer'>gource</a>.mp4
</code></pre>

<p>This produced a video of 11 min. 35 seconds. To bring it back to 10 minutes the framerate was increased until the total time fell just below 10 minutes.﻿</p>

<p style="text-align: center"><object width="480" height="385">
<param name="movie" value="http://www.youtube.com/v/fIeDCeh3uL8&amp;hl=en_US&amp;fs=1&amp;" />
<param name="allowFullScreen" value="true" />
<param name="allowscriptaccess" value="always" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/fIeDCeh3uL8&amp;hl=en_US&amp;fs=1&amp;"></embed>
</object>
</p>

<p>I specifically wanted <strong>the whole</strong> history to be in one video of 10 minutes (the Youtube maximum) which means compromising a bit on the quality. If there are things I can do within these assumptions to improve the video, I&#8217;d like to hear them.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2010/04/11/xaraya-commit-history-on-video.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>5 years of blogging?</title>
		<link>http://mrblog.nl/2008/11/04/5-years-of-blogging.html</link>
		<comments>http://mrblog.nl/2008/11/04/5-years-of-blogging.html#comments</comments>
		<pubDate>Tue, 04 Nov 2008 17:47:37 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[current affairs]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://mrblog.nl/2008/11/04/5-years-of-blogging/</guid>
		<description><![CDATA[I just migrated the posts from this site from Xaraya to a WordPress install, just like I did with My Cobra Blog. Apparently I have been playing for about 5 years with it since my first post. The blog started out as a subdomain of hsdev.com, using an install of Moveable Type (I forgot the [...]]]></description>
			<content:encoded><![CDATA[<p>I just migrated the posts from this site from <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> to a WordPress install, just like I did with <a href="http://cobra.mrblog.nl">My Cobra Blog</a>. Apparently I have been playing for about 5 years with it since my first post. The blog started out as a subdomain of hsdev.com, using an install of Moveable Type (I forgot the version).</p>

<p>I don&#8217;t think I used MT for a long time. At the time I was maintaining/rewriting all the xmlrpc/blogging modules for <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> and it made sense to use my own blog as a testenvironment for it. This weekend I installed <a title="Wordpress " href="http://wordpress.org">WordPress</a> on our servers. Both the <em>&#8220;normal&#8221;</em> version and the <a href="http://mu.wordpress.org">WordPress-µ</a> (Multi-User) were installed. (I had already started with the 2.7 beta, but along the way I sort of realised that the multi user variety is a better choice for me).</p>

<p>So, all new software again for the measly 10 posts I do a year.</p>

<p>The plan is to have mrblog.nl be a &#8216;top-level&#8217;kinda thing, perhaps multi-domain to allow quick creation of blogs and use subdomains for specific purposes (like the cobra blog and I want to experiment with a photo-blog at some point too).</p>

<p>We&#8217;ll see.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2008/11/04/5-years-of-blogging.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eating my own dogfood</title>
		<link>http://mrblog.nl/2005/12/30/eating-my-own-dogfood.html</link>
		<comments>http://mrblog.nl/2005/12/30/eating-my-own-dogfood.html#comments</comments>
		<pubDate>Fri, 30 Dec 2005 08:43:19 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[revision control]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/104</guid>
		<description><![CDATA[We have been considering migrating Xaraya to the creole abstraction layer in the future. Creole is similar to the adodb library we use now. Originally the support for Creole was created to be able to implement a MS-SQL proof of concept quickly. After using the library for a bit I found it much easier to [...]]]></description>
			<content:encoded><![CDATA[<p>We have been considering migrating <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> to the creole abstraction layer in the future. Creole is similar to the <a href="http://adodb.sourceforge.net/" title="adodb library">adodb library</a> we use now. Originally the support for Creole was created to be able to implement a MS-SQL proof of concept quickly. After using the library for a bit I found it much easier to work with than adodb. Creole&#8217;s API is much cleaner and it is PHP5 only, which gives us a head start for future <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> versions.</p>

<p>The <a href="http://monotone.ca" title="Monotone">monotone</a> setup we use allows us to test all this without disturbing main line development. Organizing these bigger changes into scenario&#8217;s allows us to isolate these changes and see where they lead to. The decision to use or to throw away can thus be postponed to a time when we&#8217;re ready to do so.</p>

<p>Since replacing the middleware is potentially a very big step, I noticed we (the <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> group) have some trouble making a decision on what to do with this. Therefore, the creole scenario has been merged into this site to show that a real life site (albeit a small one) can be migrated to creole without any effect. (Note: I&#8217;ve been running creole on other installs for a while now, so I&#8217;ve known this for a while)</p>

<p><strong>Verdict:</strong> one change was necessary to wrap the &#8216;GetRowAssoc&#8217;method present in adodb but not in creole. Everything else worked directly after the merge, so my preliminary conclusion if the decision hangs on &#8216;what impact does this have?&#8217;is that the impact is very minimal. On top of that I think that the issues we might run into are not bad things as such, but chances to improve <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/12/30/eating-my-own-dogfood.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Filling up your schedule with Xaraya content</title>
		<link>http://mrblog.nl/2005/12/27/filling-up-your-schedule-with-xaraya-content.html</link>
		<comments>http://mrblog.nl/2005/12/27/filling-up-your-schedule-with-xaraya-content.html#comments</comments>
		<pubDate>Tue, 27 Dec 2005 10:26:40 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[integration]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/102</guid>
		<description><![CDATA[Creating content with Blocklayout in Xaraya is flexible and every once in a while i want to take it for a spin. In the past i&#8217;ve played with creating a XUL theme where Xaraya served it directly as the XUL mimetype, this time i&#8217;ve been playing with creating a calendar feed of any Xaraya content [...]]]></description>
			<content:encoded><![CDATA[<p><p>Creating content with Blocklayout in <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> is flexible and every once in a while i want to take it for a spin. In the past i&#8217;ve played with creating a XUL theme where <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> served it directly as the XUL mimetype, this time i&#8217;ve been playing with creating a calendar feed of any <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> content which has some sort of a date attached to it.</p>What happens is that the content of some part of <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> is fed into an iCal theme which produces output according to the <a title="iCalendar RFC" href="http://www.ietf.org/rfc/rfc2445.txt">iCal standard</a> Blocklayout sets the right content type for us, which allows clients like Apple&#8217;s iCal or Gnome&#8217;s evolution to &#8216;subscribe&#8217;to the calendar feed.</p>

<p><p style="text-align:center"><a href="http://mrblog.nl/files/2008/11/icalxar.png"><img class="alignnone size-medium wp-image-72" src="http://mrblog.nl/files/2008/11/icalxar-300x184.png" alt="" width="300" height="184" /></a></p>Above is an example on how that could look in the iCal application. The Feed block on the right side allows you to do exactly what is described here if you have a client which allows you to subscribe to iCal feeds. I&#8217;ve tested it with Evolution and iCal. The concept is still young but I can see a lot of potential in this.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/12/27/filling-up-your-schedule-with-xaraya-content.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Smoothly migrating your Xaraya installs to PHP 5</title>
		<link>http://mrblog.nl/2005/12/24/smoothly-migrating-your-xaraya-installs-to-php-5.html</link>
		<comments>http://mrblog.nl/2005/12/24/smoothly-migrating-your-xaraya-installs-to-php-5.html#comments</comments>
		<pubDate>Sat, 24 Dec 2005 08:30:31 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/101</guid>
		<description><![CDATA[We run about 30 Xaraya installations for our clients on our servers. Some of those clients are eager to migrate to PHP 5 while others are more conventional and want to wait. For others, due to the specific requirements, moving to PHP 5 is not possible yet. How to cater for both of these customers? [...]]]></description>
			<content:encoded><![CDATA[<p>We run about 30 <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> installations for our clients on our servers. Some of those clients are eager to migrate to PHP 5 while others are more conventional and want to wait. For others, due to the specific requirements, moving to PHP 5 is not possible yet. How to cater for both of these customers?</p>

<p>Assuming it&#8217;s common knowledge that if you want to run both php versions on the same server you&#8217;ll have to run two different instances of your webserver, usually on two different ports. In our case, when you access a site you get apache 1.3 with php4 by default. If you access the same site at port 81 (like site.com:81) you get apache 2 with php5.</p>

<p>When you want to make sure that a particular site runs php5 even if accessed through the default port (80) you can include the following in your htaccess file:</p>

<pre>
# Force this site to use port 81 on which php5 is served
RewriteCond %{SERVER_PORT} !81
RewriteRule ^.* http://marcel.hsdev.com:81%{REQUEST_URI} [L,R=301]
</pre>

<p>The first line tests whether the port accessed is <strong>NOT</strong> port 81 and, if the case, redirects the browser to the same request uri, using the 301 status code (&#8220;moved permanently&#8221;) and makes sure it is the last rewrite rule</p>

<p>This setup allows each individual site to decide whether to run on php5, optionally using bleeding edge <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> features like the creole scenario (which requires php5 ) or to server on both php4 and php5. Likewise if you want to <strong>prevent</strong> using php5 it&#8217;s easy to see how the htaccess could be adapted. This situation is however far less common.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/12/24/smoothly-migrating-your-xaraya-installs-to-php-5.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xaraya 2.0 Brainstorming</title>
		<link>http://mrblog.nl/2005/11/10/xaraya-20-brainstorming.html</link>
		<comments>http://mrblog.nl/2005/11/10/xaraya-20-brainstorming.html#comments</comments>
		<pubDate>Thu, 10 Nov 2005 13:46:34 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[ideas]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/99</guid>
		<description><![CDATA[Let&#8217;s try to create a chain of documents like the one John did in Xaraya 2.0 Brainstorming. After a while the common denominators should float to the surface by looking at the whole chain. I tend to view at an application development process like this: make it work make it right make it nice make [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s try to create a chain of documents like the one John did in <a href="http://wyome.com/index.php?module=articles&amp;func=display&amp;ptid=10&amp;aid=473"><a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> 2.0 Brainstorming</a>. After a while the common denominators should float to the surface by looking at the whole chain.</p>

<p>I tend to view at an application development process like this:</p>

<ol>
  <li>make it work</li>
  <li>make it right</li>
  <li>make it nice</li>
  <li>make if fast</li>
</ol>

<p>For <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a>, the 1.0 release signals to me we&#8217;ve been able to make it work. Now, let&#8217;s try to make it right. Some ideas on how follow.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/11/10/xaraya-20-brainstorming.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xaraya connects to worldkit</title>
		<link>http://mrblog.nl/2005/06/15/xaraya-connects-to-worldkit.html</link>
		<comments>http://mrblog.nl/2005/06/15/xaraya-connects-to-worldkit.html#comments</comments>
		<pubDate>Wed, 15 Jun 2005 09:32:12 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[integration]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/94</guid>
		<description><![CDATA[For play, i constructed a couple of templates on the Xaraya site to connect the Worldkit package to a xaraya installation to construct a geographical map (flash based) of the registered users on the Xaraya site. Worldkit uses an RSS feed with location information to construct an image where the data points are shown on [...]]]></description>
			<content:encoded><![CDATA[<p>For play, i constructed a couple of templates on the <a href="http://xaraya.com" title="<a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> homepage"><a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a></a> site to connect the <a href="http://brainoff.com/worldkit/" title="RSS based Mapping package">Worldkit</a> package to a xaraya installation to construct a <a href="http://xaraya.com/worldmap" title="Map of developer locations">geographical map</a> (flash based) of the registered users on the <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> site.</p>

<p>Worldkit uses an RSS feed with location information to construct an image where the data points are shown on a map. In doing so, of course the RSS feed can be subscribed to in the &#8216;normal&#8217;way too, giving you an addressbook directly in your aggregator of all people who have provided their longitude and latitude information on the site.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/06/15/xaraya-connects-to-worldkit.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shelving in revision control</title>
		<link>http://mrblog.nl/2005/04/06/shelving-in-revision-control.html</link>
		<comments>http://mrblog.nl/2005/04/06/shelving-in-revision-control.html#comments</comments>
		<pubDate>Wed, 06 Apr 2005 12:26:28 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[revision control]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/88</guid>
		<description><![CDATA[Chris Rathjen : Team Foundation vs. Subversion: Shelving: Chris compares the two different mechanisms used for a concept introduced in Team Foundation (TFS) known as Shelving. It is a concept where you put a certain state of your development environment ( workspace, repository, whatever the local term is you are used to) aside (on a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.msdn.com/crathjen/archive/2005/04/01/404707.aspx">Chris Rathjen : Team Foundation vs. Subversion: Shelving</a>:</p>

<p>Chris compares the two different mechanisms used for a concept introduced in Team Foundation (TFS) known as Shelving. It is a concept where you put a certain state of your development environment ( workspace, repository, whatever the local term is you are used to) aside (on a shelf), work on some other stuff and take the shelved state back into your workspace (UnShelve) when ready.</p>

<p>Let me add a few notes on how we do this in <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> with BitKeeper.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/04/06/shelving-in-revision-control.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progress report</title>
		<link>http://mrblog.nl/2005/04/03/progress-report.html</link>
		<comments>http://mrblog.nl/2005/04/03/progress-report.html#comments</comments>
		<pubDate>Sun, 03 Apr 2005 10:39:36 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/78</guid>
		<description><![CDATA[Making xaraya react to the mt_keywords MT member was easy with the existing keywords module. The harder part (read: more time consuming) was to make the visual presentation of them in the site somewhat acceptable. If you view this article by itself (what we call the display view in Xaraya), you&#8217;ll notice an extra part [...]]]></description>
			<content:encoded><![CDATA[<p>Making xaraya react to the mt_keywords MT member was easy with the existing keywords module. The harder part (read: more time consuming) was to make the visual presentation of them in the site somewhat acceptable.</p>

<p>If you view this article by itself (what we call the <strong>display</strong> view in <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a>), you&#8217;ll notice an extra part on the right side &#8220;Related entries&#8221; which lists other entries which have the same keywords attached to them. This allows a reader to quickly read all entries which have the same or similar taxonomy. <strike>The block isnt fully functional yet, because it reacts to some keywords while it doesn&#8217;t for others, so there&#8217;s still some digging to do there.</strike> (FIXED)</p>

<p>Outstanding task list:</p>

<ul>
  <li>making <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> react on the mt_tb_ping_urls member</li>

  <li>deal with the allow/disallow flags for trackback and comments</li>

  <li>find a home for mt_excerpt</li>

  <li>implement the mt.supportedTextFilters method to allow for markdown or textile input</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/04/03/progress-report.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ecto recognizes the Xaraya endpoint</title>
		<link>http://mrblog.nl/2005/04/02/ecto-recognizes-the-xaraya-endpoint.html</link>
		<comments>http://mrblog.nl/2005/04/02/ecto-recognizes-the-xaraya-endpoint.html#comments</comments>
		<pubDate>Sat, 02 Apr 2005 05:48:41 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[integration]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/77</guid>
		<description><![CDATA[I dropped a quick message to Adriaan Tijsseling, the developer of the amazing Ecto package with a number of questions. One of the questions was whether Xaraya could be included as an endpoint in the accounts screen. This morning, I fired up Ecto, and the update which contained it was already there! Man, this guy [...]]]></description>
			<content:encoded><![CDATA[<p>I dropped a quick message to Adriaan Tijsseling, the developer of the amazing <a title="Ecto blogging application" href="http://ecto.kung-foo.tv/">Ecto</a> package with a number of questions. One of the questions was whether <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> could be included as an endpoint in the accounts screen.</p>

<p>This morning, I fired up Ecto, and the update which contained it was already there! Man, this guy is quick.</p>

<p style="font-size:11pt"></p>

<p style="font-size:11pt"></p><a href="http://mrblog.nl/files/2008/11/ectoxar.jpg"><img class="alignnone size-medium wp-image-70" src="http://mrblog.nl/files/2008/11/ectoxar-300x95.jpg" alt="" width="300" height="95" /></a>
<p>Awesome!</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/04/02/ecto-recognizes-the-xaraya-endpoint.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logical next step: MoveableType API for Xaraya</title>
		<link>http://mrblog.nl/2005/03/31/logical-next-step-moveabletype-api-for-xaraya.html</link>
		<comments>http://mrblog.nl/2005/03/31/logical-next-step-moveabletype-api-for-xaraya.html#comments</comments>
		<pubDate>Thu, 31 Mar 2005 17:28:09 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/53</guid>
		<description><![CDATA[While I was at it, the Moveable Type API seemed quite close, so I created a little module to start implementing it. The more advanced features of the MT API I havent implemented (yet), but one thing is supported from the beginning, which is the Extended Entry.]]></description>
			<content:encoded><![CDATA[<p>While I was at it, the Moveable Type API seemed quite close, so I created a little module to start implementing it.</p>

<p>The more advanced features of the MT API I havent implemented (yet), but one thing is supported from the beginning, which is the Extended Entry.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/03/31/logical-next-step-moveabletype-api-for-xaraya.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gimme a picture too!</title>
		<link>http://mrblog.nl/2005/03/30/gimme-a-picture-too.html</link>
		<comments>http://mrblog.nl/2005/03/30/gimme-a-picture-too.html#comments</comments>
		<pubDate>Wed, 30 Mar 2005 10:40:37 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/36</guid>
		<description><![CDATA[Continuing the work on the metaweblog api implementation in Xaraya, i just finished an initial implementation of the newMediaObject method the API. This allows (from capable clients) to upload files to Xaraya directly from the blogging client program. Like this:]]></description>
			<content:encoded><![CDATA[<p>Continuing the work on the metaweblog api implementation in <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a>, i just finished an initial implementation of the newMediaObject method the API.</p>

<p>This allows (from capable clients) to upload files to <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> directly from the blogging client program.</p>

<p>Like this:</p>

<p><span style="color: #808080"><a href="http://www.flickr.com/photos/96151162@N00/3234224329/"><img src="http://farm4.static.flickr.com/3100/3234224329_edf5a31895.jpg" height="160" width="120" alt="Photobooth experiment?" /></a><br /></span></p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/03/30/gimme-a-picture-too.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First itch scratched</title>
		<link>http://mrblog.nl/2005/03/29/first-itch-scratched.html</link>
		<comments>http://mrblog.nl/2005/03/29/first-itch-scratched.html#comments</comments>
		<pubDate>Tue, 29 Mar 2005 15:21:39 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/14</guid>
		<description><![CDATA[Brought back the metaweblog api module and activated it on this blog. The metaweblog api in Xaraya is incomplete, but the first result is there: multiple category support, directly from the blog client. (This post is in two for example)]]></description>
			<content:encoded><![CDATA[<p>Brought back the metaweblog api module and activated it on this blog.</p>

<p>The metaweblog api in <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> is incomplete, but the first result is there: multiple category support, directly from the blog client. (This post is in two for example)</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/03/29/first-itch-scratched.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moving over</title>
		<link>http://mrblog.nl/2005/03/28/moving-over.html</link>
		<comments>http://mrblog.nl/2005/03/28/moving-over.html#comments</comments>
		<pubDate>Mon, 28 Mar 2005 17:12:24 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/7</guid>
		<description><![CDATA[I moved over my Moveable Type powered blog over to a Xaraya install. Long overdue, given that I am a developer on Xaraya, it is sort of obligatory to run the blog from that package. I tried to mimick the old look as much as possible. While Xaraya is certainly more flexible and some things [...]]]></description>
			<content:encoded><![CDATA[<p>I moved over my Moveable Type powered blog over to a <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> install. Long overdue, given that I am a developer on <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a>, it is sort of obligatory to run the blog from that package.</p>

<p>I tried to mimick the old look as much as possible. While <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> is certainly more flexible and some things were much easier to do than in MT, I also noticed that the finesses of MT will take a while to move over.<br />
Some things which will take some time to come back the full MT way:<br /></p>

<p><ul>
  <li>Trackback functionaliy; while <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> supports this, it will take some manual effort to get it to be a friendly player;</li></p>

<p><li>Inline RDF Moveable type supports by default for autodiscovery;</li></p>

<p><li>Some templating work is still left (like directly showing the older entries).</li></p>

<p><li>The support for uploading images directly with blog postings</li></p>

<p><li>The extended API support</li>
</ul>The above is one of the reasons i moved over, so i have a real life itch to implement those things in <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a>. We&#8217;ll see</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2005/03/28/moving-over.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I just passed a 1000 csets in Xaraya</title>
		<link>http://mrblog.nl/2003/10/29/i-just-passed-a-1000-csets-in-xaraya.html</link>
		<comments>http://mrblog.nl/2003/10/29/i-just-passed-a-1000-csets-in-xaraya.html#comments</comments>
		<pubDate>Wed, 29 Oct 2003 06:24:26 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[revision control]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/34</guid>
		<description><![CDATA[Some hours ago my changeset number 1000 went into the xaraya repository. As you can see in the comments, it&#8217;s not a good one, basically cleaning up some mess i made earlier that day. Nevertheless, it&#8217;s there]]></description>
			<content:encoded><![CDATA[<p>Some hours ago my changeset number 1000 went into the xaraya repository.</p>

<p>As you can see in the comments, it&#8217;s not a good one, basically cleaning up some mess i made earlier that day.</p>

<p>Nevertheless, it&#8217;s there</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2003/10/29/i-just-passed-a-1000-csets-in-xaraya.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>source control infrastructure growth</title>
		<link>http://mrblog.nl/2003/10/21/source-control-infrastructure-growth.html</link>
		<comments>http://mrblog.nl/2003/10/21/source-control-infrastructure-growth.html#comments</comments>
		<pubDate>Tue, 21 Oct 2003 16:58:20 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[revision control]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/16</guid>
		<description><![CDATA[Using a script from Bryan O&#8217;Sullivans bitkeeper repository we integrated the bitkeeper repositories for Xaraya with our bugzilla installation. The script is used as a trigger everytime changes are committed to the main repositories on the server and scans the changeset comments for text fragments mentioning bugs. When it finds those fragments, the following happens: [...]]]></description>
			<content:encoded><![CDATA[<p>Using a script from Bryan O&#8217;Sullivans bitkeeper repository we integrated the bitkeeper repositories for <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> with our <a href="http://bugs.xaraya.com">bugzilla installation</a>. The script is used as a trigger everytime changes are committed to the main repositories on the server and scans the changeset comments for text fragments mentioning bugs.</p>

<p>When it finds those fragments, the following happens:</p>

<ul>
  <li>the change committed is attached as a patch to the bug; (this patch can in most cases be applied to source trees out there, while maintaining upgradeability)</li>

  <li>a comment is entered for the bug, summarizing what happened;</li>

  <li>links are created in the comment to view the path in the bitkeeper web interface;</li>

  <li>bugzilla mails the relevant parties as usual.</li>
</ul>

<p>This script is smart enough, not to enter the same information on the same bug and changeset twice which, if you know how bitkeeper works, is not uncommon if you have multiple repositories. As always, on deploying something new, you always start to think immediately about features which you could add (example: scanning for <em>fixed&amp;nbsp;</em> or <em>fix&amp;nbsp;</em> and setting the state of the bug accordingly).</p>

<p>During the period of&amp;nbsp; little over a year, we&#8217;ve built ourselves an infrastructure which is still growing and is literally improved upon everyday. Some elements of it:</p>

<ul>
  <li>automatic updates of mirror repositories;</li>

  <li>fully integrated patch system;</li>

  <li>custom command system, defining new commands in the repository which propagate to all developer repositories;</li>

  <li>funny stats output;</li>

  <li>getting information on RFC status;</li>

  <li>integrated build system based on <a href="http://phing.info">phing</a>;</li>

  <li>integrated source documentation generator based on <a href="http://phpdocu.sourceforge.net/">phpdoc</a>;</li>

  <li>repository web interface as module of xaraya;</li>

  <li>adding comments to files which propagate across repositories;</li>

  <li>integrated unit test system;</li>

  <li>semi-automatic archiving of old files in the repositories;</li>

  <li>possibility to test for compliance with coding standards on every commit automatically;</li>
</ul>

<p>With hindsight, a rather long list of tools, mainly created for fun. Some are used extensively, others are only used by myself.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2003/10/21/source-control-infrastructure-growth.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unit testing framework</title>
		<link>http://mrblog.nl/2003/03/19/unit-testing-framework.html</link>
		<comments>http://mrblog.nl/2003/03/19/unit-testing-framework.html#comments</comments>
		<pubDate>Wed, 19 Mar 2003 06:06:12 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[revision control]]></category>
		<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/29</guid>
		<description><![CDATA[Last week we started implementing a unit testing framework for Xaraya, which is highly integrated with the bitkeeper repository. As of now it allows you to register testsuites and testcases which can be run once or repeatedly with bk tests I expected this to be an investment for the long run. The longer we used [...]]]></description>
			<content:encoded><![CDATA[<p>Last week we started implementing a unit testing framework for <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a>, which is highly integrated with the bitkeeper repository.</p>

<p>As of now it allows you to register testsuites and testcases which can be run once or repeatedly with</p>

<pre>
bk tests
</pre>

<p>I expected this to be an investment for the long run. The longer we used it, sometimes the tests would fail and we could fix things<br />
more quickly. To my surprise the tests started failing basically right from the beginning, even when very premature code was available.<br />
Both bugs in the testframework as in the codebase itself showed up immediately.</p>

<p>I found that the crux to this is that having a test framework puts your mind in a <em>different state</em>. While developing you&#8217;re trying to make things work, while writing tests you&#8217;re trying to make things break. This combination has worked already in the early stages, i can hardly wait to see how this is going to work when the number of tests starts to grow and we actually use that information in our process.</p>

<p>The scepsis has gone, unit testing rocks!</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2003/03/19/unit-testing-framework.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Request for what?</title>
		<link>http://mrblog.nl/2003/02/12/request-for-what.html</link>
		<comments>http://mrblog.nl/2003/02/12/request-for-what.html#comments</comments>
		<pubDate>Wed, 12 Feb 2003 06:00:33 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/27</guid>
		<description><![CDATA[The documents in which these protocols are described are called RFC-s (Request For Comments) and they are subject to a complicated process of drafting, reviewing becoming a proposal and utlitmately hoping to be a standard&#8230;. The funny thing is we have a simple process of writing the RFC, discussing it on our mailing lists, adapting [...]]]></description>
			<content:encoded><![CDATA[<p>The documents in which these protocols are described are called RFC-s (Request For Comments) and they are subject to a complicated process of drafting, reviewing becoming a proposal and utlitmately hoping to be a standard&#8230;. The funny thing is we have a simple process of writing the RFC, discussing it on our mailing lists, adapting the RFCs, the PMC approves them and we use the RFC as a reference to determine whether an implementation is complete&#8230;. So, I implemented a very simple xml tool to write up RFCs which forced people to focus on the content, not on the layout.</p>

<p>The IETF (Internet Engineering Task Force) uses a system for specifying internet protocols. The documents in which these protocols are described are called RFC-s (Request For Comments) and they are subject to a complicated process of drafting, reviewing becoming a proposal and utlitmately hoping to be a standard.</p>

<p>Earlier tonight there was a discussion about RFC-s in the <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> group. We use a RFC system in the group as well. Specifying the way we want to code up cool modules in the system are documented in a rigorous XML format which doesn&#8217;t leave much room for freedom. No layout, no design, just content. The funny thing is we have a simple process of writing the RFC, discussing it on our mailing lists, adapting the RFCs, the PMC approves them and we use the RFC as a reference to determine whether an implementation is complete. Simple yet effective it would seem.</p>

<p>Nope.</p>

<p>In 5 months we have written just over 35 RFCs, that is, reserved the numbers. The content is mostly lacking and comments on the RFC must be begged for almost. Is the solution to make the process more complicated? Better tools? Allow RFCs to be &#8220;designed&#8221; so they are more attractive for people to read?</p>

<p>My own belief, was just the opposite, based on the assumption that we wanted to create code, not RFCs. So, I implemented a very simple xml tool to write up RFCs which forced people to focus on the content, not on the layout. It seems I need to rethink a bit.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2003/02/12/request-for-what.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Voting by eMail</title>
		<link>http://mrblog.nl/2003/02/10/voting-by-email.html</link>
		<comments>http://mrblog.nl/2003/02/10/voting-by-email.html#comments</comments>
		<pubDate>Mon, 10 Feb 2003 05:58:20 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/26</guid>
		<description><![CDATA[eVote[link] Well, this would be perfect for Xaraya and DDF operations. The irc voting we sometimes do with the notorious +1 and -1 lines works only so far. If someone doesn&#8217;t sum up the votes and puts it on a mailinglist, it&#8217;s quickly forgotten what the vote was about and the decision gets lost in [...]]]></description>
			<content:encoded><![CDATA[<p>eVote[<a href="http://www.deliberate.com/">link</a>]</p>

<p>Well, this would be perfect for <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> and DDF operations. The irc voting we sometimes do with the notorious <strong>+1</strong> and <strong>-1</strong> lines works only so far. If someone doesn&#8217;t sum up the votes and puts it on a mailinglist, it&#8217;s quickly forgotten what the vote was about and the decision gets lost in the day-to-day work.</p>

<p>With eVote connecting to mailman, which we use in the <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a> group, this would theoretically mean, as we have connected all mailing lists to NNTP that we can have votes and petitions on all mailing lists and newsgroups.</p>

<p>Especially for the DDF, which can possibly hold a greater number of projects this can highly simplify the decision making process. Definitely worth looking into.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2003/02/10/voting-by-email.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The need for domain separation</title>
		<link>http://mrblog.nl/2003/01/29/the-need-for-domain-separation.html</link>
		<comments>http://mrblog.nl/2003/01/29/the-need-for-domain-separation.html#comments</comments>
		<pubDate>Wed, 29 Jan 2003 05:51:41 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/23</guid>
		<description><![CDATA[In general, the temptation to bring the templating language close to the programming domain is high. It creates a possibility to do all things which the programming language can do as well, often powerfull and most of the time dangerous. In BL there is some PHP syntax hidden in the tags (for example the evaluation [...]]]></description>
			<content:encoded><![CDATA[<p>In general, the temptation to bring the templating language close to the programming domain is high. It creates a possibility to do all things which the programming language can do as well, often powerfull and most of the time dangerous.</p>

<p>In BL there is some PHP syntax hidden in the tags (for example the evaluation of conditions in if and while constructs).</p>

<p>Here&#8217;s a good example why the domain of the blocklayout templating system and the programming language in which it was implemented should be separated.</p>

<p>Because the domain of blocklayout and PHP are so tight together now, this is just one example of what can happen.<br />
<a title="set&gt; allows PHP to be executed" href="http://bugs.xaraya.com/show_bug.cgi?id=107">Bug 107 &#8211; &lt;xar:set&gt; allows PHP to be executed</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2003/01/29/the-need-for-domain-separation.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Module API loading</title>
		<link>http://mrblog.nl/2003/01/29/module-api-loading.html</link>
		<comments>http://mrblog.nl/2003/01/29/module-api-loading.html#comments</comments>
		<pubDate>Wed, 29 Jan 2003 05:48:44 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/22</guid>
		<description><![CDATA[In calling an API function for a module you had to make sure that the API of that module was loaded in your module. The core had already provisions that if the API was already loaded, it wouldn&#8217;t load it again. This can be automated. On calliing an API function (assuming that call is necessary [...]]]></description>
			<content:encoded><![CDATA[<p>In calling an API function for a module you had to make sure that the API of that module was loaded in your module. The core had already provisions that if the API was already loaded, it wouldn&#8217;t load it again. This can be automated. On calliing an API function (assuming that call is necessary of course) the core can check whether the API is loaded and if not, load the API.</p>

<p>This has the following advantages:</p>

<ul>
  <li>guaranteed loading of API</li>

  <li>smaller code size</li>

  <li>simplification for module developers</li>
</ul>

<p>This changeset makes it a lot easier for module developers. They can just use xarModAPIFunc in their modules, without calling xarModAPILoad each time. Basically this lil change does the same as the developer did. Check whether the module API was already loaded, if not load the module API.</p>

<p>All diffs for ChangeSet 1.498</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2003/01/29/module-api-loading.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And a client naturally&#8230;</title>
		<link>http://mrblog.nl/2003/01/28/and-a-client-naturally.html</link>
		<comments>http://mrblog.nl/2003/01/28/and-a-client-naturally.html#comments</comments>
		<pubDate>Tue, 28 Jan 2003 05:45:14 +0000</pubDate>
		<dc:creator>mrb</dc:creator>
				<category><![CDATA[xaraya]]></category>

		<guid isPermaLink="false">http://marcel.hsdev.com/blogentry/21</guid>
		<description><![CDATA[And a client naturally&#8230;Once you have the blog server side set up, you obviously need something better than a webform to post the ramblings. Installation of mozblog(http://mozblog.mozdev.org) went with some hickups. I really like the fact of pressing Alt-P, jotting down something and going back to where I was. No separate application, no nothing.We should [...]]]></description>
			<content:encoded><![CDATA[<p>And a client naturally&#8230;Once you have the blog server side set up, you obviously need something better than a webform to post the ramblings. Installation of mozblog(http://mozblog.mozdev.org) went with some hickups. I really like the fact of pressing Alt-P, jotting down something and going back to where I was. No separate application, no nothing.We should seriously considering making the mozblog suitable for <a href='http://xaraya.com' rel='external ' title='Xaraya web application framework'>Xaraya</a>. This kind of blogging is something I can relate to</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.nl/2003/01/28/and-a-client-naturally.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

