<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-7331549327783293787</atom:id><lastBuildDate>Thu, 26 Mar 2026 20:19:02 +0000</lastBuildDate><category>oracle</category><category>Apache</category><category>java</category><category>songs</category><category>Database</category><category>JDeveloper</category><category>Library</category><category>Linux</category><category>Redirect</category><category>SELinux</category><category>ant</category><category>daylight saving</category><category>div</category><category>effects</category><category>javascript</category><category>maven</category><category>mp3</category><category>music</category><category>pfile</category><category>processes</category><category>select</category><category>sessions</category><category>sinhala</category><category>site studio</category><category>spfile</category><category>sri lanka</category><category>ucm</category><category>visual</category><title>Kishantha Nanayakkara</title><description>A blog of a Sri Lankan</description><link>http://kishantha.blogspot.com/</link><managingEditor>noreply@blogger.com (Kishantha Nanayakkara)</managingEditor><generator>Blogger</generator><openSearch:totalResults>45</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-7144355549747130674</guid><pubDate>Sun, 18 Aug 2013 12:34:00 +0000</pubDate><atom:updated>2013-08-18T05:41:04.919-07:00</atom:updated><title>JAX-WS with Navition Microsoft Gives 401 Unauthorized error in JbossAS 7.1</title><description>&lt;pre&gt;&lt;code&gt; /* your code here */ &lt;/code&gt;&lt;/pre&gt;
</description><link>http://kishantha.blogspot.com/2013/08/jax-ws-with-navition-microsoft-gives.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-4434153993561486273</guid><pubDate>Thu, 20 Sep 2012 07:05:00 +0000</pubDate><atom:updated>2012-09-22T09:09:45.459-07:00</atom:updated><title>Steve Wozniak and Steve Jobs hacked the Telephone Network with their Blue Box. Is it still possible with the existence of SS7</title><description>&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;
Hacking with Blue Box the History&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;
The operation of a blue box is simple: First, the user places a&amp;nbsp;&lt;a class=&quot;mw-redirect&quot; href=&quot;http://en.wikipedia.org/wiki/Long_distance_telephone_call&quot; style=&quot;background-image: none; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Long distance telephone call&quot;&gt;long distance telephone call&lt;/a&gt;, usually to an 800 number or some other non-supervising phone number. For the most part, anything going beyond 50 miles would go over a trunk type susceptible to this technique.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px; margin-bottom: 0.5em; margin-top: 0.4em;&quot;&gt;
When the call starts to ring, the caller uses the blue box to send a&amp;nbsp;&lt;a class=&quot;internal&quot; href=&quot;http://upload.wikimedia.org/wikipedia/commons/c/cd/Tone_2600Hz.ogg&quot; style=&quot;background-image: none; background-position: initial initial; background-repeat: initial initial; color: #0b0080; text-decoration: none;&quot; title=&quot;Tone 2600Hz.ogg&quot;&gt;2600 Hz&lt;/a&gt;&amp;nbsp;tone (or 2600+2400&amp;nbsp;Hz on many international trunks followed by a 2400&amp;nbsp;Hz tone). The 2600&amp;nbsp;Hz is a supervisory signal, because it indicates the status of a trunk; on hook (tone) or off-hook (no tone). By playing this tone, you are convincing the far end of the connection that you&#39;ve hung up and it should wait. When the tone stops, the trunk will go off-hook and on-hook (known as a&amp;nbsp;&lt;i&gt;supervision flash&lt;/i&gt;), making a &quot;Ka-Cheep&quot; noise, followed by silence. This is the far end of the connection signalling to the near end that it is now waiting for routing digits.&lt;/div&gt;
&lt;span style=&quot;background-color: white; font-family: sans-serif; font-size: 13px; line-height: 19.200000762939453px;&quot;&gt;Once the far end sends the supervision flash, the user would use the blue box to dial a &quot;Key Pulse&quot; or &quot;KP&quot;, the tone that starts a routing digit sequence, followed by either a telephone number or one of the numerous special codes that were used internally by the telephone company, then finished up with a &quot;Start&quot; or &quot;ST&quot; tone. At this point, the far end of the connection would route the call the way you told it, while the users end would think you were still ringing at the original number. KP1 is generally used for domestic dialing where KP2 would be for international calls.&lt;/span&gt;&amp;nbsp;(&lt;a href=&quot;http://en.wikipedia.org/wiki/Blue_box&quot;&gt;wikipedia&lt;/a&gt;).&amp;nbsp;&lt;a href=&quot;http://www.tomshardware.com/reviews/fifteen-greatest-hacking-exploits,1790-8.html&quot; style=&quot;font-family: Verdana, Tahoma, &#39;Nimbus Sans L&#39;, arial, sans-serif; font-size: 11px; font-weight: bold;&quot;&gt;The Fifteen Greatest Hacking Exploits&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;SCCP hacking, attacking the SS7 and SIGTRAN applications

&lt;iframe allowfullscreen=&quot;allowfullscreen&quot; frameborder=&quot;0&quot; height=&quot;315&quot; src=&quot;http://www.youtube.com/embed/yK19yXYlFOY&quot; width=&quot;420&quot;&gt;&lt;/iframe&gt;
&lt;br /&gt;
&lt;br /&gt;
Reference:&lt;br /&gt;
&lt;a href=&quot;http://www.newagepublishers.com/samplechapter/000969.pdf&quot;&gt;Introduction to Switching systems&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.ncl.ac.uk/computing/research/seminars/pdfs/chapters/339.pdf&quot;&gt;Stored Program Controlled (SPC) Telephone Exchanges&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.mobicents.org/ss7/docs/ss7/1.0.0.CR1/en-US/pdf/Mobicents_SS7Stack_User_Guide.pdf&quot;&gt;Mobicents SS7 Stack&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://whitelassiblog.wordpress.com/2010/09/05/telecommunications-for-dummies-telecom-basics-and-introduction-to-bss/&quot;&gt;Introduction to BSS (Business Support Subsystem)&lt;/a&gt;</description><link>http://kishantha.blogspot.com/2012/09/steve-wozniak-and-steve-jobs-hacked.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/yK19yXYlFOY/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-5558159076173174504</guid><pubDate>Fri, 07 Sep 2012 12:32:00 +0000</pubDate><atom:updated>2012-09-08T01:48:27.963-07:00</atom:updated><title>Architecture Lessons by Ingo Rammer</title><description>#1 - Don&#39;t follow others!&lt;br /&gt;
#2 - People affect architecture&lt;br /&gt;
#3 - Good for me or for the project&lt;br /&gt;
#4 - Research vs. Development&lt;br /&gt;
#5 - Be wary of The Second System&lt;br /&gt;
#6 - Some things need to be discussed, others need to be done&lt;br /&gt;
#7 - Build what people pay you to build&lt;br /&gt;
#8 - Always observe problem complexity vs. solution complexity&lt;br /&gt;
#9 - Make it simpler. If the solution appear too complex, it quite likely is&lt;br /&gt;
#10 - Most of us don&#39;t need Ebay/Amazon/Google/Bing Scale&lt;br /&gt;
#11 - Code is written to be read&lt;br /&gt;
#12 - Don&#39;t think about solutions before understanding the problem&lt;br /&gt;
#13 - When in doubt, pick the technology you know&lt;br /&gt;
#14 - There is no silver bullet&lt;br /&gt;
#15 - There is no good idea which can&#39;t be used in a totally wrong way&lt;br /&gt;
#16 - Shipping is a feature!&lt;br /&gt;
&lt;br /&gt;
&lt;object width=&quot;320&quot; height=&quot;265&quot; type=&quot;application/x-shockwave-flash&quot; data=&quot;http://d1snlc0orfrhj.cloudfront.net/static/flash/svmplayer.swf&quot; id=&quot;player&quot; style=&quot;visibility: visible;&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;opaque&quot;&gt;&lt;param name=&quot;flashvars&quot; value=&quot;server=rtmpe://video.infoq.com/cfx/st/&amp;amp;streams=mp4:presentations/12-may-15lessonsfrom15years.mp4,0&quot;&gt;&lt;/object&gt;
&lt;br /&gt;
See the presentation here.&amp;nbsp;&lt;a href=&quot;http://www.infoq.com/presentations/15-lessons-architecture&quot;&gt;http://www.infoq.com/presentations/15-lessons-architecture&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://kishantha.blogspot.com/2012/09/architecture-lessons-by-ingo-rammer.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-4984712485523838471</guid><pubDate>Sat, 18 Aug 2012 10:31:00 +0000</pubDate><atom:updated>2012-08-18T03:33:23.345-07:00</atom:updated><title>Web Performance Pixie Dust</title><description>&lt;span style=&quot;background-color: white; font-family: Helvetica, arial, verdana; font-size: 14px; line-height: 20px;&quot;&gt;This is one nice article I read about Web Performance. Summery of the article is as below.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Helvetica, arial, verdana; font-size: 14px; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Helvetica, arial, verdana; font-size: 14px; line-height: 20px;&quot;&gt;Web Performance must become a priority from Top to Bottom, and vice versa. Performance monitoring is a&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://blog.catchpoint.com/2010/10/20/performanceajourney/&quot; style=&quot;background-color: white; border: 0px; color: #20328e; font-family: inherit; font-size: 14px; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;&quot;&gt;journey, not a destination&lt;/a&gt;&lt;span style=&quot;background-color: white; font-family: Helvetica, arial, verdana; font-size: 14px; line-height: 20px;&quot;&gt;, similar to continuous build and agile dev! Yes it’s about great user&amp;nbsp;experience, but&amp;nbsp;ultimately&amp;nbsp;it’s about the bottom line! (&lt;/span&gt;&lt;a href=&quot;http://blog.catchpoint.com/2010/09/30/performance-is-the-silent-killer-to-an-online-brand/&quot; style=&quot;background-color: white; border: 0px; color: #20328e; font-family: inherit; font-size: 14px; line-height: 20px; margin: 0px; outline: 0px; padding: 0px; text-decoration: none; vertical-align: baseline;&quot;&gt;Slow Performance is the Silent Killer, the New Downtime&lt;/a&gt;&lt;span style=&quot;background-color: white; font-family: Helvetica, arial, verdana; font-size: 14px; line-height: 20px;&quot;&gt;&amp;nbsp;- 2010!)&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: white; border: 0px; font-family: Helvetica, arial, verdana; font-size: 14px; line-height: 20px; margin-bottom: 1.2em; margin-top: 0.6em; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;Items which can impact performance:&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;background-color: white; border: 0px; font-family: Helvetica, arial, verdana; font-size: 14px; line-height: 20px; margin: 15px 0px 15px 20px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Datacenter(s): Location, Location Location!&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Network(s), Latency &amp;amp; Geography&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Hardware (servers, load balancers, network…)&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DNS&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CDN &amp;amp; CDN Configuration (just caught 2 cdns one using http 1.0 Close Connection and the other not compressing)&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Proper Capacity Planning&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Application (web, databases, frameworks…)&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Code&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;3rd Parties&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Smart and efficient use of Hardware&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Engineers + Ops working in sync&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Web Performance Team (EVEN if it’s one person)&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;NOC or Site Reliability guys, the Watchdogs&lt;/li&gt;
&lt;li style=&quot;border: 0px; font-family: inherit; margin: 0px 0px 10px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Finally, the “Executive Team” that&#39;s making sure all of the above elements are receiving the proper resources and support, with the ultimate goal of getting your company headed towards a great user experience and level of performance&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Helvetica, arial, verdana;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 20px;&quot;&gt;Read the whole article:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Helvetica, arial, verdana;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 20px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;http://architects.dzone.com/articles/there-no-such-thing-web&quot;&gt;http://architects.dzone.com/articles/there-no-such-thing-web&lt;/a&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</description><link>http://kishantha.blogspot.com/2012/08/web-performance-pixie-dust.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-185895056649034417</guid><pubDate>Sun, 20 May 2012 10:58:00 +0000</pubDate><atom:updated>2012-06-16T02:29:22.413-07:00</atom:updated><title>Sharepoint Alfresco and Liferay</title><description>Liferay, Sharepoint and Alfresco are considered as Enterprise Content Management Systems or ECMs which in essence support Document Management,
Web Content Management, Workflow, Enterprise Collaboration, Advanced Search and Administration. However Liferay is in contrast more powerful on its Extensibility
and Integration points while others are more forcused towards content collaboration. By integrating Liferay with Sharepoint or Alfresco an enterprise can create a mature editorial process management solution with advance visual content presentation capabilities. Liferay from version 6.1 support this idea by introducing the Content Management Interoperability Services or CMIS interface and&amp;nbsp;OAuth and Open Social&amp;nbsp;Portlet.&lt;br /&gt;
&lt;br /&gt;
For example the enterprise product catalogs, Articles, Newsletters and Video etc. content authoring and&amp;nbsp;collaboration&amp;nbsp;can be done through Sharepoint/Alfresco while web presentation is done through Liferay.&lt;br /&gt;
&lt;br /&gt;
Hippo CMS and Nuxeo ECM are the other content management systems which can be integrated with Liferay. Hippo uses JSR-286 &amp;nbsp;Web Services Remort Portlet WSRP feature to integrate with Liferay while Nuxeo uses CMIS and OpenSocial for the integration. The reference section has links for Liferay Blog posts which explains on how to integrate Twitter Gadjet to a users private page using OAuth and Open Social and how to integrate Alfresco in Liferay using CMIS.&lt;br /&gt;
&lt;br /&gt;
References:
&lt;br /&gt;
&lt;a href=&quot;http://www.cmswire.com/cms/information-management/liferays-enterprise-portal-61-supports-cmis-integrates-enterprise-cms-document-repositories-011687.php&quot;&gt;Liferay&#39;s Enterprise Portal 6.1 Supports CMIS, Integrates Enterprise CMS Document Repositories&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://open-tube.com/open-source-alternatives-to-microsoft-sharepoint/&quot;&gt;Open Source Alternatives To Microsoft SharePoint&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.emforge.net/web/akakunin/blogs/-/blogs/264593;jsessionid=BF40FB48623A39383303D53BC26D304A&quot;&gt;Liferay + CMIS: do not expect too much&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Content_Management_Interoperability_Services&quot;&gt;Content Management Interoperability Services&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.liferay.com/community/wiki/-/wiki/1071674/CMIS+Repository&quot;&gt;Liferay CMIS Repository - Wiki&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.liferay.com/documentation/liferay-portal/6.1/user-guide/-/ai/sharepoint&quot;&gt;Liferay Sharepoint - User Guide &lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.liferay.com/web/dennis.ju/blog/-/blogs/6979953&quot;&gt;Integrating Twitter Gadget in Liferay&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.liferay.com/zh/web/jonas.yuan/blog/-/blogs/7344323&quot;&gt;Integrating Alfresco 3.4 in Liferay 6.1 via CMIS 1.0&lt;/a&gt;</description><link>http://kishantha.blogspot.com/2012/05/sharepoint-alfresco-and-liferay.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-2388075325993331568</guid><pubDate>Tue, 26 Jul 2011 12:26:00 +0000</pubDate><atom:updated>2011-07-26T05:26:43.130-07:00</atom:updated><title>Tibbr and the other dimentions of social networking</title><description>Tibber is a commercial social networking and collaboration product which according to the Head of Enginnering and Product Management division Shriram Chakraborthi its a ground breaking technology that unifies social and communication in real time where everything is available as a wall post. Some of the existing feature of Tibbr are.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdAFcGzTYkHNS-yNnzjHxWfE4DzkCmZDIe7B18rEr7JaimAJ9C8whIRVcJS78SoftVc_DyahrnyQ-ZWzThheDXL_5YEyt1-yKCQh3L68KFgtHgh3rse0hToSeZvdKUzi6tMrgE-92WRbUn/s1600/tibbr.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;165&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdAFcGzTYkHNS-yNnzjHxWfE4DzkCmZDIe7B18rEr7JaimAJ9C8whIRVcJS78SoftVc_DyahrnyQ-ZWzThheDXL_5YEyt1-yKCQh3L68KFgtHgh3rse0hToSeZvdKUzi6tMrgE-92WRbUn/s320/tibbr.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Tibbr allows people to follow not only people but also Subjects, Systems, Processes, Governance. This means people can watch activity streams of systems. System can be a Point of Sales POS Terminal or an assembly line. Just imagine how important this would be for a line manager to have this information cumming onto his wall. Not only that Tibbr can be inegrated with lagacy systems like Oracle ERP products. For example it can be integrated with Oracle Expenses which shows different expenses the subordinates has done and expects the approval from the Manager. Once this kind of wall post is clicked Tibbr will bring up the necessary interface of the legacy system which is the Oracle Expece Approval form in this case so that the&amp;nbsp; manager can do the approval staying inside Tibbr.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tibcast of Tibbr allow a person to initiate a conference call or a presentation session. The initiator can select the presenter and once done Tibcast will show the webcam outputs of each memeber plus the desktop of the presenter which is screen shared. The edge of this feature is if the iniitator selected a person who is offline at&lt;br /&gt;
the time of the conference he will get a recorded version of the conference as a screecast which will be poped on his wall.&lt;br /&gt;
&lt;br /&gt;
The voice memmo feature of Tibbr allows people to record somthing using the Tibbr smart phone app and post it to the Tibbr wall. &lt;br /&gt;
&lt;br /&gt;
Tibbr also has widgets created to show activity streams which can be hooked into a CMS. These widgets are context aware which is it will filter out activities and show activities related to the page which the widget is sitting on.&lt;br /&gt;
&lt;br /&gt;
It also has got this feature called&amp;nbsp; Tibbr communities. Just like Google+ Circles it allows to broadcast messages only to the interested community. This is like managing multiple social networks from a single location which manages Access, Policies and Authentications all at once.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;</description><link>http://kishantha.blogspot.com/2011/07/tibbr-and-other-dimentions-of-social.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdAFcGzTYkHNS-yNnzjHxWfE4DzkCmZDIe7B18rEr7JaimAJ9C8whIRVcJS78SoftVc_DyahrnyQ-ZWzThheDXL_5YEyt1-yKCQh3L68KFgtHgh3rse0hToSeZvdKUzi6tMrgE-92WRbUn/s72-c/tibbr.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-5787897143651517205</guid><pubDate>Mon, 02 May 2011 11:11:00 +0000</pubDate><atom:updated>2011-05-02T04:11:38.349-07:00</atom:updated><title>Extending javascript functions</title><description>Method 1/&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;kwd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Animal&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;name &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Animal&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;prototype&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;talk &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(){&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; console&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;log&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;My name is &quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; a &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Animal&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;Brendan Eich&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
a&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;talk&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; json &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&#39;{name: &quot;Tim Berners-Lee&quot;}&#39;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; b &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;eval&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
$&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;extend&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;b&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Animal&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;prototype&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
b&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;talk&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
Method 2/&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;com&quot;&gt;// declare function foo&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; foo &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; alert&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;a&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;};&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// modify function foo&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
foo &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot;&gt;Function&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;a&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; foo&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;toSource&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;alert(a)&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;alert(&#39;function modified - &#39; + a)&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;/^function[^{]+{/&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// remove everything up to and including the first curly bracket&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;/}[^}]*$/&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;// remove last curly bracket and everything after&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pun&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;b&gt;Method 3/&lt;/b&gt;&lt;/pre&gt;&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pun&quot;&gt;function m1(){&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pun&quot;&gt;  alert(&#39;Initial function&#39;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;default prettyprint&quot;&gt;&lt;code&gt;&lt;span class=&quot;pun&quot;&gt;} &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;pre class=&quot;default prettyprint&quot;&gt;webBrowse1.Navigate(&lt;span style=&quot;color: #a31515;&quot;&gt;@&quot;javascript:m1=new function(alert(&#39;Replace after.&#39;))&quot;&lt;/span&gt;);
&lt;code&gt;&lt;span class=&quot;pun&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;</description><link>http://kishantha.blogspot.com/2011/05/extending-javascript-functions.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-8669575866537030313</guid><pubDate>Wed, 09 Mar 2011 10:30:00 +0000</pubDate><atom:updated>2012-09-04T02:15:48.292-07:00</atom:updated><title>Useful Linux commands</title><description>Descriptive processes list: &lt;br /&gt;
ps -aef -o pcpu= -o pid= -o time= -o vsz= -o user= -o args=&lt;br /&gt;
&lt;br /&gt;
Ping broadcast:&lt;br /&gt;
&lt;br /&gt;
ping -b [a].[b].[c].255 &lt;br /&gt;
&lt;br /&gt;
nmap -sP 192.168.0.0/24 or nmap -sP 198.162.0.*&lt;br /&gt;
&lt;br /&gt;
arp list&lt;br /&gt;
arp -a&lt;br /&gt;
&lt;br /&gt;
tcp dump:&lt;br /&gt;
sudo tcpdump -i en0&lt;br /&gt;
&lt;br /&gt;
Linux version:&lt;br /&gt;
uname -a or cat /proc/version&lt;br /&gt;
&lt;br /&gt;
Software RAID:&lt;br /&gt;
cat /proc/mdstat&lt;br /&gt;
&lt;br /&gt;
CPU Information:&lt;br /&gt;
less /proc/cpuinfo&lt;br /&gt;
&lt;br /&gt;
copy file without rsync scp or ftp&lt;br /&gt;
netcat listen on port 1212 (&amp;gt; 1024 if not root) waiting for files&lt;br /&gt;
nc -l 1212 | gunzip -c | tar xvfp -&lt;br /&gt;
send files from source&lt;br /&gt;
tar cfp - /home/myuser/mydir | gzip -c | nc -w 10 destination_ip 1212&lt;br /&gt;
&lt;br /&gt;
Linux Performance Monitoring: htop, dstat, bmon, iftop, ifstat, sysstat&lt;br /&gt;
http://server.dzone.com/articles/6-command-line-tools-linux&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; font-size: 14px; line-height: 18px;&quot;&gt;List open files and associated by process IDs&lt;/span&gt;
&lt;br /&gt;
lsof -p 6714 | grep REG</description><link>http://kishantha.blogspot.com/2011/03/useful-linux-commands.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-7316473318629873305</guid><pubDate>Thu, 23 Dec 2010 11:23:00 +0000</pubDate><atom:updated>2011-02-09T03:14:36.196-08:00</atom:updated><title>Accents becoming garbage on form submits and Character Encoding</title><description>How non-ASCII data like Accents and Apostrophes gets displayed in HTML, retrieving such data through form fields and how data gets stored in the database with correct format is handled in few place. The trick is, in all these places the encoding format should be the same, which is typically UTF-8.&lt;br /&gt;
&lt;br /&gt;
Following are the locations where encoding format is defined and how its done.&lt;br /&gt;
&lt;br /&gt;
Page content format:&lt;br /&gt;
Set the HTML file&#39;s character encoding format through HTTP headers or meta tags. &lt;br /&gt;
Eg: &amp;lt; meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=iso-8859-1&quot; /&amp;gt; &amp;nbsp;                               &lt;br /&gt;
If this is not set browsers assume&amp;nbsp; ISO-8859-1 to be the default character encoding format. &lt;br /&gt;
&lt;br /&gt;
Form submits: &lt;br /&gt;
GET and POST request parameter are also encoded according to the page encoding format.&lt;br /&gt;
This can be overridden by &lt;code&gt;using the accept-charset&lt;/code&gt;=&quot;UTF-8&quot; attribute in the form tag.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server Request Parameters:&lt;br /&gt;
In Servelts, JSPs and Portlets, request paramter encoding format can be set by the following statement.&lt;br /&gt;
request.setCharacterEncoding(&quot;UTF-8&quot;);&lt;br /&gt;
If this is not set the web servers assumes the default format as ISO-8859-1.&lt;br /&gt;
To make the things more generic, the encoding format can be set&lt;br /&gt;
in doFilter method of a Servlet Filter. &lt;br /&gt;
&lt;br /&gt;
public void doFilter(ServletRequest request, ServletResponse response,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FilterChain chain)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; throws IOException, ServletException {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (request.getCharacterEncoding() == null) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String encoding = &quot;UTF-8&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (encoding != null)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; request.setCharacterEncoding(encoding);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
chain.doFilter(request, response);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
//do it again, since JSPs will set it to the default&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  if (encoding != null)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; request.setCharacterEncoding(encoding); &lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
One tricky point is if the form encryption type is &quot;multipart/form-data&quot; then each value should be&lt;br /&gt;
read by specifying the encoding type like below.&lt;br /&gt;
&lt;br /&gt;
FileItem item = (FileItem) iter.next();&lt;br /&gt;
if (item.isFormField())&lt;br /&gt;
value = item.getString(&quot;UTF-8&quot;).trim();&lt;br /&gt;
&lt;br /&gt;
The final point the data encoding format should be handled is the Database it self. This should be&lt;br /&gt;
set at the time the database is created. If this format is changed after creating the database, existing&lt;br /&gt;
data will be corrupted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reference : &lt;a href=&quot;http://java.sun.com/developer/technicalArticles/Intl/HTTPCharset/&quot;&gt;http://java.sun.com/developer/technicalArticles/Intl/HTTPCharset/&lt;/a&gt;</description><link>http://kishantha.blogspot.com/2010/12/accents-becoming-garbage-on-form.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-5811778324736703938</guid><pubDate>Fri, 10 Dec 2010 09:21:00 +0000</pubDate><atom:updated>2010-12-10T01:26:46.194-08:00</atom:updated><title>Oracle License</title><description>Oracle’s technology products are licensed using two metrics: Named User Plus (NUP) or  Processor.&lt;br /&gt;
&lt;br /&gt;
Named User Plus Metric:&lt;br /&gt;
This metric is used in environments where users can be identified and counted.  Named User Plus includes both humans and non-human operated devices. A licensed Named User Plus may access the program on any instances where it is  deployed, provided that the minimum on each server is met.&lt;br /&gt;
Named User Plus minimum is 25 Named Users Plus per Processor. Total number of Named User Plus Licenses required are&amp;nbsp; either Named User Plus for total processors or Total number of Named Users which ever is greater.&lt;br /&gt;
&lt;br /&gt;
Processor Metric:&lt;br /&gt;
This metric is mostly used in environments where the software users cannot be  easily identified or counted, such as internet-based applications.&lt;br /&gt;
&lt;span style=&quot;font-family: Arial; font-size: x-small;&quot;&gt;&lt;b&gt;Total Number of Licensable Processors = &lt;/b&gt;&lt;/span&gt;(number of processors) *(number of cores)*(multi-core factor)&lt;br /&gt;
&lt;br /&gt;
Multi-core factor is:&lt;br /&gt;
0.25 for SUN&#39;s UltraSparc T1 processors&lt;br /&gt;
0.50 for Intel and AMD processors&lt;br /&gt;
0.75 for all other multi-core processors&lt;br /&gt;
1.00 for single-core processors&lt;br /&gt;
&lt;br /&gt;
Useful commands to check the server configurations:&lt;br /&gt;
Number of CPUs and Cores =&amp;gt; grep -i core /proc/cpuinfo&lt;br /&gt;
processor model and all other info =&amp;gt; cat /proc/cpuinfo&lt;br /&gt;
Linux Version =&amp;gt; cat /proc/version</description><link>http://kishantha.blogspot.com/2010/12/oracle-license.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-6979662680024398669</guid><pubDate>Sun, 29 Aug 2010 08:41:00 +0000</pubDate><atom:updated>2010-08-29T08:47:33.890-07:00</atom:updated><title>ProxyRequests and ProxyPass in Apache</title><description>Apache can do both &lt;dfn&gt;forward&lt;/dfn&gt; proxying and &lt;dfn&gt;reverse&lt;/dfn&gt;  proxying.&lt;br /&gt;
&lt;br /&gt;
&lt;dfn&gt;forward&lt;/dfn&gt; proxying-&lt;br /&gt;
Acting as a tunnel to the internet. Users has to configure there application software (Eg. Internet Brower)&amp;nbsp; by adding the IP of the proxy server in order to access Internet.To activate forward proxying in Appache need to add the following configuration in httpd.conf file.&lt;br /&gt;
&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;ProxyRequests On&lt;/pre&gt;When accessed through a proxy the ip of the user is not visible so users can do unauthorised activities by hiding himself. Because of this the administrator should secure the server and allow access only to authorised users.&lt;br /&gt;
&lt;br /&gt;
&lt;dfn&gt;Reverse&lt;/dfn&gt; proxying-&lt;br /&gt;
Acting as a web server to third party content. The server will grab content from&lt;br /&gt;
a third party server and send to the user as if the server it self is generating the content.To activate reverse proxying in Appache need to add the following configuration.&lt;br /&gt;
&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;ProxyRequests Off #Not necessary however.
ProxyPass /path-to-content http://some-other-server.domain&lt;/pre&gt;There is however one glitch here. The browser headers will hold the original server&lt;br /&gt;
details plus the relative links in the provided content will link directly to the&lt;br /&gt;
original site. To avoid this need to add another configuration ProxyPassReverse &lt;br /&gt;
as below.&lt;br /&gt;
&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;&lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;ProxyPass /path-to-content http://some-other-server.domain
ProxyPassReverse /path-to-content http://some-other-server.domain&amp;nbsp;&lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;&lt;/pre&gt;&lt;br /&gt;
Serving sub directory content by the server it self-&lt;br /&gt;
Any sub directory of a directory path can be configured to serve contents of itself rather than serving content from the same third party server.To do this use the exclamation mark in front of the directory which needs to be blocked and serve own content.&lt;br /&gt;
&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;ProxyPass /path-to-content/sub-directory !
ProxyPass /path-to-content http://some-other-server.domain
ProxyPassReverse /path-to-content http://some-other-server.domain&amp;nbsp;&lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;References:&lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;&lt;a href=&quot;http://helpful.knobs-dials.com/index.php/Apache_URL_rewriting&quot;&gt;http://helpful.knobs-dials.com/index.php/Apache_URL_rewriting&lt;/a&gt; &lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;&lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;&lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;&lt;/pre&gt;&lt;pre hasbox=&quot;2&quot; itxtvisited=&quot;1&quot;&gt;&lt;/pre&gt;</description><link>http://kishantha.blogspot.com/2010/08/proxyrequests-and-proxypass-in-apache.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-6939136390480747734</guid><pubDate>Sun, 04 Jul 2010 15:36:00 +0000</pubDate><atom:updated>2010-09-14T22:25:06.432-07:00</atom:updated><title>Enterprise application integration the begining</title><description>The story goes back to the year 1985. It all started in one persons mind and his name is &lt;a href=&quot;http://en.wikipedia.org/wiki/Vivek_Ranadive&quot;&gt;Vivek Ranadive&lt;/a&gt; an Electrical Engineer and an entrepreneur. He was trained as a Hardware Engineer in MIT &lt;a href=&quot;http://en.wikipedia.org/wiki/Massachusetts_Institute_of_Technology&quot;&gt;Massachusetts Institute of Technology &lt;/a&gt;and that made him to think about creating a so called &quot;software bus&quot; which allows various softwares to plug in and communicate through a single interface just like the computer hardware bus and interface cards do. He applied this theory on one of the projects which was undertaken by his company &lt;a href=&quot;http://en.wikipedia.org/wiki/TIBCO_Software&quot;&gt;Teknekron&lt;/a&gt; and that project was to automate a stock market trading floor of &quot;The Goldman Sachs Group, Inc.&quot;. His project became successful so is his idea the &quot;Information Bus&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Today we have several acronyms having this same meaning.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.blogger.com/wiki/Enterprise_application_integration&quot; title=&quot;Enterprise application integration&quot;&gt;EAI - Enterprise application integration&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a class=&quot;mw-redirect&quot; href=&quot;http://www.blogger.com/wiki/Business_Process_Management&quot; title=&quot;Business Process Management&quot;&gt;BPM - Business Process Management&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.blogger.com/wiki/Enterprise_service_bus&quot; title=&quot;Enterprise service bus&quot;&gt;EBS - Enterprise service bus&lt;/a&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;Or putting them altogether today we call&amp;nbsp; &lt;a href=&quot;http://en.wikipedia.org/wiki/Service-oriented_architecture&quot;&gt;SOA - Service Oriented Architecture&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.milleniumit.com/&quot;&gt;MillenniumIT&lt;/a&gt; is a leading technology solutions provider in Sri Lanka who now claims to have developed the fastest trading system in the world which is based on a messaging middle ware or information bus built in house. It handles trades in 130 microseconds, compared with 250 microseconds on Nasdaq OMX, which had claimed to be the fastest based on commercial application. MillenniumIT system said to be handling up to 1m messages per second, compared with 20,000 available on TradElect another platform. Chi-X Europe operates a system capable of handling 225,000 messages per second. &lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.tibco.com/&quot;&gt;TIBCO&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.alumni.hbs.edu/bulletin/2000/december/profile.html&quot;&gt;Driving the information bus&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.hussulinux.com/2008/12/webmethods-vs-tibco-10-differences/&quot;&gt;WebMethods Vs TIBCO&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.readwriteweb.com/archives/where_is_the_real_time_web_message_bus.php&quot;&gt;Where Is the Real-Time Web Message Bus&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.netscout.com/solutions/ind_investment_services.asp&quot;&gt;NETSCOUT - Enterprise - Financial Services&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.milleniumit.com/about/index.php&quot;&gt;About MillenniumIT&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.javalobby.org/articles/distributed-jms/&quot;&gt;Distributed-JMS&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.infoq.com/articles/jms-spring-messaging-interop#view_4986&quot;&gt;JMS and Spring&lt;/a&gt;</description><link>http://kishantha.blogspot.com/2010/07/enterprise-application-integration.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-4526698957653163016</guid><pubDate>Sun, 06 Jun 2010 11:21:00 +0000</pubDate><atom:updated>2010-06-06T04:32:01.063-07:00</atom:updated><title>Nokia X3 and Fring</title><description>&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaqmKxJQphMhGNJfXLPrxpanTJrDW_aFgDQDc0NPzXScgeS0WrZkCnvb4x8ZodHHD3Zj0bY9hfs-ULBKOhg8EZapLoxI4JIqPMJyEhjSqHdjOXN3tuGqJR9KylIwNiDwKi9POL70LJMcMM/s1600/Nokia-X3-150x150.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; gu=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaqmKxJQphMhGNJfXLPrxpanTJrDW_aFgDQDc0NPzXScgeS0WrZkCnvb4x8ZodHHD3Zj0bY9hfs-ULBKOhg8EZapLoxI4JIqPMJyEhjSqHdjOXN3tuGqJR9KylIwNiDwKi9POL70LJMcMM/s320/Nokia-X3-150x150.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I got my new Nokia X3 and was trying to setup Fring. Fring gets your favourite messenger software in your mobile. It supports Skype, Yahoo, GTalk, Twitter, MSN Live, ICQ etc. Fring version which supports X3 is a Java/j2ME application and to make it access the network a preferred access point should be setup in the mobile. If this is not done the preferred access points list is empty and the application will throw a connection Error.&lt;br /&gt;
&lt;br /&gt;
This is how to add a preferred access point. Goto Menu -&amp;gt; Settings &amp;gt;Configuration settings -&#39;&amp;gt; Personal Configuration settings. Then select Options-&amp;gt; Add new -&amp;gt;Access Point. You can keep the default Account Name and Access point settings. That’s it and now you can start using Fring.&lt;br /&gt;
Check fring @ &lt;a href=&quot;http://www.fring.com/default.php&quot;&gt;http://www.fring.com/default.php&lt;/a&gt;</description><link>http://kishantha.blogspot.com/2010/06/nokia-x3-and-fring.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaqmKxJQphMhGNJfXLPrxpanTJrDW_aFgDQDc0NPzXScgeS0WrZkCnvb4x8ZodHHD3Zj0bY9hfs-ULBKOhg8EZapLoxI4JIqPMJyEhjSqHdjOXN3tuGqJR9KylIwNiDwKi9POL70LJMcMM/s72-c/Nokia-X3-150x150.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-4912028151090811638</guid><pubDate>Wed, 31 Mar 2010 11:20:00 +0000</pubDate><atom:updated>2010-11-30T22:09:31.423-08:00</atom:updated><title>Oracle Enterprise Manager Console  – Password Expired</title><description>Today I got the following message while trying to access the oracle enterprise console.&lt;br /&gt;
Failed to connect to database instance: ORA-28001: the password  has expired (DBD ERROR: OCISessionBegin).&lt;br /&gt;
The log was draining the following errors.&lt;br /&gt;
&lt;br /&gt;
[ApplicationServerThread-5] ERROR eml.OMSHandshake processFailure.806 - OMSHandshake failed. &lt;br /&gt;
java.sql.SQLException: ORA-28001: the password has expired&lt;br /&gt;
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)&lt;br /&gt;
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)&lt;br /&gt;
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)&lt;br /&gt;
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)&lt;br /&gt;
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:792)&lt;br /&gt;
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:365)&lt;br /&gt;
at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:519) &lt;br /&gt;
&lt;br /&gt;
To fix the issue&lt;br /&gt;
================&lt;br /&gt;
* Stop enterprise manager -&amp;gt; emctl stop dbconsole&lt;br /&gt;
* login to sqlplus as sysdba -&amp;gt; sqlplus &quot;/as sysdba&quot;&lt;br /&gt;
* reset sysman password -&amp;gt; &lt;b&gt;alter user sysman identified by &amp;lt;the  new password&amp;gt; ;&lt;/b&gt;&lt;br /&gt;
* reset dbsnmp password -&amp;gt; &lt;b&gt;alter user dbsnmp identified by &amp;lt;the  new password&amp;gt; ;&lt;/b&gt;&lt;br /&gt;
* find the emoms.properties file -&amp;gt; find &amp;lt;ORACLE_HOME&amp;gt;  -name emoms.properties&lt;br /&gt;
* select the emoms.properties file in  ORACLE_HOME/HOST_SID/sysman/config &lt;br /&gt;
* Change sysman password in emos.properties -&amp;gt;  &lt;b&gt;oracle.sysman.eml.mntr.emdRepPwd=New Password&lt;/b&gt;&lt;br /&gt;
* Change encrypted to false in emos.properties -&amp;gt; &lt;b&gt;oracle.sysman.eml.mntr.emdRepPwdEncrypted=FALSE&lt;/b&gt;  &lt;br /&gt;
* Find the targets.xml file in ORACLE_HOME/HOST_SID/sysman/emd  &lt;br /&gt;
* Change dbsnmp password in targets.xml and set encrypted to FALSE -&amp;gt; &amp;lt;Property  NAME=”password” VALUE=”&amp;lt;New Password&amp;gt;”  ENCRYPTED=”FALSE”/&amp;gt;&lt;br /&gt;
* Restart the enterprise console -&amp;gt; emsctl start dbconsole&lt;br /&gt;
&lt;br /&gt;
Oracle 11g sets password expiry by default. This is the reason behind getting the password expiry messages.&lt;br /&gt;
To stop this happening in the future do the following.&lt;br /&gt;
* Login to sqlplus as sysdba -&amp;gt; sqlplus &quot;/as sysdba&quot;&lt;br /&gt;
* Execute  -&amp;gt;ALTER PROFILE DEFAULT LIMIT   FAILED_LOGIN_ATTEMPTS UNLIMITED   PASSWORD_LIFE_TIME UNLIMITED;&lt;br /&gt;
&lt;br /&gt;
Steps to reconfigure the DB Control in case of a host name change etc.&lt;br /&gt;
===============================================&lt;br /&gt;
set oracle_sid=YourInstanceName&lt;br /&gt;
emctl stop dbconsole&lt;br /&gt;
emca -deconfig dbcontrol db&lt;br /&gt;
emca -repos recreate&lt;br /&gt;
emca -config dbcontrol db&lt;br /&gt;
emca -reconfig ports -DBCONTROL_HTTP_PORT 80 (This port change is optional)&lt;br /&gt;
&lt;br /&gt;
References - http://www.eggwater.co.uk/wordpress/?p=4</description><link>http://kishantha.blogspot.com/2010/03/oracle-enterprise-manager-console.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>16</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-5150660623082031471</guid><pubDate>Thu, 04 Mar 2010 13:16:00 +0000</pubDate><atom:updated>2010-03-05T00:27:36.607-08:00</atom:updated><title>Fixing JAXB LinkageError in JBoss with JDK 1.6</title><description>Struggled a bit to sort out the following issue which popped while trying to deploy a web service in Jboss booted with JDK 1.6&lt;br /&gt;&lt;br /&gt;java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/liferay_portal/jboss-tomcat-4.2.3/server/default/tmp/deploy/tmp3673jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See &lt;a href=&quot;http://java.sun.com/j2se/1.5.0/docs/guide/standards/&quot;&gt;http://java.sun.com/j2se/1.5.0/docs/guide/standards/&lt;/a&gt;) at com.sun.xml.bind.v2.model.impl.ModelBuilder.&lt;clinit&gt;(ModelBuilder.java:172) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:422) at com.sun.xml.bind.v2.runtime.JAXBContextImpl.&lt;init&gt;(JAXBContextImpl.java:286) at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139) at com.sun.xml.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:105)&lt;br /&gt;&lt;br /&gt;&lt;init&gt;&lt;init&gt;To fix this need to copy the following jars from ${JBOSS_HOME}/client to ${JBOSS_HOME}/lib/endorsed:&lt;br /&gt;&lt;br /&gt;* jaxb-api.jar&lt;br /&gt;* jboss-jaxrpc.jar&lt;br /&gt;* jboss-jaxws.jar&lt;br /&gt;* jboss-jaxws-ext.jar (applies to 2.0.2 +)&lt;br /&gt;* jboss-saaj.jar&lt;br /&gt;&lt;br /&gt;&lt;/init&gt;&lt;/init&gt;&lt;/init&gt;&lt;/clinit&gt;Also if the following error occur when invoking the service .&lt;br /&gt;&lt;br /&gt;12:50:28,718 ERROR [SOAPFaultHelperJAXWS] SOAP request exception&lt;br /&gt;java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage&lt;br /&gt;      at javax.xml.soap.SOAPMessage.setProperty(SOAPMessage.java:441)&lt;br /&gt;      at org.jboss.ws.core.soap.SOAPMessageImpl.(SOAPMessageImpl.java:67)&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Copy the above jars plus the following from ${JBOSS_HOME}/lib to ${JBOSS_HOME}/lib/endorsed:&lt;br /&gt;&lt;br /&gt;*log4j-boot.jar&lt;br /&gt;*jboss-common.jar&lt;br /&gt;*concurrent.jar</description><link>http://kishantha.blogspot.com/2010/03/fixing-jaxb-linkageerror-in-jboss-with.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-366937137400452097</guid><pubDate>Thu, 04 Feb 2010 11:56:00 +0000</pubDate><atom:updated>2010-02-04T04:22:10.019-08:00</atom:updated><title>62nd Independence Day of Sri Lanka</title><description>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJAMQdhv-jDKoPzEW4vbDKk22-10skgKmRKzy0BYRACeFqps8wrd_4xp2dtBV0lCop3xuuHBk49syz7Ib8MTrNRYQJni2XanVrcWCyIC1XlrgAJQKcHxHvv9FK9bbCoA-UQx534D5QM2V8/s1600-h/62nd+anniversary+of+independence.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5434261483515330034&quot; style=&quot;WIDTH: 250px; CURSOR: hand; HEIGHT: 155px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJAMQdhv-jDKoPzEW4vbDKk22-10skgKmRKzy0BYRACeFqps8wrd_4xp2dtBV0lCop3xuuHBk49syz7Ib8MTrNRYQJni2XanVrcWCyIC1XlrgAJQKcHxHvv9FK9bbCoA-UQx534D5QM2V8/s320/62nd+anniversary+of+independence.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A day to think like a Sri Lankan and act like a Sri Lankan despite the race, religion and colour of you and me. This time we celebrate our independence with pride after defeating the LTTE on last year. LTTE was at that time an internationally organized terrorism outfit and Sri Lanka is the first and the only nation who was able to defeat such a strong separatist terrorist organization through a war.&lt;br /&gt;&lt;br /&gt;Evidence from the history shows division among Sri Lankans have always brought bad consequences to the country. So let’s remember the lessons learned and play our role to build our motherland.&lt;br /&gt;&lt;br /&gt;May our nation be blessed by the Noble Triple Gem.&lt;br /&gt;&lt;br /&gt;Some links I found interesting.&lt;br /&gt;&lt;br /&gt;Wilbawe, Kiulegedara Mohottala, Butawe Rate Rala from &lt;a href=&quot;http://www.lankalibrary.com/geo/keppetipola2.htm&quot;&gt;Uva Rebellion&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.dailynews.lk/2009/02/04/inde.asp?id=s02&quot;&gt;The English episode in Ceylon&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Keppetipola_Disawe&quot;&gt;Keppetipola Disawe&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://14poems.com/&quot;&gt;http://14poems.com/&lt;/a&gt;</description><link>http://kishantha.blogspot.com/2010/02/62nd-independence-day-of-sri-lanka_04.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJAMQdhv-jDKoPzEW4vbDKk22-10skgKmRKzy0BYRACeFqps8wrd_4xp2dtBV0lCop3xuuHBk49syz7Ib8MTrNRYQJni2XanVrcWCyIC1XlrgAJQKcHxHvv9FK9bbCoA-UQx534D5QM2V8/s72-c/62nd+anniversary+of+independence.jpg" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-925501045440307496</guid><pubDate>Fri, 01 Jan 2010 11:52:00 +0000</pubDate><atom:updated>2010-01-02T07:30:54.150-08:00</atom:updated><title>Installing ASIO4ALL in my laptop</title><description>Yesterday I was struggling a bit to install ASIO4ALL driver to my laptop Pavilion dv6 with Windows Vista Home premium installed.&lt;br /&gt;&lt;br /&gt;Note on ASIO:&lt;br /&gt;ASIO Is a sound card driver which is used for processing sound through PC software while removing the low-&lt;a title=&quot;Latency (audio)&quot; href=&quot;http://en.wikipedia.org/wiki/Latency_(audio)&quot;&gt;latency&lt;/a&gt; of standard drivers and improving reliability for professional sound processing. ASIO4All is a generic driver which can be used with soundcards which does not have the native ASIO driver.&lt;br /&gt;&lt;br /&gt;Installing is very easy as all you have to do is run the setup file. After installing you have to select the ASIO driver from the audio settings panel of your software.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;No sound after selecting ASIO4All&lt;br /&gt;&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;There are couple of things to check.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlbj9DNPpwO8r7J6Wg1B07dfCBl-UK6084fGzJmBuiqPOzPXfpmVtguhFc-OBLPgD7eP17KKN-CsKqD9lQHrpnMb_vmG-c83ip3syFcQQ34AykUUIaM1zTAPSMxbpj5k-awCe8xCaBmdHd/s1600-h/ASIO4ALL-Settings.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5422160970942391154&quot; style=&quot;WIDTH: 320px; CURSOR: hand; HEIGHT: 154px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlbj9DNPpwO8r7J6Wg1B07dfCBl-UK6084fGzJmBuiqPOzPXfpmVtguhFc-OBLPgD7eP17KKN-CsKqD9lQHrpnMb_vmG-c83ip3syFcQQ34AykUUIaM1zTAPSMxbpj5k-awCe8xCaBmdHd/s320/ASIO4ALL-Settings.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From the advance panel select only the relevant device and the interface and disable the others. In my case I have disabled the &quot;High Definition Audio Device&quot; and enabled the IDT High Definition Audio CODEC and MuxedIn1 and Speaker1 interfaces.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdDR3KeZo_9QfyPDpZJoVuzV93nk4nhQ17cyFlqdzuCwKQcT3_6JRlwvAcHDv_sB_eQnA-lDRBauwyCPYdtbNjWzNpEPe1JqlAMK5tTx6mixafVTGPQIn2aDvmVqWmF1Op_544e2TNZ6vu/s1600-h/Vista-Speaker-Properties.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5422164068041522898&quot; style=&quot;WIDTH: 290px; CURSOR: hand; HEIGHT: 320px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdDR3KeZo_9QfyPDpZJoVuzV93nk4nhQ17cyFlqdzuCwKQcT3_6JRlwvAcHDv_sB_eQnA-lDRBauwyCPYdtbNjWzNpEPe1JqlAMK5tTx6mixafVTGPQIn2aDvmVqWmF1Op_544e2TNZ6vu/s320/Vista-Speaker-Properties.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;Also the bit depth of the input and output interfaces should be set to 16bits. This can be done from Control Panel&gt;Sound&gt; and selecting Properties of the Interface and choosing the Advance tab.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;</description><link>http://kishantha.blogspot.com/2010/01/installing-asio4all-in-my-laptop.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlbj9DNPpwO8r7J6Wg1B07dfCBl-UK6084fGzJmBuiqPOzPXfpmVtguhFc-OBLPgD7eP17KKN-CsKqD9lQHrpnMb_vmG-c83ip3syFcQQ34AykUUIaM1zTAPSMxbpj5k-awCe8xCaBmdHd/s72-c/ASIO4ALL-Settings.jpg" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-6894497523355552641</guid><pubDate>Sun, 22 Nov 2009 07:50:00 +0000</pubDate><atom:updated>2009-12-11T23:34:20.188-08:00</atom:updated><title>Comparing PHP Java and Ruby</title><description>Today I tried to do a small research to try and find out what language is best&lt;br /&gt;when it comes to web development and tools that supports it. I tried to compare the three most used languages for web frameworks namely PHP, Java and Ruby.&lt;br /&gt;All the details collected here are from my colleagues and not from a firm source. So if there is&lt;br /&gt;any mistake please feel free to highlight.&lt;br /&gt;&lt;br /&gt;The comparison was split between following items.&lt;br /&gt;&lt;br /&gt;1/ Speed&lt;br /&gt;2/ Debugging (and profiling)&lt;br /&gt;3/ IDEs and Tools&lt;br /&gt;3/ Testing (Unit, functional, performance)&lt;br /&gt;4/ Logging and Log file maintenance&lt;br /&gt;5/ Security&lt;br /&gt;6/ Application integration (Integrate legacy systems and ERP systems).&lt;br /&gt;&lt;br /&gt;Speed component depends on what you really do and the actual framework you&lt;br /&gt;are using. But in general when the number of requests are low to medium PHP &gt; Java &gt; Ruby. When the number of requests are&lt;br /&gt;high Java &gt; Ruby &gt; PHP is the case.&lt;br /&gt;&lt;br /&gt;Tools that supports Debugging.&lt;br /&gt;PHP - PHPEd, Expert Debugger&lt;br /&gt;Java - Any IDE, JMeter, JProfiler&lt;br /&gt;Ruby - ruby-debug,ruby-prof(Profiler)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;List of popular IDEs for each language.&lt;br /&gt;PHP - PHPEd, PHP Designer, Zend Studio Professional, PHP Expert Editor&lt;br /&gt;Java - Eclips, JIdea, JBuilder&lt;br /&gt;(Note: JIdea is best)&lt;br /&gt;Ruby - Aptana RadRails http://www.radrails.org/, TextMate, Steel IDE (http://www.sapphiresteel.com/). NetBeans, JIdea Ruby plugin, CodeGear&#39;s 3rdRail&lt;br /&gt;(Note: NetBeans free and the best so far)&lt;br /&gt;&lt;br /&gt;Testing.&lt;br /&gt;PHP - Testilence, izh_test,Phpunit, Spike PHPCoverage,SimpleTest.&lt;br /&gt;Java - Junit, Cactus,Jemmy, jfcUnit, Abbot&lt;br /&gt;Ruby - MiniTest, Test::Unit&lt;br /&gt;&lt;br /&gt;The security features of Java is unmatched when compared with PHP or Ruby or any other language. Actually Java was born&lt;br /&gt;with security. Starting from its Strong data typing, Automatic memory management, Bytecode verification, Secure class loading&lt;br /&gt;Java exposed a new dimension to the world of security.&lt;br /&gt;&lt;br /&gt;When it comes to logging and application integration also Java leads the other languages for its versatility, available tools and frameworks.&lt;br /&gt;&lt;br /&gt;Now the issue is if Java is such strong what is the catch. Why people use PHP for most of the sites. One reason is the cost. You need a dedicated server to host a Java site most of the time. Next you need a skilled staff from development to network administration to handle a heavy wait Java application server.Because of the above reasons PHP would be a better option to run small to moderate sites.&lt;br /&gt;&lt;br /&gt;Also check the following comment by&lt;br /&gt;&lt;a title=&quot;James Gosling&quot; href=&quot;http://en.wikipedia.org/wiki/James_Gosling&quot;&gt;James Gosling&lt;/a&gt; the father of the &lt;a title=&quot;Java programming language&quot; href=&quot;http://en.wikipedia.org/wiki/Java_programming_language&quot;&gt;Java programming language&lt;/a&gt;&lt;br /&gt;Ruby can&#39;t scale as good as Java&lt;br /&gt;&lt;br /&gt;&lt;object height=&quot;344&quot; width=&quot;425&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/uq25JnHrF14&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;embed src=&quot;http://www.youtube.com/v/uq25JnHrF14&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; height=&quot;344&quot; width=&quot;425&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</description><link>http://kishantha.blogspot.com/2009/11/comparing-php-java-and-ruby.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-1411942718108032792</guid><pubDate>Tue, 17 Nov 2009 06:36:00 +0000</pubDate><atom:updated>2010-01-07T20:28:29.816-08:00</atom:updated><title>Porting our existing J2EE ecommerce application to Liferay.</title><description>The main reason for porting the existing portal to &lt;a href=&quot;http://www.liferay.com/&quot;&gt;Liferay&lt;/a&gt; was, to use the&lt;br /&gt;CMS capabilities it provides. On the evaluation on what CMS to use&lt;br /&gt;we found a hand full of Java Portal/CMS systems.&lt;br /&gt;Although the framework of each of them were attractive they lacked good portlets or plugins which can be used out of the box. Liferay on&lt;br /&gt;the other hand has many plugins available already. It has a Forum, Blog, RSS/Atom Module, A fine HTML templating module and a couple of simple frame works to write CRUD applications which were critical for our requirements.&lt;br /&gt;&lt;br /&gt;The site we implemented had three full fledged ecommerce applications, landing sites for several affiliate products, promotion pages,&lt;br /&gt;forums, blogs, newsletters, testimonials, press releases and articles. There was a magazine and advertising&lt;br /&gt;campaign application that was meant to be used by the readers of the company magazine. This application&lt;br /&gt;had a poll, a survey, a competition and couple of other options aimed for the campaign.&lt;br /&gt;&lt;br /&gt;From the side of implementation we used an agile development approach and our development&lt;br /&gt;team had 11 members. The time span for this project was only 2 months and the site had around 80 pages both&lt;br /&gt;dynamic and static. Although this was a tough deadline we had to accept it as the management already scheduled advertising&lt;br /&gt;campaigns that follows the delivery of the site.&lt;br /&gt;&lt;br /&gt;Since the complexity of the user interface designs and for the flexibility we agreed not to use portlets for implementing&lt;br /&gt;the ecommerce modules. The architecture was to use AJAX/JSON to integrate functionality and keep the pages&lt;br /&gt;generating from the Liferay CMS.&lt;br /&gt;&lt;br /&gt;Today we got a reward for completing the project on time with a lot of appreciation from our management. Being the&lt;br /&gt;project manager Im so pleased and like to thank the whole team for their dedication and hard work. Cheers Guys.&lt;br /&gt;Also now we are fully convinced that &lt;a href=&quot;http://www.liferay.com/&quot;&gt;Liferay Portal&lt;/a&gt; is a better Java based CMS (or a WCM - Web content Management System) among the&lt;br /&gt;Java CMS family.&lt;br /&gt;&lt;br /&gt;If you like to have a look on the site visit this link&lt;br /&gt;&gt;&gt;&gt;Link Removed !&lt;&lt;&lt;&lt;br /&gt;&lt;a href=&quot;http://www.staysure.co.uk/&quot;&gt;&lt;br /&gt;&lt;/a&gt;</description><link>http://kishantha.blogspot.com/2009/11/porting-our-existing-j2ee-ecommerce.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>65</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-3437797743749192303</guid><pubDate>Thu, 05 Nov 2009 11:47:00 +0000</pubDate><atom:updated>2009-11-21T23:07:47.965-08:00</atom:updated><title>Use rewriterule with DocumentRoot instead of ProxyPass</title><description>When ProxyPass is used on root level with DocumentRoot proxing will dominate and appache will not serve anything from the document directory.&lt;br /&gt;&lt;br /&gt;For example if following configuration is used&lt;br /&gt;&lt;pre style=&quot;border-style: dotted; border-color: rgb(183, 196, 211); border-width: 1px 0px; margin: 2em 0px 2em -233px; padding: 1em 0px 1em 233px; font-size: 12px; color: rgb(7, 6, 6); line-height: 150%; font-family: monospace; background-color: rgb(238, 240, 235);&quot;&gt;&lt;br /&gt;DocumentRoot /var/www/html/&lt;br /&gt;ProxyPass / ajp://10.231.40.6:8009/&lt;br /&gt;ProxyPassReverse / ajp://10.231.40.6:8009/&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The content in /var/www/html/ will not be served by appache.&lt;br /&gt;&lt;br /&gt;RewriteRule is the way to solve this.&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;border-style: dotted; border-color: rgb(183, 196, 211); border-width: 1px 0px; margin: 2em 0px 2em -233px; padding: 1em 0px 1em 233px; font-size: 12px; color: rgb(7, 6, 6); line-height: 150%; font-family: monospace; background-color: rgb(238, 240, 235);&quot;&gt;&lt;br /&gt;DocumentRoot /var/www/html/&lt;br /&gt;&lt;br /&gt;RewriteEngine on&lt;br /&gt;rewriterule ^/blog - [L]&lt;br /&gt;rewriterule ^/(.*) ajp://10.231.40.6:8009/$1 [P,L]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;When the configuration is changed as shown in the above example the content in the folder /var/www/html/blog will be accessible with a URL like http://domain/blog</description><link>http://kishantha.blogspot.com/2009/11/use-rewriterule-with-documentroot.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-4361149671069097884</guid><pubDate>Wed, 14 Oct 2009 10:22:00 +0000</pubDate><atom:updated>2009-10-21T06:56:10.463-07:00</atom:updated><title>Liferay service deploying exception</title><description>I was working with the announcement portlet and wanted to make it a portlet plugin rather than editing it in the liferay ext environment. Initially I only wanted to change the appearance of it. For this while coping the jsp files and other required file to a newly created directories I have added the following jar files too. After&lt;br /&gt;few tries I got it to work.&lt;br /&gt;&lt;br /&gt;commons-beanutils.jar&lt;br /&gt;commons-configuration.jar&lt;br /&gt;commons-digester.jar&lt;br /&gt;commons-lang.jar&lt;br /&gt;commons-math.jar&lt;br /&gt;displaytag.jar&lt;br /&gt;easyconf.jar&lt;br /&gt;newsletter-portlet-service.jar&lt;br /&gt;struts.jar&lt;br /&gt;xstream.jar&lt;br /&gt;&lt;br /&gt;When I tried to add my own set of tables using the service builder and&lt;br /&gt;deployed the portlet the server started to spit the following error.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-RIGHT: #b7c4d3 0px dotted; PADDING-RIGHT: 0px; BORDER-TOP: #b7c4d3 1px dotted; PADDING-LEFT: 233px; FONT-SIZE: 12px; PADDING-BOTTOM: 1em; MARGIN: 2em 0px 2em -233px; BORDER-LEFT: #b7c4d3 0px dotted; COLOR: #070606; LINE-HEIGHT: 150%; PADDING-TOP: 1em; BORDER-BOTTOM: #b7c4d3 1px dotted; FONT-FAMILY: monospace; BACKGROUND-COLOR: #eef0eb&quot;&gt;&lt;br /&gt;&lt;br /&gt;Caused by: org.springframework.beans.factory.BeanCreationException: Error creati&lt;br /&gt;ng bean with name &#39;liferayTransactionManager&#39; defined in ServletContext resource&lt;br /&gt; [/WEB-INF/classes/META-INF/hibernate-spring.xml]: Initialization of bean failed&lt;br /&gt;; nested exception is org.springframework.beans.TypeMismatchException: Failed to&lt;br /&gt; convert property value of type [com.liferay.portal.spring.hibernate.PortletHibe&lt;br /&gt;rnateConfiguration] to required type [org.hibernate.SessionFactory] for property&lt;br /&gt; &#39;sessionFactory&#39;; nested exception is java.lang.IllegalArgumentException: Canno&lt;br /&gt;t convert value of type [com.liferay.portal.spring.hibernate.PortletHibernateCon&lt;br /&gt;figuration] to required type [org.hibernate.SessionFactory] for property &#39;sessio&lt;br /&gt;nFactory&#39;: no matching editors or conversion strategy found&lt;br /&gt;        at org.springframework.beans.factory.support.AbstractAutowireCapableBean&lt;br /&gt;Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)&lt;br /&gt;        at org.springframework.beans.factory.support.AbstractAutowireCapableBean&lt;br /&gt;Factory$1.run(AbstractAutowireCapableBeanFactory.java:409)&lt;br /&gt;        at java.security.AccessController.doPrivileged(Native Method)&lt;br /&gt;        at org.springframework.beans.factory.support.AbstractAutowireCapableBean&lt;br /&gt;Factory.createBean(AbstractAutowireCapableBeanFactory.java:380)&lt;br /&gt;        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb&lt;br /&gt;ject(AbstractBeanFactory.java:264)&lt;br /&gt;        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr&lt;br /&gt;y.getSingleton(DefaultSingletonBeanRegistry.java:222)&lt;br /&gt;        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe&lt;br /&gt;an(AbstractBeanFactory.java:261)&lt;br /&gt;        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean&lt;br /&gt;(AbstractBeanFactory.java:185)&lt;br /&gt;        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean&lt;br /&gt;(AbstractBeanFactory.java:164)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;10:09:49,297 INFO  [STDOUT] 10:09:49,297 ERROR [PortletApplicationContext] org.s&lt;br /&gt;pringframework.beans.factory.parsing.BeanDefinitionParsingException: Configurati&lt;br /&gt;on problem: Class that bean class [com.liferay.portal.spring.annotation.BeanRefe&lt;br /&gt;renceAnnotationBeanPostProcessor] depends on not found&lt;br /&gt;Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/base-spri&lt;br /&gt;ng.xml]&lt;br /&gt;Bean &#39;beanReferenceAnnotationBeanPostProcessor&#39;; nested exception is java.lang.N&lt;br /&gt;oClassDefFoundError: org/springframework/beans/factory/BeanFactoryAware&lt;br /&gt;org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Config&lt;br /&gt;uration problem: Class that bean class [com.liferay.portal.spring.annotation.Bea&lt;br /&gt;nReferenceAnnotationBeanPostProcessor] depends on not found&lt;br /&gt;Offending resource: ServletContext resource [/WEB-INF/classes/META-INF/base-spri&lt;br /&gt;ng.xml]&lt;br /&gt;Bean &#39;beanReferenceAnnotationBeanPostProcessor&#39;; nested exception is java.lang.N&lt;br /&gt;oClassDefFoundError: org/springframework/beans/factory/BeanFactoryAware&lt;br /&gt;        at org.springframework.beans.factory.parsing.FailFastProblemReporter.err&lt;br /&gt;or(FailFastProblemReporter.java:68)&lt;br /&gt;        at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderC&lt;br /&gt;ontext.java:85)&lt;br /&gt;        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.er&lt;br /&gt;ror(BeanDefinitionParserDelegate.java:288)&lt;br /&gt;        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa&lt;br /&gt;rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:487)&lt;br /&gt;        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa&lt;br /&gt;rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:389)&lt;br /&gt;        at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.pa&lt;br /&gt;rseBeanDefinitionElement(BeanDefinitionParserDelegate.java:358)&lt;br /&gt;        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe&lt;br /&gt;ader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:239)&lt;br /&gt;        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe&lt;br /&gt;ader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:153)&lt;br /&gt;        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe&lt;br /&gt;ader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132)&lt;br /&gt;        at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentRe&lt;br /&gt;ader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)&lt;br /&gt;&lt;br /&gt;And loads of other error !!!!!!!!!!!!!!!!!!!!!!!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;After struggling for some time I got to know what was going on. I have added the spring.jar and portal-impl.jar initially for my testing and I didnt remove them from the project and that was the issue. After removing these two files the protlet started to deploy without any problem&lt;br /&gt;&lt;br /&gt;================================================================================</description><link>http://kishantha.blogspot.com/2009/10/liferay-service-deploying-exception.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-5377977882024989127</guid><pubDate>Sat, 29 Aug 2009 07:20:00 +0000</pubDate><atom:updated>2009-08-29T00:39:28.753-07:00</atom:updated><title>Cookies and Javascript</title><description>Handling cookies in Javascript&lt;br /&gt;=================================&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-RIGHT: #b7c4d3 0px dotted; PADDING-RIGHT: 0px; BORDER-TOP: #b7c4d3 1px dotted; PADDING-LEFT: 233px; FONT-SIZE: 12px; PADDING-BOTTOM: 1em; MARGIN: 2em 0px 2em -233px; BORDER-LEFT: #b7c4d3 0px dotted; COLOR: #070606; LINE-HEIGHT: 150%; PADDING-TOP: 1em; BORDER-BOTTOM: #b7c4d3 1px dotted; FONT-FAMILY: monospace; BACKGROUND-COLOR: #eef0eb&quot;&gt;&lt;br /&gt;&lt;br /&gt;function createCookie(name,value,days) {&lt;br /&gt; if (days) {&lt;br /&gt;  var date = new Date();&lt;br /&gt;  date.setTime(date.getTime()+(days*24*60*60*1000));&lt;br /&gt;  var expires = &quot;; expires=&quot;+date.toGMTString();&lt;br /&gt; }&lt;br /&gt; else var expires = &quot;&quot;;&lt;br /&gt; document.cookie = name+&quot;=&quot;+value+expires+&quot;; path=/&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function readCookie(name) {&lt;br /&gt; var nameEQ = name + &quot;=&quot;;&lt;br /&gt; var ca = document.cookie.split(&#39;;&#39;);&lt;br /&gt; for(var i=0;i &amp;lt; ca.length;i++) {&lt;br /&gt;  var c = ca[i];&lt;br /&gt;  while (c.charAt(0)==&#39; &#39;) c = c.substring(1,c.length);&lt;br /&gt;  if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);&lt;br /&gt; }&lt;br /&gt; return null;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function eraseCookie(name) {&lt;br /&gt; createCookie(name,&quot;&quot;,-1);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function delCookie(name) {&lt;br /&gt;       document.cookie = name + &quot;=; expires=Thu, 01-Jan-70 00:00:01 GMT&quot; +&lt;br /&gt;          &quot;; path=/&quot;;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;</description><link>http://kishantha.blogspot.com/2009/08/cookies-and-javascript.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-7988218589271594309</guid><pubDate>Thu, 27 Aug 2009 11:13:00 +0000</pubDate><atom:updated>2009-11-21T23:10:01.089-08:00</atom:updated><title>Regular expressions in javascript and Java</title><description>Regular expressions lets you to search a text in a text string or do a search and&lt;br /&gt;replace a text in a text string.&lt;br /&gt;&lt;br /&gt;&lt;pre style=&quot;BORDER-RIGHT: #b7c4d3 0px dotted; PADDING-RIGHT: 0px; BORDER-TOP: #b7c4d3 1px dotted; PADDING-LEFT: 233px; FONT-SIZE: 12px; PADDING-BOTTOM: 1em; MARGIN: 2em 0px 2em -233px; BORDER-LEFT: #b7c4d3 0px dotted; COLOR: #070606; LINE-HEIGHT: 150%; PADDING-TOP: 1em; BORDER-BOTTOM: #b7c4d3 1px dotted; FONT-FAMILY: monospace; BACKGROUND-COLOR: #eef0eb&quot;&gt;&lt;br /&gt;&lt;br /&gt;Java Script:&lt;br /&gt;&lt;br /&gt;Create the expression&lt;br /&gt;================================================================================&lt;br /&gt;&lt;br /&gt;var exp = /expression/;&lt;br /&gt;Or&lt;br /&gt;var exp = new RegExp(&quot;expression&quot;);&lt;br /&gt;&lt;br /&gt;Testing availability of a text.&lt;br /&gt;================================================================================&lt;br /&gt;&lt;br /&gt;if(/text/.test(&quot;The text string.&quot;)) alert(&quot;Found text&quot;);&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;if (&quot;The text string&quot;.match(/text/)) alert(&quot;Match found for text&quot;);&lt;br /&gt;&lt;br /&gt;Doing a search and replace.&lt;br /&gt;================================================================================&lt;br /&gt;&lt;br /&gt;var output = &quot;The text string&quot;.replace(/text/g, &quot;replacement&quot;);&lt;br /&gt;&lt;br /&gt;OR&lt;br /&gt;&lt;br /&gt;var re = new RegExp(&quot;text&quot;, &quot;g&quot;);&lt;br /&gt;var output = &quot;The text string&quot;.replace(re,&quot;replacement&quot;);&lt;br /&gt;&lt;br /&gt;Using the /g OR &quot;g&quot; modifier makes sure that all occurrences of &quot;text&quot; are replaced&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Splitting a text string by a delimiter&lt;br /&gt;================================================================================&lt;br /&gt;&lt;br /&gt;var myArray = &quot;comma, separated, text, string&quot;.split(/,/);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Retrieving the part of the string that was matched&lt;br /&gt;================================================================================&lt;br /&gt;&lt;br /&gt;var mymatch = /text/.exec(&quot;The text string&quot;)&lt;br /&gt;&lt;br /&gt;if (mymatch == null) {&lt;br /&gt;alert(&quot;No match&quot;);&lt;br /&gt;} else {&lt;br /&gt;var s = &quot;Match at position &quot; + mymatch .index + &quot;:\n&quot;;&lt;br /&gt;for (i = 0; i &lt; s =&quot; s&quot; mystringarr = &quot;comma, separated, text, string&quot; replaced = &quot;change, delimiter, of, text, string&quot; regex = &quot;match this string&quot; regex = &quot;match.*&quot; class =&quot;=&quot; mypattern =&quot; Pattern.compile(&quot; mymatcher =&quot; myPattern.matcher(&quot;&gt; The &quot;^&quot; says check the beginning of the text. [A-Z] specify range of&lt;br /&gt;numbers.&lt;br /&gt;&lt;br /&gt;Check for any text starting with a digit 1 to 5.&lt;br /&gt;==============================================================================&lt;br /&gt;&lt;br /&gt;^[1-5]&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;See reference [http://www.regular-expressions.info/reference.html] for details.</description><link>http://kishantha.blogspot.com/2009/08/regular-expressions-in-javascript-and.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-410575189118745598</guid><pubDate>Tue, 25 Aug 2009 13:33:00 +0000</pubDate><atom:updated>2009-11-30T20:29:41.831-08:00</atom:updated><title>Password protect D-Link wireless router DSL-2640U</title><description>Security options to choose from.&lt;br /&gt;&lt;br /&gt;Wired Equivalent Privacy (WEP) - Less secure (The key can be recovered from network sniffing)&lt;br /&gt;Wi-Fi Protected Access (WPA and WPA2) - The recommended solution to WEP security problems.&lt;br /&gt;WPA-PSK (Pre-shared key mode) is the personal mode which is designed for home and small office network setups.&lt;br /&gt;WPA supports two encription methods to choose from.&lt;br /&gt;TKIP - Temporal Key Integrity Protocol.&lt;br /&gt;AES - Advanced Encryption Standard which is considered to be fully secured.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Seting up a security key (password)&lt;br /&gt;===================================&lt;br /&gt;&lt;br /&gt;Type http://192.168.1.1/ in your browser to open the router admin console.&lt;br /&gt;Go to the wireless security tab and choose the follwing settings for each&lt;br /&gt;option.&lt;br /&gt;Network Authentication: WPA-PSK&lt;br /&gt;WPA Pre-Shared Key (Password): Combination of numbers and letters.&lt;br /&gt;WPA Group Rekey Interval: 0&lt;br /&gt;WPA Encryption: AES&lt;br /&gt;WEP Encryption: Disabled.&lt;br /&gt;&lt;br /&gt;Following is a screenshot of the required settings.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5ikNkhmaRUHW5wOvcOzsg91f6VitZD2vJGYjezXyTRBX3dGp4ag08zcHkAGicpY8A085e3Mpxh_XYCFFR549ykpfnWZo3JHZ0WfKnUUP3ag1tJU_yD96cU4MbWorWUb1cE7n58AGIhUgT/s1600/D-Link-DSL-2640U.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5408403429557570178&quot; style=&quot;MARGIN: 0px 10px 10px 0px; WIDTH: 320px; CURSOR: hand; HEIGHT: 168px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5ikNkhmaRUHW5wOvcOzsg91f6VitZD2vJGYjezXyTRBX3dGp4ag08zcHkAGicpY8A085e3Mpxh_XYCFFR549ykpfnWZo3JHZ0WfKnUUP3ag1tJU_yD96cU4MbWorWUb1cE7n58AGIhUgT/s320/D-Link-DSL-2640U.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Adding the wireless network password to Windows Vista&lt;/h3&gt;&lt;br /&gt;Setingup the password in Windows Vista can be done throught the &quot;Manage Wireless Networks&quot;. Access &quot;Manage Wireless Networks&quot; from Control Panel&gt;Network and Sharing Center&gt;. Right click and select properties of the DLink network. Select the security tab and enter the following.&lt;br /&gt;Security type: WPA-Personal&lt;br /&gt;Encryption type: AES&lt;br /&gt;Network security key: (Enter the previousely setup password)&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKIyROWeZFz-rH0qeOhPX5FgG-uvZuPLxBMrj8Mxog9sQjmr1BPp-KfIJ_VVRc8s2pthxlITvRrA-ccYyKEWbP-hPYspOBLUWUa44OLb3hC9CdCahgZYdfNce4fiwopMvm8-W2TaDyQ2wa/s1600/D-Link.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5410119964788013410&quot; style=&quot;WIDTH: 247px; CURSOR: hand; HEIGHT: 320px&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKIyROWeZFz-rH0qeOhPX5FgG-uvZuPLxBMrj8Mxog9sQjmr1BPp-KfIJ_VVRc8s2pthxlITvRrA-ccYyKEWbP-hPYspOBLUWUa44OLb3hC9CdCahgZYdfNce4fiwopMvm8-W2TaDyQ2wa/s320/D-Link.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now your wireless network is fully protected.</description><link>http://kishantha.blogspot.com/2009/08/password-protect-d-link-wireless-router.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5ikNkhmaRUHW5wOvcOzsg91f6VitZD2vJGYjezXyTRBX3dGp4ag08zcHkAGicpY8A085e3Mpxh_XYCFFR549ykpfnWZo3JHZ0WfKnUUP3ag1tJU_yD96cU4MbWorWUb1cE7n58AGIhUgT/s72-c/D-Link-DSL-2640U.jpg" height="72" width="72"/><thr:total>9</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-7331549327783293787.post-2628246037104090900</guid><pubDate>Mon, 20 Jul 2009 07:40:00 +0000</pubDate><atom:updated>2011-10-23T22:17:54.089-07:00</atom:updated><title>Start a brand new PostgreSQL server</title><description>Create a directory to hold the postgres database cluster files. (Eg. c:\pgdata or /usr/local/pgsql/pgdata in linux)&lt;br /&gt;
&lt;br /&gt;
Cluster is a collection of databases that are managed by a single server instance.&lt;br /&gt;
Be sure the pgdata directory owned by postgres user and the directory is empty&lt;br /&gt;
&lt;br /&gt;
Type the following command to initialise the cluster.&lt;br /&gt;
initdb -D c:\pgdata -U postgres&lt;br /&gt;
&lt;br /&gt;
Start the cluster by invoking the following command.&lt;br /&gt;
pg_ctl -D c:\pgdata -l c:\pgdata\logfile start&lt;br /&gt;
&lt;br /&gt;
To stop the database cluster use the following command.&lt;br /&gt;
pg_ctl -D c:\pgdata stop&lt;br /&gt;
&lt;br /&gt;
Other Info&lt;br /&gt;
&lt;br /&gt;
Create a user called &quot;user1&quot;&lt;br /&gt;
createuser -U postgres -P user1 (Prompted for a password)&lt;br /&gt;
&lt;br /&gt;
Create a database called &quot;database1&quot;&lt;br /&gt;
createdb -U user1 -E UTF-8 database1&lt;br /&gt;
&lt;br /&gt;
Create Language&lt;br /&gt;
createlang -U postgres -d database1 plpgsql&lt;br /&gt;
&lt;br /&gt;
Exporting data from a database.&lt;br /&gt;
pg_dump -U user1 database1 &gt; dumpfile.dmp&lt;br /&gt;
&lt;br /&gt;
Importing data to the database&lt;br /&gt;
psql -U user1 database1 &lt; dumpfile.dmp&lt;br /&gt;
&lt;br /&gt;
Check the status and data file location:&lt;br /&gt;
ps aux | grep post&lt;br /&gt;
&lt;br /&gt;
Default data file location: /var/lib/postgresql/&lt;br /&gt;
&lt;br /&gt;
Change default password ALTER USER postgres WITH PASSWORD ‘password’;&lt;br /&gt;
change the Linux user password of postgres to the same.&lt;br /&gt;
&lt;br /&gt;
(Note: &quot;postgres&quot; is the user created when installing Postgre. If you create a user account named postgres in the OS and installed Postgre into this account &quot;postgres&quot; can be ommited. This is valid for both Windows OS and Linux. )</description><link>http://kishantha.blogspot.com/2009/07/start-brand-new-postgresql-server.html</link><author>noreply@blogger.com (Kishantha Nanayakkara)</author><thr:total>0</thr:total></item></channel></rss>