<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;D0ADQnkycCp7ImA9WhRQFU0.&quot;"><id>tag:blogger.com,1999:blog-12758131</id><updated>2011-12-10T13:59:33.798+05:30</updated><category term="firmware upgrade" /><category term="IBM" /><category term="2.2.1" /><category term="diy" /><category term="loan" /><category term="Thread" /><category term="fabric sofa" /><category term="esb" /><category term="synapse" /><category term="no wireless" /><category term="Java G1 garbage collector" /><category term="entrepreneurship" /><category term="upholstery" /><category term="Memory Leak" /><category term="Heap Analysis" /><category term="does not ring" /><category term="Oracle" /><category term="Java" /><category term="adroitlogic" /><category term="WebSphere" /><category term="tax" /><category term="construction" /><category term="corner sofa" /><category term="iphone" /><category term="Sun" /><category term="decision" /><category term="Exception" /><category term="savings" /><category term="Dump Analysis" /><category term="Out of Memory" /><category term="sri lanka" /><category term="no wifi" /><category term="calculation" /><category term="Runtime" /><category term="housing loan" /><category term="EMI" /><category term="wso2" /><category term="reuse" /><category term="Executor" /><title>The "personal" blog of Asankha Perera</title><subtitle type="html">Visit esbmagic.blogspot.com or http://AdroitLogic.org to read about ESBs, SOA and Enterprise Integration</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://asankha.blogspot.com/" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/asankha" /><feedburner:info uri="asankha" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUcMSXw7eyp7ImA9Wx5XFkw.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-2948511069601668229</id><published>2010-09-16T10:28:00.000+05:30</published><updated>2010-09-16T10:28:08.203+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-16T10:28:08.203+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="entrepreneurship" /><category scheme="http://www.blogger.com/atom/ns#" term="decision" /><title>If you can do it, get up and prove it; Get up and show them who you are!</title><content type="html">&lt;i style="color: blue;"&gt;"Once you make a decision, the universe conspires to make it happen"&lt;/i&gt; - Ralph Waldo Emerson&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;Exactly 2 years ago, on the 16th of September 2008 at 10:28am I sent out my last Notice of resignation to become an Entrepreneur! What a great decision it has been!&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The ability to make clear, firm resolute decisions is as precious a gift as life itself. It is what enables human beings to take control of their lives, to rise above chance and circumstance and to chart a destiny. Those who fail to make conscious choices may as well not have any free will, for they squander the gift of decisiveness.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Decision can be called choice by design. Lack of decisiveness is choice by default. It is also a choice. It is the decision to choose unhappiness, mediocrity and commonality.&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;i&gt;Once in your life, you make a choice..&amp;nbsp;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Ready to risk it all...&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Deep in your soul, you hear a voice..&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Answering to the call...&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/MqZQsv1QPA4?fs=1&amp;amp;hl=en_US"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/MqZQsv1QPA4?fs=1&amp;amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;If you can do it, get up and prove it..&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;i&gt;Get up and show them who you are!&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-2948511069601668229?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/khjZFIXKKVE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/2948511069601668229/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=2948511069601668229" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/2948511069601668229?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/2948511069601668229?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/khjZFIXKKVE/if-you-can-do-it-get-up-and-prove-it.html" title="If you can do it, get up and prove it; Get up and show them who you are!" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2010/09/if-you-can-do-it-get-up-and-prove-it.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4CSHw9eyp7ImA9WxBQGEQ.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-4358434933861294707</id><published>2010-01-19T16:31:00.001+05:30</published><updated>2010-01-19T16:32:49.263+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-19T16:32:49.263+05:30</app:edited><title>AdroitLogic Announces the Availability of a Simple to Use - High Performance Enterprise Service Bus [ESB], UltraESB</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Introduces Zero-Copy Proxying with Non-Blocking IO and a Custom WS-Security Implementation, to Act as a High Performance Intelligent Layer 7 Router and Load Balancer&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;Singapore - January 19, 2010 - AdroitLogic Private Ltd. announced today the availability of the first public beta release of its Enterprise Service Bus (ESB), UltraESB. The UltraESB allows Zero-copy proxying of messages using Non-Blocking IO, to scale and support extremely high numbers of concurrent connections over HTTP/S. In addition, it includes support for B2B integration with AS2, and a custom WS-Security implementation, designed to yield better performance when used as a corporate security gateway.&lt;br /&gt;&lt;br /&gt;By moving away from a canonical message format, the UltraESB natively supports multiple types of payloads over transports such as HTTP/S, JMS, File, FTP/S, SFTP and Email (POP,IMAP,SMTP). In addition, it can act as a B2B AS2 (Applicability Statement 2) connector to integrate backend systems, securely with trading partners over the Internet. Fully supporting REST, SOAP, XML, Binary, Hessian, EDI, Text, HTML etc as payloads, the UltraESB ships with a load of ready-to-run samples and documentation. A graphical test utility 'ToolBox' bundled with the UltraESB, contains a HTTP/S client for REST/SOAP/Hessian etc, a TCP dump and capture utility, a load generator, and other useful utilities for testing and experimentation.&lt;br /&gt;&lt;br /&gt;The UltraESB has been designed and developed from scratch by its architect, using the knowledge gained by contributing over 70% of the original codebase of the Apache Synapse ESB, as well as supporting its users for almost 4 years. Without requiring the users to learn a new XML configuration language, or write-compile-and-deploy code, the UltraESB is configured with a Spring configuration, and allows mediation to be specified as Java code right within the configuration, separately or as compiled byte code. By supporting JSR 233 scripting languages, it allows the user to use languages such as Groovy, Javascript, Ruby etc. for mediation as well. The UltraESB allows intelligent IDE integration with auto completion and validation, Java mediation editing, and debugging right from within the IDE. Its dependencies have been kept to a minimum set of stable libraries, to enable regular release cycles and quick builds. With JUnit tests currently covering half of the codebase, the UltraESB makes it easier for end users to write unit tests to automate most types of end user testing. The UltraESB is easily managed, monitored and controlled via JMX, and provides advanced support for JTA or local transactions, including suspension and resuming of transactions by different threads of execution.&lt;br /&gt;&lt;br /&gt;AdroitLogic offers a range of service and support options for the UltraESB. These include consulting, custom development, sponsorship of feature development, development &amp;amp; production support and training. Additionally, AdroitLogic hosts public user forums, articles, samples and other material on the use of the UltraESB at its website http://adroitlogic.org&lt;br /&gt;&lt;br /&gt;The UltraESB is offered free of charge for unlimited production deployment. AdroitLogic believes in working closely with real enterprise users of its software, and thus invites them to participate in defining its road map, schedule and features for releases. Becoming a parter with AdroitLogic, offers users access to its source code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;About AdroitLogic &lt;/span&gt;&lt;br /&gt;AdroitLogic Private Ltd. is a young and innovative technology company based in Singapore, that believes in, and proves that better design and clever code yields much better software. Being a self-funded startup, AdroitLogic is driven by entrepreneurial spirit, personal dedication and commitment of its founders, who are personally involved with its design, development and support.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Contact Information &lt;/span&gt;&lt;br /&gt;Asankha Perera&lt;br /&gt;Email: info@adroitlogic.com&lt;br /&gt;Tel: +94 722 805724&lt;br /&gt;http://adroitlogic.org&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-4358434933861294707?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/z56ixaWP9qM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/4358434933861294707/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=4358434933861294707" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/4358434933861294707?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/4358434933861294707?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/z56ixaWP9qM/adroitlogic-announces-availability-of.html" title="AdroitLogic Announces the Availability of a Simple to Use - High Performance Enterprise Service Bus [ESB], UltraESB" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2010/01/adroitlogic-announces-availability-of.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkQDR3w-eyp7ImA9WxBSFkg.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-8182805126043392092</id><published>2009-12-24T16:59:00.001+05:30</published><updated>2009-12-24T17:02:56.253+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-24T17:02:56.253+05:30</app:edited><title>I have a dream!</title><content type="html">Some dreams live on in time forever&lt;br /&gt;Those dreams, you want with all your heart&lt;br /&gt;And I'll do whatever it takes&lt;br /&gt;Follow through with the promise I made&lt;br /&gt;Put it all on the line&lt;br /&gt;What I hoped for at last would be mine..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-8182805126043392092?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/gz-9iz0hxTE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/8182805126043392092/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=8182805126043392092" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/8182805126043392092?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/8182805126043392092?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/gz-9iz0hxTE/i-have-dream.html" title="I have a dream!" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://asankha.blogspot.com/2009/12/i-have-dream.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIHQ306cSp7ImA9WxJTE0U.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-5333890243928887280</id><published>2009-04-22T11:37:00.003+05:30</published><updated>2009-04-22T11:38:52.319+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-22T11:38:52.319+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IBM" /><category scheme="http://www.blogger.com/atom/ns#" term="Sun" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>So will the Sun JDK be known as the Oracle JDK in the future?</title><content type="html">I guess Oracle could infuse some of the JRockit tricks into the Sun JVMs too.. But I wish IBM bought Sun!&lt;br /&gt;&lt;br /&gt;http://www.oracle.com/sun/index.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-5333890243928887280?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/TfWoPDFx_Hs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/5333890243928887280/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=5333890243928887280" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/5333890243928887280?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/5333890243928887280?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/TfWoPDFx_Hs/so-will-sun-jdk-be-known-as-oracle-jdk.html" title="So will the Sun JDK be known as the Oracle JDK in the future?" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2009/04/so-will-sun-jdk-be-known-as-oracle-jdk.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQCQXoyeip7ImA9WxJTE0U.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-6244428411707816339</id><published>2009-04-22T11:34:00.001+05:30</published><updated>2009-04-22T11:36:00.492+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-22T11:36:00.492+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Java G1 garbage collector" /><title>Sun's Garbage First Collector Largely Eliminates Low Latency/High Throughput Tradeoff</title><content type="html">&lt;p&gt;Can't wait to try this with JDK 6 u14!&lt;/p&gt;&lt;p style="font-style: italic;"&gt;In a &lt;a href="http://mediacast.sun.com/users/dannycoward/media/PC_0002_JamesGosling.mp3/details"&gt;recent podcast&lt;/a&gt;, James Gosling highlights the importance of G1 for certain kinds of large-scale Java applications, such as financial exchanges, which are characterised by large amounts of live heap data and considerable thread-level parallelism, and are often run on high-end multi-core processors:&lt;/p&gt; &lt;blockquote style="font-style: italic;"&gt;"...the deep hidden secret about many of these Java apps is that they don't really use databases. Instead of databases they use huge amounts of RAM and push the garbage collector like mad because they cannot afford to touch the disk ever. When you are doing many, many thousands of transactions per second it's all about keeping everything in RAM, using hash tables, getting as many cores focused on the transactions as possible, and they usually have big issues about transaction latency."&lt;/blockquote&gt;More details: http://www.infoq.com/news/2009/04/g1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-6244428411707816339?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/MB-eF8cMrwk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/6244428411707816339/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=6244428411707816339" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/6244428411707816339?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/6244428411707816339?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/MB-eF8cMrwk/suns-garbage-first-collector-largely.html" title="Sun's Garbage First Collector Largely Eliminates Low Latency/High Throughput Tradeoff" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2009/04/suns-garbage-first-collector-largely.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8FRHY4fyp7ImA9WxVVE0k.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-443022787473853044</id><published>2009-03-06T17:52:00.002+05:30</published><updated>2009-03-06T18:03:35.837+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-06T18:03:35.837+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="no wireless" /><category scheme="http://www.blogger.com/atom/ns#" term="2.2.1" /><category scheme="http://www.blogger.com/atom/ns#" term="does not ring" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone" /><category scheme="http://www.blogger.com/atom/ns#" term="firmware upgrade" /><category scheme="http://www.blogger.com/atom/ns#" term="no wifi" /><title>Getting back the iPhone!</title><content type="html">My first generation iPhone running firmware 1.1.4 hacked to work in Sri Lanka, started to give trouble from a few months back, and taking almost a day of being kept switched off to magically recover! I never understood why a 8hr switch off was different to a 10 minute switch off.. but then again, people even suggest keeping the iPhone in the freezer to make it recover :).. I only tried that for 5 minutes.. &lt;br /&gt;&lt;br /&gt;Anyway on the 10th of February, I upgraded to the new version 2.2.1 firmware.. and immediately realized I had done something really bad.. by Wifi was not working at all.. I then tried down grading to 2.2 - but still no luck.. then I tried going back to v.1.1.4 by even installing an old iTunes version and downloading the ipsw image files.. but trying quite a lot of hints, I was never able to get my modem firmware downgraded.. it had got to 04.05.04_G and I was stuck! Then things got even worse.. the phone would not ring.. but silently record missed calls.. then I gave up everything, and was waiting for someone to find a fix patiently.. I realized that the phone does ring, when its kept unlocked - but that soon drains the battery.. another option was keeping it connected to the charger.. so I did both of these until today the 6th of March..&lt;br /&gt;&lt;br /&gt;.. and today, I felt lucky! suddenly.. I felt my phone ring again!.. and I tried it a few times to make sure.. and yes, it has started to work again :).. then I tried my Wifi.. and thats back too! I hope this will help someone else who is like me to get back their iPhones.. the secret being patience! I'm happy to have a real ringing phone back with me.. and I will not try any more upgrades for a loooong time.. its currently running 2.2.1(5H11), Carrier 2.9 and Modem firmware 04.05.04_G&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-443022787473853044?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/z-3IcUXHsUc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/443022787473853044/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=443022787473853044" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/443022787473853044?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/443022787473853044?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/z-3IcUXHsUc/getting-back-iphone.html" title="Getting back the iPhone!" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2009/03/getting-back-iphone.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQFQ348fSp7ImA9WxVVEkk.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-6565303600638795610</id><published>2009-03-05T15:09:00.004+05:30</published><updated>2009-03-05T15:48:32.075+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-05T15:48:32.075+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="loan" /><category scheme="http://www.blogger.com/atom/ns#" term="calculation" /><category scheme="http://www.blogger.com/atom/ns#" term="tax" /><category scheme="http://www.blogger.com/atom/ns#" term="housing loan" /><category scheme="http://www.blogger.com/atom/ns#" term="savings" /><category scheme="http://www.blogger.com/atom/ns#" term="sri lanka" /><category scheme="http://www.blogger.com/atom/ns#" term="EMI" /><title>The Secrets of Housing Loans and Taxation</title><content type="html">Ever wondered how much a housing loan would really help you get your OWN house, AND save you tax? Well I've been looking for answers on this topic from many years ago, but was only able to fully figure out everything once I got my own housing loan and tax file some years ago.. All this time I have been secretly giving out information to my friends on this, and today I am going to make it publicly available..&lt;br /&gt;&lt;br /&gt;First for some history on this topic, I wrote a tiny Java Script EMI calculator few years back, and its still available on my &lt;a href="http://www.geocities.com/asankha/Contents/Public/TaxCalculator.html"&gt;GeoCities website&lt;/a&gt;, which I haven't updated for quite sometime :)&lt;br /&gt;&lt;br /&gt;I've also blogged about "&lt;a href="http://asankha.blogspot.com/2006/07/how-to-get-loan-in-3-days.html"&gt;How to Get a Loan in 3 days&lt;/a&gt;" previously, and would recommend reading it for anyone who is considering this in Sri Lanka&lt;br /&gt;&lt;br /&gt;So now for the goodies..&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BWBgbZzm_I4/Sa-fgKwK9XI/AAAAAAAAAE4/WxJoM2gbqtQ/s1600-h/emi.gif"&gt;&lt;img style="cursor: pointer; width: 200px; height: 58px;" src="http://4.bp.blogspot.com/_BWBgbZzm_I4/Sa-fgKwK9XI/AAAAAAAAAE4/WxJoM2gbqtQ/s200/emi.gif" alt="" id="BLOGGER_PHOTO_ID_5309637860684133746" border="0" /&gt;&lt;/a&gt; The worksheet has been made available in M Excel format - to support those who still pays Microsoft for software provided free by many others, and is much better most of the times.. It allows you to first key in your EMI details - i.e. how much you want to borrow, how much interest the financial institution is asking for, and the duration of the loan, and then you can calculate your monthly EMI (Equated Monthly Installment)&lt;br /&gt;&lt;br /&gt;Search Google for more information on what EMI is and means - its a very fair scheme, where you pay interest for what you really get in a loan. Each month you pay the same amount, but during the start of the repayment, most of this money is counted as interest, and a little as capital repayment, and towards the end of the loan, most will be counted as capital repayment, and less as interest. Thus if you take an EMI loan for 20 years, and pay it for 3 years and want to exit, you still would have to pay back a large sum of the amount you've borrowed - but hey - its a FAIR calculation.. a bank is not your relative, to give you free money!&lt;br /&gt;&lt;br /&gt;Next, enter your salary details, and see how much you will save as Tax. BUT this comes at a price.. you will need to open a Tax File and ask for a salary direction to your employer, so that PAYE tax will not be deducted from you each month.&lt;br /&gt;&lt;br /&gt;A Tax file is like a Driving License in Sri Lanka, they never expires :).. so thereafter, each year you WILL have to send your tax information to the Inland Revenue Department. These people sometimes even ask people who has died to keep filing tax as well, probably to cover up the &lt;a href="http://asiatax.wordpress.com/2007/12/02/sri-lanka-billions-in-vat-frauds-pac/"&gt;massive VAT fraud&lt;/a&gt; the officials of this department helped themselevs into. But then again, officials in Sri Lanka rarely resign, even AFTER they are found guily by the supreme court!.. but we know of &lt;a href="http://sundaytimes.lk/081012/FinancialTimes/ft304.html"&gt;one who had to bite the dust&lt;/a&gt; finally!&lt;br /&gt;&lt;br /&gt;So finally .. here is the goodie I promised.&lt;br /&gt;&lt;a href="http://people.apache.org/~asankha/personal/Salaries_and_Tax_DEMO.xls"&gt;http://people.apache.org/~asankha/personal/Salaries_and_Tax_DEMO.xls&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Please let me know if you have any corrections, or suggestions for improvement.. and feel free to share it with others, but please do respect the copyright notice and the name of the original author.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-6565303600638795610?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/j9jcy-RxUvM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/6565303600638795610/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=6565303600638795610" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/6565303600638795610?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/6565303600638795610?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/j9jcy-RxUvM/secrets-of-housing-loans-and-taxation.html" title="The Secrets of Housing Loans and Taxation" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_BWBgbZzm_I4/Sa-fgKwK9XI/AAAAAAAAAE4/WxJoM2gbqtQ/s72-c/emi.gif" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://asankha.blogspot.com/2009/03/secrets-of-housing-loans-and-taxation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcNQ389eSp7ImA9WxVRFU8.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-5464605335081941668</id><published>2009-01-21T12:39:00.000+05:30</published><updated>2009-01-21T13:18:12.161+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-21T13:18:12.161+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebSphere" /><category scheme="http://www.blogger.com/atom/ns#" term="Heap Analysis" /><category scheme="http://www.blogger.com/atom/ns#" term="Memory Leak" /><category scheme="http://www.blogger.com/atom/ns#" term="Out of Memory" /><category scheme="http://www.blogger.com/atom/ns#" term="Dump Analysis" /><title>Dead men may not tell tales.. But dead JVMs do!</title><content type="html">During the last couple of days, I was troubleshooting a critical server crash encountered by an airline, on behalf of a software consulting firm which requested my help. The symptoms were that WebSphere 6.0.2 was crashing with an Out of Memory (OOM) condition, sometimes reaching 100% (or a very high) CPU utilization level in addition. Although you can profile an application with excellent profilers such as &lt;a href="http://www.quest.com/jprobe/"&gt;JProbe&lt;/a&gt;, it becomes much more difficult when you are unable to re-create the issues in any other environment but they keep happening on the live production instances, to which you only have limited access.&lt;br /&gt;&lt;br /&gt;Luckily the IBM JVM's generate a Portable Heap Dump (PHD) on an OOM, and has an array of &lt;a href="http://www.ibm.com/developerworks/java/jdk/diagnosis/"&gt;extremely helpful tools&lt;/a&gt; to analyze information from heap/thread dumps and and other information offline. Thus it is still possible to detect memory leaks in applications, even when they only occur in live production systems. Sometimes the cause would be heap fragmentation, where even if a considerable percentage of memory is still available, a contiguous chunk of the size required cannot be freed. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BWBgbZzm_I4/SXbRsAJFcwI/AAAAAAAAAEg/WTN5o1-I4ZU/s1600-h/memory-leak.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 175px;" src="http://2.bp.blogspot.com/_BWBgbZzm_I4/SXbRsAJFcwI/AAAAAAAAAEg/WTN5o1-I4ZU/s200/memory-leak.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5293648965903151874" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The above image shows the IBM Heap Analyzer, detecting a memory leak by the WebSphere DRS / Session Replication, where 923MB of heap has been consumed by 14,011 HashMap#Entry objects held onto by the WebSphere Data Replication Service, used for HTTP session replication.&lt;br /&gt;&lt;br /&gt;It is also interesting to look for the use of Xalan 2.6.0 by any application code, as I have at &lt;a href="https://issues.apache.org/jira/browse/SYNAPSE-167"&gt;earlier instances&lt;/a&gt; found memory leaks that are typically more difficult to trace - but which occurs primarily due to a well known &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6434840"&gt;bug in 2.6.0 of Xalan&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-5464605335081941668?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/Z3_la7uV6vk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/5464605335081941668/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=5464605335081941668" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/5464605335081941668?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/5464605335081941668?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/Z3_la7uV6vk/dead-men-may-not-tell-tales-but-dead.html" title="Dead men may not tell tales.. But dead JVMs do!" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_BWBgbZzm_I4/SXbRsAJFcwI/AAAAAAAAAEg/WTN5o1-I4ZU/s72-c/memory-leak.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2009/01/dead-men-may-not-tell-tales-but-dead.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04NSHgyeyp7ImA9WxVSEUs.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-8868075851783703767</id><published>2009-01-05T18:57:00.000+05:30</published><updated>2009-01-05T20:03:19.693+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-01-05T20:03:19.693+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="upholstery" /><category scheme="http://www.blogger.com/atom/ns#" term="fabric sofa" /><category scheme="http://www.blogger.com/atom/ns#" term="corner sofa" /><category scheme="http://www.blogger.com/atom/ns#" term="diy" /><category scheme="http://www.blogger.com/atom/ns#" term="construction" /><title>A project for Christmas 2008</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BWBgbZzm_I4/SWIUtDWANbI/AAAAAAAAADY/5aBq8juBFn8/s1600-h/christmas-2008.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SWIUtDWANbI/AAAAAAAAADY/5aBq8juBFn8/s320/christmas-2008.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5287811676710647218" /&gt;&lt;/a&gt;&lt;br /&gt;During the last Christmas holidays, I wanted to use my vacation time to build a corner sofa set for use at home.. however, due to many unexpected obligations, I couldn't finally find any time for it.. So this year, I got a deadline to either build it before the 24th, or to buy it! Since I finally had to get someone else to build the pantry cupboards (which I wanted to do - if I had the time) as well, I decided not to let this opportunity pass by.. after all, I am working as an independent consultant now, and it was holidays around the world anyway!&lt;br /&gt;&lt;br /&gt;So I started to look for a simple software to design the structure, the Google Sketchup came in very handy! I also used the measurements I took some time ago from the corner sofa set bought for the WSO2 office in Colombo. I had to spend on the fabric, wood and the foam and it cost around the equivalent of $500.. it took about a week to come into shape, and finally my wife helped with the sewing of the fabric and the cushions. I did stay up all night on the 23rd, to ensure that everything was ready by the morning of the 24th :) &lt;br /&gt;&lt;br /&gt;Here are some pics taken during the construction.. if you need the Sketchup files, let me know&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIZaglYvZI/AAAAAAAAAEY/B0DRstmQgc4/s1600-h/upholstery-3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIZaglYvZI/AAAAAAAAAEY/B0DRstmQgc4/s200/upholstery-3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5287816855700422034" /&gt;&lt;/a&gt;&lt;br /&gt;Finishing off with padding and foam..&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_BWBgbZzm_I4/SWIZZ0rIFKI/AAAAAAAAAEQ/obb7P4WlIX4/s1600-h/upholstery-2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://4.bp.blogspot.com/_BWBgbZzm_I4/SWIZZ0rIFKI/AAAAAAAAAEQ/obb7P4WlIX4/s200/upholstery-2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5287816843913335970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_BWBgbZzm_I4/SWIZZp7-rII/AAAAAAAAAEI/ljSI-OZqM_w/s1600-h/upholstery-1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SWIZZp7-rII/AAAAAAAAAEI/ljSI-OZqM_w/s200/upholstery-1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5287816841031232642" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Making the frame..&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_BWBgbZzm_I4/SWIVq78e8CI/AAAAAAAAAEA/C6eM-buhNks/s1600-h/frame-3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://2.bp.blogspot.com/_BWBgbZzm_I4/SWIVq78e8CI/AAAAAAAAAEA/C6eM-buhNks/s200/frame-3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5287812739876450338" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIVqvt431I/AAAAAAAAAD4/gpc6spbWtd8/s1600-h/frame-2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIVqvt431I/AAAAAAAAAD4/gpc6spbWtd8/s200/frame-2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5287812736594009938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIVqTsBjxI/AAAAAAAAADw/KmuSXb0UZfo/s1600-h/frame-1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIVqTsBjxI/AAAAAAAAADw/KmuSXb0UZfo/s200/frame-1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5287812729069997842" /&gt;&lt;/a&gt;&lt;br /&gt;Cutting the wood.. with the use of support 'templates' to get correct edges with the circular saw..&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIVqOouxoI/AAAAAAAAADo/9WHqCIc84C8/s1600-h/cutting-plywood-2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIVqOouxoI/AAAAAAAAADo/9WHqCIc84C8/s200/cutting-plywood-2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5287812727714006658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIVp9FX-iI/AAAAAAAAADg/OEMXhTQlQ8w/s1600-h/cutting-plywood.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 150px; height: 200px;" src="http://3.bp.blogspot.com/_BWBgbZzm_I4/SWIVp9FX-iI/AAAAAAAAADg/OEMXhTQlQ8w/s200/cutting-plywood.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5287812723002309154" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-8868075851783703767?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/JlDrQd_VaIA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/8868075851783703767/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=8868075851783703767" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/8868075851783703767?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/8868075851783703767?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/JlDrQd_VaIA/project-for-christmas-2008.html" title="A project for Christmas 2008" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_BWBgbZzm_I4/SWIUtDWANbI/AAAAAAAAADY/5aBq8juBFn8/s72-c/christmas-2008.jpg" height="72" width="72" /><thr:total>5</thr:total><feedburner:origLink>http://asankha.blogspot.com/2009/01/project-for-christmas-2008.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcCRX84cCp7ImA9WxRWFUs.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-3841163963590927885</id><published>2008-11-01T22:51:00.000+05:30</published><updated>2008-11-01T23:24:24.138+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-01T23:24:24.138+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="synapse" /><category scheme="http://www.blogger.com/atom/ns#" term="adroitlogic" /><category scheme="http://www.blogger.com/atom/ns#" term="esb" /><category scheme="http://www.blogger.com/atom/ns#" term="wso2" /><title>A new beginning..</title><content type="html">After a bit over two and a half years at &lt;a href="http://wso2.org"&gt;WSO2&lt;/a&gt;, I am starting my own consulting practice today as an independent consultant! The past couple of years has been both very interesting and challenging. &lt;br /&gt;&lt;br /&gt;I worked mostly on the Apache Synapse Enterprise Service Bus (ESB) and built the WSO2 branded version of it as WSO2 ESB, and took both of these through many releases. The development of the non-blocking http/s transport was the most challenging problem we solved, that allowed Synapse to scale to support thousands of concurrent connections utilizing a small thread pool of workers. The NIO transport now supports constant memory throttling, utilizing some of the very cool features of the Apache HttpComponents/NIO. I learn't a lot about the complexities of NIO and the issues with the HTTP/S protocol from Oleg Kalnichevski who contributes immensely to HttpComponenets. I've also worked on implementing the JMS transport, the Mail transport and the File system transport for Synapse and Axis2, and also built an abstract transport framework that allows one to write a new transport with minimal effort.&lt;br /&gt;&lt;br /&gt;Ruwan, Indika, Chathura, Upul, Evanthika, Chanaka, Saliya and Dinuka were my team mates from WSO2, and both Sanjiva and Paul helped me immensely during these years to reach my targets. We beat both proprietary ESB's as well as other open source ESB's during three rounds of performance testing we carried out, and these tests have now become a defacto standard for ESB's, followed by both BEA (now Oracle) and Mule who ran the same tests.&lt;br /&gt;&lt;br /&gt;I will continue to work on &lt;a href="http://synapse.apache.org"&gt;Apache Synapse&lt;/a&gt; and be available for consulting, training and development assistance around Apache Synapse, open source middleware, enterprise Java and performance testing and tuning. Thus, I have setup my consulting partnership &lt;a href="http://adroitlogic.org"&gt;http://adroitlogic.org&lt;/a&gt; which is officially starting today.. This is the first time that I am leaving permanent employment after working for over 10 years for IBM Sri Lanka, the National Institute of Business Management, Virtusa (Nasdaq:VRTU) and WSO2.. but I am confident that I will reach my objectives, while enjoying more free time with my kids and family.&lt;br /&gt;&lt;br /&gt;So I leave my boats behind&lt;br /&gt;Leave them on familiar shores&lt;br /&gt;Set my heart upon the deep&lt;br /&gt;Follow you again, my Lord!&lt;br /&gt;[&lt;a href="http://blog.360.yahoo.com/blog-EEadyvswaKcb8ZXz15O_?p=1"&gt;http://blog.360.yahoo.com/blog-EEadyvswaKcb8ZXz15O_?p=1&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-3841163963590927885?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/IjW5REfb70w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/3841163963590927885/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=3841163963590927885" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/3841163963590927885?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/3841163963590927885?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/IjW5REfb70w/new-beginning.html" title="A new beginning.." /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://asankha.blogspot.com/2008/11/new-beginning.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UNSX8-cCp7ImA9WxdaF08.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-7346477295509322015</id><published>2008-08-26T11:05:00.000+05:30</published><updated>2008-08-26T11:11:38.158+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-26T11:11:38.158+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="reuse" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="Runtime" /><category scheme="http://www.blogger.com/atom/ns#" term="Thread" /><category scheme="http://www.blogger.com/atom/ns#" term="Exception" /><category scheme="http://www.blogger.com/atom/ns#" term="Executor" /><title>Why doesn't an executor reuse a thread after completing your task?</title><content type="html">This could happen if your task throws a RuntimeException.. then the Java Executor will not reuse that thread and would create a new thread. Consider the following example, if you comment the line "throw new RuntimeException("Runtime");" you will get the following output:&lt;br /&gt;&lt;br /&gt;This is some thread : TG-ID-1&lt;br /&gt;This is some thread : TG-ID-2&lt;br /&gt;...&lt;br /&gt;This is some thread : TG-ID-20&lt;br /&gt;This is some thread : TG-ID-20&lt;br /&gt;This is some thread : TG-ID-20&lt;br /&gt;This is some thread : TG-ID-20&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;This is some thread : TG-ID-20&lt;br /&gt;..&lt;br /&gt;This is some thread : TG-ID-2&lt;br /&gt;This is some thread : TG-ID-1&lt;br /&gt;&lt;br /&gt;But if you leave the RuntimeException, your outpur will be:&lt;br /&gt;This is some thread : TG-ID-1&lt;br /&gt;...&lt;br /&gt;This is some thread : TG-ID-71&lt;br /&gt;This is some thread : TG-ID-72&lt;br /&gt;This is some thread : TG-ID-73&lt;br /&gt;...&lt;br /&gt;etc..&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;import java.util.concurrent.*;&lt;br /&gt;import java.util.concurrent.atomic.AtomicInteger;&lt;br /&gt;&lt;br /&gt;public class TestExecutor {&lt;br /&gt;&lt;br /&gt;    public static void main(String[] args) {&lt;br /&gt;        new TestExecutor().test();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    private void test() {&lt;br /&gt;        BlockingQueue blockingQueue = new LinkedBlockingQueue&lt;runnable&gt;();&lt;br /&gt;        Executor executor = new ThreadPoolExecutor(&lt;br /&gt;            20, 100, 5,&lt;br /&gt;            TimeUnit.SECONDS,&lt;br /&gt;            blockingQueue,&lt;br /&gt;            new NativeThreadFactory(new ThreadGroup("My-T-grp"), "TG-ID"));&lt;br /&gt;&lt;br /&gt;        for (int i=0; i&lt;100; i++) {&lt;br /&gt;            executor.execute(new Runnable() {&lt;br /&gt;                public void run() {&lt;br /&gt;                    System.out.println("This is some thread : " + Thread.currentThread().getName());&lt;br /&gt;                    throw new RuntimeException("Runtime");&lt;br /&gt;                }&lt;br /&gt;            });&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    public class NativeThreadFactory implements&lt;br /&gt;        ThreadFactory {&lt;br /&gt;&lt;br /&gt;        final ThreadGroup group;&lt;br /&gt;        final AtomicInteger count;&lt;br /&gt;        final String namePrefix;&lt;br /&gt;&lt;br /&gt;        public NativeThreadFactory(final ThreadGroup group, final String namePrefix) {&lt;br /&gt;            super();&lt;br /&gt;            this.count = new AtomicInteger(1);&lt;br /&gt;            this.group = group;&lt;br /&gt;            this.namePrefix = namePrefix;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public Thread newThread(final Runnable runnable) {&lt;br /&gt;            StringBuffer buffer = new StringBuffer();&lt;br /&gt;            buffer.append(this.namePrefix);&lt;br /&gt;            buffer.append('-');&lt;br /&gt;            buffer.append(this.count.getAndIncrement());&lt;br /&gt;            Thread t = new Thread(group, runnable, buffer.toString(), 0);&lt;br /&gt;            t.setDaemon(false);&lt;br /&gt;            t.setPriority(Thread.NORM_PRIORITY);&lt;br /&gt;            return t;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-7346477295509322015?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/OcDntvR2694" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/7346477295509322015/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=7346477295509322015" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/7346477295509322015?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/7346477295509322015?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/OcDntvR2694/why-doesnt-executor-reuse-thread-after.html" title="Why doesn't an executor reuse a thread after completing your task?" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2008/08/why-doesnt-executor-reuse-thread-after.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UCQXc5fyp7ImA9WxdQE00.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-3973363424072281794</id><published>2008-06-13T01:28:00.000+05:30</published><updated>2008-06-13T01:37:40.927+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-13T01:37:40.927+05:30</app:edited><title>Major bug with Ohloh makes it almost useless?!</title><content type="html">Apache Synapse became a Top Level Project (TLP) of the Apache Software Foundation (ASF) a few months back, and thus we had to change our SVN url. Although our SVN contains history spanning back to almost three (3) years back, Ohloh only sees the project as only 5 months old!&lt;br /&gt;&lt;br /&gt;I have complained about this to Ohloh &lt;a href="http://www.ohloh.net/posts?query=asankha"&gt;4 months back&lt;/a&gt;, at which time they stated &lt;blockquote&gt;..We are unable to follow development activity across branches or directory moves..As far as I can tell there is no workaround. This affects a lot of projects, and I desperately want to get this fixed, but it will take some time.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Like they claimed, this affects many many projects! For example check Apache HttpComponents, ServiceMix, MINA..etc! This list will go on and on, since each new project started at the ASF will first go through incubation and then graduation, followed optionally by a move to become a TLP, and at each of these stages, the SVN url could possibly change.&lt;br /&gt;&lt;br /&gt;Since the code metrics reported for so many of thes open source projects are &lt;span style="font-weight:bold;"&gt;just plain wrong&lt;/span&gt;, how can any of the information presented by ohloh be useful to anyone?&lt;br /&gt;&lt;br /&gt;I sure hope someone at ohloh recognises the importance of this, and fixes this ASAP!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-3973363424072281794?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/ufcw1GEXS8E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/3973363424072281794/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=3973363424072281794" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/3973363424072281794?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/3973363424072281794?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/ufcw1GEXS8E/major-bug-with-ohloh-makes-it-almost.html" title="Major bug with Ohloh makes it almost useless?!" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2008/06/major-bug-with-ohloh-makes-it-almost.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEANQ3w8fyp7ImA9WxdQEUU.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-1501880027380138233</id><published>2008-06-11T17:45:00.000+05:30</published><updated>2008-06-11T17:49:52.277+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-11T17:49:52.277+05:30</app:edited><title>Limiting permissions to Java programs with policies</title><content type="html">I wanted to limit the permissions for a Java program to only connect to a certain host.. and the way to do this is by defining your own policy file, and passing this as an argument to the Java command as follows:&lt;br /&gt;&lt;br /&gt;temp.policy&lt;br /&gt;grant {&lt;br /&gt;  //permission java.net.SocketPermission "69.147.112.160:80","connect,resolve";&lt;br /&gt;  permission java.io.FilePermission "&lt;&lt;ALL FILES&gt;&gt;", "read, write, delete, execute";&lt;br /&gt;  permission java.util.PropertyPermission "*", "read, write";&lt;br /&gt;  permission java.lang.RuntimePermission "*";&lt;br /&gt;  permission java.lang.reflect.ReflectPermission "*";&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;The above policy will not grant the process any SocketPermissions, however, if you only wanted it to connect to a specific IP address or hostname, you can uncomment the first line, and edit it appropriately.&lt;br /&gt;&lt;br /&gt;For more information refer to: http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html&lt;br /&gt;&lt;br /&gt;Now to start your program using the above policy file, use:&lt;br /&gt;&lt;br /&gt;java -cp some.jar -Djava.security.manager -Djava.security.policy=temp.policy MainClass&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-1501880027380138233?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/By1gU7zgZ9Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/1501880027380138233/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=1501880027380138233" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/1501880027380138233?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/1501880027380138233?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/By1gU7zgZ9Y/limiting-permissions-to-java-programs.html" title="Limiting permissions to Java programs with policies" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2008/06/limiting-permissions-to-java-programs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EMQ3o_eCp7ImA9WBNQEUQ.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-115319568241951204</id><published>2006-07-18T09:30:00.000+05:30</published><updated>2006-07-18T09:38:02.440+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2006-07-18T09:38:02.440+05:30</app:edited><title>How to get a loan in 3 days?</title><content type="html">&lt;div class="content-wrapper"&gt;[Please note that this entry is written for the Sri Lankan context and hopefully will not apply outside of Sri Lanka]&lt;br /&gt;&lt;br /&gt;Couple of days ago I bought my first house… from the day the property was advertised in the paper, until the day it got written under my name, it took 17 elapsed calendar days. Although I took an express 24 business hour housing loan from the NSB – paying an extra fee for the ‘express’ service, I actually got the loan only after about 31 business hours as opposed to the advertised 24! But note that although the NSB advertises the service as the three business day service, they inform you well ahead that it will be on the 4th day after submission that the cheque will be ready. (i.e. 4 calendar days since one business day is 8 hours) The service begins only after all required documents are ready and accepted by the bank, and getting these documents ready itself could take a few more days at the local government and land registries etc., so do not ever assume that you could really get everything done in 3 or 4 days!&lt;br /&gt;&lt;br /&gt;After many years of searching for a property within a particular area, and fluctuating housing loan interest rates, we finally came across a property that we liked on the 12th of March. By this time, I was ready with all documents necessary to apply for a housing loan from the NSB, and had all documents required to prove my income, ready.&lt;br /&gt;&lt;br /&gt;After initial inspection of the property on Sunday the 12th of March, we were able to get a copy of the deed and the plan by the 14th. After an initial validation from the NSB on the loan amount and the offer price for the property that we considered, we also validated this through an external valuer (as we couldn’t get in touch with the NSB valuer in time) – just to be safe about the loan amount being pursued from the bank, for the property concerned. To also ensure that the property has a good title, we started our search through the land registry ahead of time, and thanks to my mother-in-law, we were able to request for the necessary extracts ahead of the confirmation of acceptance of our offer. We were informed that our offer has been accepted on the 20th of March, and were able to collect the relevant documents from the vendor on the 21st to acquire the other documents from the municipal council.&lt;br /&gt;&lt;br /&gt;The next few days were hectic as I was running around with my mother-in-law to the land registries, municipal council, surveyors and lawyers! As the bank looks for clear title for 30 years, sometimes you may need to check the deeds for more than 30 years if you are unlucky. Usually at the land registries, some documents become ‘lost’.. but if you are really interested to ‘find’ these.. they mysteriously appear back again in an instant! And you may sometimes come across a situation where a particular deed required cannot be located. This may be a troublesome event if you cannot locate the lawyer who wrote this particular deed either, and if it has been written by a lady lawyer before she got married.. Good luck! As she may have now changed her name, and you will not be able to locate her in any telephone directory or service either! If you come across this situation, you should go to the registrar generals department in Fort, and go through the list of lawyers, and locate the land registry where the 2nd copies of the particular lawyer are held. Again like the registration information at the land registries, the 2nd copies play the same old lost-and-found trick!.. if you keep your eyes open at a land registry, you will surely see why so many attorneys goes near or sometimes even inside the record rooms and almost touches the clerks.. keep your eyes open when you notice the above and you will realize how lost records are mysteriously found at the Sri Lankan land registries! You may sometimes hear stories about how certain records become damaged at the registries.. and then you will hear about the specially trained mice who are given this task to destroy ‘some’ of the records mentioned above.&lt;br /&gt;&lt;br /&gt;Getting copies of your extracts on time could be a task of its own.. though the photocopying section of the land registries (at least some) are supposed to be somewhat privatized, they still function according to the ‘old laws’. If you are in a hurry to get your copies, either you should speak to the registrar and explain your situation and get an endorsement on your receipt from him, or go through ‘other means’.. Even if you get the registrar himself to endorse and prioritize your extracts, you then need to wait and waste hours near the photocopy section.. again some of the folios you may have checked the day before may again get ‘lost’ just as they are about to get photocopied.. Waiting for your copies near the photocopy desk, you will surely see how some people get their copies through a ‘same day’ service, while those who goes by the book will have to spend at least a week or more to get their copies! But to your surprise you will note that these special ‘same day’ services are neither documented nor informed to any person officially, though you see many posters from the bribery and corruption commission at these registries. I wonder if all that the present bribery commission does is print these posters and paste them around the infested spots, since if they just visit some of these locations they could save the cost of these prints as well as stop all corruption. But then again when Sri Lanka is unable to even appoint a commissioner to the above commission and so many others in time, and when you hear how the Sri Lanka Inland Revenue heads are being arrested for involvement in the largest tax fraud of South Asia, you will realize why these institutes function as I have mentioned above.&lt;br /&gt;&lt;br /&gt;After you collect the necessary deeds and extracts you may also need to go through previous plans pertaining to your property.. However in the case of surveyors, no copies are maintained at the Survey Department etc. as deed copies are maintained by the land registries. Hence if a particular surveyor who has written a plan is no more, you may have very less options!&lt;br /&gt;&lt;br /&gt;After all legal documents mentioned above and related survey plans are found, your lawyer will need to study these in detail and prepare a Title report and a Pedigree report of the property.&lt;br /&gt;&lt;br /&gt;You will also have to spend some time at the local Municipal Council to get the relevant documents to obtain your housing loan. Note that the COC – Certificate of Conformance for a house is requested by the NSB – but is not included in their guide book.&lt;br /&gt;&lt;br /&gt;The other documents which are required but are not mentioned in the NSB guide book is as follows:&lt;br /&gt;&lt;br /&gt;1. A standing order form from your bank – if you are paying the installment through one&lt;br /&gt;&lt;br /&gt;2. A copy of your NID and that of the vendor.&lt;br /&gt;&lt;br /&gt;It is strongly suggested to meet a credit officer at the NSB on the day prior to your submission of documents, to check that all are in order. Note that some documents you hand over to the bank (e.g. the deed) could be photocopies - as long as they are certified by a Notary. Also make sure to get copies of your bank statements etc. as you may want to keep the originals with you for future purposes and just hand over copies to the bank. Any original documents that you submit to the bank will be filed and will not be returned to you.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Loan Day 1 (Friday)&lt;br /&gt;&lt;br /&gt;On the day you submit your documents, it is suggested to arrive at the bank by 8:30am in the morning, just as they open for business. It would be then possible to meet the same credit officer who reviewed your documents the previous day. Your documents would then be filed in a few hours. (Mine took 2 hours). Since we opted to write and process our own Title Deed, we were able to save 1% of the purchase price which would otherwise have had to be paid for to the NSB as legal charges for the deed. Due to this reason we tried very hard to find out which of the legal officers would process our loan, so that we would be able to synchronize with them to make the process smoother. However, the legal department at NSB seems to lack the customer friendly attitude of the Housing loans section so far, and seems to operate according to the ‘old regime’ system of governance. However, we were asked by one of the officers to submit a draft of the deed on Monday.&lt;br /&gt;&lt;br /&gt;They will then ask you to get a Mortgage Protection policy, and you may want to select Ceylinco over SLIC. However I choose SLIC, and went there straight away and got an appointment with Durdans hospital for them to conduct the medical checkup required for the policy.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Weekend, ..&lt;br /&gt;&lt;br /&gt;After 14 hours of fasting, I went for the medical test at Durdans early morning on Saturday. The Bank official was also able to make his inspection on Saturday, and the valuer on Sunday. I assume that if I had not submitted my documents on Friday, these two would have taken more time, and would not have been available to the NSB by the morning of the 2nd day of the Express loan system.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Loan Day 2 (Monday)&lt;br /&gt;&lt;br /&gt;I met with the credit officer again and tried to get any feedback on the draft of the deed, but was unsuccessful. I was not able to get any feedback as the still ‘the file has not come to the legal section’. I then tried to go to the SLIC, but unfortunately it was towards the end of the lunch hour at this still not so privatized institution. After meeting with the relevant person, and then getting the medical report verified through the SLIC doctor, they stated that it needs to go through re-insurance as the Total cholesterol/HDL ratio was 0.06 over its regular value, though no other tests indicated any significant risk. Hence I was asked to come again tomorrow.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Loan Day 3 (Tuesday)&lt;br /&gt;&lt;br /&gt;Again I met with the credit officer, and found that still the file had not gone to the legal section, as it was still going through a process where about 6 to 8 people had to approve the loan, all the way up to the chairman! Hence again I went to the SLIC to pay my premium as I was asked to bring this particular policy on the day the loan would be disbursed, by the NSB. However, I find that still SLIC has ‘not made a decision’ on the policy. Then I spoke to a few officers and an AGM of the department, and overheard a conversation at the AGM’s office on how they were going to loose a life insurance to Ceylinco! Getting my own insurance policy last year after considering all leading insurance companies in Sri Lanka, including SLIC, I immediately knew they were playing a loosing battle! I also spoke to the AGM and the other officials on the delay, and said that if the so called ‘Leaders in insurance’ is like this.. what we should expect as customers. I also commented that I should have opted to get this policy from Ceylinco, as at least they would not have made me waste my time like this. Note that Mortgage Protection policies are processed only at the SLIC head office.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;D-Day (Wednesday)&lt;br /&gt;&lt;br /&gt;I went early in the morning to the NSB, and found that my file has still not reached the legal department after 24 business hours! It was around 11am when it finally reached the legal division as the Title insurance information had to be processed and inserted into the file, and only one of the officers out of three were present at the time. Following the file to the legal division, we were able to finally meet the legal officer who was to process our application. At about 11:15am we were called and informed that there was a discrepancy between the second schedule of the deed (which states the right of way) and the Title insurance policy – which has stated that we would have access through all roads shown in the survey plan. However, the latter is incorrect as we had the right of way only through one of the roads shown in the plan which was over 10 years old. But, as the legal officer insisted, we were compelled to insert a single line into the deed so that it matched the (erroneous) title insurance, to avoid a delay in the processing of our loan. We were then asked to come at 2:30pm to sign the deed and the mortgage bond by the legal officer.&lt;br /&gt;&lt;br /&gt;After paying the necessary stamp duty and collecting the insurance policy from the SLIC (finally) we came to the bank again with the Vendor at the stated time. After signing the deed, we were surprised to see that the mortgage bond had been printed erroneously by the NSB legal division, with the wrong amount! Hence to cover up and prevent further delay, we were asked to sign on an empty bond which they would fill-up later and then began the eternal waiting…&lt;br /&gt;&lt;br /&gt;Eternal waiting…&lt;br /&gt;&lt;br /&gt;At 3:15pm I was given a receipt to pay for the legal charges, and the cash counter was about to close by 3:30pm. When I went to the cash counter, the cashier was already in a mood to go home, and was almost closed for the day, and reluctantly started to accept the payment, saying that he had to catch some train… I guess these are normal ‘happenings’ at the ‘still in the government sector’ though we never hear such stories in our private sector places of work.. ever! Then the legal officer asked me to go back to the housing loans section, where they wanted me to get a fresh letter of vacant possession from the vendor, and then I had to pay the Title insurance and Fire insurance premiums. Now the same cashier was in a really bad mood and said that if I wanted to pay, I needed to pay the ‘exact’ amount in cash! But to his surprise I was able to make this amount , and a senior official then came and asked him to process the receipts quickly.. the cashier was still talking about the stupid train… After I produced the receipts again at the loans section, they found out that the Title insurance amount they asked me to pay was Rs. 500/- less than the actual amount, and then I was asked to pay this balance again.. How I wonder how a bank makes mistakes in something like “amounts”!! This is the second time they made such a mistake! Now again I went back to the same cashier at the fourth floor and he was almost on the train by now.. but to my luck, the senior officials were again present, and closing the days balance, and they were very helpful in asking this cashier to process the balance as a late payment fee, which he very reluctantly had to do. Then after producing the receipt again at the loans division at the third floor I was told that everything was ready and that the cheque would be given in the fourth floor by the legal division and for me to go upstairs and wait. The time was around 4:25pm.&lt;br /&gt;&lt;br /&gt;However after some time, since the cheque never arrived, I went back down stairs, and then was asked to which account it should be written.. and then the person typing the cheque took around 12 minutes to type about three lines of text on the computer and print the cheque.. I was about 10 feet from the computer and I could hear them trying to take the cursor keys up and down and delete some of the text they have typed in the wrong place.. !@#$ Then finally after the cheque was printed and signed, it lay again in the tray until someone came to pick it up and take it to the legal division again.. the time was past 4:50pm by now.. and I just saw the credit manager waking by and once he saw me still standing, he came and called for someone to take the cheque upstairs… I went along with the peon to the legal division.. and then after about another 5 minutes the legal officer came and started to apologize to the bank official who was to hand over the cheque stating that there was a delay since ‘we’ did the title deed ourselves!&lt;br /&gt;&lt;br /&gt;Now having proof that the 24 business hour loan didn’t even reach the legal department in 24 business hours, and seeing that the legal division was unable to correctly print about 25 words on a pre-printed mortgage bond correctly in three hours, we wondered how they could have completed and printed a Title deed as well (correctly) and still deliver the loan faster than this?? Then finally the cheque was handed over to the vendor at around 5pm after 301/2 business hours after acceptance of the express loan.&lt;br /&gt;&lt;br /&gt;So can you really get a housing loan in 24 business hours?.. well according to my calculations of 8 working hours per day, you cannot… not even in 4 days!... but my wife was able to correct me through her experience working at a government institution sometime back.. the fact I missed was that on any 8 business hour day at a government or semi-government institution - only 6 are ‘working’ hours  !!...Aha.. now you do your math!&lt;br /&gt;&lt;br /&gt;For a loan of x,x00,000/- with a House worth y,y00,000/- (i.e. a Total of z,x00,000/-) I had to pay the following charges to obtain the housing loan through the (not so) express service. Note that I have left out the loan and purchase amount intentionally ;-)&lt;br /&gt;&lt;br /&gt;Valuation fees 3,980&lt;br /&gt;Inspection fees 550&lt;br /&gt;Title investigation charges 500&lt;br /&gt;Credit information bureau charges 240&lt;br /&gt;Special levy 28,875&lt;br /&gt;Mortgage bond registration fees 1,500&lt;br /&gt;Initial amount payable when handing the loan application 35,600&lt;br /&gt;Title insurance 25,526&lt;br /&gt;Fire insurance 16,323&lt;br /&gt;Legal charges (0.75% of the mortgage amount) ~0.75% of ‘mortgage’ amount&lt;br /&gt;Stamp Duty ~3% of ‘purchase’ price&lt;br /&gt;&lt;br /&gt;Note that I have left out usual legal charges of 1% of the value of property for the Title deed (usually charged by the bank) and all legal and other costs and charges for the preparation of the Title report, Title deed, land registry searches, local government taxes and payments, surveyors fees and lawyers costs etc.&lt;br /&gt;&lt;br /&gt;Also see.&lt;br /&gt;(1) EMI calculations&lt;br /&gt;(2) Tax calculations&lt;br /&gt;(3) Tax benefits and directions with housing loans&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-115319568241951204?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/hd9qbdvweno" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/115319568241951204/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=115319568241951204" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/115319568241951204?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/115319568241951204?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/hd9qbdvweno/how-to-get-loan-in-3-days.html" title="How to get a loan in 3 days?" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2006/07/how-to-get-loan-in-3-days.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEINRX4_eyp7ImA9WBRWFUk.&quot;"><id>tag:blogger.com,1999:blog-12758131.post-111562949052849771</id><published>2005-05-09T15:00:00.000+06:00</published><updated>2005-09-01T08:43:14.043+06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2005-09-01T08:43:14.043+06:00</app:edited><title>My first Blog!</title><content type="html">Hi to all ..&lt;br /&gt;&lt;br /&gt;Just wanted to get to know more about blogging, and what better way to do it than to start my own blog! So I hope to add more and more interesting stuff in here and that people will find my blog interesting to read!&lt;br /&gt;&lt;br /&gt;cheers!&lt;br /&gt;asankha&lt;br /&gt;&lt;br /&gt;For more information about me: check &lt;a href="http://www.geocities.com/asankha"&gt;www.geocities.com/asankha&lt;/a&gt; or &lt;a href="http://www.asankha.com"&gt;www.asankha.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12758131-111562949052849771?l=asankha.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/asankha/~4/ZvJWdBAw-Gw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://asankha.blogspot.com/feeds/111562949052849771/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=12758131&amp;postID=111562949052849771" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/111562949052849771?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/12758131/posts/default/111562949052849771?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/asankha/~3/ZvJWdBAw-Gw/my-first-blog.html" title="My first Blog!" /><author><name>Asankha</name><uri>http://www.blogger.com/profile/05768379677233692797</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_BWBgbZzm_I4/SQyPtCJGH2I/AAAAAAAAACQ/G2cp0lC2jn0/S220/asankha.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://asankha.blogspot.com/2005/05/my-first-blog.html</feedburner:origLink></entry></feed>

