<?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>baseplane - technology platforms &#187; market formats</title>
	<atom:link href="http://baseplane.com/category/market-formats/feed/" rel="self" type="application/rss+xml" />
	<link>http://baseplane.com</link>
	<description>Technology Platforms, Architecture and Kits for all your codes by Ryan Christensen</description>
	<lastBuildDate>Thu, 12 Nov 2009 05:10:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mono Now Has .NET 3.0 Support and 3.5 Features like LINQ and Expression Trees</title>
		<link>http://baseplane.com/2008/07/25/mono-now-has-net-30-support-and-35-features-like-linq-and-expression-trees/</link>
		<comments>http://baseplane.com/2008/07/25/mono-now-has-net-30-support-and-35-features-like-linq-and-expression-trees/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 07:14:34 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[baseplane]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[3.0]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[linq]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[platform]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=55</guid>
		<description><![CDATA[Great news!  Mono has made it to .NET 3.0 support and this includes some of the latest stuff like LINQ expressions.
I am pleased to announce that Mono C# compiler (gmcs) has now full C# 3.0 support. Most of the features has been available since Mono 1.2.6 release. However, with the upcoming Mono 2.0 release we [...]]]></description>
			<content:encoded><![CDATA[<p>Great news!  <a href="http://mareksafar.blogspot.com/2008/07/mono-c-compiler-gets-full-c-30-support.html" target="_blank">Mono has made it to .NET 3.0 support</a> and this includes some of the latest stuff like LINQ expressions.</p>
<blockquote><p>I am pleased to announce that Mono C# compiler (gmcs) has now full C# 3.0 support. Most of the features has been available since Mono 1.2.6 release. However, with the upcoming Mono 2.0 release <strong>we will also support complex LINQ expressions and mainly <a href="http://msdn.microsoft.com/en-us/library/bb397951.aspx">expression trees</a> which is fairly overlooked new feature with a lot of potential</strong>.</p>
<p>For anyone interested in compiling and running <a href="http://blogs.msdn.com/lukeh/archive/2007/10/01/taking-linq-to-objects-to-extremes-a-fully-linqified-raytracer.aspx">this</a> LukeH&#8217;s slightly extreme LINQ example I have good news. It compiles on Mono and it runs as fast as on .NET.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/07/25/mono-now-has-net-30-support-and-35-features-like-linq-and-expression-trees/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Restlet RESTful Lightweight Kit for Java</title>
		<link>http://baseplane.com/2008/06/20/restlet-restful-lightweight-kit-for-java/</link>
		<comments>http://baseplane.com/2008/06/20/restlet-restful-lightweight-kit-for-java/#comments</comments>
		<pubDate>Sat, 21 Jun 2008 03:24:36 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[formal]]></category>
		<category><![CDATA[generation]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[utility]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jax]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[RESTful]]></category>
		<category><![CDATA[Restlet]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[servlet]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=52</guid>
		<description><![CDATA[Finally rest for all that boilerplate in Java.  At each turn of lots of Java frameworks you are bombarded with layers.  I felt this long ago and see it in the developers eyes that work with Java.  Java can be easy, it can be RESTful and it will make you look sharp.

Lightweight REST framework for [...]]]></description>
			<content:encoded><![CDATA[<p>Finally rest for all that boilerplate in Java.  At each turn of lots of Java frameworks you are bombarded with layers.  I felt this long ago and see it in the developers eyes that work with Java.  Java can be easy, it can be RESTful and it will make you look sharp.</p>
<p style="padding-left: 30px;"><a href="http://www.restlet.org/"><img src="http://farm4.static.flickr.com/3283/2597021628_8bbf4d5baa_o.gif" alt="" width="200" height="71" /></a></p>
<p style="padding-left: 30px;"><a href="http://www.restlet.org/" target="_blank"><strong>Lightweight REST framework for Java</strong></a></p>
<p class="welcome" style="padding-left: 30px;">Do you want to embrace the architecture of the Web and benefit from its simplicity and scalability? Leverage our innovative REST engine and start blending your Web Sites and Web Services into uniform Web Applications!</p>
<p class="welcome">Java is making things more lightweight now with lots of emerging kits that compete with other web ready platforms like Python, Ruby, .NET, PHP etc. After this many years things get bloated and need to be simplified.  I think this will start winning people over in this direction.</p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/06/20/restlet-restful-lightweight-kit-for-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Your .NET Application/Assembly Mono Ready?  Find Out With MoMa</title>
		<link>http://baseplane.com/2008/05/17/is-your-net-applicationassembly-mono-ready-find-out-with-moma/</link>
		<comments>http://baseplane.com/2008/05/17/is-your-net-applicationassembly-mono-ready-find-out-with-moma/#comments</comments>
		<pubDate>Sat, 17 May 2008 20:24:11 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[baseplane]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[2.0.moonlight]]></category>
		<category><![CDATA[moma]]></category>
		<category><![CDATA[mono]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=49</guid>
		<description><![CDATA[Well Mono has finally reached 2.0.  This is great news!  .NET skills now can span *nix, OSX, and Windows platforms.  But is your app or assembly capable of running on Mono?  Find out with MoMa.
Of course this is just a heuristic check and only finds out if your application on the surface has issues [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jpobst.blogspot.com/2008/05/big-finale.html">Well Mono has finally reached 2.0. </a> This is great news!  .NET skills now can span *nix, OSX, and Windows platforms.  But is your app or assembly capable of running on Mono?  Find out with <a href="http://www.mono-project.com/MoMA" target="_blank">MoMa.</a></p>
<p>Of course this is just a heuristic check and only finds out if your application on the surface has issues with running on a mono platform such as calls to p/invoke to windows apis or unsafe code that uses native calls but it is a great place to start.</p>
<p>The <a href="http://www.mono-project.com/MoMA" target="_blank">Mono Migration Analyzer (MoMA) tool helps you identify issues</a> you may have when porting your .Net application to Mono. It helps pinpoint platform specific calls (P/Invoke) and areas that are not yet supported by the Mono project.</p>
<blockquote><p>While MoMA can help show potential issues, there are many complex factors that cannot be covered by a simple tool. MoMA may fail to point out areas that will cause problems, and may point out areas which will not actually be an issue.</p>
<p>Use the results provided as a guide to get you started on porting your application, but remember the true test is actually running your application on Mono.</p>
<p>For a description of the errors that MoMA detects and how to deal with them, see <a title="MoMA - Issue Descriptions" href="http://www.mono-project.com/MoMA_-_Issue_Descriptions">MoMA &#8211; Issue Descriptions</a>.</p></blockquote>
<p>I have recently been really interested in making platforms and applications that aren&#8217;t limited by the OS they are contained in.  Thus mono is a very interesting platform now that it supports 2.0 fully and all the generic goodness to limit boxing/unboxing, common code between .net 2.0 apps (which are pretty much mainstream now) and developing for more of a standard that ensures your apps are portable.</p>
<p>Granted .NET 3.0 and 3.5 (pretty much the same version really with the addition of new frameworks such as WCF, LINQ which is very cool and functional as well as Silverlight) but most places deployed code is still .NET 2.0 and the poor souls working on very constricting .NET 1.0 and 1.1.</p>
<p>Also, recently <a href="http://www.mono-project.com/Moonlight" target="_blank">Moonlight the Mono version of Silverlight</a> has been released for alpha.</p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/05/17/is-your-net-applicationassembly-mono-ready-find-out-with-moma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baseplane Tool: Tenjin Templating Library (pyTenjin, jsTenjin, phpTenjin, rbTenjin, plTenjin)</title>
		<link>http://baseplane.com/2008/04/07/baseplane-tool-tenjin-templating-library-pytenjin-jstenjin-phptenjin-rbtenjin-pltenjin/</link>
		<comments>http://baseplane.com/2008/04/07/baseplane-tool-tenjin-templating-library-pytenjin-jstenjin-phptenjin-rbtenjin-pltenjin/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 17:17:09 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[generation]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[jstenjin]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phptenjin]]></category>
		<category><![CDATA[pltenjin]]></category>
		<category><![CDATA[pytenjin]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rbtenjin]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tenjin]]></category>

		<guid isPermaLink="false">http://baseplane.com/?p=48</guid>
		<description><![CDATA[Tenjin is a great templating library that gets not only cross platform but baseplane ability to make templating very similiar (and FAST) across many languages.    pyTenjin and phpTenjin is currently what I am using but there are executions for Ruby, Perl and Javascript.
Here is a list of the Tenjin Templating engines:

pyTenjin
phpTenjin
rbTenjin
jsTenjin
plTenjin


 Changes
 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.kuwata-lab.com/tenjin/" target="_blank">Tenjin is a great templating library </a>that gets not only cross platform but baseplane ability to make templating very similiar (and FAST) across many languages.    pyTenjin and phpTenjin is currently what I am using but there are executions for Ruby, Perl and Javascript.</p>
<p><strong>Here is a list of the Tenjin Templating engines:</strong></p>
<ul>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">pyTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">phpTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">rbTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">jsTenjin</a></li>
<li><a href="http://sourceforge.net/project/showfiles.php?group_id=201594" target="_blank">plTenjin</a></li>
</ul>
<dl class="dl1">
<dt class="dt1"> Changes</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-CHANGES.txt">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-CHANGES.txt">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-CHANGES.txt">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-CHANGES.txt">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-CHANGES.txt">JavaScript</a>) </dd>
<dt class="dt1"> User&#8217;s Guide</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-users-guide.html">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-users-guide.html">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-users-guide.html">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-users-guide.html">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-users-guide.html">JavaScript</a>) </dd>
<dt class="dt1"> FAQ</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-faq.html">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-faq.html">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-faq.html">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-faq.html">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-faq.html">JavaScript</a>) </dd>
<dt class="dt1"> Examples</dt>
<dd class="dd1"> (<a href="http://www.kuwata-lab.com/tenjin/pytenjin-examples.html">Python</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/rbtenjin-examples.html">Ruby</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/phptenjin-examples.html">PHP</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/pltenjin-examples.html">Perl</a>) 	    (<a href="http://www.kuwata-lab.com/tenjin/jstenjin-examples.html">JavaScript</a>) </dd>
<dt class="dt1"> Presentation</dt>
<dd class="dd1"> <a href="http://www.kuwata-lab.com/presen/LL2007LT.pdf">2007 LL Spirit LightningTalk</a> (full-version) (Japanese)</dd>
</dl>
<p><strong>Here is what the template markup looks like:</strong></p>
<p><strong>This</strong></p>
<pre class="program">&lt;table&gt;
&lt;tbody&gt;
<strong>&lt;?py i = 0 ?&gt;</strong>
<strong>&lt;?py for item in ['&lt;foo&gt;', 'bar&amp;bar', '"baz"']: ?&gt;</strong>
<strong>&lt;?py     i += 1 ?&gt;</strong>
&lt;tr&gt;
&lt;td&gt;<strong>#{item}</strong>&lt;/td&gt;
&lt;td&gt;<strong>${item}</strong>&lt;/td&gt;
&lt;/tr&gt;
<strong>&lt;?py #end ?&gt;</strong>
&lt;tbody&gt;

&lt;/table&gt;</pre>
<p><strong>Produces This</strong></p>
<pre class="terminal">&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;<strong>&lt;foo&gt;</strong>&lt;/td&gt;
&lt;td&gt;<strong>&amp;lt;foo&amp;gt;</strong>&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;<strong>bar&amp;bar</strong>&lt;/td&gt;
&lt;td&gt;<strong>bar&amp;amp;bar</strong>&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;<strong>"baz"</strong>&lt;/td&gt;
&lt;td&gt;<strong>&amp;quot;baz&amp;quot;</strong>&lt;/td&gt;
&lt;/tr&gt;
&lt;tbody&gt;
&lt;/table&gt;</pre>
<p><strong>Here are some speed results</strong></p>
<table class="table1" border="1" cellspacing="0" summary="MacOS X 10.4 Tiger, Intel CoreDuo 1.83GHz, Memory 2GB">
<caption class="caption1"> MacOS X 10.4 Tiger, Intel CoreDuo 1.83GHz, Memory 2GB </caption>
<tbody>
<tr class="tr1">
<th class="th1">Language</th>
<th class="th1">Template Engine</th>
<th class="th1">Test#1(sec)</th>
<th class="th1">Test#2(sec)</th>
</tr>
<tr class="tr1">
<td class="td1" rowspan="8">Python(2.5.1)</td>
<td class="td1"><strong>pyTenjin</strong> (0.6.1)</td>
<td class="td1" align="right"><strong>6.96</strong></td>
<td class="td1" align="right"><strong>5.61</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.cheetahtemplate.org/">Cheetah</a> (2.0)</td>
<td class="td1" align="right">20.36</td>
<td class="td1" align="right">19.82</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.djangoproject.com/documentation/templates/">Django</a> (0.9.5)</td>
<td class="td1" align="right">71.33</td>
<td class="td1" align="right">59.80</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.djangoproject.com/documentation/templates/">Myghty</a> (1.1)</td>
<td class="td1" align="right">107.88</td>
<td class="td1" align="right">19.30</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.kid-templating.org/">Kid</a> (0.9.6)</td>
<td class="td1" align="right">380.24</td>
<td class="td1" align="right">378.96</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://genshi.edgewall.org/">Genshi</a> (0.4.4)</td>
<td class="td1" align="right">560.30</td>
<td class="td1" align="right">271.69</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.makotemplates.org/">Mako</a> (0.1.9)</td>
<td class="td1" align="right">17.78</td>
<td class="td1" align="right">13.49</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://webpy.org/templetor">Templetor</a> (web.py 0.22)</td>
<td class="td1" align="right">428.19</td>
<td class="td1" align="right">61.53</td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="3">Ruby(1.8.6)</td>
<td class="td1"><strong>rbTenjin</strong> (0.6.0)</td>
<td class="td1" align="right"><strong>7.34</strong></td>
<td class="td1" align="right"><strong>4.52</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://modruby.net/en/index.rbx/eruby/whatis.html">eruby</a> (1.0.5)</td>
<td class="td1" align="right">12.29</td>
<td class="td1" align="right">11.53</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/">ERB</a>(def_method) (Ruby1.8.6)</td>
<td class="td1" align="right">36.73</td>
<td class="td1" align="right">5.85</td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="2">PHP(5.2.0)</td>
<td class="td1"><strong>phpTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>5.39</strong></td>
<td class="td1" align="right"><strong>3.64</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://smarty.php.net/">Smarty</a> (2.6.18)</td>
<td class="td1" align="right">10.84</td>
<td class="td1" align="right">10.21</td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="3">Perl(5.8.8)</td>
<td class="td1"><strong>plTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>10.42</strong></td>
<td class="td1" align="right"><strong>5.72</strong></td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://template-toolkit.org/">Template-Toolkit</a>(XS) (2.18)</td>
<td class="td1" align="right">103.58</td>
<td class="td1" align="right">26.30</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://html-template.sourceforge.net/">HTML::Template</a> (2.9)</td>
<td class="td1" align="right">46.70</td>
<td class="td1" align="right">30.21</td>
</tr>
<tr class="tr1">
<td class="td1">JS(spidermonkey)</td>
<td class="td1"><strong>jsTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>19.00</strong></td>
<td class="td1" align="right"><strong>12.98</strong></td>
</tr>
<tr class="tr1">
<td class="td1">JS(Rhino, JDK5)</td>
<td class="td1"><strong>jsTenjin</strong> (0.0.1)</td>
<td class="td1" align="right"><strong>24.29</strong></td>
<td class="td1" align="right"><strong>19.15</strong></td>
</tr>
<tr class="tr1">
<td class="td1" rowspan="2">Java(JDK5)</td>
<td class="td1"><a href="http://velocity.apache.org/">Velocity</a> (1.4)</td>
<td class="td1" align="right">22.80</td>
<td class="td1" align="right">11.41</td>
</tr>
<tr class="tr1">
<td class="td1"><a href="http://velocity.apache.org/">Velocity</a> (1.5)</td>
<td class="td1" align="right">20.01</td>
<td class="td1" align="right">8.42</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/04/07/baseplane-tool-tenjin-templating-library-pytenjin-jstenjin-phptenjin-rbtenjin-pltenjin/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Baseplane Tool: Is PureMVC the Cross Platform MVC Toolkit You Have Been Looking For?</title>
		<link>http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/</link>
		<comments>http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 04:13:03 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[puremvc]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/</guid>
		<description><![CDATA[PureMVC is quite a versatile MVC kit.  With implementations for AS3, .NET (c#), Python, PHP, Silverlight and other platforms it is quite a system and domain to spread that far and have consistency.  There are small changes but for the most post the MVC is the same structure across the platforms.  This can be very [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://puremvc.org/" target="_blank">PureMVC</a> is quite a versatile MVC kit.</strong>  With implementations for AS3, .NET (c#), Python, PHP, Silverlight and other platforms it is quite a system and domain to spread that far and have consistency.  There are small changes but for the most post the MVC is the same structure across the platforms.  This can be very beneficial for a service firm or for a product base that needs to support many different platforms.</p>
<blockquote><p>PureMVC is a lightweight framework  for creating applications based<br />
upon the classic Model-View-Controller design meta-pattern.<br />
This free, open-source framework is implemented in ActionScript 2 and<br />
3, Java, C# and a number of other popular programming languages.<br />
This allows development on a wide variety of platforms including:</p>
<ul>
<li>Mobile Environments: FlashLite, .NET Compact Framework, J2ME</li>
<li>Server Environments: ColdFusion, J2EE, PHP, Python</li>
<li>Browser Environments: Flash/Flex, JavaFX, Silverlight</li>
<li>Desktop Environments: .NET, AIR, FLASH, J2SE</li>
</ul>
</blockquote>
<p><strong>For Flex </strong><strong><a href="http://puremvc.org/" target="_blank">PureMVC</a></strong><strong> happens to be my favorite MVC kit. </strong> I only use one if absolutely necessary but <strong><a href="http://puremvc.org/" target="_blank">PureMVC</a></strong> keeps it clean.  <strong>The great thing is that is works with or without Flex unlike <a href="http://labs.adobe.com/wiki/index.php/Cairngorm" target="_blank">Cairngorm</a> and it is always up to date. </strong> <strong>It is just an added bonus that is spans so many other platforms. </strong>There are a few things I don&#8217;t like about it in other platforms like the url naming but it is much better than kits out there now and <a href="http://weblogs.asp.net/scottgu/archive/2007/11/13/asp-net-mvc-framework-part-1.aspx" target="_blank">Microsoft&#8217;s ASP.NET MVC</a> most likely wont&#8217; be cross platform *wink*.</p>
<h4><strong>Some info on the PureMVC framework (caution PDF):</strong></h4>
<ul>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,31/" class="mainlevel">Goals &amp; Benefits</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,34/" class="mainlevel" id="active_menu">Conceptual Diagram</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,35/" class="mainlevel">Framework Overview</a></li>
<li><a href="http://puremvc.org/component/option,com_wrapper/Itemid,30/" class="mainlevel">Best Practices</a></li>
</ul>
<h4><a href="http://trac.puremvc.org/PureMVC">PureMVC Manifold</a></h4>
<ul>
<li></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Documentation">Documentation</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/ProjectOwners">Project Owners</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Repositories">Repositories</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Contribute">Get Involved!</a></li>
</ul>
<h4>Ports</h4>
<ul>
<li><a href="http://trac.puremvc.org/PureMVC_AS2/">ActionScript 2 </a></li>
<li><a href="http://trac.puremvc.org/PureMVC_AS3/">ActionScript 3 </a></li>
<li><a href="http://trac.puremvc.org/PureMVC_CSharp/">C#</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_CF/">ColdFusion</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Java/">Java</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Perl/">Perl</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_PHP/">PHP</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Python/">Python</a></li>
<li><a href="http://trac.puremvc.org/PureMVC_Ruby/">Ruby</a></li>
<li><a href="http://trac.puremvc.org/PureMVC/wiki/Contribute">Propose a Port</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/29/is-puremvc-the-cross-platform-baseplane-mvc-toolkit-you-have-been-looking-for/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Big O Notation in Design Theory</title>
		<link>http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/</link>
		<comments>http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/#comments</comments>
		<pubDate>Sun, 23 Mar 2008 02:01:26 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[formal]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[chaos]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[simulation]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/</guid>
		<description><![CDATA[Big O Notation is based on complexity theory and is something engineers and architects should know about do determine complexity and orders of magnitude in their data and scalability formal blueprints. Whenever you use any algorithm or port a formal function into code, math and reducing the orders of magnitude is what separates the fast [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Big_O_notation" target="_blank">Big O Notation is based on complexity theory</a> and is something engineers and architects should know about do determine complexity and orders of magnitude in their data and scalability formal blueprints. Whenever you use any algorithm or port a formal function into code, math and reducing the orders of magnitude is what separates the fast from really fast.</p>
<p>Optimization can be evil, but solid base starting points are desired.  Many times formal knowledge can be as needed as logical or physical separation and understanding service and standards format layering in your applications for the best evolution and versioning as well as performance. Formal engineering is what is separating companies like Google from the pack.  Do you do formal?</p>
<blockquote>
<h2><span class="mw-headline">Orders of common functions</span></h2>
<p>Here is a list of classes of functions that are commonly encountered when analyzing algorithms. All of these are as <em>n</em> increases to infinity. The slower-growing functions are listed first. <em>c</em> is an arbitrary constant.</p></blockquote>
<blockquote>
<table class="wikitable">
<tr>
<th>Notation</th>
<th>Name</th>
<th>Example</th>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/8/8/8/888824f927e3941162481ec1e6a80a4d.png" class="tex" alt="\mathcal{O}\left(1\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Constant" title="Constant">constant</a></td>
<td>Determining if a number is even or odd</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/3/7/9/379f15e10978c0cc0c0496a3c9393435.png" class="tex" alt="\mathcal{O}\left(\alpha(n)\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Ackermann_function" title="Ackermann function">inverse Ackermann</a></td>
<td><a href="http://en.wikipedia.org/wiki/Amortized" class="mw-redirect" title="Amortized">Amortized</a> time per operation when using a <a href="http://en.wikipedia.org/wiki/Disjoint-set_data_structure" title="Disjoint-set data structure">disjoint-set (union-find) data structure</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/d/f/f/dffc45a5565208e34bba3fbc0733d2c3.png" class="tex" alt="\mathcal{O}\left(\log^* n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Iterated_logarithm" title="Iterated logarithm">iterated logarithmic</a></td>
<td>The <tt>find</tt> algorithm of <a href="http://en.wikipedia.org/wiki/John_Hopcroft" title="John Hopcroft">Hopcroft</a> and <a href="http://en.wikipedia.org/wiki/Jeffrey_Ullman" title="Jeffrey Ullman">Ullman</a> on a <a href="http://en.wikipedia.org/wiki/Disjoint_set_data_structure" class="mw-redirect" title="Disjoint set data structure">disjoint set</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/e/9/7/e97bac4d94b3b4762ebc061cb65c3a09.png" class="tex" alt="\mathcal{O}\left(\log n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Logarithm" title="Logarithm">logarithmic</a></td>
<td>Finding an item in a sorted list with the <a href="http://en.wikipedia.org/wiki/Binary_search_algorithm" title="Binary search algorithm">binary search algorithm</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/4/1/b/41be8765d7c54f6de4119838182a958d.png" class="tex" alt="\mathcal{O}\left(\left(\log n\right)^c\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Polylogarithmic" title="Polylogarithmic">polylogarithmic</a></td>
<td>Deciding if <em>n</em> is prime with the <a href="http://en.wikipedia.org/wiki/AKS_primality_test" title="AKS primality test">AKS primality test</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/1/1/a/11a23e0d7b520ccb078ffdc68abf019e.png" class="tex" alt="\mathcal{O}\left({n^c}\right), 0&lt;c&lt;1" /></td>
<td>fractional power</td>
<td>searching in a <a href="http://en.wikipedia.org/wiki/Kd-tree" title="Kd-tree">kd-tree</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/4/f/f/4ffb6f36df8528cc63aa62b32c85ff7c.png" class="tex" alt="\mathcal{O}\left(n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Linear" title="Linear">linear</a></td>
<td>Finding an item in an unsorted list</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/0/6/b/06b794d6fc33d5aaae41ee7658a09898.png" class="tex" alt="\mathcal{O}\left(n\log n\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Linearithmic_function" title="Linearithmic function">linearithmic</a>, loglinear, or quasilinear</td>
<td>Sorting a list with <a href="http://en.wikipedia.org/wiki/Heapsort" title="Heapsort">heapsort</a>, computing a <a href="http://en.wikipedia.org/wiki/Fast_Fourier_transform" title="Fast Fourier transform">FFT</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/9/e/9/9e90bf6de369140a3f217b76a787a854.png" class="tex" alt="\mathcal{O}\left({n^2}\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Quadratic_function" title="Quadratic function">quadratic</a></td>
<td>Sorting a list with <a href="http://en.wikipedia.org/wiki/Insertion_sort" title="Insertion sort">insertion sort</a>, computing a <a href="http://en.wikipedia.org/wiki/Discrete_Fourier_transform" title="Discrete Fourier transform">DFT</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/8/5/1/851ab6e4b5df90b53198ca4965aee204.png" class="tex" alt="\mathcal{O}\left({n^c}\right), c&gt;1" /></td>
<td><a href="http://en.wikipedia.org/wiki/Polynomial" title="Polynomial">polynomial</a>, sometimes called algebraic</td>
<td>Finding the shortest path on a weighted digraph with the <a href="http://en.wikipedia.org/wiki/Floyd-Warshall_algorithm" class="mw-redirect" title="Floyd-Warshall algorithm">Floyd-Warshall algorithm</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/6/9/c/69c1a2ea49668b91f25d3b008a688865.png" class="tex" alt="\mathcal{O}\left({c^n}\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Exponential_function" title="Exponential function">exponential</a>, sometimes called <a href="http://en.wikipedia.org/wiki/Geometric_progression" title="Geometric progression">geometric</a></td>
<td>Finding the (exact) solution to the <a href="http://en.wikipedia.org/wiki/Traveling_salesman_problem" class="mw-redirect" title="Traveling salesman problem">traveling salesman problem</a> (under the assumption that <a href="http://en.wikipedia.org/wiki/P_%3D_NP_problem" title="P = NP problem">P ≠ NP</a>)</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/0/0/3/0036a08882d5bc4bc7609acbb0825be9.png" class="tex" alt="\mathcal{O}\left(n!\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Factorial" title="Factorial">factorial</a>, sometimes called combinatorial</td>
<td>Determining if two logical statements are equivalent<sup id="cite_ref-0" class="reference"><a href="http://en.wikipedia.org/wiki/Big_O_notation#cite_note-0">[1]</a></sup>, <a href="http://en.wikipedia.org/wiki/Traveling_salesman_problem" class="mw-redirect" title="Traveling salesman problem">traveling salesman problem</a>, or any other <a href="http://en.wikipedia.org/wiki/NP-complete" title="NP-complete">NP-complete</a> problem via <a href="http://en.wikipedia.org/wiki/Brute-force_search" title="Brute-force search">brute-force search</a>, finding the <a href="http://en.wikipedia.org/wiki/Determinant" title="Determinant">determinant</a> of a <a href="http://en.wikipedia.org/wiki/Matrix" title="Matrix">matrix</a> with <a href="http://en.wikipedia.org/wiki/Expansion_by_minors" class="mw-redirect" title="Expansion by minors">expansion by minors</a></td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/9/d/4/9d45984ac8901e89779a1d1dfe805142.png" class="tex" alt="\mathcal{O}\left({n^n}\right)" /></td>
<td>n to the n</td>
<td>&nbsp;</td>
</tr>
<tr>
<td><img src="http://upload.wikimedia.org/math/0/6/7/0672d9675d512bd7e975d3b79c31b874.png" class="tex" alt="\mathcal{O}\left(c_1^{c_2^n}\right)" /></td>
<td><a href="http://en.wikipedia.org/wiki/Double_exponential_function" title="Double exponential function">double exponential</a></td>
<td>Finding a complete set of associative-commutative unifiers<sup id="cite_ref-1" class="reference"><a href="http://en.wikipedia.org/wiki/Big_O_notation#cite_note-1">[2]</a></sup></td>
</tr>
</table>
<p>Not as common, but even larger growth is possible, such as the single-valued version of the <a href="http://en.wikipedia.org/wiki/Ackermann_function" title="Ackermann function">Ackermann function</a>, A(<em>n</em>,<em>n</em>). Conversely, extremely slowly-growing functions such as the inverse of this function, often denoted α(<em>n</em>), are possible. Although unbounded, these functions are often regarded as being constant factors for all practical purposes.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/22/big-o-notation-in-design-theory/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>JSON-RPC Implementations</title>
		<link>http://baseplane.com/2008/03/20/json-rpc-implementations/</link>
		<comments>http://baseplane.com/2008/03/20/json-rpc-implementations/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 10:14:31 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[toolkits]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[json-rpc]]></category>
		<category><![CDATA[platforms]]></category>
		<category><![CDATA[rpc]]></category>
		<category><![CDATA[service]]></category>
		<category><![CDATA[xml-rpc]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/20/json-rpc-implementations/</guid>
		<description><![CDATA[
     JSON-RPC is the answer to the argument that XML RPC is too verbose and bloated and convoluted.  JSON is just about as simple as you can get in data formats and it is becoming a great baseplane standard and is a tool that spans many platforms.
 &#8220;Does distributed computing have [...]]]></description>
			<content:encoded><![CDATA[<p class="wikipage">
<p id="searchable">     <a href="http://json-rpc.org/" target="_blank">JSON-RPC</a> is the answer to the argument that XML RPC is too verbose and bloated and convoluted.  JSON is just about as simple as you can get in data formats and it is becoming a great baseplane standard and is a tool that spans many platforms.</p>
<blockquote><p> &#8220;Does distributed computing have to be any harder than this? I don&#8217;t think so.&#8221;</p>
<p>Can it be even simpler ?</p>
<p>JSON-RPC is lightweight remote procedure call protocol similar to XML-RPC. It&#8217;s designed to be simple!</p>
<ul>
<li><a href="http://json-rpc.org/wiki/specification" class="wiki">specification</a></li>
<li><a href="http://json-rpc.org/wiki/python-json-rpc" class="wiki">python package</a> implementing JSON-RPC</li>
<li><a href="http://json-rpc.org/wiki/implementations" class="wiki">more implementations</a></li>
<li><a href="http://json-rpc.org/wiki/services" class="wiki">services</a></li>
<li><a href="http://json-rpc.org/wiki/about" class="wiki">about JSON-RPC</a></li>
</ul>
</blockquote>
<p id="searchable">
<h2 id="JavaScript">JavaScript<a href="http://json-rpc.org/wiki/implementations#JavaScript" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li>There is a JSON-RPC implementations as part of JavaScript O Lait <a href="http://jsolait.net/" class="ext-link"><span class="icon">jsolait</span></a>.<br />
You can also find some live <a href="http://jsolait.net/wiki/examples" class="ext-link"><span class="icon">examples</span></a></li>
<li>The <a href="http://sourceforge.net/projects/teleport/" class="ext-link"><span class="icon">Open Source TelePort Library</span></a> supports JSON-RPC as well as other RPC protocols.<br />
Live demos and documentation can be found <a href="http://www.javeline.org/modules/products/teleport.php" class="ext-link"><span class="icon">here</span></a>.</li>
<li><a href="http://oss.metaparadigm.com/jsonrpc/" class="ext-link"><span class="icon">JSON-RPC to Java bridge</span></a> includes a JavaScript client.</li>
<li><a href="http://dojotoolkit.org/" class="ext-link"><span class="icon">Dojo Toolkit 0.3</span></a> implements JSON RPC.</li>
<li><a href="http://code.google.com/p/json-xml-rpc/" class="ext-link"><span class="icon">JSON/XML-RPC Client Implementation</span></a> which abstracts-away the differences between JSON-RPC and XML-RPC and permits cross-site requests.</li>
</ul>
<h2 id="C">C<a href="http://json-rpc.org/wiki/implementations#C" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://www.big-llc.com/Wiki.jsp?page=Products.JSONRPCLibrary" class="ext-link"><span class="icon">JSON-RPC C Bridge</span></a>. There is also support for <a href="http://www.goahead.com/webserver/webserver.htm" class="ext-link"><span class="icon">GoAhead WebServers</span></a>.</li>
</ul>
<h2 id="C1">C#<a href="http://json-rpc.org/wiki/implementations#C1" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://jayrock.berlios.de/" class="ext-link"><span class="icon">.NET and ASP.NET</span></a></li>
</ul>
<h2 id="Erlang">Erlang<a href="http://json-rpc.org/wiki/implementations#Erlang" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://yaws.hyber.org/json_intro.yaws" class="ext-link"><span class="icon">YAWS JSON-RPC module (HTTP client/server)</span></a></li>
</ul>
<h2 id="Java">Java<a href="http://json-rpc.org/wiki/implementations#Java" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://oss.metaparadigm.com/jsonrpc/" class="ext-link"><span class="icon">JSON-RPC to Java bridge</span></a></li>
<li><a href="http://jrp.sourceforge.net/" class="ext-link"><span class="icon">JRP</span></a></li>
</ul>
<h2 id="Lisp">Lisp<a href="http://json-rpc.org/wiki/implementations#Lisp" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://common-lisp.net/project/cl-json/" class="ext-link"><span class="icon">Common Lisp</span></a></li>
</ul>
<h2 id="Lua">Lua<a href="http://json-rpc.org/wiki/implementations#Lua" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://json.luaforge.net/" class="ext-link"><span class="icon">Lua</span></a></li>
</ul>
<h2 id="Perl">Perl<a href="http://json-rpc.org/wiki/implementations#Perl" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://www.catalystframework.org/" class="ext-link"><span class="icon">Catalyst</span></a> using the <a href="http://search.cpan.org/%7Emiyagawa/Catalyst-Plugin-JSONRPC-0.01/lib/Catalyst/Plugin/JSONRPC.pm" class="ext-link"><span class="icon">JSONRPC plugin</span></a></li>
<li><a href="http://search.cpan.org/dist/JSON/" class="ext-link"><span class="icon">JSON module</span></a></li>
</ul>
<h2 id="Php">Php<a href="http://json-rpc.org/wiki/implementations#Php" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://mike.teczno.com/json.html" class="ext-link"><span class="icon">JSON-PHP</span></a></li>
<li><a href="http://www.aurore.net/projects/php-json/" class="ext-link"><span class="icon">php-json</span></a></li>
<li><a href="http://phpolait.sourceforge.net/" class="ext-link"><span class="icon">PHP-O-Lait</span></a></li>
<li><a href="http://phpxmlrpc.sourceforge.net/" class="ext-link"><span class="icon">Phpxmlrpc</span></a> (in the &#8216;extras&#8217; package)</li>
<li><a href="http://pecl.php.net/package/sca_sdo" class="ext-link"><span class="icon">SCA_SDO Pecl Package</span></a></li>
<li><a href="http://jsonphp.com/" class="ext-link"><span class="icon">JSON_RPC_Server, a JSON-RPC implementation in PHP</span></a></li>
<li><a href="http://code.google.com/p/json-xml-rpc/" class="ext-link"><span class="icon">JSON/XML-RPC Server Implementation</span></a> which abstracts-away the differences between JSON-RPC and XML-RPC.</li>
</ul>
<h2 id="Python">Python<a href="http://json-rpc.org/wiki/implementations#Python" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://json-rpc.org/wiki/python-json-rpc" class="wiki">A python package</a> which implements the JSON-RPC specs. It includes an mod_python handler, a CGIHandler, a TCP server and (soon) a ServiceProxies implementation.</li>
<li><a href="http://www.cherrypy.org/wiki/CherryJsonRpc" class="ext-link"><span class="icon">CherryPy (python)</span></a></li>
<li><a href="http://www.zope.org/Members/ree/jsonserver2" class="ext-link"><span class="icon">Zope 2</span></a></li>
<li><a href="http://zif.hill-street.net/jsonserve" class="ext-link"><span class="icon">Zope 3</span></a></li>
<li><a href="http://projects.adytum.us/tracs/JSON-RPC" class="ext-link"><span class="icon">Twisted JSON-RPC</span></a> &#8211; Web, Web2, and TCP</li>
</ul>
<h2 id="Ruby">Ruby<a href="http://json-rpc.org/wiki/implementations#Ruby" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://orbjson.rubyforge.org/" class="ext-link"><span class="icon">Ruby</span></a></li>
</ul>
<h2 id="Frameworks">Frameworks<a href="http://json-rpc.org/wiki/implementations#Frameworks" title="Link to this section" class="anchor"> </a></h2>
<ul>
<li><a href="http://www.catalystframework.org/" class="ext-link"><span class="icon">Catalyst (Perl)</span></a> using the <a href="http://search.cpan.org/%7Emiyagawa/Catalyst-Plugin-JSONRPC-0.01/lib/Catalyst/Plugin/JSONRPC.pm" class="ext-link"><span class="icon">JSONRPC plugin</span></a></li>
<li><a href="http://www.cherrypy.org/wiki/CherryJsonRpc" class="ext-link"><span class="icon">CherryPy (python)</span></a></li>
<li><a href="http://jrp.sourceforge.net/" class="ext-link"><span class="icon">JRP</span></a></li>
<li><a href="http://jayrock.berlios.de/" class="ext-link"><span class="icon">.NET and ASP.NET</span></a></li>
<li><a href="http://www.zope.org/Members/ree/jsonserver2" class="ext-link"><span class="icon">Zope 2</span></a></li>
<li><a href="http://zif.hill-street.net/jsonserve" class="ext-link"><span class="icon">Zope 3</span></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/20/json-rpc-implementations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Is Python Becoming A Market Baseplane Language?</title>
		<link>http://baseplane.com/2008/03/13/is-python-becoming-a-market-baseplane-language/</link>
		<comments>http://baseplane.com/2008/03/13/is-python-becoming-a-market-baseplane-language/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 10:03:18 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/03/13/is-python-becoming-a-market-baseplane-language/</guid>
		<description><![CDATA[Sun has been on a rampage lately.  They recently purchased MySQL (which has some questions with InnoDB) but they also are supporting Python and integrating it into the VM offerings with Jython.
So now we have Google (They employ Guido), Microsoft (IronPython) and Sun (Jython) all turning into Python-istas. Does this mean Python is destined [...]]]></description>
			<content:encoded><![CDATA[<p>Sun has been on a rampage lately.  They recently purchased MySQL (which has some questions with InnoDB) but <a href="http://www.tbray.org/ongoing/When/200x/2008/03/03/Python-at-Sun" target="_blank">they also are supporting Python</a> and integrating it into the VM offerings with Jython.</p>
<p>So now we have Google (They employ <a href="http://www.python.org/~guido/" target="_blank">Guido</a>), Microsoft (<a href="http://www.codeplex.com/IronPython" target="_blank">IronPython</a>) and Sun (<a href="http://www.jython.org/Project/index.html" target="_blank">Jython</a>) all turning into Python-istas. <strong>Does this mean Python is destined for greatness in the near future?</strong>  Well I recommend learning it.  It is a great language and it has a high productivity rate.  Time will tell if it has the ability to be in extremely large code bases.  I think it is just a matter of the architecture and organization as with any project.</p>
<p>Jonathan Schwartz at Sun mentioned also taking the &#8220;J&#8221; out of &#8220;JVM&#8221; to just make a VM much like a .NET framework.  So Microsoft copied Java with C# the JVM and added multiple languages.  Then Sun comes back and added multiple byte code compiled languages.  And   then they both focus on dynamic engines to implement versions of Python, Microsoft doing this within their DLR.</p>
<p>Many times the larger market languages that end up running business or &#8220;enterprisey&#8221; are heavily influenced by companies, in addition to the other demands from consumers, which here is programmers.  <strong>So when the big three are all banking on Python as a draw there is a definite market draw there and a tell on the future.</strong>  But I think it is apparent that Python is becoming a standard market baseplane language.</p>
<p>It is great to be able to use other libraries from .net with IronPython and java libraries with Jython.  It has found a way to integrate with the current infrastructure and the language has low bar entry but deep benefits. Python is snaking its way into the market.</p>
<p><strong>Python is so non verbose&#8230;</strong><br />
<code></code></p>
<pre>
import sys
import clr
from System.IO import Path, Directory, FileInfodir = Path.Combine(sys.prefix, 'DLLs')

if Directory.Exists(dir):
    sys.path.append(dir)
    files = Directory.GetFiles(dir)
    for file in files:
        if file.lower().endswith('.dll'):
            try:
                clr.AddReference(FileInfo(file).Name)
            except:
                pass</pre>
<p>This sample is from IronPython showing adding dynamic references to all dlls loaded.</p>
<p><strong>Check out this HTML/XHTML parser in pure Python.</strong><br />
<code><br />
from HTMLParser import HTMLParserclass MyHTMLParser(HTMLParser):<br />
def handle_starttag(self, tag, attrs):<br />
print "Encountered the beginning of a %s tag" % tag<br />
def handle_endtag(self, tag):<br />
print "Encountered the end of a %s tag" % tag<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/03/13/is-python-becoming-a-market-baseplane-language/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>What is a baseplane?</title>
		<link>http://baseplane.com/2008/02/21/what-is-a-baseplane/</link>
		<comments>http://baseplane.com/2008/02/21/what-is-a-baseplane/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 04:42:41 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[baseplane]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[toolkits]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/02/21/what-is-a-baseplane/</guid>
		<description><![CDATA[baseplane: In software development, a set of tools, systems, patterns and designs that allow a system to be easily transferred to many back ends, services or front ends using standards, patterns and ideally non platform specific tools. Typically the baseplane includes both open standards and market standards based on industry usage. A baseplane may also [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>baseplane:</strong> In software development, a set of tools, systems, patterns and designs that allow a system to be easily transferred to many back ends, services or front ends using standards, patterns and ideally non platform specific tools. Typically the baseplane includes both open standards and market standards based on industry usage. A baseplane may also be a way to commonize output to allow better designer and developer production.</p></blockquote>
<p>A baseplane is a word I termed to describe the current, most technologically advanced set of tools and patterns that are usable across all major programming platforms.</p>
<p>The idea is that a company or programmer is sometimes held hostage by a particular platform or developer mindshare. People loving a good competition boast about platforms over other platforms and how one is better than the other. It is all fun and games but it doesn’t really give you the ‘best’ patterns and solutions. By patterns I mean general patterns not design patterns specifically for OO programming.</p>
<p>The ideal situation is where software is built semantically and from user perspectives with simplified enterprise entities and collections that perform top notch in a data store, no matter the platform or the language used to create it.</p>
<p>That is where true solutions begin, when companies and individuals can use the best platform or framework no matter their legion. A baseplane is a way to create systems that work well in many systems.</p>
<p>For instance JSON is a great example, this allows a layer to make back ends any language and then the front end any presentation from apps, to web to flash to whatever.</p>
<p>There will be more on this but the tools on this site all have this in mind.</p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/02/21/what-is-a-baseplane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft Binary Standards</title>
		<link>http://baseplane.com/2008/02/18/microsoft-binary-standards/</link>
		<comments>http://baseplane.com/2008/02/18/microsoft-binary-standards/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 13:43:17 +0000</pubDate>
		<dc:creator>drawk</dc:creator>
				<category><![CDATA[announcement]]></category>
		<category><![CDATA[market formats]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[binary]]></category>
		<category><![CDATA[doc]]></category>
		<category><![CDATA[formats]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[ppt]]></category>
		<category><![CDATA[xls]]></category>

		<guid isPermaLink="false">http://baseplane.com/2008/02/18/microsoft-binary-standards/</guid>
		<description><![CDATA[Is Microsoft going baseplane? Lots of people are going towards web based office in many ways, it is wise to release and allow people to export to these formats cleanly.

Microsoft Office Binary (doc, xls, ppt) File Formats
Published: February 15, 2008 
The documents listed below are covered by the Microsoft Open Specification Promise.

Microsoft Word
Word 97-2007 Binary [...]]]></description>
			<content:encoded><![CDATA[<p>Is <a href="http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx" target="_blank">Microsoft going baseplane</a>? Lots of people are going towards web based office in many ways, it is wise to release and allow people to export to these formats cleanly.</p>
<blockquote>
<h4>Microsoft Office Binary (doc, xls, ppt) File Formats</h4>
<p class="date">Published: February 15, 2008<span class="datePipe"> </span></p>
<p>The documents listed below are covered by the <a href="http://www.microsoft.com/interop/osp">Microsoft Open Specification Promise.</a></p></blockquote>
<blockquote>
<h4>Microsoft Word</h4>
<p>Word 97-2007 Binary File Format (.doc) Specification <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/Word97-2007BinaryFileFormat%28doc%29Specification.pdf">PDF</a> | <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/Word97-2007BinaryFileFormat%28doc%29Specification.xps">XPS</a></p>
<h4>Microsoft PowerPoint</h4>
<p>PowerPoint 97-2007 Binary File Format (.ppt) Specification <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/PowerPoint97-2007BinaryFileFormat%28ppt%29Specification.pdf">PDF</a> | <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/PowerPoint97-2007BinaryFileFormat%28ppt%29Specification.xps">XPS</a></p>
<h4>Microsoft Excel</h4>
<p>Excel 97-2007 Binary File Format (.xls) Specification <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/Excel97-2007BinaryFileFormat%28xls%29Specification.pdf">PDF</a> | <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/Excel97-2007BinaryFileFormat%28xls%29Specification.xps">XPS</a></p>
<p>Excel 2007 Binary File Format (.xlsb) Specification <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/Excel2007BinaryFileFormat%28xlsb%29Specification.pdf">PDF</a> | <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/Excel2007BinaryFileFormat%28xlsb%29Specification.xps">XPS</a></p>
<h4>Office Drawing</h4>
<p>Office Drawing 97-2007 Binary Format Specification <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/OfficeDrawing97-2007BinaryFormatSpecification.pdf">PDF</a> | <a href="http://download.microsoft.com/download/0/B/E/0BE8BDD7-E5E8-422A-ABFD-4342ED7AD886/OfficeDrawing97-2007BinaryFormatSpecification.xps">XPS</a></p>
<h4>Supporting Technologies</h4>
<p>See <a href="http://www.microsoft.com/interop/docs/supportingtechnologies.mspx">Supporting Technologies</a></p></blockquote>
<p>Yes you have reached the twilight zone&#8230; do-de-do-do.</p>
]]></content:encoded>
			<wfw:commentRss>http://baseplane.com/2008/02/18/microsoft-binary-standards/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
