<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Mind.random()</title>
	
	<link>http://arunma.com</link>
	<description>random thoughts of an eccentric programmer</description>
	<lastBuildDate>Thu, 29 Jul 2010 07:41:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Mindrandom" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="mindrandom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Mindrandom</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Resolution : Apache commons configuration (XMLConfiguration) in a Spring bean</title>
		<link>http://arunma.com/2010/07/26/426/</link>
		<comments>http://arunma.com/2010/07/26/426/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 07:43:37 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=426</guid>
		<description><![CDATA[I was trying to inject apache commons configuration (XMLConfiguration) into a Spring bean and faced the error : hint: specify index/type/name arguments for simple parameters to avoid type ambiguities I was breaking my head for a while only to find later that my config XML is not even in the classpath. You can find the [...]]]></description>
			<content:encoded><![CDATA[<p>I was trying to inject apache commons configuration (XMLConfiguration) into a Spring bean and faced the error :</p>
<p><strong><code>hint: specify index/type/name arguments for simple parameters to  avoid type ambiguities</code></strong></p>
<p>I was breaking my head for a while only to find later that my config XML is not even in the classpath. You can find the trace and the configuration below :<br />
&lt;bean id=&#8221;xmlConfig&#8221;&gt;<br />
&lt;constructor-arg type=&#8221;java.net.URL&#8221; value=&#8221;classpath:alert-config.xml&#8221; /&gt;<br />
&lt;property name=&#8221;reloadingStrategy&#8221;&gt;<br />
&lt;bean/&gt;<br />
&lt;/property&gt;<br />
&lt;/bean&gt;</p>
<p>&lt;bean id=&#8221;alertConfig&#8221;&gt;<br />
&lt;property name=&#8221;xmlConfig&#8221; ref=&#8221;xmlConfig&#8221;&gt;&lt;/property&gt;<br />
&lt;/bean&gt;</p>
<p><code>Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'alertConfig' defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean 'xmlConfig' while setting bean property 'xmlConfig'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xmlConfig' defined in class path resource [applicationContext.xml]: 1 constructor arguments specified but no matching constructor found in bean 'xmlConfig' (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1317)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1076)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)<br />
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)<br />
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1075)<br />
at com.boa.alertxpert.config.AlertConfig.main(AlertConfig.java:21)<br />
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xmlConfig' defined in class path resource [applicationContext.xml]: 1 constructor arguments specified but no matching constructor found in bean 'xmlConfig' (hint: specify index/type/name arguments for simple parameters to avoid type ambiguities)<br />
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:175)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:993)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:897)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)<br />
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)<br />
... 11 more</code><code></code></p>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2010/07/26/426/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Google opensourced VP8?</title>
		<link>http://arunma.com/2010/05/26/why-google-opensourced-vp8/</link>
		<comments>http://arunma.com/2010/05/26/why-google-opensourced-vp8/#comments</comments>
		<pubDate>Wed, 26 May 2010 12:45:49 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[vp8]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=424</guid>
		<description><![CDATA[If you think 120 million is a lot, think about this :

 1)      HTML5 will run against VP8 which means that Apple cannot say no to supporting it now.  All browsers have to support a STANDARD called HTML5. This will destroy Apple’s ecosystem.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s why I think Google open sourced VP8.</p>
<p>If you think 120 million is a lot, think about this :</p>
<p>1)      HTML5 will run against VP8 which means that Apple cannot say no to supporting it now.  All browsers have to support a STANDARD called HTML5. This will destroy Apple’s ecosystem.</p>
<p>2)      Google is now praised by all the open source circles.. This translates to lots of community building around its Android mobile platform.  (not to mention the huge disappointment with the selection procedure for Apple store)</p>
<p>3)      VP8 open sourcing would mean that Linux will now ship with VP8 out of the box.  This means that all the linux/freebsd users will now have a soft corner for Google and its products in general.  Interestingly, Google Chrome 5 which was released yesterday suddenly ate a good percentage from Firefox.  Since “early adopters” primarily come from the open source circles, this would mean unconditional support for Google products from now.</p>
<p>4)      Sun Microsystems always had a very friendly name in the technology circles.  Now that it is dead and Oracle failed to fill in the “good Samaritan” role, Google tries to adjust its feet to its shoes.</p>
<p>Bottom line :   Business, all along.</p>
<p>What do you think? Leave your comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2010/05/26/why-google-opensourced-vp8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I met my first NAS – Qnap or Synology</title>
		<link>http://arunma.com/2010/03/11/how-i-met-my-first-nas-qnap-or-synology/</link>
		<comments>http://arunma.com/2010/03/11/how-i-met-my-first-nas-qnap-or-synology/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 03:44:08 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[1.5 TB]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[qnap]]></category>
		<category><![CDATA[samsung]]></category>
		<category><![CDATA[seagate]]></category>
		<category><![CDATA[synology]]></category>
		<category><![CDATA[western digital]]></category>
		<category><![CDATA[ws]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=418</guid>
		<description><![CDATA[I have a bad habit.  I buy impulsively.  But the good part about it is that when the pressure to buy becomes overwhelming, I wait.  I go back home and read every single word on the planet about what I wanted to buy in the first place.  Eventually, I end up buying something else. A couple [...]]]></description>
			<content:encoded><![CDATA[<p>I have a bad habit.  I buy impulsively.  But the good part about it is that when the pressure to buy becomes overwhelming, I wait.  I go back home and read every single word on the planet about what I wanted to buy in the first place.  Eventually, I end up buying something else.</p>
<p>A couple of weeks back, I read a blog about Thecus NAS drives and immediately wanted to buy one.  I wanted to own it on that very day.  Then the pressure built so much that I had to sit and let it mellow.  I googled.</p>
<p>The noise level of most Thecus drives was a huge turn off considering the high probability of getting murdered by my wife (I fondly remember the days when my desktop was louder than an average car on the road).  Netgear NVX and NV+ series were good but they are a bit pricey for the features they offer.</p>
<p>Forgot to mention that my drives will be <strong>primarily used for storage and as a torrent slave</strong>.  I will also be running a few services like <strong>Photo manager, Tomcat, iTunes </strong>(more services depends on the success in setting up DDNS) .  If it helps, I dont use windows at home (mac and linux) and I am planning for a RAID 5 setup.</p>
<p>So, I decided to get either the Synology of the Qnap drives.  <strong>Synology 1010 and Qnap 459 </strong>were my choices after long hours of search. These were the points that I considered.</p>
<p>1)   Buy an <strong>Intel Atom based drive </strong>because of the support for a variety of software packages.</p>
<p>2) </p>
<p><strong>QNAP models TS-459, 659, 859</strong></p>
<p>+ high overall performance<br />
+ supports scheduled <strong>power on and <span style="color: #ff0000;">off<br />
</span></strong>- no RAID 10 support<br />
- no hybrid RAID functionality<br />
- storage cannot be expanded with a companion unit (# drivebays is max, you could buy a 2nd unit of course or use one of the many ports) &#8211; <span style="color: #ff0000;">No biggie (I backup using my USB drives)<br />
</span>+ has 5 USB 2.0 ports<br />
+ has 2 eSATA ports<br />
+ volume based encryption<br />
+ built-in DHCP server<br />
+ <strong><span style="color: #ff0000;">handy LCD display </span></strong><br />
+ USB Copy function on the frontpanel<br />
+ supports the EXT4 filesystem (&gt; 16 TB volumes)<br />
+ supports WebDAV<br />
+ advanced iSCSI support<br />
+ all the drives are lockable with a key<br />
+ in general, no problem with downgrading of firmware<br />
- one year guarantee<br />
+ great build quality<br />
+ already much experience, add-on software and models available on x86 platform</p>
<p><strong>Synology DS 1010+</strong></p>
<p>- only supports scheduled power off<br />
+ RAID 10 support<br />
+ hybrid RAID functionality (SHR)<br />
+ storage can be expanded (with the extra 5 drivebays case, however will eSATA connection become bottleneck?)<br />
- has 4 USB 2.0 ports<br />
- has 1 eSATA port<br />
+ folder based encryption<br />
- no built-in DHCP server<br />
<span style="color: #ff0000;">- no LCD display</span><br />
- no USB Copy function on the front<br />
- no EXT4 filesystem support (volumes &gt; 16 TB volume will not be possible)<br />
- no WebDAV support<br />
- less advanced iSCSI support<br />
- the drives are not lockable with a key<br />
- in general, very problematic to downgrade firmware<br />
- less models, less choice<br />
+ three years guarantee<br />
- <span style="color: #ff0000;">build quality is not as good as QNAP</span><br />
- <span style="color: #ff0000;">first model </span>based on x86 platform</p>
<p>Source : <a href="http://forums.smallnetbuilder.com/showthread.php?t=2855">http://forums.smallnetbuilder.com/showthread.php?t=2855</a></p>
<p>3)  At the end of the read, I wanted to go for one of those Qnap drives - 459, 509 or 659. 659 was way above my budget but I wanted to keep it in the background because it had support for 6 drives and I can always buy 4 drives in the beginning and fill up the other drives on need basis.</p>
<p>Later, I read that <strong>RAID is not a backup</strong> (did i say that I am totally new to RAID and the whole world of NAS drives) and does not guarantee dataloss and that I will need to have another plan for backup. I then decided to use my USB drives for the important backups (mostly my son&#8217;s photos and videos).  So, it doesnt make any sense to buy a 659 for an extra 600 SGD. May be later, I can always go for another NAS for an extra 200 SGD and have it as a backup.</p>
<p>So, 509 and 459. 459 had an Atom Dual core processor and 509 had a Celeron processor. The best part about 509, though, is that you can upgrade the processor to something big (say, Core2Duo) but I always have the fear to open up my system after i burnt a couple of RAMs on my first desktop (a 16 MB was a 100 USD then. that burnt a lot of my fingers) and I found very few people upgrading their processor on a 509.  So, 459 it is.</p>
<p><strong>Hard drives : </strong></p>
<p>Then comes the problem about hard-drives. I wanted to buy the <strong>Seagate 1.5 TB 7200.11</strong> or any other 2 TB drives so that i can make a good 6 TB out of my 4 slot 459 (2 TB gone for parity).  Later, I found that the 1.5 TBs are notoriously fault prone. The <strong>WD Caviar Greens play horribly with Qnaps </strong>(Google &#8220;site:forum.qnap.com Caviar Green&#8221;) and so are most of the other WD drives. The Caviar blacks 1 TB are excellent drives despite their noise level but some say that the noise and the clicks are that not that troublesome. schumaku from the forum is known for his expertise in harddrives. He was suggesting not to buy the highest capacity of any drive &#8211; they are known to create the highest number of problems. </p>
<p>Most were complaining that Seagates gave a lot of problem and they had various problems with different drives and that they were unlucky.  (my luck factor is near to zero). I never wanted to take any risk.</p>
<p>The Hitachi Ultrastar A7K2000 is the best for Qnap drives. Everybody agrees to it but at 513 SGD for a 2 TB, I&#8217;ll give it a pass. Finally, I decided to go for Samsung drives F1 or F3.  They say that F3s should work very well but I dont see them on the Qnap compatibility list (<a href="http://www.qnap.com/pro_compatibility.asp">http://www.qnap.com/pro_compatibility.asp</a>).  So, here is my final configuration.</p>
<p><strong>NAS : </strong></p>
<p>Qnap 459 Pro (Intel Atom D510 1.66 GHz (Dual-Core) &#8211; RAM &#8211; 1GB DDRII (I might end up upgrading the RAM alone))</p>
<p><strong>HDD: </strong></p>
<p>4 * 1 TB (RAID 5) - Samsung Spinpoint F1 HE103UJ (buying RAID Class depends on availability)</p>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2010/03/11/how-i-met-my-first-nas-qnap-or-synology/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Last day with Credit Suisse</title>
		<link>http://arunma.com/2010/03/04/last-day-with-credit-suisse/</link>
		<comments>http://arunma.com/2010/03/04/last-day-with-credit-suisse/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 08:59:01 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=412</guid>
		<description><![CDATA[I recently read a quote about writers &#8211; Writers don&#8217;t write because they have to say something. It&#8217;s because they have something to say.   That was exactly what went through my mind when I was asked to give a speech today in my farewell lunch. I have a lot of things to say but I [...]]]></description>
			<content:encoded><![CDATA[<p>I recently read a quote about writers &#8211; Writers don&#8217;t write because they have to say something. It&#8217;s because they have something to say.   That was exactly what went through my mind when I was asked to give a speech today in my farewell lunch. I have a lot of things to say but I just cant say anything, leave alone something.  I always used to wonder during the farewell lunches, &#8220;How is that these guys who leave are not thankful for the days they spent here. How come they dont speak a word&#8221; and as always my immediate thought would be &#8220;Nah.. I will just give that movie-like pep talk&#8221;.  &#8221;I am awesome&#8221;.  &#8220;I can do more than that&#8221;.   Interestingly, I was no better than anybody else. </p>
<p>It is saddening to leave CS.  Thankfully, it is not the &#8220;invariably saddening&#8221; kind.  I have nothing to repent.  In fact, the past couple of years taught a lot about confidence, communication, trust and that there is a time for everything.  CS is really a wonderful place to work.  Peaceful, organized and balanced. </p>
<p>Two years ago, I came here as a lonely man. Nobody to talk to.  But today, It is a wonderful feeling to see that all my friends came together to host a farewell lunch for me.   What did i do to them? Nothing.   You bet, I will miss all of them.   From Monday, I can&#8217;t meet them personally too often as I do today but then I learnt from life that long distance relationship don&#8217;t work, unless the relationship is friendship.</p>
<p>See you around.</p>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2010/03/04/last-day-with-credit-suisse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips for a good resume</title>
		<link>http://arunma.com/2010/02/18/tips-for-a-good-resume/</link>
		<comments>http://arunma.com/2010/02/18/tips-for-a-good-resume/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 04:16:59 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[resume]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=383</guid>
		<description><![CDATA[I am no guru in this and I am sure you could find a lot of resources  about how to write a perfect resume.  Recently, a friend of mine passed me a resume and asked me to suggest improvements and the technology he needs to update.  To my shock and dismay,  the resume was a [...]]]></description>
			<content:encoded><![CDATA[<p>I am no guru in this and I am sure you could find a lot of resources  about how to write a perfect resume.  Recently, a friend of mine passed me a resume and asked me to suggest improvements and the technology he needs to update.  To my shock and dismay,  the resume was a total disaster.  Some things, which we take for granted, turn out to be the most important ones.   I just happen to sum up my personal thoughts in building a decent looking profile :</p>
<p>1)    Keep an <strong>uniform font</strong> for the resume. I see a lot of profiles with different fonts spilled all over. Using italics and bold to highlight is fine but different fonts irritate the eyes.</p>
<p>2)   <strong> Tabulate the professional experience, education and skillsets</strong>.  I understand that it is a bad idea to tabulate when you wanted to pass the profile as plain text.  But AFAIK, doc and pdf are the standard formats i have circulated my CV as (I am a big fan of Pareto).</p>
<p>You will be shocked to know that the consultants take no more than 5-10 seconds to process your resume for a position (i saw it myself). Nobody except you is interested in reading the entire profile.</p>
<p>3)   <strong> Highlight your prominent skillsets and be precise</strong>. You are trying to sell your profile to a technical person and he will be interested in knowing the version of software you are experienced in. Spring and Java doesnt convey anything. How about Spring 2.0 or Java 1.5 or even better Concurrency API in Java 1.5?</p>
<p>4)    Trust me, this is not going to help &#8212;</p>
<p><em><strong>Responsible for: </strong>Team Management, Project Management, Co-ordination with clients and Production Support.</em></p>
<p><strong>Explain in detail your role in the project</strong>. Highlight your achievements. something like&#8230; &#8220;being a co-developer and team manager, i was involved in full development of the case folder module&#8221;.. or whatever. Please don&#8217;t lie. Sooner of later, they will find out. Just be more detailed in what exactly you did.</p>
<p><strong>Highlight your expertise.</strong> If you are a developer, highlight your development experience. Highlight the various technologies you have worked in. Show the depth of your experience.  Having a tabulated list of the technology against the experience (in months) is not a bad idea.</p>
<p><strong><br />
Tally your years of experience with your expertise.</strong> Mentioning that you are into team leading and project management and have lost touch of development when you have less than 5 years experience makes no sense at all. If you are applying for a programmer role, let your resume show it.</p>
<p>5)    Put in an<strong> &#8220;Achievement&#8221; section</strong> and highlight only the relevant achievements &#8211; both academic and work related. People will be very much interested in looking at it.</p>
<p>6)    <strong>Update your skillset</strong>. Resolve to learn at least one new technology (or get expert knowledge in the known one) every couple of months. Learn a new language every year.  Not all technologies and languages will suit your taste. And you can&#8217;t develop a taste for something which you have never tried even once.</p>
<p><strong>Choose essential and related skill sets:</strong> Come on, you and I know that VSS doesnt tally well with a Java developer. Gain experience in SVN at the minimum and  a DVCS (git for example) going forward. Knowledge of the automated testing frameworks (JUnit to start with) is a must.</p>
<p>7)    <strong>Read a lot of books or atleast the <a href="http://davybrion.com/blog/2009/11/a-reading-guide-to-becoming-a-better-developer/" target="_blank">minimum needed</a>, have a pet project (even better, involve in an open source project) </strong>and highlight it on your resume. It shows that you have lots of passion for your work.</p>
<p>Feel free to drop in a comment if you feel the need to add more to the list.</p>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2010/02/18/tips-for-a-good-resume/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>2010 – Resuming the personal projects</title>
		<link>http://arunma.com/2010/02/05/2010-resuming-the-personal-projects/</link>
		<comments>http://arunma.com/2010/02/05/2010-resuming-the-personal-projects/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 09:46:42 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[lunarcodes]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=378</guid>
		<description><![CDATA[Wow Wow Wow. By God&#8217;s grace, this year had a wonderful start. Beginning with Jason&#8217;s 1st birthday on 7th and the Merrill interview on the same day, vacation to home and the best of it all &#8211; re-joining Merrill. Needless to say that i always enjoyed working in Merrill. Of course, it means less amount [...]]]></description>
			<content:encoded><![CDATA[<p>Wow Wow Wow. By God&#8217;s grace, this year had a wonderful start. Beginning with Jason&#8217;s 1st birthday on 7th and the Merrill interview on the same day, vacation to home and the best of it all &#8211; re-joining Merrill. Needless to say that i always enjoyed working in Merrill. Of course, it means less amount of family time but at least at the end of the day, i will have a satisfied heart that i have done something worth.</p>
<p>I fondly remember the first 4 months in ML India when working till 2 AM is almost a daily event. What the heck. I am awake till 2 AM even here in Singapore fighting with the code. I love programming and i&#8217;ll do it till death does us apart. That&#8217;s right, ML is aggressive but so am I.</p>
<p>Now that everything is settled and I have a definite and promising road in front of me, I am resuming my work on the personal projects &#8211; our lunarcodes.</p>
<p>I wanted to write an app which indexes all the ebooks, movies and songs on my machine and use amazon or google or any other webservice to fetch meta information about them &#8211; including the cover pictures, popularity, reviews and any other information that could be possibly useful. I seriously dont want a bloated webapp for this. A pretty SWT/Swing would be great. Flex would be brilliant but AFAIK i dont see any good search and index libraries for Flex. Flex and Java would require a server running which I dont want to. Python, on the other hand, has Lucene extensions and has good web service support too but felt that nothing would come close to using the original lucene libraries instead of extensions.</p>
<p>Ah&#8230; i really love this year.</p>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2010/02/05/2010-resuming-the-personal-projects/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installing Flash without Admin rights</title>
		<link>http://arunma.com/2010/01/06/installing-flash-without-admin-rights/</link>
		<comments>http://arunma.com/2010/01/06/installing-flash-without-admin-rights/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 04:13:14 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=375</guid>
		<description><![CDATA[You know why we have the need to install Flash without admin rights&#8230;. Here is the link http://www.varesano.net/blog/fabio/installing+flash+player+plugin+firefox+without+having+administrator+access+or+premissions Works great with Firefox 3.x]]></description>
			<content:encoded><![CDATA[<p>You know why we have the need to install Flash without admin rights&#8230;.</p>
<p>Here is the link</p>
<p><a href="http://www.varesano.net/blog/fabio/installing+flash+player+plugin+firefox+without+having+administrator+access+or+premissions" target="_blank">http://www.varesano.net/blog/fabio/installing+flash+player+plugin+firefox+without+having+administrator+access+or+premissions</a></p>
<p>Works great with Firefox 3.x</p>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2010/01/06/installing-flash-without-admin-rights/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disturbia</title>
		<link>http://arunma.com/2009/12/31/disturbia/</link>
		<comments>http://arunma.com/2009/12/31/disturbia/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 04:40:12 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=367</guid>
		<description><![CDATA[It&#8217;s a wonderful day, the last day of the year and I was eagerly looking forward to the first new year in Singapore with my family. I was extra happy to leave for office this morning, being a half day on new years eve. But here comes the spoiler. As i entered the train, i [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a wonderful day, the last day of the year and I was eagerly looking forward to the first new year in Singapore with my family. I was extra happy to leave for office this morning, being a half day on new years eve.</p>
<p>But here comes the spoiler. As i entered the train, i saw one young chinese woman with a very small kid in hand STANDING near the door in front of the priority seat. I was amazed and eager to see who has more priority to sit in the seat if this woman does not. To my shock and dismay i found a young local sitting and doing the &#8220;sleep act&#8221;. He looked up and saw the woman with the kid and then just continued. I was petrified.</p>
<p>Yes. Curse me all you want. I didnt have the balls to ask him to offer the seat but an Indian woman nearby called him and requested him. The guy was ignoring the first couple of requests and when the Indian woman touched him gently and asked him, the guy was &#8220;CANT YOU SEE THAT I AM A LITTLE BUSY&#8221;. WHAT the hell??? BUSY? really? For God&#8217;s sake he is sleeping on a freaking priority seat. I thought the woman had the right to be seated. The North-East line just went a little further to mark the seat as &#8220;Reserved Seat&#8221; just so that these morons be a little more sensible. I was so shocked and couldnt even read a single line out of my book after that wondering &#8220;can somebody be this rude?&#8221;.</p>
<p>I can&#8217;t now help think of my middle aged aunt in India who underwent uterus removal 5 years ago. Post-surgery she got a tummy which gave her the &#8220;pregnant look&#8221;. She used to joke telling that everytime she got into a bus she was offered a seat. If you are not aware, Indian buses are jam packed. She also used to say that she gently refuses the offer (and sometimes even shout if they still insist).</p>
<p>I am definitely not blaming the entire singaporean community. I have seen very generous and wonderful human beings here. I have seen middle-aged women offer seats to my wife even when we had our kid on a pram. I have seen lots of young girls and guys promptly offer seats to the elderly. But there are the sleepers too.. who simply cannot be woken up.</p>
<p>I just hope that the discourteous few prevent the contagious coma from spreading. (And i just hope that i can sleep tonight without feeling guilty that i didn&#8217;t do anything about it)</p>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2009/12/31/disturbia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fej2Me – Upcoming tasks</title>
		<link>http://arunma.com/2009/12/15/fej2me-upcoming-tasks/</link>
		<comments>http://arunma.com/2009/12/15/fej2me-upcoming-tasks/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 09:19:19 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fetch2me]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[lunarcodes]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=362</guid>
		<description><![CDATA[This weekend, i managed to migrate a few core portions of Fetch2Me from Python to Java. It was an amazing experience and a wonderful feeling to be bilingual. Though the Java version looks more elegant (to me), i personally loved my Python. The &#8220;the first project in Python&#8221; feeling&#8230; So, here are the upcoming tasks [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend, i managed to migrate a few core portions of Fetch2Me from Python to Java. It was an amazing experience and a wonderful feeling to be bilingual. Though the Java version looks more elegant (to me), i personally loved my Python. The &#8220;the first project in Python&#8221; feeling&#8230;</p>
<p>So, here are the upcoming tasks in the Java version :</p>
<p><strong>1)    SMS Service : </strong>SMS service is not a part of the the system right now. Implement SMS service into fej2me through Google Voice account</p>
<p><strong>2)    Encryption : </strong> The config.xml used in the project has plaintext &#8220;mail id and password&#8221;.  I was thinking on the lines of AES having an external private key stored in a non-project folder without which the password hash would not make any sense.</p>
<p><strong>3)    Use JavaMail instead of Commons Email :</strong> I happen to use Apache Commons email instead of for sending mails (SMTP) because it looked simple.  But later i realised that we cant attach streams. What i am currently doing is that i am attaching an URL directly to the email like</p>
<p><code>emailAttachment.setURL(new URL(http://www.google.com));</code></p>
<p>which is good for our current needs but will limit our options. Plain JavaMail on the other hand will use a DataSource which will give us a lot of options.</p>
<p><strong>4)    Apache HttpClient : </strong>As of now, the URL is directly attached to the email.  What if the target URL is down or isnt even an URL. We would want to use HttpClient to ping the URL and check whether the status code returned is 200.</p>
<p><strong>5)    Search functionality using Google AJAX search and JSON :</strong> Google search or Wiki search (idea by Rajesh) is not a part of the system right now. Need to use Google Ajax API and JSON to pull data from Google. Please refer to</p>
<p>http://code.google.com/apis/ajaxsearch/documentation/</p>
<p>You might get some additional ideas on Book search, Movie search from the following URL (Idea by Dinesh)</p>
<p>http://code.google.com/apis/ajax/playground/#hello_world</p>
<p><strong>6)    Interactive browsing using Apache HttpUtils (functionality similar to Mechanize/Beautiful soup) :</strong> Use HttpUtils/HttpClient to simulate user browsing with Java. This will open a whole world of accessing authenticated systems.</p>
<p><strong>7)   Recurring updates using Quartz scheduler : </strong> Everybody would like to have recurring updates from sites, say like cricinfo or nseindia. users should be able to set a recurring job with us and get updates. something like.. &#8220;between 1 pm and 8 pm, get updates from http://www.cricinfo.com/nzvpak2009/engine/current/match/423780.html&#8221; every 1 minute&#8221;.  we should enable persisted scheduling using a backend database (which is also available with quartz)</p>
<p><strong> <img src='http://arunma.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' />   Multithreaded processing :</strong> Currently,  the processing and handling of requests is sequential. We have to think about exploiting ThreadPool API to process multiple requests.</p>
<p><strong>9)   Quartz scheduler with BigTable/HBase :</strong> This is totally optional, but somebody is yet to come up with a Quartz scheduler extension using the backend as HBase. May be&#8230; may be&#8230; we could think of that. Though, HBase is good for large data, it is still an idea worth considering.  Optionally, if we have a need to store large data into our systems, we could consider HBase.. Just for the fun of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2009/12/15/fej2me-upcoming-tasks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lunarcodes – Coding when the moon goes up</title>
		<link>http://arunma.com/2009/12/09/lunarcodes-coding-when-the-moon-goes-up/</link>
		<comments>http://arunma.com/2009/12/09/lunarcodes-coding-when-the-moon-goes-up/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 03:37:44 +0000</pubDate>
		<dc:creator>Arun Manivannan</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[lunarcodes]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://arunma.com/?p=358</guid>
		<description><![CDATA[After a lot of thought over the weekend, I decided to rewrite Fetch2Me in Java. Not that Python is bad. Python is brilliant. However, i felt that my code quality in Java (from where i come) is not yet production standard. Over the past year, i had the opportunity to open up a lot of [...]]]></description>
			<content:encoded><![CDATA[<div><span><span style="font-family: Verdana;">After a lot of thought over the weekend, I decided to rewrite Fetch2Me in Java.  Not that Python is bad. Python is brilliant. However, i felt that my code  quality in Java (from where i come) is not yet production standard. Over the past year, i had the opportunity to open up a lot of open source projects and realised that my code quality is  horrible. HORRIBLE !!! </span></span></div>
<div><span> <span style="font-family: Verdana; ">So, this is the plan i came up with.  Bring together our old NIIT gang and &#8211; </span></span></div>
<div><span><span style="font-family: Verdana; "><br />
</span></span></div>
<div><span> <span style="font-family: Verdana; ">1)     Rewrite Fetch2Me in Java using HttpUnit and Java Mail API</span></span></div>
<div><span> <span style="font-family: Verdana;">2)     Expose the core functionality of Fetch2Me as a REST service</span></span></div>
<div><span> <span style="font-family: Verdana; ">3)     Write a front end for web access to the REST service. Typically we should be  writing a Inbox like web page for checking gmail (or any mail for that case), sending mails (with and  without attachments). This front end will be written using GWT and  Guice.</span></span></div>
<div><span><span style="font-family: Verdana; "> 4)     Write a Firefox plugin similar to the requirement in (3) </span></span></div>
<div><span> <span style="font-family: Verdana; ">5)     SMS service should also be exposed as REST service. </span></span></div>
<div><span><span style="font-family: Verdana; "><br />
</span></span></div>
<div><span><span style="font-family: Verdana; ">Use Maven for build purposes and Git for source control.  Optionally use Hudson for continuous integration and </span></span><span><span style="font-family: Verdana; ">come up with an Eclipse plugin</span></span><span><span style="font-family: Verdana; ">. Write lots and lots of of JUnit test  cases.  My gut feeling is that this should take  at least a few months development time.<br />
</span></span></div>
<div><span><span style="font-family: Verdana; ">I am sure there are a million products out there which does the same thing but there are two important highlights in this effort. </span></span></div>
<div><span><span style="font-family: Verdana; ">1)  We get to learn a lot of new things, open up the source code of lot of other open source projects, started reading PHP, ASP.net, C#, Ruby, Python (and convert them to Java) &#8212; all those which we wouldnt have done in our day job. I thought we could learn by mistakes &#8211; both development and design, we could refactor the code as much as we want at any point of time in the project (we understand that optimizing early is a crime).</span></span></div>
<div><span><span style="font-family: Verdana; ">and<br />
</span></span></div>
<div><span><span style="font-family: Verdana; ">2)  Soon after we are done with increments in the project, we&#8217;ll open source it. People can just pick our code and host it in their domain and call it a day. I  am sure many will find interest in our work and hopefully start  using it. </span></span></div>
]]></content:encoded>
			<wfw:commentRss>http://arunma.com/2009/12/09/lunarcodes-coding-when-the-moon-goes-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
