<?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>Multunus</title>
	<atom:link href="http://www.multunus.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.multunus.com</link>
	<description>Multunus Blog</description>
	<lastBuildDate>Wed, 24 Feb 2010 11:52:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Electronic Funds Transfer in India &#8211; NEFT vs RTGS</title>
		<link>http://www.multunus.com/2010/02/electronic-funds-transfer-in-india-neft-vs-rtgs/</link>
		<comments>http://www.multunus.com/2010/02/electronic-funds-transfer-in-india-neft-vs-rtgs/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 11:48:08 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://www.multunus.com/?p=843</guid>
		<description><![CDATA[Last month I bought a new Dell Studio 14 laptop. I got this from the Dell online store. I had to make the payment in 2 parts, using my Credit Card and the rest by online third party transfer.
I&#8217;d used the online funds transfer facilities of my bank many times before using the NEFT method. [...]]]></description>
			<content:encoded><![CDATA[<p>Last month I bought a new Dell Studio 14 laptop. I got this from the Dell online store. I had to make the payment in 2 parts, using my Credit Card and the rest by online third party transfer.</p>
<p>I&#8217;d used the online funds transfer facilities of my bank many times before using the <strong>NEFT</strong> method. This time though, I stumbled upon the <strong>RTGS</strong> account of DELL. I was curious since I&#8217;d been using <strong>NEFT</strong> all along.</p>
<p>So I did some research and here&#8217;s what I found:</p>
<p>The basic requirement for transferring money electronically on your own is to have a NetBanking Account from your Bank. Almost all private banks offer the service of a NetBanking account to their customers freely. The only thing you need to do is to fill in the form and mark all the services you need to avail on that form.</p>
<p>The first step to take before making an online transaction using this account is to add a payee to your list of parties with whom you would like to carry out these transactions. This can be done very easily by providing the Bank and Account Details of the concerned party. Details provided by you are verified and the party is a added to your list of payees in a maximum time of 24-hrs after which you can perform your transactions.</p>
<p>EFT or electronic funds transfer to accounts within the same Bank is done very easily and it takes place almost instantly. But transferring money to accounts outside your own bank takes more time. Funds transfer to other banks can be done in two different ways that serve different kinds of needs and functions. They are:</p>
<ul>
<li><strong>NEFT &#8211; National Electronic Funds Transfer</strong></li>
<li><strong>RTGS &#8211; Real-Time Gross Settlement.</strong></li>
</ul>
<p>NEFT is suitable for customers who want to transfer relatively smaller amounts. This kind of transaction may take something between a day or 3 days to reflect into the payee&#8217;s account. This is because NEFT operates on a Deferred Net Settlement (DNS) basis which settles transactions in batches. In DNS, the settlement takes place at a particular point of time. All transactions are held up till that time. For example, NEFT settlement takes place 6 times a day on weekdays (9.00 am, 11.00 am, 12.00 noon. 13.00 hours, 15.00 hours and 17.00 hours) and 3 times during Saturdays (9.00 am, 11.00 am and 12.00 noon). Any transaction initiated after a designated settlement time would have to wait till the next designated settlement time. NEFT transactions attract a maximum charge of Rs 5/- for a transaction below Rs. 1 lakh and of Rs 25/- for transactions above Rs. 1 lakh.</p>
<p>RTGS system is primarily for large value transactions. The minimum amount to be remitted through RTGS is Rs.1 lakh. There is no upper ceiling for RTGS transactions. Also, under normal circumstances the beneficiary branches are expected to receive the funds in real time as soon as funds are transferred by the remitting bank. The beneficiary bank has to credit the beneficiary&#8217;s account within two hours of receiving the funds transfer message.The RTGS service window for customer&#8217;s transactions is available from 9.00 hours to 16.30 hours on week days and from 9.00 hours to 12.30 noon on Saturdays for settlement at the RBI end. However, the timings that the banks follow may vary depending on the customer timings of the bank branches.</p>
<p>RTGS transactions attract a charge of Rs 25/- for a transaction between Rs. 1 lakh to Rs. 5 lakh and of Rs 50/- for transactions of Rs. 5 lakh and above. Also note that RTGS facility is not available with all the banks. As on December 31, 2008 more than 52,000 bank branches are RTGS enabled. The list of such branches is available on <a href="http://www.rbi.org.in/Scripts/Bs_viewRTGS.aspx">RBI website</a>.</p>
<p>The debit of the transferred amount from your account happens instantaneously, the credit to the beneficiary account happens in some time, depending on the kind of transaction. In case, the transfer is unsuccessful for various kinds of reasons the transfer amount is credited back into your account along with any fee charged for that transaction.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.multunus.com/2010/02/electronic-funds-transfer-in-india-neft-vs-rtgs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Our experience with Comatose &#8211; the MicroCMS</title>
		<link>http://www.multunus.com/2010/02/our-experience-with-comatose-the-microcms/</link>
		<comments>http://www.multunus.com/2010/02/our-experience-with-comatose-the-microcms/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 13:46:44 +0000</pubDate>
		<dc:creator>rema</dc:creator>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.multunus.com/?p=799</guid>
		<description><![CDATA[In one of our projects which is primarily a web application, the client had asked that we go ahead and make as much of the copy available across the site, editable. This included not just copy in static pages such as &#8220;About Us&#8221;, but also copy in dynamic pages. I mean things like tooltips for [...]]]></description>
			<content:encoded><![CDATA[<p>In one of our projects which is primarily a web application, the client had asked that we go ahead and make as much of the copy available across the site, editable. This included not just copy in static pages such as &#8220;About Us&#8221;, but also copy in dynamic pages. I mean things like tooltips for fields in forms, for example.</p>
<p>We first looked at <a href="http://radiantcms.org/" target="_blank">RadiantCMS</a>, with the intention of building our web application on top of it. But then decided to instead build our web app from scratch and then make parts of it editable using <a href="http://github.com/darthapo/comatose" target="_blank">Comatose</a> [which is a "MicroCMS"]. This way, we have more flexibility to add features to the web app using the Rails API and available plugins, rather than being constrained by RadiantCMS system.</p>
<h4>Things we liked about Comatose:</h4>
<ul>
<li> Its implemented as a Rails plugin &#8211; which makes it a breeze to install</li>
<li> Implementing Single Sign On is also simple. Because it works well with the <a href="http://agilewebdevelopment.com/plugins/restful_authentication" target="_blank"> restful_authentication plugin</a>.</li>
<li> Comatose allows rendering of pages inline from your application view &#8211; just like rendering a partial in a Rails app. To include an &#8220;editable&#8221; tool tip within a form, something as simple as the following is enough:
<ul>
<li class="no-list-style">
<pre class="brush: ruby;">&lt;%= render :comatose=&gt;'about' %&gt;</pre>
</li>
</ul>
</li>
</ul>
<p>There&#8217;s of course a lot more you can do with this plugin. Check it out.</p>
<h4>Now for the bad part <img src='http://www.multunus.com/wp-blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </h4>
<ul>
<li>The main issue is font inconsistency. There are some options for setting the font size, but they don&#8217;t work as expected &#8211; because the CSS styles are inherited from our app.</li>
<li>In production mode, there is a noticeable delay between making changes in the CMS and the updated content showing up on the main site. Not sure why this is the case.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.multunus.com/2010/02/our-experience-with-comatose-the-microcms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lessons learned from Agile Bengaluru 2010</title>
		<link>http://www.multunus.com/2010/02/lessons-learned-from-agile-bengaluru-2010/</link>
		<comments>http://www.multunus.com/2010/02/lessons-learned-from-agile-bengaluru-2010/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 09:55:48 +0000</pubDate>
		<dc:creator>Leena</dc:creator>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://www.multunus.com/?p=781</guid>
		<description><![CDATA[It was a great feeling after attending the Agile Bengaluru Conf 2010. The theme for this Agile Conference was Post-Modern Agile i.e. what&#8217;s next after Agile. Most of the sessions were talking mainly on what needs to be done to make a product a success. Just following agile practices will not make any product a [...]]]></description>
			<content:encoded><![CDATA[<p>It was a great feeling after attending the <a href="http://www.agileindia.org/agilebengaluru2010">Agile Bengaluru Conf 2010</a>. The theme for this Agile Conference was <strong>Post-Modern Agile</strong> i.e. what&#8217;s next after Agile. Most of the sessions were talking mainly on what needs to be done to make a product a success. Just following agile practices will not make any product a success. The team needs to get out of their circle and think outside the coding level to understand their customers. The main takeaway points of the session are:</p>
<ul>
<li><strong>Frequent Validation</strong> &#8211; Always validate with actual customers. Talk directly to them, take their feedback, implement it and soon release it. This cycle has to continue. If we don&#8217;t do this, there is no meaning in building any product with BDD/TDD, Automated tests etc.</li>
<li><strong>Limiting WIP</strong> [Work-In-Progress] &#8211; Never leave too many things untested or unreleased. Get your QA team to test as soon as the dev team is done. Release to production as soon as QA is done. When we make frequent releases, you can also get frequent validation.</li>
<li><strong>Checking vs Testing</strong> &#8211; If you&#8217;re not sure what the difference is, there&#8217;s an <a href="http://www.infoq.com/news/2009/12/testing-or-checking">article on InfoQ</a> that explains this well. The bottom line is, use automated tests for mundane tasks ["checking"] and use manual testing for exploratory testing.</li>
</ul>
<p>There was an <a href="http://www.agileindia.org/agilebengaluru2010/agile-bengaluru-2010-a-startup-journey.htm">interesting session</a> by <strong><em>Siddhartha Govindaraj</em></strong>, who is the founder of Silver Stripe Software. He talked about how they evolved from ad-hoc to Agile and from Agile to <a href="http://en.wikipedia.org/wiki/Kanban">Kanban</a>.  The points I felt interesting and which are worth trying out are:</p>
<ol>
<li><strong>No iterations/sprint -</strong> Always take top items from backlog &#8211; What usually happens during an iteration is, either you might finish all the items in an iteration and as there is still more time left you might have to pull some item from the backlog. The other case can be, you are not fully done with some tasks you might have to push some items to next sprint. Instead of this, always take items from backlog. The developers are supposed to work on the top items in the backlog and QA will be testing as soon as the development is done. QA need not have to wait for a certain period to test.</li>
<li><strong>Limiting WIP (Work In Progress) -</strong> Don&#8217;t pile up stuff, never leave anything untested/unreleased. If WIP goes beyond a specific number, then change the plan like stop development make devs to test. And don&#8217;t keep tested stuff unreleased. Alway keep a maximum number of items that needs to be part of released. So even if the release is planned weekly, there can be multiple releases during the week if a lot of features are implemented during a certain week. Another advantage with this approach is, when dev team gets a chance to sit with QA, they also learn about exploratory testing.</li>
<li><strong>Single backlog for multiple projects -</strong> This is an interesting point. He had multiple projects say A &amp; B, both in maintenance stage. He has a team of 5. So rather than splitting the team into 2 across these 2 projects, they kept a single backlog of both projects. They prioritize the backlog and take items from that. This way both projects move in parallel more smoothly.</li>
<li><strong>Checking vs testing -</strong> Checking should <span style="text-decoration: underline;">always</span> be automated while  Manual testing effort should be reserved for exploratory testing <span style="text-decoration: underline;">only</span>.</li>
</ol>
<p>He also suggests avoiding a daily Scrum meeting. The point he had was, the team should be interacting so closely throughout the day, which avoids the need for a stand-up . But if there is an issue that needs to be discussed or if there is a requirement for having a discussion within teams, then such a stand-up is called for. I heard the same being discussed by many people &#8211; that Scrum is not really mandatory but am not sure about the same as of now. At Multunus, we still get quite a lot of value out of the stand- ups, because <a href="http://www.multunus.com/2010/01/our-pragmatic-processes/">we do it a little differently</a>.</p>
<p>It was a pretty simple presentation in which he was talking about how their company has evolved. As it was about his own experience, he had concrete examples for validating his points. There were questions from the audience like, how velocity is calculated if there were no sprints, how the team would get adjusted to context switching in case of single backlog etc. His answer was that, they are a small team &#8211; so these were mostly non-issues for them. And about velocity, productivity etc, those really will come into picture only if there is not enough trust in the team. If the team trusts the management and the management also trusts the team, then these productivity/burn down charts etc are meaningless. That point really made a lot of sense to me. If the team always perform/deliver well and if the management has trust on the team, why should they look at the burn down charts etc to see the team&#8217;s performance?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.multunus.com/2010/02/lessons-learned-from-agile-bengaluru-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Our new reading list</title>
		<link>http://www.multunus.com/2010/02/our-new-reading-list/</link>
		<comments>http://www.multunus.com/2010/02/our-new-reading-list/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 11:39:55 +0000</pubDate>
		<dc:creator>Vaidy</dc:creator>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://www.multunus.com/?p=763</guid>
		<description><![CDATA[As mentioned in an earlier post, our team shares what they learn on a daily basis in our morning stand-ups. Considering our primary focus as a company is lean product development, we felt we could be more aligned with our goals if each of us read books [or blogs] on related subjects. Here&#8217;s the current [...]]]></description>
			<content:encoded><![CDATA[<p>As mentioned in an <a href="http://www.multunus.com/2010/01/our-pragmatic-processes/">earlier post</a>, our team shares what they learn on a daily basis in our morning stand-ups. Considering our primary focus as a company is lean product development, we felt we could be more aligned with our goals if each of us read books [or blogs] on related subjects. Here&#8217;s the current list that we&#8217;ve come up with.</p>
<div><a href="http://www.amazon.com/Web-Analytics-Hour-Avinash-Kaushik/dp/0470130652" target="_blank">Web Analytics An Hour A Day</a></div>
<div><a href="http://www.amazon.com/Rocket-Surgery-Made-Easy-Yourself/dp/0321657292" target="_blank">Rocket Surgery Made Easy</a></div>
<div><a href="http://www.amazon.com/Art-Lean-Software-Development-Incremental/dp/0596517319" target="_blank">The Art of Lean Software Development</a></div>
<div><a href="http://startuplessonslearned.com/" target="_blank">StartUpLessonsLearned.com</a></div>
<div><a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959" target="_blank">Mythical Man Month</a></div>
<div><a href="http://www.amazon.com/Think-Common-Sense-Approach-Usability/dp/0789723107" target="_blank">Don&#8217;t make me think</a></div>
<div><a href="http://www.amazon.com/User-Stories-Applied-Software-Development/dp/0321205685" target="_blank">User Stories Applied</a></div>
<div><a href="http://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp/0131479415" target="_blank">Agile Estimating and Planning</a></div>
<p>Do you like this list? Or not? Have suggestions for more? Go ahead, talk to us in the comments below. We&#8217;d LOVE to hear from you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.multunus.com/2010/02/our-new-reading-list/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Convert code signing certificates from &#8220;pfx&#8221; to &#8220;p12&#8243; format</title>
		<link>http://www.multunus.com/2010/02/convert-code-signing-certificates-from-pfx-to-p12-format/</link>
		<comments>http://www.multunus.com/2010/02/convert-code-signing-certificates-from-pfx-to-p12-format/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 05:13:34 +0000</pubDate>
		<dc:creator>Leena</dc:creator>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.multunus.com/?p=744</guid>
		<description><![CDATA[One of the requirements we had was to sign the applet that we built for UserThoughts. We had purchased Comodo&#8217;s code signing certificate from KSoftware. When you download the certificate from their site, it automatically gets installed in IE. Follow these steps for converting it into format which you can use with the Java Jarsigner.

 Export [...]]]></description>
			<content:encoded><![CDATA[<div><strong>One of the requirements we had was to sign the applet that we built for <a href="http://alpha.userthoughts.com">UserThoughts</a></strong><strong>. We had purchased Comodo&#8217;s <a id="l5m3" title="code signing certificate" href="http://en.wikipedia.org/wiki/Code_signing">code signing certificate</a> from <a id="wp-h" title="KSoftware" href="https://secure.ksoftware.net/code_signing.html?gclid=CN-epdfskZ8CFVBd4wodTC6EIA">KSoftware</a>. When you download the certificate from their site, it automatically gets installed in IE. Follow these steps for converting it into format which you can use with the Java Jarsigner.</strong></div>
<ol>
<li> Export the certificate from IE by following the instructions given here: <a href="http://www.tech-pro.net/export-to-pfx.html">http://www.tech-pro.net/export-to-pfx.html</a></li>
<li> The certificate with Private key will be exported as PFX format in the above step &#8211; but this <strong>cannot</strong> be used by the jarsigner. So you need to convert it into &#8220;p12 format&#8221; which the jarsigner can understand. For that you need to use Mozilla. First import the certificate  saved in step 1 into Mozilla as follows:
<ol>
<li> From the &#8220;Edit&#8221; menu select &#8220;Preferences&#8221; and open the &#8220;Privacy &amp; Security&#8221; category and click on the &#8220;Certificates&#8221; item.</li>
<li> In the &#8220;Manage Certificates&#8221; section, click on the &#8220;Manage Certificates&#8221; button.</li>
<li> In the &#8220;Certificate Manager&#8221; window, the &#8220;Your Certificates&#8221; tab should automatically open. (If not, select it.)</li>
<li> Click the &#8220;Impor&#8221;t button at the bottom of the window.</li>
<li> It prompts you to select an existing file; select your certificate file from the location where you saved it in when you exported it.</li>
<li> It prompts you to provide the &#8220;Master Password&#8221;; enter it, if you have set one.</li>
<li> It prompts you to provide the password used to encrypt the certificate backup; enter it.</li>
<li> It should say &#8220;Successfully restored your certificate(s) and private key(s).&#8221; Click OK.</li>
</ol>
</li>
<li> Then export the certificate as p12 format:
<ol>
<li> From the &#8220;Edit&#8221; menu select &#8220;Preferences&#8221; and open the &#8220;Privacy &amp; Security&#8221; category and click on the &#8220;Certificates&#8221; item</li>
<li> In the &#8220;Manage Certificates&#8221; section, click on the &#8220;Manage Certificates&#8221; button.</li>
<li> In the &#8220;Certificate Manager&#8221; window, the &#8220;Your Certificates&#8221; tab should automatically open. (If not, select it.)</li>
<li> To export your &#8220;DOEGrids&#8221; or &#8220;KCA Personal Certificate&#8221;, click on it to select it, and click the &#8220;Backup&#8221; button at the bottom of the window.</li>
<li> You&#8217;ll be prompted to specify a filename and location for the &#8220;PKCS#12-format&#8221; certificate file (file extension will be &#8220;.p12&#8243; in UNIX/Linux,  &#8221;.pfx&#8221; in Windows).  Provide them and click OK.</li>
<li> A dialog box requesting the Master Password may appear (the password and certificate database). If you have set a Master Password, provide it. If not, you can make one up and provide it (optional). <strong>Remember this password!</strong></li>
<li> You&#8217;ll be prompted to make up and (twice) enter a second password. This one is for restoring this particular backup of this certificate. <strong>Remember this password!</strong></li>
<li> Once the system says it&#8217;s successfully backed up your certificate and private key, click OK.</li>
</ol>
</li>
<li> We also need to know the alias of the &#8220;.p12&#8243; file so run:
<ol>
<pre> keytool -list -storetype pkcs12 -keystore &lt;path to the cert file&gt;</pre>
</ol>
</li>
<li> Then you will see output like this:</li>
</ol>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"> Keystore type: pkcs12 Keystore provider: SunJSSE</span></p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"> Your keystore contains 1 entry</span></p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx, Apr 26, 2006, keyEntry, </span></p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"> Certificate fingerprint (MD5):hh:hh:hh:hh:hh:hh:hh:hh:hh:hh:hh:hh:hh:hh:hh:hh</span></p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"> The xxxx-xxx&#8230; number is the alias for the key</span></p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;"><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px;"> 6. Change your ant script as follows to sign the certificate:</span></span></p>
<pre class="brush: xml;">&lt;target name=&quot;signjar&quot; depends=&quot;jar&quot;&gt;
 &lt;signjar jar=&quot;yourJar.jar&quot; storetype=&quot;pkcs12&quot;
   keystore=&quot;yourkey.p12&quot; alias=&quot;Your Alias&quot;
   storepass=&quot;your password&quot;/&gt;
&lt;/target&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.multunus.com/2010/02/convert-code-signing-certificates-from-pfx-to-p12-format/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery Tools: Smooth JS widgets</title>
		<link>http://www.multunus.com/2010/02/faster-modern-web-page-designing-using-jquery-tools/</link>
		<comments>http://www.multunus.com/2010/02/faster-modern-web-page-designing-using-jquery-tools/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 05:50:24 +0000</pubDate>
		<dc:creator>Manoj</dc:creator>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.multunus.com/?p=733</guid>
		<description><![CDATA[Does your web site design have a lot of widgets like tabs, overlays, scrollable etc., to be implemented? Do you want to design and implement smooth looking sites with out using flash? Do you want to improve the UX on your site?
If your answer is yes for any of these questions then JQuery Tools is [...]]]></description>
			<content:encoded><![CDATA[<p>Does your web site design have a lot of widgets like tabs, overlays, scrollable etc., to be implemented? Do you want to design and implement smooth looking sites with out using flash? Do you want to improve the UX on your site?<br />
If your answer is yes for any of these questions then <a href="http://flowplayer.org/tools/demos/index.html" target="_self">JQuery Tools</a> is probably worth taking a look at.</p>
<p>JQT is a family of JQuery plugins comprising of the most common widgets used in &#8220;modern&#8221; sites.  We&#8217;ve used quite a few of the widgets on our sites in the last 3-4 projects and it  has certainly helped us improve the look and feel of these sites &#8211; with much less effort that what would have been required otherwise.</p>
<p>Installing and using JQT on your site is also super simple.  Download a JS file of ~6kb and include in your web page.  The documentation and demos provided for each widget is excellent &#8211; so you should be on your way to actually getting stuff done very quickly after the download.</p>
<p>Bottom line &#8211; you&#8217;ve got pretty much no excuse, to not check it out <img src='http://www.multunus.com/wp-blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.multunus.com/2010/02/faster-modern-web-page-designing-using-jquery-tools/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Working with DLLs, the Java way</title>
		<link>http://www.multunus.com/2010/01/working-with-dlls-the-java-way/</link>
		<comments>http://www.multunus.com/2010/01/working-with-dlls-the-java-way/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 12:20:51 +0000</pubDate>
		<dc:creator>Jeevan</dc:creator>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.multunus.com/?p=711</guid>
		<description><![CDATA[We had a very simple requirement, to invoke my DLLs using Java code for couple of reasons:

 We want to reuse application code built for a .NET application
 We want to integrate the DLLs with a Java based sever technology
 Should be simple enough to maintain the code by .NET professionals

There are couple of Java-COM [...]]]></description>
			<content:encoded><![CDATA[<p>We had a very simple requirement, to invoke my DLLs using Java code for couple of reasons:</p>
<ol>
<li> We want to reuse application code built for a .NET application</li>
<li> We want to integrate the DLLs with a Java based sever technology</li>
<li> Should be simple enough to maintain the code by .NET professionals</li>
</ol>
<p>There are couple of Java-COM bridging solutions I came across.</p>
<ul>
<li> <a id="o-ek" title="Java Native Interface (JNI)" href="http://en.wikipedia.org/wiki/Java_Native_Interface">Java Native Interface (JNI)</a></li>
<li> <a id="m-.." title="JACOB" href="http://sourceforge.net/projects/jacob-project/">JACOB</a></li>
<li> <a id="r0rf" title="Scriptom (Groovy - COM Scripting)" href="http://groovy.codehaus.org/COM+Scripting">Scriptom (Groovy &#8211; COM Scripting)</a></li>
<li> <a id="h:uh" title="Java Native Access (JNA)" href="https://jna.dev.java.net/">Java Native Access (JNA)</a></li>
<li> <a id="ck4a" title="JNBridge" href="http://www.jnbridge.com/">JNBridge</a></li>
</ul>
<p>In this post, we&#8217;ll see how Scriptom can be used to access DLLs.</p>
<p>Scriptom is a module in Groovy (A Java VM based scripting language) which wraps the JACOB classes to make it more usable. Scriptom&#8217;s syntax looks like VB.NET code.</p>
<p>Lets jump in to the sample application.</p>
<p>Assume that we have a VB class named TimerState in the TestDLL VB.NET project, exposes the COM, signed and generates the DLLs.</p>
<p>Following is the TimerState VB class. In this class, we have an event <em>UpdateTime</em> which raises an event when to notify updated time.</p>
<pre class="brush: vb;">
 ﻿&lt;Microsoft.VisualBasic.ComClass()&gt; Public Class TimerState

    Public Event UpdateTime(ByVal Jump As Double)

    Public Sub TimerTask(ByVal Duration As Double)
        Dim Start As Double
        Dim Second As Double
        Dim SoFar As Double

        Start = Timer
        SoFar = Start
        Do While Timer &lt; Start + Duration
            If Timer - SoFar &gt;= 0.1 Then
                SoFar = SoFar + 0.1
                RaiseEvent UpdateTime(Timer - Start)
            End If
        Loop
    End Sub
End Class
</pre>
<p>We want to use this logic in the Scriptom code and do something whenever a UpdateTime event is raised. Here are the steps:</p>
<ol>
<li> Register the DLLs (this is required step for the Java Virtual Machine to get meta data about the DLLs)</li>
<li> Download Scriptom</li>
<li> Copy the jacob-*.dll to any system PATH</li>
<li> Have all the JARS from Scriptom jar folder available in the CLASSPATH</li>
</ol>
<p>Following is the sample code for invoking</p>
<pre class="brush: vb;">
import org.codehaus.groovy.scriptom.ActiveXObject // Imports the ActiveX object class which holds the reference to the class in DLL

def timer = new ActiveXObject(&quot;TestDLL.TimerState&quot;) // Looks for the meta data in the registry with &quot;TestDLL.TimerState&quot; name and creates a reference to that class

def time = 1.00

timer.events.UpdateTime = { variants -&gt; // event registration for UpdateTime event in the VB class. Variants holds the data passed from the event. In this case, it is Jump value.
    println &quot;UpdateTime: &quot; + variants[0] // We're just printing the upated time
}

timer.TimerTask(time) // starting the timer task in TimerState class
while(true) { // keeping itself alive to respond when timer events are raised
}
</pre>
<div style="text-align: left;">Please refer <a id="hzki" title="COM Data Types in Scriptom" href="http://groovy.codehaus.org/COM+Data+Types+in+Scriptom">COM Data Types in Scriptom</a> for the .NET data types supported in Scriptom.</div>
<p><strong><span style="font-weight: normal;"><br />
In the next post, we&#8217;ll discuss about JNBridge, a comercial solution.</span></strong></p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 694px; width: 1px; height: 1px;">
<p>﻿&lt;Microsoft.VisualBasic.ComClass()&gt; Public Class TimerState</p>
<p>Public Event UpdateTime(ByVal Jump As Double)</p>
<p>Public Sub TimerTask(ByVal Duration As Double)<br />
Dim Start As Double<br />
Dim Second As Double<br />
Dim SoFar As Double</p>
<p>Start = Timer<br />
SoFar = Start<br />
Do While Timer &lt; Start + Duration<br />
If Timer &#8211; SoFar &gt;= 0.1 Then<br />
SoFar = SoFar + 0.1<br />
RaiseEvent UpdateTime(Timer &#8211; Start)<br />
End If<br />
Loop<br />
End Sub<br />
End Class</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.multunus.com/2010/01/working-with-dlls-the-java-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our Pragmatic Processes</title>
		<link>http://www.multunus.com/2010/01/our-pragmatic-processes/</link>
		<comments>http://www.multunus.com/2010/01/our-pragmatic-processes/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 12:02:22 +0000</pubDate>
		<dc:creator>Vaidy</dc:creator>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://www.multunus.com/?p=703</guid>
		<description><![CDATA[One of the things we do is to create a culture of continuous improvement. To help ourselves stay on track and not lose sight of the forest for the trees, we do the following:


We do our standups a little different. We talk about what we learned yesterday than what we got done. Credit for this [...]]]></description>
			<content:encoded><![CDATA[<div>One of the things we do is to create a culture of continuous improvement. To help ourselves stay on track and not lose sight of the forest for the trees, we do the following:</div>
<div>
<ul>
<li>We do our standups a little different. We talk about what we <strong>learned</strong> yesterday than what we got done. Credit for this idea goes to <a id="lq5t" title="HashRocket" href="http://www.hashrocket.com/">HashRocket</a></li>
<li>Encourage our people to read awesome books [<a id="gldl" title="Pragmatic Programmer" href="http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X">Pragmatic Programmer</a> and <a id="wjn0" title="Getting Real" href="http://gettingreal.37signals.com/">Getting Real</a> are our current favourites] and then share what they read in our standups. It only takes 30min [or less] to read enough to share something useful in the next day&#8217;s standup.</li>
<li>Encourage our people to be generalists rather than specialists. This approach has resulted in most of our people being <a id="mni_" title="polyglots" href="http://memeagora.blogspot.com/2006/12/polyglot-programming.html">polyglots</a>.</li>
<li>We&#8217;ve woven UX improvement into our sprints. This results in software that&#8217;s balanced both in terms of user interaction and functionality.</li>
<li>Test Driven Development: We&#8217;re yet to get completely infected by this discipline. But we&#8217;re getting there.</li>
<li>Not interrupting each other: It takes 15min for people to regain their &#8220;flow&#8221; if they get interrupted. And if this happens many times in a day, we end up with a stressed out team at the end of each long day. So we prefer patience to instant gratification. [Tip: <a id="nd2." title="Campfire" href="http://campfirenow.com/">Campfire</a> is a great tool in this regard. We prefer this to IM].</li>
</ul>
</div>
<p>We&#8217;ll be blogging about some of the above topics in more detail in the coming weeks. Do drop a line in the comments section below, if you&#8217;d like to learn more about anything specifically.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.multunus.com/2010/01/our-pragmatic-processes/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Learnings from 2009</title>
		<link>http://www.multunus.com/2010/01/learnings-from-2009/</link>
		<comments>http://www.multunus.com/2010/01/learnings-from-2009/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 10:55:05 +0000</pubDate>
		<dc:creator>Vaidy</dc:creator>
				<category><![CDATA[All Posts]]></category>
		<category><![CDATA[Business]]></category>

		<guid isPermaLink="false">http://www.multunus.com/?p=684</guid>
		<description><![CDATA[2009 was a year of many special events. We completed 2 years of operations last year. We moved to a new more spacious office. We created our first product. We discovered our niche [more on this in the coming weeks].
But those events are nothing more than punctuations in this journey we&#8217;ve embarked on. Its the [...]]]></description>
			<content:encoded><![CDATA[<div>2009 was a year of many special events. We completed 2 years of operations last year. We moved to a new more spacious office. We created our first <a id="bgtx" title="product" href="http://alpha.userthoughts.com/" target="_blank">product</a>. We discovered our niche [more on this in the coming weeks].</div>
<div>But those events are nothing more than punctuations in this journey we&#8217;ve embarked on. Its the learnings that we treasure and rely on, to propel us forward. So here&#8217;s my list:</div>
<div>
<ul>
<li> <strong>Constraints enforce creativity</strong>. Last year was difficult for almost everybody and we were no exception. Client work diminished rapidly and soon our team of passionate, talented engineers were finally &#8220;available&#8221;, to do some creative work for ourselves. We were forced to innovate at this time. And we did. We came up with the idea of <a id="kowt" title="UserThoughts" href="http://alpha.userthoughts.com/">UserThoughts</a> and got the first prototype out in less than 2 months.</li>
<li> <strong>Resilience pays. </strong>There are now clear signs that the worst is behind us and that 2010 will be a year of robust growth. But mid-last year, the situation was quite different. To look beyond the current and work towards a better future, requires faith and dedication. Last year has proven that our team is built with that kind of DNA.</li>
<li> <strong>Integrity pays. </strong>Its hard to do the right thing, every time. But I just took a look at our &#8220;ethics account book&#8221;, and so far, we&#8217;re quite profitable <img src='http://www.multunus.com/wp-blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . We create value for our clients with a sincere intention that they should succeed in their respective businesses. And sooner or later, this gets noticed.</li>
<li> <strong>Passion results in new ideas. </strong>We&#8217;ve always been obsessed with user experience. So much so that, we&#8217;ve weaved a high level of focus on UX into our development cycles. Its probably not an accident then, that, our product seeks to solve problems in this very space.</li>
</ul>
</div>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="620" height="360" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/T6MhAwQ64c0&amp;feature" /><embed type="application/x-shockwave-flash" width="620" height="360" src="http://www.youtube.com/v/T6MhAwQ64c0&amp;feature"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.multunus.com/2010/01/learnings-from-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
