<?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>indiWiz.com &#187; OpenSource</title>
	<atom:link href="http://indiwiz.com/category/opensource/feed/" rel="self" type="application/rss+xml" />
	<link>http://indiwiz.com</link>
	<description>Subhash&#039;s Tech Log</description>
	<lastBuildDate>Sun, 29 Apr 2012 15:11:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WizTools.org: A history!</title>
		<link>http://indiwiz.com/2009/11/24/wiztools-org-a-history/</link>
		<comments>http://indiwiz.com/2009/11/24/wiztools-org-a-history/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 05:18:14 +0000</pubDate>
		<dc:creator>Subhash Chandran</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[wiztools]]></category>

		<guid isPermaLink="false">http://indiwiz.com/?p=584</guid>
		<description><![CDATA[Writing OpenSource code has been one of my priorities. I have been doing it for years now. This is the story of how it all began. 2003 Before joining in a tech job, many people told me how routine tech job is. People give requirements, and the techies translate it to working code. This was [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Writing OpenSource code has been one of my priorities. I have been doing it for years now. This is the story of how it all began.</p>
<h4>2003</h4>
<p>Before joining in a tech job, many people told me how routine tech job is. People give requirements, and the techies translate it to working code. This was frightening to me! So I decided, I will do all the mundane programming work quickly using automated scripts. I developed a TextEditor for this purpose. It was completely scriptable using BeanShell. This probably is my first OpenSource application. The Java package name started with com.indiwiz.*. The application was shared to the world from my site <em>indiWiz.com</em>.</p>
<h4>2005-6</h4>
<p>I had a huge collection of porn, and I was sharing my computer with my family. The system had dual boot with both Windows and Linux. I wanted a cross-platform application which would enable me to encrypt and decrypt my precious downloads. During free moments in office, I started exploring encryption and security. This resulted in the <a href="http://wizcrypt.wiztools.org/">WizCrypt</a> project. I learned a great deal when writing this project. This is the only project I have worked on which involved file-format design. For this project I did not want to have the package name starting with <em>com.indiwiz.*</em>. I found the <em>com</em> to be misleading of the purpose. I wanted a package name starting with <em>org</em>. Luckily, I came up with the name <a href="http://wiztools.org/">WizTools.org</a>, and more luckily, it was available for registration. I grabbed it. Since that date, all my OpenSource work has been branded under this label.</p>
<h4>2007</h4>
<p>At this time I was working in SpikeSource with an interesting team. I started <a href="http://rest-client.googlecode.com/">RESTClient</a> project for testing RESTful WebServices. This was developed in collaboration with Ravi Subramanian (we lost Ravi in a accident in 2008). His sudden demise was a shock to me. This is the most popular product from the WizTools.org stable. It has the maximum community inputs. To broadcast updates of the WizTools.org project, I anticipated a need for a dedicated blog. Thus was <a href="http://wiztools.blogspot.com/">wiztools.blogspot.com</a> born.</p>
<h4>Present</h4>
<p>This is the period during which huge amount of effort and time was spent by me to stabilize and popularize RESTClient. I also started the <a href="http://wiztools.googlecode.com/">WizTools.org mini-projects</a>. The mini-projects was created to host all simpler applications without involving the cost (in terms of time) of creating a new project and associated repositories and mailing lists. At the time of writing, the mini-project hosts around 14 released tools/components, and few other productivity tools like JEdit macros and bookmarklets. We also have started some interesting new projects like <a href="http://java-portlets.googlecode.com/">Java Portlets</a> (reusable JSR-286 portlets) and <a href="http://the-great-wall.googlecode.com/">The Great Wall</a> (micro-blogging web-application) recently.</p>
<p>Now, looking back at the projects available at WizTools.org, I recollect beautiful stories of my own needs for these projects. And the efforts my collaborators and I put to bring them in place.</p>
<div class="shr-publisher-584"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://indiwiz.com/2009/11/24/wiztools-org-a-history/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OpenSource Collaborative Text Editor</title>
		<link>http://indiwiz.com/2009/10/26/opensource-collaborative-text-editor/</link>
		<comments>http://indiwiz.com/2009/10/26/opensource-collaborative-text-editor/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 08:49:33 +0000</pubDate>
		<dc:creator>Subhash Chandran</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[texteditor]]></category>

		<guid isPermaLink="false">http://indiwiz.com/?p=551</guid>
		<description><![CDATA[I was reading the book Beautiful Teams. There is an essay by Cory Doctorow titled The Copyfighters Take Mordor. In this essay Doctorow recounts how a set of sparsely-funded freedom-loving individuals fight the might of Corporate funded copyright groups from passing a new international law to curb freedom in the UN. If freedom-fighters had not [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>I was reading the book <a href="http://oreilly.com/catalog/9780596518028">Beautiful Teams</a>. There is an essay by <a href="http://en.wikipedia.org/wiki/Cory_Doctorow">Cory Doctorow</a> titled <em>The Copyfighters Take Mordor</em>. In this essay Doctorow recounts how a set of sparsely-funded freedom-loving individuals fight the might of Corporate funded copyright groups from passing a new international law to curb freedom in the UN. If freedom-fighters had not succeeded, the present world would have been different. Even distribution and editing of Creative Common licensed media work would be controlled by the broadcaster (even if the author of the digital work gave permission otherwise). Thankfully the freedom-fighters won!</p>
<p>The hightlight of this fight is a tool. The tool is a collaborative text editor for the Mac called <a href="http://www.codingmonkeys.de/subethaedit/">SubEthaEdit</a>. During the boring and tedious meetings in the UN where the Corporates were selling their idea, our own set of free-individuals recorded the transcript, collaboratively-edited (using SubEthaEdit) and posted the information for the world to see in various blogs. This had caught the attention of the world, and now, the world is a better place.</p>
<p>SubEthaEdit interested me. I wanted to try it. Unfortunately, SubEthaEdit is available only for Mac. I was disappointed. Then I searched for OpenSource alternatives. This lead me to <a href="http://gobby.0x539.de/trac/">Gobby</a>. Gobby is a GTK+ application which can run in Linux, Mac and Windows. For example, in Ubuntu I installed it thus:</p>
<pre>
$ sudo apt-get install gobby
</pre>
<p>Gobby is cool. Checkout some of the <a href="http://www.flickr.com/photos/subwiz/tags/gobby">screenshots</a> I took. Gobby could prove to be a powerful tool for code-review and collaborative document editing/review.</p>
<div class="shr-publisher-551"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://indiwiz.com/2009/10/26/opensource-collaborative-text-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSource Font Manager</title>
		<link>http://indiwiz.com/2009/09/23/opensource-font-manager/</link>
		<comments>http://indiwiz.com/2009/09/23/opensource-font-manager/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 09:10:13 +0000</pubDate>
		<dc:creator>Subhash Chandran</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[type]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://indiwiz.com/2009/09/23/opensource-font-manager/</guid>
		<description><![CDATA[Fontmatrix is an excellent Font organizing Software available for Linux, Windows and MacOS. To install it in all Debian based systems (including Ubuntu): $ sudo apt-get install fontmatrix Screenshot of Fontmatrix running in my system:]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><a href="http://fontmatrix.net/">Fontmatrix</a> is an excellent Font organizing Software available for Linux, Windows and MacOS.</p>
<p>To install it in all Debian based systems (including Ubuntu):</p>
<pre>
$ sudo apt-get install fontmatrix
</pre>
<p>Screenshot of Fontmatrix running in my system:</p>
<p><a href="http://www.flickr.com/photos/subwiz/3947105588/" title="Fontmatrix by subWiz, on Flickr"><img src="http://farm4.static.flickr.com/3466/3947105588_b5db6a58cf_m.jpg" width="240" height="190" alt="Fontmatrix" /></a></p>
<div class="shr-publisher-505"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://indiwiz.com/2009/09/23/opensource-font-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tornado (the Python WebServer/Framework behind FriendFeed) goes OpenSource</title>
		<link>http://indiwiz.com/2009/09/11/tornado-the-python-webserverframework-behind-friendfeed-goes-opensource/</link>
		<comments>http://indiwiz.com/2009/09/11/tornado-the-python-webserverframework-behind-friendfeed-goes-opensource/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 05:40:46 +0000</pubDate>
		<dc:creator>Subhash Chandran</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[webframework]]></category>
		<category><![CDATA[webserver]]></category>

		<guid isPermaLink="false">http://indiwiz.com/?p=491</guid>
		<description><![CDATA[Post acquisition by Facebook, the software behind FriendFeed has been OpenSourced. Tornado is a Python WebServer/Framework. The distinguishing feature of this WebServer is that it is non-blocking and designed for high-scalability. Facebook in the past has OpenSourced many of their frameworks and tools.]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Post acquisition by <a href="http://facebook.com/">Facebook</a>, the software behind <a href="http://friendfeed.com/">FriendFeed</a> has been OpenSourced. <a href="http://www.tornadoweb.org/">Tornado</a> is a Python WebServer/Framework. The distinguishing feature of this WebServer is that it is non-blocking and designed for high-scalability.</p>
<p>Facebook in the past has <a href="http://developers.facebook.com/opensource.php">OpenSourced many of their frameworks and tools</a>.</p>
<div class="shr-publisher-491"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://indiwiz.com/2009/09/11/tornado-the-python-webserverframework-behind-friendfeed-goes-opensource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VirtualBox 2.2 Released</title>
		<link>http://indiwiz.com/2009/04/09/virtualbox-22-released/</link>
		<comments>http://indiwiz.com/2009/04/09/virtualbox-22-released/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 05:54:10 +0000</pubDate>
		<dc:creator>Subhash Chandran</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://indiwiz.com/?p=238</guid>
		<description><![CDATA[Version 2.2 of my favorite OpenSource virtualization software, VirtualBox is released. On reading the changelog, I found the new version supporting Open Virtualization Format. This is cool because, now it will be possible to share virtual appliances built with different tools.]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>Version 2.2 of my favorite OpenSource virtualization software, <a href="http://www.virtualbox.org/">VirtualBox</a> is released. On reading the <a href="http://www.virtualbox.org/wiki/Changelog">changelog</a>, I found the new version supporting <a href="http://en.wikipedia.org/wiki/Open_Virtualization_Format">Open Virtualization Format</a>. This is cool because, now it will be possible to share virtual appliances built with different tools.</p>
<div class="shr-publisher-238"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://indiwiz.com/2009/04/09/virtualbox-22-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JEdit, powerful search and replace using BeanShell</title>
		<link>http://indiwiz.com/2008/12/17/jedit-powerful-search-and-replace-using-beanshell/</link>
		<comments>http://indiwiz.com/2008/12/17/jedit-powerful-search-and-replace-using-beanshell/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 08:57:12 +0000</pubDate>
		<dc:creator>Subhash Chandran</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[jedit]]></category>

		<guid isPermaLink="false">http://indiwiz.com/?p=95</guid>
		<description><![CDATA[JEdit is my favorite text editor. And today I was pleased to find some powerful scripting capability in its search and replace functionality. Basically I wanted to enclose a RegularExpression pattern with: &#60;a href=""&#62;PATTERN&#60;/a&#62; The Search and Replace dialog provided an option Return value of a BeanShell snippet. So whatever RegularExpression pattern grouping I provided, [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p><a href="http://www.jedit.org/">JEdit</a> is my favorite text editor. And today I was pleased to find some powerful scripting capability in its <a href="http://www.jedit.org/users-guide/search-replace.html">search and replace functionality</a>. Basically I wanted to enclose a RegularExpression pattern with:</p>
<pre>
&lt;a href=""&gt;PATTERN&lt;/a&gt;
</pre>
<p>The Search and Replace dialog provided an option <i>Return value of a BeanShell snippet</i>. So whatever RegularExpression pattern grouping I provided, I was able to access them using the BeanShell variable <i>_1</i> to <i>_9</i>. So my final replace statement became:</p>
<pre>
"&lt;a href\"\"&gt;" + _1 + "&lt;/a&gt;"
</pre>
<p>Cool solution to a simple problem.</p>
<p><img src="http://indiwiz.files.wordpress.com/2008/12/jedit_search_replace.png" alt="jedit_search_replace" title="jedit_search_replace" width="505" height="449" class="alignnone size-full wp-image-99" /></p>
<div class="shr-publisher-95"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://indiwiz.com/2008/12/17/jedit-powerful-search-and-replace-using-beanshell/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Implementing a DI Framework for WizTools.org RESTClient</title>
		<link>http://indiwiz.com/2008/12/15/implementing-a-di-framework-for-wiztoolsorg-restclient/</link>
		<comments>http://indiwiz.com/2008/12/15/implementing-a-di-framework-for-wiztoolsorg-restclient/#comments</comments>
		<pubDate>Mon, 15 Dec 2008 16:34:44 +0000</pubDate>
		<dc:creator>Subhash Chandran</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[DI]]></category>
		<category><![CDATA[IoC]]></category>
		<category><![CDATA[restclient]]></category>

		<guid isPermaLink="false">http://indiwiz.com/?p=83</guid>
		<description><![CDATA[I wanted very basic DI functionality for RESTClient. Just wanted a mock implementation to execute when doing a mvn test, and real implementation when executed otherwise. So the functionality was simple. My immediate requirement did not require constructor injection or setter injection. And all the beans instantiated had to be singletons. No other fancy requirement. [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>I wanted very basic DI functionality for <a href="http://rest-client.googlecode.com/">RESTClient</a>. Just wanted a mock implementation to execute when doing a <tt>mvn test</tt>, and real implementation when executed otherwise. So the functionality was simple. My immediate requirement did not require constructor injection or setter injection. And all the beans instantiated had to be singletons. No other fancy requirement. So for this limited functionality, I was able to design a small framework in two classes: <a href="http://code.google.com/p/rest-client/source/browse/trunk/src/main/java/org/wiztools/restclient/di/DIFramework.java">DIFramework.java</a> and <a href="http://code.google.com/p/rest-client/source/browse/trunk/src/main/java/org/wiztools/restclient/di/DIException.java">DIException.java</a>. For mapping the implementation to the interface, it is managed using a simple property file with content:</p>
<table border="1" width="100%" cellpadding="5" cellspacing="1">
<tr>
<td>
<pre>
org.wiztools.restclient.IGlobalOptions = org.wiztools.restclient.GlobalOptions
</pre>
</td>
</tr>
</table>
<p></p>
<p>The mock implementation in the test execution would be:</p>
<table border="1" width="100%" cellpadding="5" cellspacing="1">
<tr>
<td>
<pre>
org.wiztools.restclient.IGlobalOptions = org.wiztools.restclient.MockGlobalOptions
</pre>
</td>
</tr>
</table>
<p></p>
<p><tt>org.wiztools.restclient.IGlobalOptions</tt> is the interface, and <tt>org.wiztools.restclient.GlobalOptions</tt> and <tt>org.wiztools.restclient.MockGlobalOptions</tt> are the implementation. To get instance of implementation bean:</p>
<pre class="brush: java; title: ; notranslate">
IGlobalOptions obj = DIFramework.getInstance(IGlobalOptions.class);
</pre>
<p>This would return two different beans in different execution environments based on the property control.</p>
<div class="shr-publisher-83"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://indiwiz.com/2008/12/15/implementing-a-di-framework-for-wiztoolsorg-restclient/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Chrome comes out of Beta!</title>
		<link>http://indiwiz.com/2008/12/12/google-chrome-comes-out-of-beta/</link>
		<comments>http://indiwiz.com/2008/12/12/google-chrome-comes-out-of-beta/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 04:34:44 +0000</pubDate>
		<dc:creator>Subhash Chandran</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://indiwiz.com/?p=68</guid>
		<description><![CDATA[It is really surprising how fast it has come out of beta (compared to other Google products). View the official blog announcing it. For people using Windows XP and Vista (the only supported platforms of Google Chrome), the download is available here: http://www.google.com/chrome/.]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>It is really surprising how fast it has come out of beta (compared to other Google products). View the <a href="http://googleblog.blogspot.com/2008/12/google-chrome-beta.html">official blog announcing it</a>. For people using Windows XP and Vista (the only supported platforms of Google Chrome), the download is available here: <a href="http://www.google.com/chrome/">http://www.google.com/chrome/</a>.</p>
<div class="shr-publisher-68"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://indiwiz.com/2008/12/12/google-chrome-comes-out-of-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python 3.0 Released</title>
		<link>http://indiwiz.com/2008/12/08/python-30-released/</link>
		<comments>http://indiwiz.com/2008/12/08/python-30-released/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 04:52:10 +0000</pubDate>
		<dc:creator>Subhash Chandran</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://indiwiz.com/?p=46</guid>
		<description><![CDATA[My language of preference after Java, has a new release: 3.0. This is an interesting release as it breaks backwards compatibility. A conversion tool for 2.0 code migration to 3.0 is also made available by the community.]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop --><!-- End Shareaholic LikeButtonSetTop --><p>My language of preference after Java, has a new release: <a href="http://python.org/download/releases/3.0/">3.0</a>. This is an interesting release as it <a href="http://docs.python.org/3.0/whatsnew/3.0.html">breaks backwards compatibility</a>. A <a href="http://svn.python.org/view/sandbox/trunk/2to3/">conversion tool</a> for 2.0 code migration to 3.0 is also <a href="http://svn.python.org/view/sandbox/trunk/2to3/">made available by the community</a>.</p>
<div class="shr-publisher-46"></div><!-- Start Shareaholic LikeButtonSetBottom --><!-- End Shareaholic LikeButtonSetBottom -->]]></content:encoded>
			<wfw:commentRss>http://indiwiz.com/2008/12/08/python-30-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

