<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11001074</id><updated>2012-02-03T23:31:10.972+05:30</updated><category term='Life'/><category term='Technical'/><category term='iOS'/><category term='iPhone'/><category term='Apple'/><category term='Google'/><category term='Objective-C'/><title type='text'>LUDMAL DE SILVA</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default?start-index=101&amp;max-results=100'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>158</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11001074.post-7860321289827380321</id><published>2011-09-23T08:58:00.000+05:30</published><updated>2011-09-23T08:58:23.913+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>A better life</title><content type='html'>I was talking to a friend of mine about our typical day activities. I&amp;nbsp;typically&amp;nbsp;spend my day with tasks like, software programming, reading, swimming and watching TV. Daily activities differs&amp;nbsp;from person to person. Anxiety, stress or depression are mainly associated with our activities. How we spend our day shapes our future and helpful for a healthier and better lifestyle. Following are few things I would like you to consider in your daily activities.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Wake up early - 5am is the ideal time for me (at least take 6hrs of sleep)&lt;/li&gt;&lt;li&gt;Spend at least 10-20 minutes alone. You could pray, meditate or simply spend some time with nature.&lt;/li&gt;&lt;li&gt;At least for 30 minutes do some physical&amp;nbsp;exercise&amp;nbsp;- Walking, Jogging or swimming&lt;/li&gt;&lt;li&gt;Work on a personal project which interests you - Writing a book, developing an software app, drawing or photography.&lt;/li&gt;&lt;li&gt;Read something&amp;nbsp;relevant&amp;nbsp;to your profession or motivational. Reduce the time you spend on reading or listening to news sources unless it is really important.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Have fun throughout the day, hoping everything is going to be&amp;nbsp;alright. After all everything is as it should be.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I hope these activities will give you an idea to&amp;nbsp;improve&amp;nbsp;your daily lifestyle. It is really important how you mange your time. Listed below are some of my old post which might guide you to a better life.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ludmal.net/search/label/Life"&gt;http://www.ludmal.net/search/label/Life&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7860321289827380321?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7860321289827380321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7860321289827380321&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7860321289827380321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7860321289827380321'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/09/better-life.html' title='A better life'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8635560631108134442</id><published>2011-09-08T20:23:00.002+05:30</published><updated>2011-09-08T20:29:42.709+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Buzz</title><content type='html'>&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;span id="internal-source-marker_0.10284444410353899" style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;After months of inactivity, I finally decided to disable buzz. Sorry but I’m no longer on Buzz. &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Reducing number of news streams helps me to focus on things which are relevant and important. By disabling buzz I reduced my social focus to Twitter, Google+, LinkedIn and Facebook. I also reduced people I follow in Twitter. Last few months I was overloaded with few things and could not read as much I used to. &lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; font-family: Arial; font-size: 11pt; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;I’m not a big fan of Facebook, so I will be mainly using my twitter account for updates. And those updates will be automatically added to my Google+, LinkedIn and Facebook accounts. So if you’re interested, Twitter will be my main source for updates. Follow me @ludmal&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8635560631108134442?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8635560631108134442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8635560631108134442&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8635560631108134442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8635560631108134442'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/09/google-buzz.html' title='Google Buzz'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-9140568583548765417</id><published>2011-08-26T02:33:00.000+05:30</published><updated>2011-08-26T02:33:40.091+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Is Silverlight really dead?</title><content type='html'>&lt;br /&gt;&lt;div style="background-color: transparent;"&gt;&lt;span id="internal-source-marker_0.6309556933119893" style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;When Silverlight initially released I was skeptical about it. It was meant to replace Adobe Flash back then. There were quite a few arguments I had with my colleagues about Silverlight and its future. But today, after 4 years of Silverlight’s initial release how many web sites do we see in Silverlight?&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;The future of the web depends on HTML 5 and Javascript. Open standards and 3rd party libraries are the main reasons for this adaption. I clearly don’t see a potential for another technology. However I’m really impressed with Windows 7 Mobile and MVC from Microsoft. I see a potential in terms of web and mobile. I also heard that Microsoft is working on a new UI application model --“Jupiter” which is simlier to Windows 7 Mobile.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-9140568583548765417?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/9140568583548765417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=9140568583548765417&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9140568583548765417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9140568583548765417'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/08/is-silverlight-really-dead.html' title='Is Silverlight really dead?'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7412245177310265970</id><published>2011-08-05T08:04:00.000+05:30</published><updated>2011-08-05T08:04:13.991+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Visual Studio LightSwitch</title><content type='html'>New product in Visual Studio family to create rapid data-centric applications for both desktop and cloud. &lt;br /&gt;&lt;br /&gt;Resources:&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/lightswitch"&gt;http://msdn.microsoft.com/en-us/lightswitch&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/hh335065.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/hh335065.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/hh335061.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/hh335061.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hope this helps!&lt;br /&gt;&lt;br /&gt;Follow me at twitter @ludmal for quick updates&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7412245177310265970?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7412245177310265970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7412245177310265970&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7412245177310265970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7412245177310265970'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/08/visual-studio-lightswitch.html' title='Visual Studio LightSwitch'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8171735596492427391</id><published>2011-07-28T08:18:00.000+05:30</published><updated>2011-07-28T08:18:26.541+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Moving your business into the Cloud</title><content type='html'>Cloud computing is ideal for medium and small scale business. Most of the large scale businesses however, are reluctant to move into the cloud. Mostly because they have already invested on their IT infrastructure or fear of exposing their corporate data. Entrepreneurs are finding cloud computing is more beneficial to their businesses. Mainly because to start their businesses with minimum cost on IT infrastructure. &lt;br /&gt;&lt;br /&gt;In Cloud Computing--computing power is used like water or electricity, pay only for usage. This has gained significant benefits for businesses. Scalability is vital for any business and cloud computing allows them to grow computing power with minimum cost. Business can run the IT infrastructure without support of internal tech staff hence save money on payroll. &lt;br /&gt;&lt;br /&gt;Drawbacks of using cloud computing are very low compare to its benefits. However, service outages are a major drawback on cloud computing. But those outages are significantly low with major service providers like &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt;, &lt;a href="http://www.salesforce.com/"&gt;Salesforce &lt;/a&gt;and &lt;a href="http://www.amazon.com/"&gt;Amazon&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;It is vital for businesses to keep their operation costs to minimum. By moving to cloud computing businesses can gain significant benefits like low operation cost, scalability and availability. For example &lt;a href="http://www.google.com/apps/intl/en/business/index.html"&gt;Google Apps for Business&lt;/a&gt; is ideal cloud solution for an small and medium scale business.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8171735596492427391?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8171735596492427391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8171735596492427391&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8171735596492427391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8171735596492427391'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/07/moving-your-business-into-cloud.html' title='Moving your business into the Cloud'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5661051084200341091</id><published>2011-07-20T19:57:00.001+05:30</published><updated>2011-07-20T19:58:32.422+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Most of my personal projects will be retired soon</title><content type='html'>Finally, I decided to retire most of my personal projects. It was too long ago I developed those software projects and it is time now to put them aside and move on with new ideas. Some of the projects however never actually completed. Following are the projects which are going to retire end of this month and domains are already on sale. Please let me know if anybody interested in purchase.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://boilcode.com/"&gt;boilcode.com&lt;/a&gt; / &lt;a href="http://codeswave.com/"&gt;codeswave.com&lt;/a&gt; – Online code snippet management library for developers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://facebook-stats.com/"&gt;facebook-stats.com&lt;/a&gt; – Facebook statistics such as frequency of updates, user base, top users etc.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://twitter-stats.com/"&gt;twitter-stats.com&lt;/a&gt; – Twitter statistics such as frequency of updates, user base, top users etc.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groupon.lk/"&gt;groupon.lk&lt;/a&gt; – &lt;a href="http://groupon.com/"&gt;Groupon.com&lt;/a&gt; like site for Sri Lanka, i.e. to get best deals in town.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://newsflippers.com/"&gt;newsflippers.com&lt;/a&gt; – This project is actually similar to &lt;a href="http://fastflip.googlelabs.com/"&gt;http://fastflip.googlelabs.com/&lt;/a&gt;. Currently the concept still remains but with a different presentation in my new project &lt;a href="http://www.channells.com/"&gt;www.channells.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://prodznet.com/"&gt;prodznet.com&lt;/a&gt; – An effort to categories the cheap and best products by price and user reviews on the internet.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://qnote.us/"&gt;qnote.us&lt;/a&gt; – Online notepad with offline writing ability.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://webexten.com/"&gt;webexten.com&lt;/a&gt; – Replacement for extensible-web.com but decided to keep the name as it is—&lt;a href="http://extensible-web.com/"&gt;extensible-web.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However my &lt;a href="http://code.google.com/p/extensible-web-toolkit/"&gt;XWT Framework&lt;/a&gt; project , Extensible-web and &lt;a href="http://channells.com/"&gt;Channells.com&lt;/a&gt; site still in active development, also some of my new ideas yet to be released.&lt;br /&gt;&lt;br /&gt;All the above domains are for sale, but if anybody requires source code please email me and I would be more than happy to send them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5661051084200341091?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5661051084200341091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5661051084200341091&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5661051084200341091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5661051084200341091'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/07/most-of-my-personal-projects-will-be.html' title='Most of my personal projects will be retired soon'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3661763400960471147</id><published>2011-07-16T16:46:00.000+05:30</published><updated>2011-07-16T16:46:23.788+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>SOA</title><content type='html'>Most of the IT guys must have heard the term “SOA”, but there are very few who understand the concepts of it. There are many aspects to SOA in various standpoints. For example a view on SOA can be different from a Business owner to a Technical architect. SOA is not simply a “Web Service”. It is a design paradigm—to develop software as a service.&lt;br /&gt;&lt;br /&gt;In technical perspective, it is to expose application functions as services so that the various applications can communicate each other regardless of the various platforms and boundaries. It is an architectural approach which matured from component oriented development and object oriented development.&lt;br /&gt;&lt;br /&gt;In business perspective, it is an application design paradigm which will eventually increase the business ROI and reduce the TTM (Time to Market). Business process changes can be easily reflected on the application functions with minimal time &amp;amp; effort. It can also reduce the cost of application maintenance and integration.&lt;br /&gt;&lt;br /&gt;SOA is not just a technical artifact—it is a design paradigm which embraces separation of concern and reuse.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3661763400960471147?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3661763400960471147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3661763400960471147&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3661763400960471147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3661763400960471147'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/07/soa.html' title='SOA'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2343179718282031969</id><published>2011-04-26T12:12:00.002+05:30</published><updated>2011-04-26T12:12:48.022+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Let's make the web faster</title><content type='html'>This is very useful for web developers, Tips and Tricks to improve web application performance. (obviously&amp;nbsp;from Google)&amp;nbsp;&lt;a href="http://code.google.com/speed/articles/"&gt;http://code.google.com/speed/articles/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2343179718282031969?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2343179718282031969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2343179718282031969&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2343179718282031969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2343179718282031969'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/04/lets-make-web-faster.html' title='Let&apos;s make the web faster'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2474841340189029385</id><published>2011-04-25T11:47:00.001+05:30</published><updated>2011-04-26T12:11:06.864+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Ludmal.net in Chrome store</title><content type='html'>I just submitted ludmal.net to chrome web store. You can install it from here and please don't forget to leave a comment. :-)&lt;br /&gt;&lt;br /&gt;&lt;a href="https://chrome.google.com/webstore/detail/clcenpmkmbdaglnanmdcginkhmhphdog"&gt;https://chrome.google.com/webstore/detail/clcenpmkmbdaglnanmdcginkhmhphdog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2474841340189029385?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2474841340189029385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2474841340189029385&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2474841340189029385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2474841340189029385'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/04/ludmalnet-in-chrome-store.html' title='Ludmal.net in Chrome store'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7138375642099986256</id><published>2011-04-25T09:35:00.003+05:30</published><updated>2011-04-26T12:11:20.696+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Why moving to Cloud?</title><content type='html'>Internet is everywhere and&amp;nbsp;literally&amp;nbsp;it is impossible to survive without internet. Moving to cloud is a smart decision I've made. I have all my documents, photos &amp;amp; projects on &lt;a href="http://db.tt/2fpKw7n"&gt;Dropbox &lt;/a&gt;and I have access to those with my Mac, Office PC and iPhone whenever,&amp;nbsp;wherever&amp;nbsp;required. But while I encourage my friends to move in to the cloud, there are some frequently asked questions. Have a look at them and my answers.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Question:&amp;nbsp;&lt;b&gt;What is the&amp;nbsp;guarantee&amp;nbsp;that my data wont be lost?&lt;/b&gt;&lt;br /&gt;Answer: Well, what is the&amp;nbsp;guarantee&amp;nbsp;that your hard disk wont break or your laptop wont get stolen?&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Question:&amp;nbsp;&lt;b&gt;Is my data secure?&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;Answer: Is your data secure today anyway? what happens if somebody steal your laptop or &amp;nbsp;hack to your computer. The best&amp;nbsp;practice&amp;nbsp;is not to save any of the confidential data on laptops or personal computers. (Credit Card, Bank account or Passwords)&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Question:&amp;nbsp;&lt;b&gt;But I need internet to access to cloud?&lt;/b&gt;&lt;br /&gt;Answer: You don't have to connect to internet 24/7 to access your data. For example &lt;a href="http://db.tt/2fpKw7n"&gt;www.dropbox.com&lt;/a&gt; provide an easy way to sync your local folders with&amp;nbsp;their&amp;nbsp;cloud service. So online or offline you will have access to your data.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Question:&amp;nbsp;&lt;b&gt;Why should I move to cloud?&lt;/b&gt;&lt;br /&gt;Answer:&lt;br /&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;how many times you wanted to send your resume or a document but had to wait until you go home and access your home PC?&amp;nbsp;&lt;/li&gt;&lt;li&gt;how many times do you take backups or photos or docs?&lt;/li&gt;&lt;li&gt;what happens if your hard disk burnt or someone steal your laptop?&lt;/li&gt;&lt;li&gt;what if you want to share a document with your friend and work with him/her&amp;nbsp;collaboratively?&lt;/li&gt;&lt;li&gt;how much hassle to go through if you want to re-install your PC?&lt;/li&gt;&lt;li&gt;how hard is to find a photo of your last vacation?&lt;/li&gt;&lt;li&gt;how many times do you send emails just to access a file on the go?&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;By answering to the above questions, if you already feel unsecured or unorganized then move in to &lt;b&gt;The Cloud.&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="mailto:ludmal@gmail.com"&gt;Email me&lt;/a&gt; if you need any&amp;nbsp;assistance&amp;nbsp;or&amp;nbsp;consultation&amp;nbsp;on how to setup your working&amp;nbsp;environment.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Read my other relevant posts;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ludmal.net/2010/11/anywhere-anytime-on-any-device.html"&gt;http://www.ludmal.net/2010/11/anywhere-anytime-on-any-device.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ludmal.net/2010/12/how-to-manage-your-code.html"&gt;http://www.ludmal.net/2010/12/how-to-manage-your-code.html&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ludmal.net/2010/12/transformation.html"&gt;http://www.ludmal.net/2010/12/transformation.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Install drop box -&amp;nbsp;http://db.tt/2fpKw7n&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7138375642099986256?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7138375642099986256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7138375642099986256&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7138375642099986256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7138375642099986256'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/04/why-moving-to-cloud.html' title='Why moving to Cloud?'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-530350954870408504</id><published>2011-04-07T06:35:00.000+05:30</published><updated>2011-04-07T06:35:05.061+05:30</updated><title type='text'>Blogger Views</title><content type='html'>Have a look at new blogger views:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.ludmal.net/view/snapshot"&gt;http://www.ludmal.net/view/snapshot&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can change the views from the top left corner.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-530350954870408504?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/530350954870408504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=530350954870408504&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/530350954870408504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/530350954870408504'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/04/blogger-views.html' title='Blogger Views'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5869858227538613470</id><published>2011-04-07T06:33:00.002+05:30</published><updated>2011-04-07T06:33:55.932+05:30</updated><title type='text'>Download Google SEO Guide</title><content type='html'>Download the Google's SEO Guide :&amp;nbsp;&lt;a href="http://googlewebmastercentral.blogspot.com/2010/09/seo-starter-guide-updated.html"&gt;http://googlewebmastercentral.blogspot.com/2010/09/seo-starter-guide-updated.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5869858227538613470?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5869858227538613470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5869858227538613470&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5869858227538613470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5869858227538613470'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/04/download-google-seo-guide.html' title='Download Google SEO Guide'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4660338942475037974</id><published>2011-03-08T12:16:00.000+05:30</published><updated>2011-03-08T12:16:16.535+05:30</updated><title type='text'>Few ways to improve Visual Studio Performance.</title><content type='html'>Few ways to improve Visual Studio Performance.&lt;br /&gt;&lt;br /&gt;1. Switch off Auto Recovery. &lt;b&gt;Tools &amp;gt; Options &amp;gt; Environment &amp;gt; Auto Recovery&lt;/b&gt;&lt;br /&gt;2. Show empty environment at start up. &lt;b&gt;Tools &amp;gt; Options &amp;gt; Environment &amp;gt; Start up&lt;/b&gt;&lt;br /&gt;3. Disable HTML Validations. &lt;b&gt;Tools &amp;gt; Text Editor &amp;gt; HTML &amp;gt; Validation&lt;/b&gt;&amp;nbsp;(clear Show Errors check box)&lt;br /&gt;4. Switch off Animate environment tools. &lt;b&gt;Tools &amp;gt; Environment &amp;gt; General&lt;/b&gt;&lt;br /&gt;5. Turn off Track changes.&lt;b&gt; Tools &amp;gt; Text Editor&lt;/b&gt; ( clear Track Changes check box)&lt;br /&gt;6. Uninstall startup plugins. (if you install any)&lt;br /&gt;7. For C#, disable Navigation bar. &lt;b&gt;Tools &amp;gt; Text Editor &amp;gt; C#&lt;/b&gt; (clear Navigation bar check box)&lt;br /&gt;8. Set HTML Designer to Source View. &lt;b&gt;Tools &amp;gt; HTML Designer&lt;/b&gt;&lt;br /&gt;9. Start Visual Studio from Command prompt. &lt;b&gt;Start &amp;gt; Run &amp;gt; then type “devenv”&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4660338942475037974?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4660338942475037974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4660338942475037974&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4660338942475037974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4660338942475037974'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/03/few-ways-to-improve-visual-studio.html' title='Few ways to improve Visual Studio Performance.'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3551787233216282753</id><published>2011-02-18T11:20:00.000+05:30</published><updated>2011-02-18T11:20:44.655+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>2 Week Challenge</title><content type='html'>It’s been a while that I haven’t posted anything. Busy work life is my usual BS. Anyway, the first month of the year was very tranquil and I was away from my computers most of the time. My New Year resolution was to take things easy, but realized without challenges life would be bored. &lt;br /&gt;&lt;br /&gt;So I decided to start a 2 week challenge. I wanted to keep it short and simple initially, and then to come with more difficult and interesting challenges as I progress. Let see how it goes.&lt;br /&gt;&lt;br /&gt;You can also start your own challenge for 2 weeks—if not for a month. For example learning a new programming language or learn to play guitar would be interesting.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3551787233216282753?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3551787233216282753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3551787233216282753&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3551787233216282753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3551787233216282753'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2011/02/2-week-challenge.html' title='2 Week Challenge'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2426737742814529740</id><published>2010-12-30T07:26:00.000+05:30</published><updated>2010-12-30T07:26:59.218+05:30</updated><title type='text'>API Design</title><content type='html'>My last technical presentation for the year 2010. The tech talk is about How to design API's. Please find the presentation slides and hope this helps.&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="342" src="https://docs.google.com/present/embed?id=dcjvpd4d_1462cz6csch" width="410"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2426737742814529740?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2426737742814529740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2426737742814529740&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2426737742814529740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2426737742814529740'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/12/api-design.html' title='API Design'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8005950479145724275</id><published>2010-12-22T20:27:00.003+05:30</published><updated>2010-12-23T07:09:39.943+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>How to manage your Code Repository</title><content type='html'>Managing a personal code repository is not that easy, especially when you have projects of all different technologies. I currently develop applications in Java, Apple &amp;amp; Microsoft. Being a Microsoft guy for a decade I recently moved into other development areas which is pretty interesting and keeps me very busy. &lt;br /&gt;&lt;br /&gt;All so often I get this question -- how do I manage my code repository. So thought of writing a small post which might help someone. &lt;br /&gt;&lt;br /&gt;I use &lt;a href="http://code.google.com/"&gt;code.google.com&lt;/a&gt; to manage all my projects. The projects I host in &lt;a href="http://code.google.com/"&gt;code.google.com&lt;/a&gt; are my personal projects and I really don’t mind sharing it with public. I use SVN as my source control system. For developers who do not want public access to their source code can use &lt;a href="http://www.github.com/"&gt;GITHUB&lt;/a&gt; paid version which is as&amp;nbsp;similar&amp;nbsp;to&amp;nbsp;&lt;a href="http://code.google.com/"&gt;code.google.com&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Following is my main Project folder hierarchy;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;APPLE&lt;/b&gt;&lt;br /&gt;---- IPHONE&lt;br /&gt;---- IPAD&lt;br /&gt;---- MAC&lt;br /&gt;&lt;b&gt;GOOGLE&lt;/b&gt;&lt;br /&gt;---- EXTENSIONS&lt;br /&gt;---- APP_ENGINE&lt;br /&gt;&lt;b&gt;MICROSOFT&lt;/b&gt;&lt;br /&gt;---- XWT&lt;br /&gt;---- ASP.NET&lt;br /&gt;---- WPF&lt;br /&gt;---- WIN&lt;br /&gt;&lt;br /&gt;All of the above projects source are managed by &lt;a href="http://code.google.com/"&gt;code.google.com&lt;/a&gt;. Since I develop for both Apple and Microsoft; I have to use both Mac and Windows OS also three different Development IDE’s -- Visual Studio, XCode and Eclipse.&lt;br /&gt;&lt;br /&gt;I use &lt;a href="http://ankhsvn.open.collab.net/"&gt;Ankh SVN&lt;/a&gt; plugh-in and &lt;a href="http://tortoisesvn.net/downloads.html"&gt;Tortoise SVN&lt;/a&gt; for Visual Studio which is pretty awesome. For XCode and Eclipse I use &lt;a href="http://versionsapp.com/"&gt;Versions&lt;/a&gt;. All of the above folders are sync with my&amp;nbsp;&lt;a href="http://www.dropbox.com/"&gt;DropBox&lt;/a&gt;&amp;nbsp;private folder, so that even if I don’t have my development PC--I can still continue my work from any PC. Also I have mirrored my local Project folder to a Portable HD. The following diagram will show you the overall setup. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_vO7DzMoDJsM/TRIMgSHoimI/AAAAAAAACLM/9QphMyDQ1jA/s1600/photo+%25288%2529.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="163" src="http://3.bp.blogspot.com/_vO7DzMoDJsM/TRIMgSHoimI/AAAAAAAACLM/9QphMyDQ1jA/s320/photo+%25288%2529.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I use &lt;a href="http://mozy.com/"&gt;Mozy.com&lt;/a&gt; for my weekly project backups, so my Projects are well secured from any disaster. I have pretty much the same setup for my other stuff as well. For example, Artworks, Video projects, Scanned docs and so forth. &lt;br /&gt;&lt;br /&gt;The main idea behind this setup is to continue my work regardless of where I am. And by mirroring my code with multiple sources guarantee my code safety. &lt;br /&gt;&lt;br /&gt;Hope this helps!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8005950479145724275?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8005950479145724275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8005950479145724275&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8005950479145724275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8005950479145724275'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/12/how-to-manage-your-code.html' title='How to manage your Code Repository'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vO7DzMoDJsM/TRIMgSHoimI/AAAAAAAACLM/9QphMyDQ1jA/s72-c/photo+%25288%2529.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-9048754545144588218</id><published>2010-12-16T22:40:00.001+05:30</published><updated>2010-12-16T22:44:04.657+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Software Design Principles &amp; Patterns</title><content type='html'>Recently&amp;nbsp;I've done a&amp;nbsp;training&amp;nbsp;session to my office&amp;nbsp;colleagues&amp;nbsp;on Software Design&amp;nbsp;Principles&amp;nbsp;&amp;amp; Patterns. I discussed on the most important design principles and design patterns. Hope it will be useful to you as well.&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="451" src="https://docs.google.com/present/embed?id=dcjvpd4d_205dhx3s8c4&amp;amp;size=m" width="555"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-9048754545144588218?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/9048754545144588218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=9048754545144588218&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9048754545144588218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9048754545144588218'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/12/software-design-principles-patterns.html' title='Software Design Principles &amp; Patterns'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3317565586934899177</id><published>2010-12-15T07:50:00.004+05:30</published><updated>2010-12-15T08:03:43.278+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Gmail – the best example for iteration perfection</title><content type='html'>When Gmail initially released back in 2004, it was just a simple email system. By giving more storage and Ajax request processing technique made Gmail to gain attention from the users. But Gmail lack most of the functionalities which other email systems provided back then, such as folders or labels.&lt;br /&gt;&lt;br /&gt;But today, Gmail is probably the best Web Application on the internet. Throughout the years Google engineers made the Gmail perfect by adding features— at least every month.&lt;br /&gt;&lt;br /&gt;As developers, we typically experience the “Add More Features” syndrome. Rather than releasing to the market quickly we keep adding and adding more features to our app, eventually we loose the interest and the product was never released.&lt;br /&gt;&lt;br /&gt;Release your app quickly to the market and also release features more often. Through development and release iterations makes your app perfect overtime.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3317565586934899177?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3317565586934899177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3317565586934899177&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3317565586934899177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3317565586934899177'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/12/gmail-best-example-for-iteration.html' title='Gmail – the best example for iteration perfection'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4378048331430169633</id><published>2010-12-08T08:16:00.000+05:30</published><updated>2010-12-08T08:16:14.580+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>iTunes Connect holiday shutdown</title><content type='html'>App Store submissions will be closed from 23 December to 29 December. Following is the official email from Apple. Also this only applies to &lt;b&gt;Apple iOS developers&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;iTunes Connect will be temporarily shut down from Thursday, December 23 to Tuesday, December 28 for the winter holidays. Access will resume on Wednesday, December 29.&lt;/blockquote&gt;&lt;blockquote&gt;During this shutdown, iTunes Connect will be unavailable. In addition, app releases and pricing changes which are scheduled to take place during the shutdown will be handled as follows:&lt;/blockquote&gt;&lt;blockquote&gt;All releases will not appear in the App Store until Wednesday, December 29. This includes apps scheduled to appear on the App Store for the first time as well as updates to existing apps.&lt;/blockquote&gt;&lt;blockquote&gt;Pricing changes will cause the app to become unavailable for purchase until Wednesday, December 29, at which point the app will become available at the new price. Please check to ensure you have not scheduled any price changes during this time.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4378048331430169633?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4378048331430169633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4378048331430169633&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4378048331430169633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4378048331430169633'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/12/itunes-connect-holiday-shutdown.html' title='iTunes Connect holiday shutdown'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4285947081434004297</id><published>2010-12-08T07:55:00.003+05:30</published><updated>2010-12-08T07:57:40.313+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Transformation</title><content type='html'>I still remember the days we wrote software and distributed in Floppy diskettes or CD’s. Back in those days web was merely bunch of static pages which most of the companies used to publish their company profiles.&lt;br /&gt;&lt;br /&gt;But in the past few years’ things have changed immensely. People are connected to internet than ever before—we are in the process of transforming to a new technology era.&lt;br /&gt;&lt;br /&gt;What does this mean ;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;To Users :&lt;/b&gt;&lt;br /&gt;People are connected to their loved ones than ever before—Social Networking. They were able to access their personal data such as photos from anywhere in the world. &amp;nbsp;Their productivity software is no longer limited to their desktop PC.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;To Developers :&lt;/b&gt;&lt;br /&gt;Developers have huge opportunities through various platforms. They no longer have to waste time on marketing or distributing their software. Apple App store, Windows marketplace, Google App Engine &amp;amp; Chrome App store reaches millions of user’s everyday.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4285947081434004297?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4285947081434004297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4285947081434004297&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4285947081434004297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4285947081434004297'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/12/transformation.html' title='Transformation'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4854306712889069729</id><published>2010-11-29T18:58:00.003+05:30</published><updated>2010-12-08T07:57:24.319+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>The important of the Web browser</title><content type='html'>&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span lang="EN-US"&gt;I could estimate that 90 percent of everything I do on a computer is now in a web&amp;nbsp;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-color: #ffff88; background-image: initial; background-origin: initial; color: #222222;"&gt;browser&lt;/span&gt;. Coding is the only thing I don’t do using the&amp;nbsp;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-color: #ffff88; background-image: initial; background-origin: initial; color: #222222;"&gt;browser&lt;/span&gt;. But for an example, my wife only uses the Web&amp;nbsp;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-color: #ffff88; background-image: initial; background-origin: initial; color: #222222;"&gt;browser&lt;/span&gt;, and she’s a typical everyday computer user.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span lang="EN-US"&gt;Web browse is the mostly used program in the recent years with the internet evolution and it is the most important software program of all. Since the focus has been on to the&amp;nbsp;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-color: #ffff88; background-image: initial; background-origin: initial; color: #222222;"&gt;Browser&lt;/span&gt;—Google has made a wise decision to release a Computer Operating System (OS) which only focuses on the web&amp;nbsp;&lt;span class="il" style="background-attachment: initial; background-clip: initial; background-color: #ffff88; background-image: initial; background-origin: initial; color: #222222;"&gt;browser&lt;/span&gt;. Most probably you can see an early preview of their OS in next few weeks.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span lang="EN-US"&gt;So it's time now to seriously think about the cloud computing.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4854306712889069729?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4854306712889069729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4854306712889069729&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4854306712889069729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4854306712889069729'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/11/important-of-web-browser.html' title='The important of the Web browser'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5503988116758402881</id><published>2010-11-25T07:26:00.000+05:30</published><updated>2010-11-25T07:26:09.013+05:30</updated><title type='text'>Get Color from Hex values in Silverlight</title><content type='html'>Since Silverlight does not support System.Drawing.ColorTranslator the following method can be used to convert Html Color values to a Color object.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;public static Color GetColor(string htmlColor) {&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Color.FromArgb(255,&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Convert.ToByte(htmlColor.Substring(1, 2), 16),&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;Convert.ToByte(htmlColor.Substring(3, 2), 16),&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;Convert.ToByte(htmlColor.Substring(5, 2), 16)&lt;br /&gt;&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; &amp;nbsp;}&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5503988116758402881?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5503988116758402881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5503988116758402881&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5503988116758402881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5503988116758402881'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/11/get-color-from-hex-values-in.html' title='Get Color from Hex values in Silverlight'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7469260029429109761</id><published>2010-11-22T06:10:00.000+05:30</published><updated>2010-11-22T06:10:15.519+05:30</updated><title type='text'>20 Things I learned about...</title><content type='html'>Very good read -- &lt;a href="http://www.20thingsilearned.com/"&gt;20 things I learned about Browsers and the Web&lt;/a&gt; by Google.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7469260029429109761?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7469260029429109761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7469260029429109761&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7469260029429109761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7469260029429109761'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/11/20-things-i-learned-about.html' title='20 Things I learned about...'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4905563553914260015</id><published>2010-11-18T14:58:00.000+05:30</published><updated>2010-11-18T14:58:08.957+05:30</updated><title type='text'>Anywhere, anytime on any device – documents</title><content type='html'>It was Microsoft’s vision to connect people—anywhere, anytime on any device. However after a decade of their .Net vision, people are connected to each other more than ever—primarily using Social Networks (i.e. Facebook, Twitter etc).&lt;br /&gt;&lt;br /&gt;But this post isn’t about Social Network. It’s about taking your documents online or to the cloud, where you can access them from anywhere, anytime on any device. This is the first in a series of posts on how to take your personal computer to the cloud, such as photos, videos, projects, emails etc.&lt;br /&gt;&lt;br /&gt;Generally I use four computing devices;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Office PC&lt;/li&gt;&lt;li&gt;Home PC&lt;/li&gt;&lt;li&gt;Personal Notebook&lt;/li&gt;&lt;li&gt;Mobile (iPhone)&lt;/li&gt;&lt;/ul&gt;I write articles, books and business proposals and sometimes I have to work on them regardless of where I am. For example, I could write an article at home and would like to proof read it while I’m travelling. So I use the following setup (please refer to the following diagram) within my four computing devices. More importantly I’m completely independent from those devices, which means I have access to any of my documents from anywhere.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_vO7DzMoDJsM/TOTxVA0uSeI/AAAAAAAACKc/UD8e1A1csAc/s1600/taking_documents_online.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="285" src="http://4.bp.blogspot.com/_vO7DzMoDJsM/TOTxVA0uSeI/AAAAAAAACKc/UD8e1A1csAc/s400/taking_documents_online.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;Steps to setup your devices;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Download and install Dropbox(&lt;a href="http://www.dropbox.com/"&gt;http://www.dropbox.com&lt;/a&gt;) in your Home, Office and Personal computers. Also download Dropbox for iPhone.&lt;/li&gt;&lt;li&gt;Download and install OffiSync (&lt;a href="http://www.offisync.com/"&gt;http://www.offisync.com&lt;/a&gt;) in your Home, Office and Personal computers.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Register for Google account (if you don’t have any), this is to use Google docs for your documents.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Create document repository in DropBox’s Private folder—this is where you save your documents.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Let’s create a document and access it from anywhere.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Create MS word document and enter some text.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Save the document in DropBox’s Private folder.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Also save the same document to Google docs using OffiSync MS Word plug-in.&lt;/li&gt;&lt;li&gt;Now change your computers and browse the relevant folders and your document has been synced with all the computers (Office, Home and Personal).&lt;/li&gt;&lt;li&gt;Open Google docs in your iPhone and you can now edit the same document while you are travelling.&amp;nbsp;&lt;/li&gt;&lt;li&gt;More importantly you can access the same document from anywhere—you only required a computer with Internet access.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;I still &lt;b&gt;DO NOT&lt;/b&gt; save documents which contains Bank details or Passwords using this method. So I suggest you should do the same.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope this helps and stay tuned for the next post— Anywhere, anytime and on any device – Photos.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4905563553914260015?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4905563553914260015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4905563553914260015&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4905563553914260015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4905563553914260015'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/11/anywhere-anytime-on-any-device.html' title='Anywhere, anytime on any device – documents'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_vO7DzMoDJsM/TOTxVA0uSeI/AAAAAAAACKc/UD8e1A1csAc/s72-c/taking_documents_online.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3186892101876485685</id><published>2010-11-17T07:43:00.000+05:30</published><updated>2010-11-17T07:43:41.207+05:30</updated><title type='text'>Using Predicate to filter NSMutableArray</title><content type='html'>To filter NSMutableArray you could use Predicates in Objective-C. This will returns a new array which matches to the given predicate.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande', Geneva, Helvetica, Arial, sans-serif; font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;table style="background-color: #f1f5f9; border-bottom-color: rgb(199, 207, 213); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-left-color: rgb(199, 207, 213); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(199, 207, 213); border-right-style: solid; border-right-width: 1px; border-top-color: rgb(199, 207, 213); border-top-style: solid; border-top-width: 1px; padding-bottom: 4px; width: 982px;"&gt;&lt;tbody&gt;&lt;tr style="border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-bottom-width: 0px;"&gt;&lt;td scope="row" style="padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;&lt;pre style="color: #666666; font-size: 12px; line-height: 13px; margin-bottom: 0px; margin-left: 0.5em; margin-right: 0.333em; margin-top: -0.083em; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;NSMutableArray *list =&lt;/span&gt;&lt;span style="float: right; margin-right: 0.667em;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-bottom-width: 0px;"&gt;&lt;td scope="row" style="padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;&lt;pre style="color: #666666; font-size: 12px; line-height: 13px; margin-bottom: 0px; margin-left: 0.5em; margin-right: 0.333em; margin-top: -0.083em; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[NSMutableArray arrayWithObjects:@"Mark", @"Balmer", @"Bill", @"Steve", nil];&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-bottom-width: 0px;"&gt;&lt;td scope="row" style="padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;&lt;pre style="color: #666666; font-size: 12px; line-height: 13px; margin-bottom: 0px; margin-left: 0.5em; margin-right: 0.333em; margin-top: -0.083em; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;NSPredicate *listBPredicate = [NSPredicate predicateWithFormat:@"SELF beginswith[c] 'b'"];&lt;/span&gt;&lt;span style="float: right; margin-right: 0.667em;"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="border-bottom-color: rgb(255, 255, 255); border-bottom-style: solid; border-bottom-width: 0px;"&gt;&lt;td scope="row" style="padding-bottom: 0.5em; padding-left: 0.5em; padding-right: 0.5em; padding-top: 0.5em;"&gt;&lt;pre style="color: #666666; font-size: 12px; line-height: 13px; margin-bottom: 0px; margin-left: 0.5em; margin-right: 0.333em; margin-top: -0.083em; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;NSArray *namesBeginB = [list filteredArrayUsingPredicate:listBPredicate];&lt;/span&gt;&lt;/pre&gt;&lt;pre style="color: #666666; font-size: 12px; line-height: 13px; margin-bottom: 0px; margin-left: 0.5em; margin-right: 0.333em; margin-top: -0.083em; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="color: #666666; font-size: 12px; line-height: 13px; margin-bottom: 0px; margin-left: 0.5em; margin-right: 0.333em; margin-top: -0.083em; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: 'Lucida Grande', Geneva, Helvetica, Arial, sans-serif; font-size: medium; line-height: normal; white-space: normal;"&gt;&lt;pre style="color: #666666; font-size: 12px; line-height: 13px; margin-bottom: 0px; margin-left: 0.5em; margin-right: 0.333em; margin-top: -0.083em; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;NSPredicate *listContainsPredicate = [NSPredicate predicateWithFormat:@"SELF contains[c] 'e'"];&lt;/span&gt;&lt;/pre&gt;&lt;pre style="color: #666666; font-size: 12px; line-height: 13px; margin-bottom: 0px; margin-left: 0.5em; margin-right: 0.333em; margin-top: -0.083em; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre style="color: #666666; font-size: 12px; line-height: 13px; margin-bottom: 0px; margin-left: 0.5em; margin-right: 0.333em; margin-top: -0.083em; white-space: pre-wrap;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;NSArray *namesWithE = [list filterArrayUsingPredicate:listContainsPredicate];&lt;/span&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;listBPredicate&lt;/span&gt; will return names which starts in "b" and &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;listContainsPredicate&lt;/span&gt; will return all the names which has letter "e".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3186892101876485685?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3186892101876485685/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3186892101876485685&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3186892101876485685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3186892101876485685'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/11/using-predicate-to-filter.html' title='Using Predicate to filter NSMutableArray'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2183742093630374493</id><published>2010-11-15T19:55:00.001+05:30</published><updated>2010-11-15T19:58:08.022+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>How to save User preferences in iPhone app</title><content type='html'>Saving user preferences in iPhone app is fairly easy. It work as key/value pairs in&amp;nbsp;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;NSUserDefaults&amp;nbsp;&lt;/span&gt;object.&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;To save whether user prefers sounds on or off in your application you can do it as the following code block.&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #3f217c}span.s1 {color: #000000}span.s2 {color: #7340a3}span.s3 {color: #bf2e9d}span.s4 {color: #d62b24}&lt;/style&gt;   &lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s1"&gt;[[&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s2"&gt;NSUserDefaults&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s1"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;standardUserDefaults&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s1"&gt;] &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;setBool&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s1"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s3"&gt;YES&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s1"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;forKey&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s1"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s4"&gt;@"soundsOn"&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7340a3; font-family: Menlo; font-size: 12px;"&gt;&lt;span class="s1"&gt;];&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And to&amp;nbsp;retrieve&amp;nbsp;the sounds preferences value;&lt;br /&gt;&lt;br /&gt;&lt;title&gt;&lt;/title&gt;   &lt;style type="text/css"&gt;p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #3f217c}span.s1 {color: #bf2e9d}span.s2 {color: #000000}span.s3 {color: #7340a3}span.s4 {color: #d62b24}&lt;/style&gt;   &lt;br /&gt;&lt;div class="p1"&gt;&lt;span class="s1"&gt;BOOL&lt;/span&gt;&lt;span class="s2"&gt; soundsOn = [[&lt;/span&gt;&lt;span class="s3"&gt;NSUserDefaults&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;standardUserDefaults&lt;span class="s2"&gt;] &lt;/span&gt;boolForKey&lt;span class="s2"&gt;:&lt;/span&gt;&lt;span class="s4"&gt;@"soundsOn"&lt;/span&gt;&lt;span class="s2"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;title&gt;&lt;/title&gt;   &lt;style type="text/css"&gt;p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #7340a3}&lt;/style&gt;     &lt;title&gt;&lt;/title&gt;   &lt;style type="text/css"&gt;p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #7340a3}&lt;/style&gt;   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2183742093630374493?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2183742093630374493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2183742093630374493&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2183742093630374493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2183742093630374493'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/11/how-to-save-user-preferences-in-iphone.html' title='How to save User preferences in iPhone app'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2662447570349895168</id><published>2010-10-30T10:45:00.001+05:30</published><updated>2010-11-02T10:07:38.894+05:30</updated><title type='text'>iPhone keeps vibrating and no response</title><content type='html'>My iPhone&amp;nbsp;suddenly started vibrating for no reason and screen was shut down.&lt;br /&gt;&lt;br /&gt;Solution:&lt;br /&gt;Press and hold Lock and Home key for few seconds to reset.&lt;br /&gt;&lt;br /&gt;Reason:&lt;br /&gt;I have no idea why this happend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2662447570349895168?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2662447570349895168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2662447570349895168&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2662447570349895168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2662447570349895168'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/10/iphone-keeps-vibrating-and-no-response.html' title='iPhone keeps vibrating and no response'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5836797641190839988</id><published>2010-10-27T13:08:00.000+05:30</published><updated>2010-10-27T13:08:59.160+05:30</updated><title type='text'>Gmail like User message control in ASP.NET</title><content type='html'>&lt;i&gt;(Cross-posted on the &lt;a href="http://www.extensible-web.com/"&gt;Extensible-web&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;MessageControl&amp;nbsp;&lt;/b&gt;is an ASP.NET control which let you create user message like Gmail Application.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/1189481/Public_Attachments/gmail_usermessgaes.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://dl.dropbox.com/u/1189481/Public_Attachments/gmail_usermessgaes.PNG" style="cursor: move;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;This control is part of the XWT toolkit. Please&amp;nbsp;&lt;a href="http://code.google.com/p/extensible-web-toolkit/downloads/list"&gt;download&amp;nbsp;&lt;/a&gt;and read the&amp;nbsp;&lt;a href="http://code.google.com/p/extensible-web-toolkit/wiki/MessageControl"&gt;MessageControl&lt;/a&gt;.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Also read the &amp;nbsp;Code Project article about MessageControl at the following location.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;a href="http://www.codeproject.com/Tips/121974/Gmail-Style-User-Message-Control.aspx"&gt;http://www.codeproject.com/Tips/121974/Gmail-Style-User-Message-Control.aspx&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5836797641190839988?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5836797641190839988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5836797641190839988&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5836797641190839988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5836797641190839988'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/10/gmail-like-user-message-control-in.html' title='Gmail like User message control in ASP.NET'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-1328314282231184489</id><published>2010-10-22T21:52:00.001+05:30</published><updated>2010-10-25T06:30:27.619+05:30</updated><title type='text'>PageManager control</title><content type='html'>I have written a simple article about my XWT toolkit. Please read through and download the samples.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/KB/webforms/aspnet-pagemanager.aspx"&gt;http://www.codeproject.com/KB/webforms/aspnet-pagemanager.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-1328314282231184489?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/1328314282231184489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=1328314282231184489&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1328314282231184489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1328314282231184489'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/10/pagemanager-control.html' title='PageManager control'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-6753216391655347459</id><published>2010-10-20T17:47:00.000+05:30</published><updated>2010-10-20T17:47:31.523+05:30</updated><title type='text'>jQuery 1.4.3 released</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, sans-serif; font-size: 10.8333px; line-height: 16px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;(Cross-posted on the&lt;a href="http://www.extensible-web.com/" style="color: #336699;"&gt;&amp;nbsp;Extensible-web&lt;/a&gt;)&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, sans-serif; font-size: 10.8333px; line-height: 16px;"&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;jQuery 1.4.3 final version is released. There are some significant enhancement has been done for the entire library, mainly in the performance. Following are some of the new features of jQuery 1.4.3&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;CSS Module Rewrite&lt;/b&gt;&amp;nbsp;– Entire CSS Module has been re-written for extensibilit. You can write custom CSS plug-in now to extend the .css() and .animate() functions.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Data&lt;/b&gt;&amp;nbsp;– There are some enhancement on this area as well. HTML 5 data-attributes, JavaScript object and Events are included in those enhancements.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Traversing&lt;/b&gt;&amp;nbsp;- The performance of nearly all the major traversal methods has been drastically improved. For example .closest(), .filter() (and as a result, .is()), and .find() have all been greatly improved.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Ajax&lt;/b&gt;&amp;nbsp;- A few new Ajax features have added. This should be advantage for plugin authors.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Events&lt;/b&gt;&amp;nbsp;- A convenient shortcut for binding a function that does nothing but return false (preventing the default action and stopping the event bubbling).&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Effects&lt;/b&gt;&amp;nbsp;- All animate methods now support easing. A new property that exposes the rate at which all effects fire (in milliseconds – defaults to 13) also added.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;There are much more&amp;nbsp;enhancements for the new jQuery library. You can read in more detail from the following URL.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;a href="http://blog.jquery.com/2010/10/16/jquery-143-released/"&gt;http://blog.jquery.com/2010/10/16/jquery-143-released/&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;a href="http://code.jquery.com/jquery-1.4.3.min.js"&gt;Download jQuery 1.4.3&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-6753216391655347459?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/6753216391655347459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=6753216391655347459&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6753216391655347459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6753216391655347459'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/10/jquery-143-released.html' title='jQuery 1.4.3 released'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2490283780177298938</id><published>2010-10-15T12:53:00.001+05:30</published><updated>2010-10-15T12:53:41.388+05:30</updated><title type='text'>Extensible-Web Toolkit(XWT) RC1 released</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Extensible-Web Toolkit(XWT) RC1 released. The toolkit provides simple web controls, framework library for ASP.NET development and built-in integration for jQuery. It will also provide some useful utilities for Web Application developers.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Please&amp;nbsp;&lt;a href="http://code.google.com/p/extensible-web-toolkit/"&gt;download the XWT Toolkit&lt;/a&gt;. Also read the&amp;nbsp;&lt;a href="http://code.google.com/p/extensible-web-toolkit/wiki/xwtsetup"&gt;Get Started Guide&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2490283780177298938?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2490283780177298938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2490283780177298938&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2490283780177298938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2490283780177298938'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/10/extensible-web-toolkitxwt-rc1-released.html' title='Extensible-Web Toolkit(XWT) RC1 released'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8929591456455577056</id><published>2010-10-15T06:14:00.001+05:30</published><updated>2010-10-15T06:16:01.798+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>How to create Chrome Notifications</title><content type='html'>&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;(Cross-posted on the&lt;a href="http://www.extensible-web.com/"&gt; Extensible-web&lt;/a&gt;)&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Chrome supports Webkitnotifications and Google has done a great job with their notifications for Gmail. This example shoes how to create a recurring notification using JavaScript timer and webkitnotification object.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_vO7DzMoDJsM/TLbNAPaGAOI/AAAAAAAACJk/Yc3msYPowdw/s1600/chrome_notifications.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_vO7DzMoDJsM/TLbNAPaGAOI/AAAAAAAACJk/Yc3msYPowdw/s1600/chrome_notifications.PNG" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In order to create a notification the user must first allow notification in their browser. Click on “Allow notification” button in the ASP.NET sample and the permission will be granted.&lt;br /&gt;&lt;br /&gt;Following code block will show you how simple is to create a notification object and show it on browser.&lt;br /&gt;&lt;br /&gt;&lt;code&gt; notify = window.webkitNotifications.createNotification('iconUrl', 'Extensible-web latest article', 'http://www.extensible-web.com');&lt;/code&gt;&lt;br /&gt;&lt;code&gt;notify.show();&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dl.dropbox.com/u/1189481/Extensible-Web/ChromeNotification.zip"&gt;Download the full source code.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8929591456455577056?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8929591456455577056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8929591456455577056&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8929591456455577056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8929591456455577056'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/10/how-to-create-chrome-notifications.html' title='How to create Chrome Notifications'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vO7DzMoDJsM/TLbNAPaGAOI/AAAAAAAACJk/Yc3msYPowdw/s72-c/chrome_notifications.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2145908325508275445</id><published>2010-09-29T06:52:00.000+05:30</published><updated>2010-09-29T06:52:54.733+05:30</updated><title type='text'>SEO Starter Guide</title><content type='html'>It's been a while since I haven't posted anything useful. So here is a very good one for Web masters and developers.&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;a href="http://www.google.com/webmasters/docs/search-engine-optimization-starter-guide.pdf" style="color: #2244bb;" target="_blank"&gt;Download the Google's SEO guide here&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2145908325508275445?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2145908325508275445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2145908325508275445&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2145908325508275445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2145908325508275445'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/09/seo-starter-guide.html' title='SEO Starter Guide'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3079799383984910025</id><published>2010-08-13T19:57:00.000+05:30</published><updated>2010-08-13T19:57:43.200+05:30</updated><title type='text'>How to use Subversion with Eclipse</title><content type='html'>The following article is really helpful to configure subversion in Eclipse using Subclipse.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/opensource/library/os-ecl-subversion/"&gt;http://www.ibm.com/developerworks/opensource/library/os-ecl-subversion/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3079799383984910025?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3079799383984910025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3079799383984910025&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3079799383984910025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3079799383984910025'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/08/how-to-use-subversion-with-eclipse.html' title='How to use Subversion with Eclipse'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5747612464513878010</id><published>2010-07-27T20:04:00.000+05:30</published><updated>2010-07-27T20:04:53.359+05:30</updated><title type='text'>How to downgrade VS Solution</title><content type='html'>To downgrade a Visual Studio solution, follow the steps below.&lt;br /&gt;&lt;br /&gt;1. First backup the &lt;filename&gt;.sln file&lt;br /&gt;2. Open &lt;filename&gt;.sln file in Notepad&lt;br /&gt;3. Modify the &lt;b&gt;Format Version&lt;/b&gt; and the &lt;b&gt;Visual Studio edition&lt;/b&gt; (i.e. 2008 or 2005) as shown in the following screen capture.&lt;br /&gt;&lt;/filename&gt;&lt;/filename&gt;&lt;br /&gt;&lt;filename&gt;&lt;filename&gt;4. Save and close.&amp;nbsp;&lt;/filename&gt;&lt;/filename&gt;&lt;br /&gt;&lt;filename&gt;&lt;filename&gt;&lt;br /&gt;&lt;/filename&gt;&lt;/filename&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://dl.dropbox.com/u/1189481/VS_downgrade.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="151" src="http://dl.dropbox.com/u/1189481/VS_downgrade.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;filename&gt;&lt;filename&gt;&lt;br /&gt;&lt;/filename&gt;&lt;/filename&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5747612464513878010?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5747612464513878010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5747612464513878010&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5747612464513878010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5747612464513878010'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/07/how-to-downgrade-vs-solution.html' title='How to downgrade VS Solution'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7447161964937778453</id><published>2010-07-25T09:17:00.002+05:30</published><updated>2010-07-25T09:20:14.948+05:30</updated><title type='text'>Read Sri Lanka news using this Chrome extension</title><content type='html'>I just created a Chrome Extension to read Sri Lanka news quickly. Please download and install. Its a very simple extension and I've reused some of the sample code. I will update the extension to be more useful in the future--all your comments are welcome. &lt;br /&gt;&lt;br /&gt;Get the extension from here:&lt;br /&gt;&lt;a href="https://chrome.google.com/extensions/detail/dipjohabhjlfockkahobnnppadhfibah?hl=en"&gt;https://chrome.google.com/extensions/detail/dipjohabhjlfockkahobnnppadhfibah?hl=en&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7447161964937778453?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://chrome.google.com/extensions/detail/dipjohabhjlfockkahobnnppadhfibah?hl=en' title='Read Sri Lanka news using this Chrome extension'/><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7447161964937778453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7447161964937778453&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7447161964937778453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7447161964937778453'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/07/sri-lanka-news-chrom-extension.html' title='Read Sri Lanka news using this Chrome extension'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3607698593666303135</id><published>2010-07-15T20:54:00.002+05:30</published><updated>2010-07-15T20:59:05.403+05:30</updated><title type='text'>DataReader vs DataSet</title><content type='html'>I've been quite frequently asked by the junior developers about the DataReader and DataSets -- so here it is.&lt;br /&gt;&lt;br /&gt;Use &lt;b&gt;DataReader&lt;/b&gt; For read-only data. For example, to bind custom object collection the ideal option is the DataReader. It is much faster than the DataSet.&lt;br /&gt;&lt;br /&gt;Use &lt;b&gt;DataSet&lt;/b&gt; to work on disconnected data. For example, to perform CRUD operations in disconnect like mode use DataSets.&lt;br /&gt;&lt;br /&gt;I have written a performance test app for DataReader and DataSet. &lt;a href="http://dl.dropbox.com/u/1189481/DataReaderVsDataSet.rar"&gt;Download&lt;/a&gt; the code. Also I have written/discussed about the DataSets and Custom Collections half decade ago--&lt;a href="http://www.ludmal.net/2005/05/datasets-vs-collections.html"&gt;http://www.ludmal.net/2005/05/datasets-vs-collections.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Also download the Microsoft Application Architecture Guide.&lt;br /&gt;&lt;a href="http://apparchguide.codeplex.com/"&gt;http://apparchguide.codeplex.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3607698593666303135?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3607698593666303135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3607698593666303135&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3607698593666303135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3607698593666303135'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/07/datareader-vs-dataset.html' title='DataReader vs DataSet'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-9090623883454382816</id><published>2010-07-15T20:10:00.005+05:30</published><updated>2010-07-15T20:15:14.752+05:30</updated><title type='text'>Handling keypress event using jQuery</title><content type='html'>&lt;span class="Apple-style-span" style="color: #333333; font-family: Arial, sans-serif; font-size: 10.8333px; line-height: 16px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 9.02775px; font-weight: normal;"&gt;&lt;i&gt;(Cross-posted from the&amp;nbsp;&lt;a href="http://www.extensible-web.com/" style="color: #336699;"&gt;Extensible-web.com blog&lt;/a&gt;&lt;/i&gt;&lt;i&gt;)&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: arial, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; line-height: 19px;"&gt;Handling keypress event using jQuery is fairly easy. &lt;a href="http://dl.dropbox.com/u/1189481/JQueryKeyboard.rar"&gt;Download&lt;/a&gt; the sample code.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-9090623883454382816?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/9090623883454382816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=9090623883454382816&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9090623883454382816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9090623883454382816'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/07/handling-keypress-event-using-jquery.html' title='Handling keypress event using jQuery'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4628132931851117474</id><published>2010-07-13T20:48:00.001+05:30</published><updated>2010-07-13T20:49:55.662+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Objective-C'/><title type='text'>missing sentinel in function call</title><content type='html'>Quick Tip :&lt;br /&gt;If you're getting "missing sentinel in function call" error while compiling objective-c code, check whether you terminate the array with&amp;nbsp;&lt;b&gt;nil &lt;/b&gt;at the end of the array declaration.&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;feelings = [[NSArray alloc]initWithObjects: @"awesome",@"sad", @"happy","confused",@"angry", &lt;b&gt;&lt;span class="Apple-style-span" style="color: #38761d;"&gt;nil&lt;/span&gt;&lt;/b&gt;];&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4628132931851117474?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4628132931851117474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4628132931851117474&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4628132931851117474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4628132931851117474'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/07/missing-sentinel-in-function-call.html' title='missing sentinel in function call'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-9155324324691054098</id><published>2010-07-06T19:53:00.002+05:30</published><updated>2010-07-06T19:57:31.143+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Using JQuery in your ASP.NET application.</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 10.8333px; font-weight: normal;"&gt;&lt;i&gt;(Cross-posted from the&amp;nbsp;&lt;a href="http://www.extensible-web.com/"&gt;Extensible-web.com blog&lt;/a&gt;&lt;/i&gt;&lt;i&gt;)&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 10.8333px; font-weight: normal;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;What is JQuery ?&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Most of the developers might already know what JQuery is. But for those who don’t, here it is. JQuery is a JavaScript lightweight library which is easy to use for JavaScript functions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;JQuery is very easy to learn and all you need to know its relevant methods and events. You can find the JQyery API reference&amp;nbsp;&lt;a href="http://docs.jquery.com/Main_Page"&gt;here&lt;/a&gt;&amp;nbsp;and you can also find some samples.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;How can we use JQuery in ASP.NET application?&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Real easy—if you’re creating ASP.NET app using Visual Studio 2010, then the relevant script files are already included.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;For earlier versions of Visual Studio, you need to download the minified version of JQuery library from&amp;nbsp;&lt;a href="http://jquery.com/"&gt;here&lt;/a&gt;&amp;nbsp;and add the file to your project directory. Include the file as script tags in the pages, which requires JQuery.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;a href="http://dl.dropbox.com/u/1189481/Public_Attachments/Samples_JQuery.rar"&gt;Download the sample ASP.NET application with basic JQuery methods.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-9155324324691054098?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/9155324324691054098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=9155324324691054098&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9155324324691054098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9155324324691054098'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/07/using-jquery-in-your-aspnet-application.html' title='Using JQuery in your ASP.NET application.'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8359076440765484203</id><published>2010-07-01T19:58:00.001+05:30</published><updated>2010-07-01T19:58:59.227+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Extensible Web - New Blog for Faster Web Apps</title><content type='html'>&lt;p style="clear: both"&gt;Finally I decided to create a new blog for tools, tips and tutorials about web application performance and optimizing. Hopefully this blog will help web developers and web masters to fine tune and optimize their web applications.&lt;/p&gt;&lt;p style="clear: both"&gt;&lt;a href="http://extensibleweb.blogspot.com/" target="_blank"&gt;Extensible Web &lt;/a&gt;&lt;/p&gt;&lt;p style="clear: both"&gt;P.S. I will be cross posting the Extensible Web posts with this blog. &lt;/p&gt;&lt;br class='final-break' style='clear: both' /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8359076440765484203?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8359076440765484203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8359076440765484203&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8359076440765484203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8359076440765484203'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/07/extensible-web-new-blog-for-faster-web.html' title='Extensible Web - New Blog for Faster Web Apps'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8614190952182594328</id><published>2010-05-19T19:04:00.005+05:30</published><updated>2010-05-20T18:10:10.918+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>GWT &amp; Script#</title><content type='html'>I recently worked on a &lt;a href="http://code.google.com/webtoolkit/"&gt;Google GWT&lt;/a&gt; project and very impressed with it. One of the difficult task in web development is to work on browser quirks. GWT is completely eliminating that by compiling java code to javascript. It also supports ajax server communication using RPC, JSON &amp; XML. Microsoft's &lt;a href="http://www.nikhilk.net/"&gt;Nikhil Kothari&lt;/a&gt; also working on a similar project called &lt;a href="http://projects.nikhilk.net/ScriptSharp"&gt;Script#&lt;/a&gt; for asp.net.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8614190952182594328?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8614190952182594328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8614190952182594328&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8614190952182594328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8614190952182594328'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/05/gwt-script.html' title='GWT &amp; Script#'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4895900995380599602</id><published>2010-04-28T18:39:00.003+05:30</published><updated>2010-04-28T18:54:46.536+05:30</updated><title type='text'>ASP.NET 4 - New Features</title><content type='html'>I've been working with ASP.NET for 9 years now and still there are plenty to explore. Apart from my day to day (boring)coding, my focus has been into faster and SEO friendly web development and worked with jquery/json lately. &lt;br /&gt;&lt;br /&gt;Microsoft has released their latest version of ASP.NET 4 and obviously the focus also into faster and SEO friendly web. I have collected all the important new features and compiled into a simple article which was &lt;a href="http://www.simple-talk.com/dotnet/asp.net/asp.net-4.0-features/"&gt;published on Simple-Talk&lt;/a&gt;. Have a look at it and send me your comments. &lt;br /&gt;&lt;br /&gt;I'm working on a small booklet with comprehensive instructions to speed up your web applications and also developing a simple web toolkit which will help developers to easily integrate jQuery into their ASP.NET web applications. Both of them will be released soon, so stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4895900995380599602?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4895900995380599602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4895900995380599602&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4895900995380599602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4895900995380599602'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/04/aspnet-4-new-features.html' title='ASP.NET 4 - New Features'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3797843124132593721</id><published>2010-04-14T20:26:00.000+05:30</published><updated>2010-04-14T20:28:22.336+05:30</updated><title type='text'>Create your own story</title><content type='html'>Create your own story with Google Search. http://www.youtube.com/user/SearchStories&lt;br /&gt;&lt;br /&gt;&lt;object width='425' height='344'&gt;&lt;param name='movie' value='http://www.youtube.com/v/Z-DM3wYbuMg&amp;hl=en_US&amp;fs=1&amp;'&gt;&lt;/param&gt;&lt;param name='allowFullScreen' value='true'&gt;&lt;/param&gt;&lt;param name='allowscriptaccess' value='always'&gt;&lt;/param&gt;&lt;embed src='http://www.youtube.com/v/Z-DM3wYbuMg&amp;hl=en_US&amp;fs=1&amp;' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='425' height='344'&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3797843124132593721?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3797843124132593721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3797843124132593721&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3797843124132593721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3797843124132593721'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/04/create-your-own-story.html' title='Create your own story'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7530970169099540319</id><published>2010-04-13T16:32:00.001+05:30</published><updated>2010-04-13T16:33:42.933+05:30</updated><title type='text'>New Google Doc features</title><content type='html'>&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/6_hJ3R8jEZM&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/6_hJ3R8jEZM&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7530970169099540319?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7530970169099540319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7530970169099540319&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7530970169099540319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7530970169099540319'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/04/new-google-doc-features_13.html' title='New Google Doc features'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-813172115652996295</id><published>2010-03-15T21:02:00.003+05:30</published><updated>2010-03-15T21:09:15.136+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>New Google Logo ?</title><content type='html'>New Google Search page from Gmail - Click on the "Search Web" Button&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vO7DzMoDJsM/S55Tg0tbxnI/AAAAAAAABOg/O8usoIrhUy4/s1600-h/new_google_search.PNG"&gt;&lt;img src="http://3.bp.blogspot.com/_vO7DzMoDJsM/S55Tg0tbxnI/AAAAAAAABOg/O8usoIrhUy4/s320/new_google_search.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5448884422535005810" style="cursor: pointer; width: 320px; height: 200px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vO7DzMoDJsM/S55UkEtczmI/AAAAAAAABOo/OO55n_E52TE/s1600-h/new_google_search1.PNG"&gt;&lt;img src="http://1.bp.blogspot.com/_vO7DzMoDJsM/S55UkEtczmI/AAAAAAAABOo/OO55n_E52TE/s320/new_google_search1.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5448885577881276002" style="cursor: pointer; width: 320px; height: 200px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-813172115652996295?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/813172115652996295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=813172115652996295&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/813172115652996295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/813172115652996295'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/03/new-google-logo.html' title='New Google Logo ?'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vO7DzMoDJsM/S55Tg0tbxnI/AAAAAAAABOg/O8usoIrhUy4/s72-c/new_google_search.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3715817757920679372</id><published>2010-03-11T18:46:00.003+05:30</published><updated>2010-03-15T21:10:22.379+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Is Google too powerful ?</title><content type='html'>&lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style="mso-ansi-language: EN-US"&gt;How we eat, dress and work determines our quality of life. Similarly, how we use internet too will determine our behavior and the quality of life. Internet can be considered as a third generation utility—considering 1&lt;sup&gt;st&lt;/sup&gt; Gen is Air/Fire/Water and 2&lt;sup&gt;nd&lt;/sup&gt; Gen is Electricity. Living without Internet is almost inevitable. At least 80% of the internet users are using Google search. This ultimately gave them massive amount of valuable data. What do they do with it—Google is analyzing the entire world. They want to know everything about us.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style="mso-ansi-language: EN-US"&gt;This can be too much power to a singular source—Google. They were able to generate reports in minutes if not in hours almost on any activity in the world. . For example have look at this &lt;a href="http://www.google.org/flutrends/"&gt;flu trend worldwide&lt;/a&gt;. I spent 2/3 of my time on internet, and Google can easily generate a report on my behavior for the past 7-8 years—in-fact they can say which time period I’ve been most productive and vice versa. However, analyzing a single person’s behavior could be less important to them when they can analyze data for a entire country. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style="mso-ansi-language: EN-US"&gt;Is Google too powerful ?&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3715817757920679372?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3715817757920679372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3715817757920679372&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3715817757920679372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3715817757920679372'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/03/is-google-too-powerful.html' title='Is Google too powerful ?'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7443405007762091215</id><published>2010-03-10T19:53:00.006+05:30</published><updated>2010-03-15T21:10:34.102+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>The Fine Line</title><content type='html'>&lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style=" mso-ansi-language:EN-US;font-family:Arial;"&gt;Recently I’ve been thinking about the purpose of life and read some books from &lt;a href="http://en.wikipedia.org/wiki/Deepak_Chopra"&gt;Dr.Deepak Chopra&lt;/a&gt;. I might be too young to evaluate the process of life but for the past 30 years I have gained an immense amount of experience. I’m a quick learner in nature, and I guess that helped me to judge and evaluate the life at least to some extent. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Arial;"&gt;Most of us look at our past sheepishly. But it is never too late to identify, correct and move on. Life is a process—we should optimize the process as we move on. I’ve been analyzing my own activity in the past, positive or negative is secondary however. So I came up with the following diagram. A person’s activity is directly proportional to the outcome, regardless of its negative or positive behavior. For example more active people get frequent outcomes in life, and less active people get less outcomes. But we all need to find the fine line, although it’s arguable in some cases. These ideas are not representing any religion believes or teachings. It is merely an effort to understand the process of life and to optimize it so that we all can live it to the fullest. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Arial;"&gt;&lt;span class="Apple-style-span"  style=" line-height: normal; font-family:Georgia, serif;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vO7DzMoDJsM/S5evm8c6_JI/AAAAAAAABOY/kUzOiHdMg_o/s1600-h/blog.PNG"&gt;&lt;img src="http://3.bp.blogspot.com/_vO7DzMoDJsM/S5evm8c6_JI/AAAAAAAABOY/kUzOiHdMg_o/s320/blog.PNG" border="0" alt="" id="BLOGGER_PHOTO_ID_5447015357925227666" style="cursor: pointer; width: 320px; height: 187px; " /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style=" mso-ansi-language:EN-US;font-family:Arial;"&gt;For people who think this is irrelevant or just a waste of time—please ignore, but for others please find the following references. What is exciting in life if you do not explore.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="mso-ansi-language:EN-US;font-family:Arial;"&gt;Reference:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;i style="mso-bidi-font-style: normal"&gt;&lt;span lang="EN-AU"   style="mso-bidi-font-weight: bold;font-family:Arial;color:black;"&gt;&lt;a href="http://books.google.com/books?id=k4GUfEdP3vAC&amp;amp;printsec=frontcover&amp;amp;dq=deepak+chopra&amp;amp;ei=XquXS6adJIaYlQTLj73DCQ&amp;amp;cd=1#v=onepage&amp;amp;q=&amp;amp;f=false"&gt;The seven spiritual laws of success&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span class="apple-style-span"&gt;&lt;i style="mso-bidi-font-style: normal"&gt;&lt;span lang="EN-AU"   style="mso-bidi-font-weight: bold;font-family:Arial;color:black;"&gt;&lt;a href="http://books.google.com/books?id=k4GUfEdP3vAC&amp;amp;printsec=frontcover&amp;amp;dq=deepak+chopra&amp;amp;ei=XquXS6adJIaYlQTLj73DCQ&amp;amp;cd=1#v=onepage&amp;amp;q=&amp;amp;f=false"&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-style: normal; "&gt;&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="mso-ansi-language:EN-US;font-family:Arial;"&gt;&lt;a href="http://books.google.com/books?id=PuPQAAAACAAJ&amp;amp;dq=deepak+chopra&amp;amp;ei=XquXS6adJIaYlQTLj73DCQ&amp;amp;cd=3"&gt;Life After death: the burden of proof.&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="mso-ansi-language:EN-US;font-family:Arial;"&gt;&lt;a href="http://books.google.com/books?id=bZxkXQxxX98C&amp;amp;q=deepak+chopra&amp;amp;dq=deepak+chopra&amp;amp;ei=XquXS6adJIaYlQTLj73DCQ&amp;amp;cd=5"&gt;Quantum healing: exploring the frontiers of mind/body medicine&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="mso-ansi-language:EN-US;font-family:Arial;"&gt;&lt;a href="http://books.google.com/books?id=aSknAQAACAAJ&amp;amp;dq=deepak+chopra&amp;amp;ei=XquXS6adJIaYlQTLj73DCQ&amp;amp;cd=8"&gt;Buddha: A story of enlightenment.&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7443405007762091215?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7443405007762091215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7443405007762091215&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7443405007762091215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7443405007762091215'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/03/fine-line.html' title='The Fine Line'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vO7DzMoDJsM/S5evm8c6_JI/AAAAAAAABOY/kUzOiHdMg_o/s72-c/blog.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7630834594724189362</id><published>2010-02-18T19:20:00.004+05:30</published><updated>2010-03-15T21:10:47.104+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Buzz</title><content type='html'>I've been using Google Buzz quite frequently and I'm very impressed with it. Since I'm a big fan of Gmail, integrating buzz with Gmail is a smart move from Google. Follow me on Google Buzz if you're interested.&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.google.com/profiles/ludmal"&gt;http://www.google.com/profiles/ludmal&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.google.com/profiles/ludmal"&gt;&lt;/a&gt;  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7630834594724189362?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7630834594724189362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7630834594724189362&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7630834594724189362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7630834594724189362'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/02/google-buzz.html' title='Google Buzz'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-131684305543436866</id><published>2010-02-10T21:45:00.003+05:30</published><updated>2010-03-15T21:11:01.934+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Why Unrealistic Goals are better than Realistic Goals?</title><content type='html'>&lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style=" line-height:150%;font-family:Arial;font-size:11.0pt;color:black;"&gt;It is first quarter of the year and goal setting is imminent for most of us. Most people tend to set the possible and realistic goals for the whole year. Why not setting Unrealistic goals quarterly—sounds impossible?&lt;/span&gt;&lt;span style="font-family:Arial;color:black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style=" line-height:150%;font-family:Arial;font-size:11.0pt;color:black;"&gt;&lt;span class="Apple-style-span"   style=" line-height: 24px;  font-family:Georgia, serif;font-size:16px;"&gt;&lt;span style=" line-height:150%;font-family:Arial;font-size:11.0pt;color:black;"&gt;The importance of goal setting is always considered as a successful strategy for personal development. Accomplishments of goals are arguable and should discuss in separate thread however. This is a merely an effort to illustrate which is more important—Realistic Goals or Unrealistic &lt;/span&gt;&lt;span style=" line-height:150%;font-family:Arial;font-size:11.0pt;color:black;"&gt;Goals. Realistic goals settings can be seen as a major culprit to unleash your ability. Even though it is viable for some cases but for most cases it can be a killer of your ability or capability. How many times we have achieved something which we never thought of possible—there are plenty of examples for me personally. We must stretch, expand or broaden our ability to accomplish things. The only way to do is to set unrealistic goals. Achieving 70% of the unrealistic/impossible goals are far better than achieving 100% of the realistic goals. Moreover setting goals for a shorter period of time seems to be more efficient than a longer period. There is a high probability of forgetting or ignoring goals which are set for longer period of time. More importantly we should expect amazing results by achieving goals and not just “results”. Also, don’t forget to reward yourself once you achieve a certain goal.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style=" line-height:150%;font-family:Arial;font-size:11.0pt;color:black;"&gt;We are only limited by our thoughts—by keeping this in mind start your own goal setting now, but make it unrealistic/impossible and for short period of time.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-131684305543436866?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/131684305543436866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=131684305543436866&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/131684305543436866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/131684305543436866'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/02/why-unrealistic-goals-are-better-than.html' title='Why Unrealistic Goals are better than Realistic Goals?'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-1908146176829886065</id><published>2010-01-27T21:11:00.004+05:30</published><updated>2010-03-15T21:11:18.591+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Dictionary - Google extensions</title><content type='html'>&lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span class="apple-style-span"&gt;&lt;span style="font-family:Arial;color:black;"&gt;I found this Google extension very useful – &lt;a href="https://chrome.google.com/extensions/detail/mgijmajocgfcbeboacabfgobmjgjcoja"&gt;Google Dictionary&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Arial;color:black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style=" ;font-family:Arial;color:black;"&gt;Update your Google chrome to get extensions and bookmark sync.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="line-height:150%"&gt;&lt;span style=" ;font-family:Arial;color:black;"&gt;In addition to blogging, I've been also using twitter for quick technology updates. Follow me if you are interested.&lt;span class="apple-converted-space"&gt; &lt;/span&gt;&lt;a href="http://www.twitter.com/ludmal"&gt;www.twitter.com/ludmal&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-1908146176829886065?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/1908146176829886065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=1908146176829886065&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1908146176829886065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1908146176829886065'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/01/dictionary-google-extensions.html' title='Dictionary - Google extensions'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4856654120095789914</id><published>2010-01-26T16:24:00.002+05:30</published><updated>2010-01-26T16:28:44.162+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Windows 7</title><content type='html'>&lt;span class="Apple-style-span"   style="  border-collapse: collapse; line-height: 19px; font-family:arial, sans-serif;font-size:13px;"&gt;I've been using Windows 2003 quite happily for the past 6 years. But realized it was 7 years old OS and the technology has developed immensely. Despite the terrible experience with Windows Vista I finally decided to install Windows 7. It has been one month after Windows 7 installation and I'm very impressed – the startup/loading time has improved significantly and smoothness of the applications is amazing. &lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  border-collapse: collapse; line-height: 19px; font-family:arial, sans-serif;font-size:13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  border-collapse: collapse; line-height: 19px; font-family:arial, sans-serif;font-size:13px;"&gt;This is what I was expected from an OS. Most of us were desperately waited for an OS to replace Windows XP/2003 – Microsoft’s Windows 7 must be the choice for them. Needless to say I’m upgrading my wife’s laptop and my desktop PC to Windows 7. For those who are still waiting to install Windows 7 – Don’t wait anymore! &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4856654120095789914?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4856654120095789914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4856654120095789914&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4856654120095789914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4856654120095789914'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/01/windows-7.html' title='Windows 7'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7025404794896091543</id><published>2010-01-19T21:42:00.002+05:30</published><updated>2010-03-15T21:11:32.805+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Power of Intention</title><content type='html'>&lt;p&gt;&lt;a href="http://www.google.com.sg/search?hl=en&amp;amp;rlz=1C1CHNG_enSG349SG349&amp;amp;q=define:intention&amp;amp;btnG=Search&amp;amp;meta=&amp;amp;aq=f&amp;amp;oq="&gt;Intention&lt;/a&gt; – an anticipated outcome that is intended or that guides your planned actions. This is the general meaning of the Intention. But for most of us intention is just another word. While we live a mediocre life we tend to forget what is the actual meaning of Intent or Intention. We are limited by our thoughts and our intentions.&lt;/p&gt;  &lt;p&gt;Intention is all around us, it is just like gravity. Thanks to Sir Isaac Newton we know that the gravity exists, but what about Intention – the following example will give you a simple idea about the intention.&lt;/p&gt;  &lt;p&gt;Have you ever tried to recall a name or place? The harder you try to recall the name the farther it goes away. Once you give up the try and after some time just out of the blue you will remember the name or the place you tried to recall earlier; that is the power of intension. We need use the intention to fulfill our desires. To see the power of intention try to do the following exercise. &lt;/p&gt;  &lt;p&gt;Write down a specific goal you want to achieve, and then carry that paper with you all the time. Read it at least three to four times a day, especially before Meditation or Prayer. Also read it as soon as you wake up in the morning. When you pray or meditate you create intentions – nevertheless the power of Meditation and Prayer has to be discussed in a separate post. By reading your goal frequently, you create an intention. And another powerful yet very difficult thing to do is to relinquish your attachment to the outcome. What does this means – you intent to achieve a certain goal, but you release your attachment to the outcome. Just like the name or place recalling example, let the universe handle your intention; therefore don’t worry about the outcome. When you worry about the outcome, you create stress &amp;amp; anxiety. Trust the power of the universe; believe that everything in this world is as it should be.&lt;/p&gt;  &lt;p&gt;When the time is right your intentions will be fulfilled. If it is not, then surrender to the outcome. Eventually, everything will be as it should be.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7025404794896091543?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7025404794896091543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7025404794896091543&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7025404794896091543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7025404794896091543'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/01/power-of-intention.html' title='Power of Intention'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3067819436943297282</id><published>2010-01-18T20:08:00.002+05:30</published><updated>2010-03-15T21:11:47.672+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>What happens if Google shut down their operations in China?</title><content type='html'>&lt;p&gt;Don’t be evil – informal Google’s company motto. Despite the massive Internet user base in China Google has warned them, that they will stop all of their operations in China. What does this mean to Chinese users? No Google search, no Gmail, no Google Apps and None of the other Google applications. It is like “No Internet” for me at all . At least 90% of my Internet time I spend on Google products. I use Gmail, Google Reader, Google docs, Google Apps, Google Analytics and Google News to name few. So without Google I have nothing to do on the Internet except following my friends on Facebook.&lt;/p&gt;  &lt;p&gt;Google as a company evolved immensely in a very short period of time. Their products are very useful and neat. I personally benefits enormously from their products and it is true for most of the Internet users worldwide. China will surely have a considerable impact on their economic growth if Google decided to stop their operations. As an emerging nation China should not be isolated from the rest of the world (Internet World). For me personally, I can't imagine Internet without Google.&lt;/p&gt;  &lt;p&gt;Read more&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.reuters.com/article/idUSTRE60G0K620100117"&gt;http://www.reuters.com/article/idUSTRE60G0K620100117&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3067819436943297282?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3067819436943297282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3067819436943297282&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3067819436943297282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3067819436943297282'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/01/what-happens-if-google-shut-down-their.html' title='What happens if Google shut down their operations in China?'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7843550116268690831</id><published>2010-01-07T22:14:00.002+05:30</published><updated>2010-03-15T21:12:04.911+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Kevin Skinner</title><content type='html'>&lt;p&gt;It’s amazing how people achieve their dreams with determination. This guy really amazed me and I’m sure he does the same to everyone else. What others think about you is none of your business. Kevin Skinner – Winner of America’s Got Talent.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:19ad07b0-ce9a-4993-b406-1eae69324226" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;div id="352b3039-9000-4a3e-9853-bfcb34526123" style="margin: 0px; padding: 0px; display: inline;"&gt;&lt;div&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/KFaki8-BEfU&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&amp;amp;hl=en"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/KFaki8-BEfU&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;&amp;amp;hl=en" type="application/x-shockwave-flash" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7843550116268690831?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7843550116268690831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7843550116268690831&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7843550116268690831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7843550116268690831'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/01/kevin-skinner.html' title='Kevin Skinner'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-6585236522987692335</id><published>2010-01-07T19:48:00.002+05:30</published><updated>2010-03-15T21:12:21.476+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Microsoft Ajax and Jquery</title><content type='html'>&lt;p&gt;Microsoft Ajax framework is the best choice for me when I build quick web applications, particularly for intranets. But for public web sites, especially when you want to make the site super fast, then the MS Ajax is not the wisest choice. Recently, I decide to use Jquery instead of MS Ajax for one of my personal web sites. And the website shows a significant performance improvement. &lt;/p&gt;  &lt;p&gt;Following is the outcome of my research on the response time and the downloaded data size by using MS Ajax and Jquery. By using Jquery I was able to reduce the size by 50% of the downloaded data. Have a look at the following screen captures. I used Firefox’s &lt;a href="http://www.getfirebug.com/"&gt;firebug&lt;/a&gt; for the analysis. &lt;/p&gt;  &lt;p&gt;Response with Microsoft Ajax&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_vO7DzMoDJsM/S0XtLyg4YSI/AAAAAAAABMw/VG5lcnFeqio/s1600-h/msajax_response1%5B7%5D.png"&gt;&lt;img title="msajax_response1" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="297" alt="msajax_response1" src="http://lh4.ggpht.com/_vO7DzMoDJsM/S0XtOBxmnrI/AAAAAAAABM0/pN5CgGkFqf8/msajax_response1_thumb%5B5%5D.png?imgmax=800" width="727" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Response with Jquery&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_vO7DzMoDJsM/S0XtPQ5N-2I/AAAAAAAABM4/f_SJMezD1FE/s1600-h/jquery_response1%5B3%5D.png"&gt;&lt;img title="jquery_response1" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="215" alt="jquery_response1" src="http://lh4.ggpht.com/_vO7DzMoDJsM/S0XtQSchHeI/AAAAAAAABM8/CsoxJSItLCI/jquery_response1_thumb%5B1%5D.png?imgmax=800" width="641" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Please visit for more reference - &lt;a href="http://docs.jquery.com/Ajax"&gt;http://docs.jquery.com/Ajax&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hope this helps!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/ludmal"&gt;www.twitter.com/ludmal&lt;/a&gt; – Follow me on twitter for quick updates on technology, life and much more&lt;/p&gt;  &lt;p&gt;&lt;a href="https://www.blogger.com/comment.g?blogID=11001074&amp;amp;postID=6585236522987692335&amp;amp;isPopup=true"&gt;Post a comment&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-6585236522987692335?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/6585236522987692335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=6585236522987692335&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6585236522987692335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6585236522987692335'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2010/01/microsoft-ajax-and-jquery.html' title='Microsoft Ajax and Jquery'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_vO7DzMoDJsM/S0XtOBxmnrI/AAAAAAAABM0/pN5CgGkFqf8/s72-c/msajax_response1_thumb%5B5%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-9069893976008644988</id><published>2009-12-29T21:08:00.002+05:30</published><updated>2010-03-15T21:12:45.153+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Why waste time on Project management ?</title><content type='html'>&lt;p&gt;Recently I came across some of the blog posts regards to Software Project management. It seems like Project Management is another project to Project Managers but so often they claim that they never able to do a accurate schedule or a budget, so the question arise − “Why do Project Management?”. &lt;/p&gt;  &lt;p&gt;I’ve been working in Software Industry for the past 9 years and I have never seen a successful Project Manager although I’ve seen plenty of good technical people. I must admit that I have observed some of the successful projects are handled without a proper project plan, or should I say without a “Project Manager”. For a successful software project, the key factor is its technical people and I really don’t believe that’s anything to do with the Project plan or the Project Manager. How did Google products succeed ? Why did Windows Vista failed ? Was it because of the Project Managers or Project Plans? I doubt. In software, it’s a well known factor that the requirements change. Neither the Stake Holders nor the Project Managers are fully aware of the business requirement at the initial stage. So the next question − “What’s Agile ?”&lt;/p&gt;  &lt;p&gt;Agile – one of the frequently used terms in the Project management these days. Agile is defined as to keep things simple and to move quicker. Two-thirds of the development time is wasted by the Project Managers for various meetings and requirement explanations. I strongly disagree the fact that every project needs a “Project Plan”, a simple plan would do for most of the projects. We need to understand the scale of the project while keeping the things simple. I don’t intend to talk about massive projects like in NASA or the other major companies, no doubt that they need Project Managers. But for 30-40 developer projects who would need to waste time &amp;amp; money just to create a larger scale project plan ?, A good technical leader is capable of doing the job. At last what matters is the outcome of the project, not how we manage the project. All my thoughts are based on the Software Development and this might not be true for other industries like Construction &amp;amp; Manufacture which are far more matured. Software development still on its way for a strong blue-print unlike Building construction, . &lt;/p&gt;  &lt;p&gt;No offense meant to Project Managers, but comments are welcome − After all, Project Management is their Job. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/ludmal"&gt;www.twitter.com/ludmal&lt;/a&gt; - I've been using twitter for quick updates, Technology &amp;amp; cool stuff, please follow me if you're interested.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-9069893976008644988?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/9069893976008644988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=9069893976008644988&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9069893976008644988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9069893976008644988'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/12/why-waste-time-on-project-management.html' title='Why waste time on Project management ?'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3453645915485698797</id><published>2009-12-28T20:46:00.002+05:30</published><updated>2010-03-15T21:13:00.628+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Know the font by uploading the image</title><content type='html'>&lt;p&gt;I found this site very useful while searching for some fonts. You can upload an image and know the font. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://new.myfonts.com/WhatTheFont/"&gt;http://new.myfonts.com/WhatTheFont/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3453645915485698797?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3453645915485698797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3453645915485698797&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3453645915485698797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3453645915485698797'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/12/know-font-by-uploading-image.html' title='Know the font by uploading the image'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-6591546177731921117</id><published>2009-12-16T21:17:00.002+05:30</published><updated>2010-03-15T21:13:13.467+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Wave future</title><content type='html'>&lt;p&gt;I was anxiously waited for Google wave invitation from its initial preview release. When I finally got one, I wasn't really impressed with it. The only thing interested to me was the UI. Though they mentioned that the email system is outdated they must have been realized by now how hard is to kill the old email system.-- "Email" is the mostly used feature in Internet followed by "Search". I'm not criticizing it, but I feel Wave is too early. However, it's future is still a mystery.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-6591546177731921117?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/6591546177731921117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=6591546177731921117&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6591546177731921117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6591546177731921117'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/12/google-wave-future.html' title='Google Wave future'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-222852550385165339</id><published>2009-12-09T19:17:00.002+05:30</published><updated>2010-03-15T21:13:29.568+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Microsoft vs Google</title><content type='html'>&lt;p&gt;This is interesting.. I just did a search in google trends. &lt;a href="http://www.google.com/trends"&gt;www.&lt;b&gt;google&lt;/b&gt;.com/&lt;b&gt;trends&lt;/b&gt; &lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Scale is based on the average worldwide traffic of &lt;b&gt;microsoft company/google company&lt;/b&gt; in all years. &lt;a href="http://www.google.com/intl/en/trends/about.html#7"&gt;Learn more&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;span style="color:#0000ff;"&gt;microsoft company,      &lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="color:#c60000;"&gt;google company&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;img src="http://www.google.com/trends/viz?q=microsoft+company,google+company&amp;amp;date=all&amp;amp;geo=all&amp;amp;graph=weekly_img&amp;amp;sort=0&amp;amp;sa=N" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-222852550385165339?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/222852550385165339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=222852550385165339&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/222852550385165339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/222852550385165339'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/12/microsoft-vs-google.html' title='Microsoft vs Google'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2426156879709662034</id><published>2009-12-09T19:05:00.002+05:30</published><updated>2010-03-15T21:13:53.831+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Chrome extensions</title><content type='html'>&lt;p&gt;Recently I've installed some of the Google Chrome extensions and I love It! specially the extensions like Google Tasks, Reader, Gmail &amp;amp; Chrome Touch. I personally like Google chrome because of its simplicity and performance.&lt;/p&gt;  &lt;p&gt;In order to install chrome extensions, you must install chrome developer version. This isn't a very stable version but I haven't seen any bugs yet. &lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;1. Installing Chrome Developer Version&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;a. Download and install the Chrome developer channel from the following location.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.google.com/chrome/eula.html?extra=betachannel" href="http://www.google.com/chrome/eula.html?extra=betachannel"&gt;http://www.google.com/chrome/eula.html?extra=betachannel &lt;/a&gt;&lt;/p&gt;  &lt;p&gt;b. Then click on the &lt;strong&gt;"About Google Chrome"&lt;/strong&gt; window, once it's fully updated, restart the browser. You're now running Chrome Developer version.&lt;/p&gt;  &lt;p&gt;  &lt;img src="http://docs.google.com/File?id=dcjvpd4d_92ckjfrzhq_b" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:130%;"&gt;&lt;strong&gt;2. Installing Chrome Extensions.&lt;/strong&gt;&lt;/span&gt;  &lt;/p&gt;  &lt;p&gt;At this point, all set to install the Chrome extensions. You can download the extensions from the following site. Just follow the installation instructions and are you're done.                             &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.chromeextensions.org/"&gt;http://www.chromeextensions.org&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can even check out the installed extensions by selecting &lt;b&gt;Tools&lt;/b&gt; &amp;gt; &lt;strong&gt;Extensions &lt;/strong&gt;as shown in the following screen capture.&lt;b&gt; &lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;img src="http://docs.google.com/File?id=dcjvpd4d_93db7mdrg3_b" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Few cool Chrome Extensions:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.chromeextensions.org/alerts-updates/gmail-checker/"&gt;http://www.chromeextensions.org/alerts-updates/gmail-checker/&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.chromeextensions.org/alerts-updates/google-reader-checker/"&gt;http://www.chromeextensions.org/alerts-updates/google-reader-checker/&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.chromeextensions.org/appearance-functioning/chrometouch/"&gt;http://www.chromeextensions.org/appearance-functioning/chrometouch/&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.chromeextensions.org/appearance-functioning/smoothscroll/"&gt;http://www.chromeextensions.org/appearance-functioning/smoothscroll/&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.chromeextensions.org/utilities/google-notepad/"&gt;http://www.chromeextensions.org/utilities/google-notepad/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Hope this helps!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.twitter.com/ludmal"&gt;www.twitter.com/ludmal&lt;/a&gt; - I've been using twitter for quick updates on Technology stuff, please follow me if you're interested.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.google.com/chrome/eula.html?extra=betachannel"&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2426156879709662034?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2426156879709662034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2426156879709662034&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2426156879709662034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2426156879709662034'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/12/google-chrome-extensions.html' title='Google Chrome extensions'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3205131114381518629</id><published>2009-11-24T18:41:00.002+05:30</published><updated>2010-03-15T21:15:32.992+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Text engraved effect using css</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:Verdana;font-size:13px;"&gt;I always wanted to have the text engraved effect on button control, finally able to do it using css properties. Have a look at the following screenshot. &lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;div id="kh90" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;img src="http://docs.google.com/File?id=dcjvpd4d_90hp2q76fk_b" style="width: 144px; height: 100px; " /&gt;&lt;/div&gt;&lt;div id="r7ha" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div id="h2x-" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;Add the text-shadow attribute to your css classname. &lt;/div&gt;&lt;div id="lw1f" style="margin-top: 0px; margin-bottom: 0px; text-align: left; "&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;     &lt;span class="Apple-style-span"  style="font-family:'Courier New';"&gt;  &lt;span class="Apple-style-span"  style="color:#FF0000;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'Courier New';"&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;text-shadow: &lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#0000FF;"&gt;white 1px 1px 0px;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;Unfortunately, only Google Chrome browser supports it. But I found this link to implement it using jquery. &lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;a href="http://kilianvalkhof.com/2008/javascript/text-shadow-in-ie-with-jquery/"&gt;http://kilianvalkhof.com/2008/javascript/text-shadow-in-ie-with-jquery/&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;Hope this helps!&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px; "&gt;twitter: @ludmal&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3205131114381518629?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3205131114381518629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3205131114381518629&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3205131114381518629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3205131114381518629'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/11/text-engraved-effect-using-css.html' title='Text engraved effect using css'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3804112947328285081</id><published>2009-11-16T20:42:00.002+05:30</published><updated>2010-03-15T21:15:45.211+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>SyncToy</title><content type='html'>&lt;p&gt;I like this simple tool to synchronize two folders. It’s very useful for folder backups. &lt;/p&gt;  &lt;p&gt;Download : &lt;a title="http://www.microsoft.com/downloads/details.aspx?FamilyID=c26efa36-98e0-4ee9-a7c5-98d0592d8c52&amp;amp;DisplayLang=en" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c26efa36-98e0-4ee9-a7c5-98d0592d8c52&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=c26efa36-98e0-4ee9-a7c5-98d0592d8c52&amp;amp;DisplayLang=en&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3804112947328285081?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3804112947328285081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3804112947328285081&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3804112947328285081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3804112947328285081'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/11/synctoy.html' title='SyncToy'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8327381018881903327</id><published>2009-11-16T20:03:00.002+05:30</published><updated>2010-03-15T21:15:58.197+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>Google Wave Invitations!</title><content type='html'>&lt;p&gt;Got some google wave invites, If anybody interested please send me an email (&lt;a href="mailto:ludmal@gmail.com"&gt;ludmal@gmail.com&lt;/a&gt;). &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8327381018881903327?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8327381018881903327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8327381018881903327&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8327381018881903327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8327381018881903327'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/11/google-wave-invitations.html' title='Google Wave Invitations!'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5383766835402289133</id><published>2009-10-07T18:40:00.002+05:30</published><updated>2010-03-15T21:16:13.836+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Choosing a Smart Password</title><content type='html'>&lt;p&gt;There has been a wave of phishing attacks on Hotmail and Gmail recently. Following tips are useful when choosing a strong password. (from Gmail blog)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gmailblog.blogspot.com/2009/10/choosing-smart-password.html"&gt;http://gmailblog.blogspot.com/2009/10/choosing-smart-password.html&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5383766835402289133?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5383766835402289133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5383766835402289133&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5383766835402289133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5383766835402289133'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/10/choosing-smart-password.html' title='Choosing a Smart Password'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7804724103615685080</id><published>2009-09-30T18:36:00.004+05:30</published><updated>2010-03-15T21:16:37.808+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Twitter to update your facebook status.</title><content type='html'>&lt;p&gt;It’s easy. Goto &lt;a href="http://apps.facebook.com/twitter/"&gt;http://apps.facebook.com/twitter/&lt;/a&gt; , add the application to your facebook. Click on the link “&lt;a href="http://www.facebook.com/authorize.php?api_key=7cc3dc042ec019b913300d1e7559aad9&amp;amp;v=1.0&amp;amp;ext_perm=status_update&amp;amp;next=http%3A%2F%2Fapps.facebook.com%2Ftwitter%2F&amp;amp;next_cancel=http%3A%2F%2Fapps.facebook.com%2Ftwitter%2F"&gt;Want Twitter to update your Facebook status? &lt;/a&gt;”, That's it!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7804724103615685080?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7804724103615685080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7804724103615685080&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7804724103615685080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7804724103615685080'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/09/set-twitter-to-update-your-facebook.html' title='Twitter to update your facebook status.'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7659309371491825875</id><published>2009-09-29T20:33:00.006+05:30</published><updated>2010-03-15T21:16:56.304+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>Fix bugs before writing any new code</title><content type='html'>&lt;p&gt;Most of the developers like to develop new features rather than fixing bugs. We tend to postpone bug fixing and eager to start developing new features. In general, it’s easy to fix a bug right away than fixing it later. The reasons are -- code is fresh in our minds than to fix it later, we might have forgotten the code if we keep it for later. Hence going through the code again is time consuming. Moreover, having lots of bugs is definitely not a healthier approach. Another reason is, it’s hard to predict the time to fix a bug, but easy for a new feature. To keep your project schedule always inline and accurate fix bugs right away before start developing another new feature.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7659309371491825875?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7659309371491825875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7659309371491825875&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7659309371491825875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7659309371491825875'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/09/fix-bugs-before-writing-any-new-code.html' title='Fix bugs before writing any new code'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2371517615962800555</id><published>2009-08-26T19:36:00.001+05:30</published><updated>2010-03-15T21:17:14.531+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><title type='text'>10 ways to detect computer malware</title><content type='html'>&lt;a href="http://blogs.techrepublic.com.com/10things/?p=970"&gt;http://blogs.techrepublic.com.com/10things/?p=970&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2371517615962800555?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blogs.techrepublic.com.com/10things/?p=970' title='10 ways to detect computer malware'/><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2371517615962800555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2371517615962800555&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2371517615962800555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2371517615962800555'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/08/10-ways-to-detect-computer-malware.html' title='10 ways to detect computer malware'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5255278891464219160</id><published>2009-07-31T21:39:00.008+05:30</published><updated>2010-03-15T21:17:31.478+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life'/><title type='text'>Be Consistent</title><content type='html'>Life is a process. So be consistent in what ever you do. We tend to forget how to live and hence we are missing best things in our lives. The most difficult thing in life is to be consistent. Its easy to start but difficult to follow up. Eventually, we'll still be on the first page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5255278891464219160?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5255278891464219160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5255278891464219160&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5255278891464219160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5255278891464219160'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/07/be-consitent.html' title='Be Consistent'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5679196945020902477</id><published>2009-06-01T21:07:00.002+05:30</published><updated>2010-03-15T21:17:54.952+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><title type='text'>I love google Chrome, but where is google Toolbar ?</title><content type='html'>&lt;p&gt;I love google chrome for its simplicity and fast browsing. But still couldn't figure out how to use google toolbar. All of my bookmarks are in google, any idea on how to use google bookmarks in Chrome ?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5679196945020902477?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5679196945020902477/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5679196945020902477&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5679196945020902477'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5679196945020902477'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/06/i-love-google-chrome-but-where-is.html' title='I love google Chrome, but where is google Toolbar ?'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7559778424300016938</id><published>2009-05-24T09:36:00.003+05:30</published><updated>2009-05-24T09:37:34.548+05:30</updated><title type='text'>Singapore flyer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vO7DzMoDJsM/ShjH_CdXv0I/AAAAAAAAAfM/RtTBM3klQTs/s1600-h/singapore_flyer.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 180px;" src="http://2.bp.blogspot.com/_vO7DzMoDJsM/ShjH_CdXv0I/AAAAAAAAAfM/RtTBM3klQTs/s320/singapore_flyer.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5339237244053471042" /&gt;&lt;/a&gt;&lt;br /&gt;This is a snap I took during a visit to Singapore Flyer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7559778424300016938?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7559778424300016938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7559778424300016938&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7559778424300016938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7559778424300016938'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/05/singapore-flyer.html' title='Singapore flyer'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_vO7DzMoDJsM/ShjH_CdXv0I/AAAAAAAAAfM/RtTBM3klQTs/s72-c/singapore_flyer.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-6511716893889604981</id><published>2009-05-23T20:20:00.001+05:30</published><updated>2009-05-23T20:20:47.631+05:30</updated><title type='text'>Dropthings -- 2GB Free space</title><content type='html'>&lt;p&gt;Keep your frequently used files in one place and access it from anywhere -- 2GB free space on &lt;a title="http://www.getdropbox.com/" href="http://www.getdropbox.com/"&gt;http://www.getdropbox.com/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-6511716893889604981?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/6511716893889604981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=6511716893889604981&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6511716893889604981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6511716893889604981'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/05/dropthings-2gb-free-space.html' title='Dropthings -- 2GB Free space'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8099430108290425232</id><published>2009-04-11T12:57:00.001+05:30</published><updated>2009-04-11T12:57:54.340+05:30</updated><title type='text'>Microsoft .net article collection, updates on every hour</title><content type='html'>&lt;p&gt;&lt;a href="http://www.aspnetr.com/"&gt;http://www.aspnetr.com/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8099430108290425232?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8099430108290425232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8099430108290425232&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8099430108290425232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8099430108290425232'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/04/microsoft-net-article-collection.html' title='Microsoft .net article collection, updates on every hour'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4560866195552845657</id><published>2009-04-06T19:09:00.001+05:30</published><updated>2009-04-06T19:09:11.492+05:30</updated><title type='text'>www.aspnetr.com - .net related Articles</title><content type='html'>&lt;p&gt;If you are looking for a simple and quick solution for your programming problems please visit, &lt;a href="http://www.aspnetr.com"&gt;www.aspnetr.com&lt;/a&gt; , Its still in beta and will take another week for a fully functional site. The main idea behind this site is to give a spot on solution for all your .net related matters and most preferably ASP.NET. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4560866195552845657?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4560866195552845657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4560866195552845657&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4560866195552845657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4560866195552845657'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/04/wwwaspnetrcom-net-related-articles.html' title='www.aspnetr.com - .net related Articles'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3315997835298223241</id><published>2009-03-26T21:22:00.001+05:30</published><updated>2009-03-26T21:22:21.059+05:30</updated><title type='text'>How to get the IP Address and redirect users by country</title><content type='html'>&lt;p&gt;Download the following dll to get the country by passing IP address. This is a .NET 3.5 library that retrieves the country information for an Internet Protocol version 4 (IPv4) Address, by extending the System.Net.IPAddress class.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/IPAddressExtensions"&gt;http://www.codeplex.com/IPAddressExtensions&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Then simply add the code in page load method.&lt;/p&gt;  &lt;p&gt;if (!IsPostBack) {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; IPAddress ip = IPAddress.Parse(HttpContext.Current.Request.UserHostAddress);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; string country = ip.Country();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (country.ToLower() == &amp;quot;india&amp;quot;) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Response.Redirect(&amp;quot;~/indiahomepage.htm&amp;quot;);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3315997835298223241?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3315997835298223241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3315997835298223241&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3315997835298223241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3315997835298223241'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/03/how-to-get-ip-address-and-redirect.html' title='How to get the IP Address and redirect users by country'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8775150160626282472</id><published>2009-02-14T21:05:00.001+05:30</published><updated>2009-02-14T21:05:13.968+05:30</updated><title type='text'>Fusion Charts</title><content type='html'>&lt;p&gt;Recently I worked on a Dashboard Project which shows Sales, Invoices, ATB and DSO info. Initially I started with Dundas Charts but later we changed to a nice 3D looking charts called &amp;quot;&lt;a href="http://www.fusioncharts.com"&gt;Fusion Charts&lt;/a&gt;&amp;quot;. Of course Dundas Charts was good enough but I was looking for a better 3D look, therefore I had to switch to Fusion charts. It was very simple but powerful and we use XML as Data Source. If you are looking for a nice 3D graphs for your project you better have look at &lt;a href="http://www.fusioncharts.com/Demos/Blueprint/"&gt;this&lt;/a&gt;. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8775150160626282472?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8775150160626282472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8775150160626282472&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8775150160626282472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8775150160626282472'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/02/fusion-charts.html' title='Fusion Charts'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3503864978814492491</id><published>2009-02-14T20:53:00.001+05:30</published><updated>2009-02-14T20:53:16.014+05:30</updated><title type='text'>MVC</title><content type='html'>&lt;p&gt;ASP.NET MVC Framework, all I can say is are we going back to where we started ? &amp;quot;Spaghetti code&amp;quot;. The main idea was to separate server code from HTML in ASP.NET back in 2001. But all I can see in MVC now is code and HTML both mixed each other which reminds me of a classic asp page. Well, I still haven't got time to get into MVC but this is what I can say from the initial look. Of course there could be some reasons ... I guess I will write this in more details once I really get into MVC....&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3503864978814492491?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3503864978814492491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3503864978814492491&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3503864978814492491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3503864978814492491'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/02/mvc.html' title='MVC'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-1681308095006470816</id><published>2009-01-03T19:08:00.001+05:30</published><updated>2009-01-03T19:08:44.571+05:30</updated><title type='text'>Life is so easy with Google and Apple products</title><content type='html'>&lt;p&gt;Life is so easy with Google and Apple products. Almost all of my official and personal activities in daily life supports by a google or an apple product. I use gmail as my primary emailing software from last 4 years, the experience was amazing. I use Google Gmail, Tasks, Calendar, Reader, Notebook, Doc, Google sites, Chrome and Google News, almost everyday. And Apple on the other hand with IPod and ITunes. I recently bought a IPod nano and the experience was so amazing compare to the earlier IPod version. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-1681308095006470816?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/1681308095006470816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=1681308095006470816&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1681308095006470816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1681308095006470816'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/01/life-is-so-easy-with-google-and-apple.html' title='Life is so easy with Google and Apple products'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-89756840426554663</id><published>2009-01-02T21:35:00.001+05:30</published><updated>2009-01-02T21:35:08.731+05:30</updated><title type='text'>Large File Uploading in ASP.NET</title><content type='html'>&lt;p&gt;&lt;a href="http://weblogs.asp.net/mhawley/archive/2004/05/11/129824.aspx"&gt;http://weblogs.asp.net/mhawley/archive/2004/05/11/129824.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-89756840426554663?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/89756840426554663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=89756840426554663&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/89756840426554663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/89756840426554663'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2009/01/large-file-uploading-in-aspnet.html' title='Large File Uploading in ASP.NET'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8491638552728464452</id><published>2008-12-29T21:47:00.001+05:30</published><updated>2008-12-29T21:47:32.715+05:30</updated><title type='text'>http://weblogs.asp.net/mhawley/archive/2004/05/11/129824.aspx</title><content type='html'>&lt;p&gt;&lt;a href="http://weblogs.asp.net/mhawley/archive/2004/05/11/129824.aspx"&gt;http://weblogs.asp.net/mhawley/archive/2004/05/11/129824.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8491638552728464452?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8491638552728464452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8491638552728464452&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8491638552728464452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8491638552728464452'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/12/httpweblogsaspnetmhawleyarchive20040511.html' title='http://weblogs.asp.net/mhawley/archive/2004/05/11/129824.aspx'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8053716817140591612</id><published>2008-12-29T19:38:00.001+05:30</published><updated>2008-12-29T19:38:58.871+05:30</updated><title type='text'>Productivity Tips</title><content type='html'>&lt;p&gt;As we are moving to a new year, we tend to look for productivity tips which help to improve our productivity. But how many people actually keep continuing? Well, it&amp;#8217;s easy to start but hard to continue. I have tried different kind of GTD (Getting things done). &lt;/p&gt;  &lt;p&gt;There are plenty of ways where you can manage your Things to do list. A good start would be &lt;a href="http://www.davidco.com/"&gt;GTD&lt;/a&gt;. But for me I would like to keep things simple. Some of the simple but effective productivity tips which may help you in new year :&lt;/p&gt;  &lt;p&gt;&amp;#183; Maintain a simple todo list ( &lt;a href="http://googlesystem.blogspot.com/2008/12/gmail-tasks.html"&gt;Gmail Tasks&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;&amp;#183; Break tasks into small workable items.&lt;/p&gt;  &lt;p&gt;&amp;#183; If a task takes 2 min to complete, do it at the same time and do not procrastinating &lt;/p&gt;  &lt;p&gt;&amp;#183; Have a weekly review and clear up all the tasks. &lt;/p&gt;  &lt;p&gt;Even If its sound so simple, it&amp;#8217;s hard to continue. Good luck and have a productive new year!!&lt;/p&gt;  &lt;p&gt;Some useful readings :&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.lifeoptimizer.org/2007/05/09/top-5-productivity-tips-most-people-know-but-do-not-do/"&gt;http://www.lifeoptimizer.org/2007/05/09/top-5-productivity-tips-most-people-know-but-do-not-do/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.davidco.com/"&gt;http://www.davidco.com/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8053716817140591612?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8053716817140591612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8053716817140591612&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8053716817140591612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8053716817140591612'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/12/productivity-tips.html' title='Productivity Tips'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3354456165643538826</id><published>2008-12-23T21:21:00.002+05:30</published><updated>2008-12-23T21:34:14.194+05:30</updated><title type='text'>Merry X'mas and Happy New year</title><content type='html'>Well, its been a hectic past two months but slowly settling down. Due to the fact that me and my wife was struggling to settle down in a foreign country and its harder than we initially thought. Hopefully things will settle down in a few weeks, if not in months :-) .  I wish all of you a wonderful and prosperous new year 2009 and Merry Christmas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3354456165643538826?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3354456165643538826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3354456165643538826&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3354456165643538826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3354456165643538826'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/12/merry-xmas-and-happy-new-year.html' title='Merry X&apos;mas and Happy New year'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-1150304577023587042</id><published>2008-11-28T21:00:00.000+05:30</published><updated>2008-11-28T21:01:44.164+05:30</updated><title type='text'>Download Java Applet support for google chrome</title><content type='html'>&lt;a href="http://techie-buzz.com/tips-and-tricks/how-to-run-java-applets-including-yahoo-games-and-yahoo-chat-in-google-chrome.html"&gt;http://techie-buzz.com/tips-and-tricks/how-to-run-java-applets-including-yahoo-games-and-yahoo-chat-in-google-chrome.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-1150304577023587042?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://techie-buzz.com/tips-and-tricks/how-to-run-java-applets-including-yahoo-games-and-yahoo-chat-in-google-chrome.html' title='Download Java Applet support for google chrome'/><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/1150304577023587042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=1150304577023587042&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1150304577023587042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1150304577023587042'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/11/download-java-applet-support-for-google.html' title='Download Java Applet support for google chrome'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3472774473207608049</id><published>2008-11-28T20:56:00.001+05:30</published><updated>2008-11-28T20:56:57.555+05:30</updated><title type='text'>Intergrate IDM with google chrome</title><content type='html'>&lt;a href="http://fich.web.id/2008/09/06/how-to-integrate-internet-download-manager-into-google-chrome/"&gt;http://fich.web.id/2008/09/06/how-to-integrate-internet-download-manager-into-google-chrome/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3472774473207608049?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://fich.web.id/2008/09/06/how-to-integrate-internet-download-manager-into-google-chrome/' title='Intergrate IDM with google chrome'/><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3472774473207608049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3472774473207608049&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3472774473207608049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3472774473207608049'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/11/intergrate-idm-with-google-chrome.html' title='Intergrate IDM with google chrome'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-4228674984524203134</id><published>2008-11-26T20:14:00.003+05:30</published><updated>2008-11-26T20:19:21.767+05:30</updated><title type='text'>ASP.NET Charts</title><content type='html'>Recently I've worked with some cool charts for a dashboard project. &lt;a href="www.dundas.com"&gt;Dundas&lt;/a&gt; and &lt;a href="http://www.fusioncharts.com"&gt;Fusion charts&lt;/a&gt; are the best I've seen so far. But guess what, Microsoft has released a &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&amp;amp;DisplayLang=en"&gt;FREE chart control for ASP.NET &lt;/a&gt;3.5 I which has similir look and feel to Dundas charts ;-) Havn't tried it yet but I'm excited, mostly becoz its FREE... :-)&lt;div&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&amp;amp;DisplayLang=en&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-4228674984524203134?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/4228674984524203134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=4228674984524203134&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4228674984524203134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/4228674984524203134'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/11/aspnet-charts.html' title='ASP.NET Charts'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-6492923920423302326</id><published>2008-08-27T15:49:00.001+05:30</published><updated>2008-08-27T15:50:09.509+05:30</updated><title type='text'>Generic List removing duplicates</title><content type='html'>&lt;pre class="alt2" dir="ltr" style="border: 1px inset ; margin: 0px; padding: 6px; overflow: auto; width: 500px; height: 242px; text-align: left;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;static List&lt;string&gt; removeDuplicates(List&lt;string&gt; inputList)&lt;br /&gt;{&lt;br /&gt;   Dictionary&lt;string,&gt; uniqueStore = new Dictionary&lt;string,&gt;();&lt;br /&gt;   List&lt;string&gt; finalList = new List&lt;string&gt;();&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color:#000000;"&gt;    foreach (string currValue in inputList)&lt;br /&gt;   {&lt;br /&gt;       if (!uniqueStore.ContainsKey(currValue))&lt;br /&gt;       {&lt;br /&gt;           uniqueStore.Add(currValue, 0);&lt;br /&gt;           finalList.Add(currValue);&lt;br /&gt;       }&lt;br /&gt;   }&lt;br /&gt;   return finalList;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-6492923920423302326?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/6492923920423302326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=6492923920423302326&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6492923920423302326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6492923920423302326'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/08/generic-list-removing-duplicates.html' title='Generic List removing duplicates'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-808640391667910545</id><published>2008-07-04T11:35:00.002+05:30</published><updated>2008-07-04T11:49:55.150+05:30</updated><title type='text'>Url Rewriting in IIS 7</title><content type='html'>One thing I like in IIS 7 is the way it supports Url rewriting. Earlier versions of IIS (6,5) does not support ASP.NET HttpModules for urls without a file extenstion. i.e. http://localhost/Products. Even if its doesn't we can hackaround and use it with IIS Error pages. &lt;br /&gt;&lt;br /&gt;When there is no file extension in the url, IIS directly processing it with its own ISAPI filter rather than processing it through the ASP.NET handler. But with IIS 7, all we have to do is to add the HttpModule into the IIS web app. All the requests are process through the HttpModule.  So if we request http://localhost/Products, it will go through the HttpModule, which we can easily integrate our url rewriting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-808640391667910545?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/808640391667910545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=808640391667910545&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/808640391667910545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/808640391667910545'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/07/url-rewriting-in-iis-7.html' title='Url Rewriting in IIS 7'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-6911949309328626216</id><published>2008-06-06T17:06:00.002+05:30</published><updated>2008-06-06T17:18:04.278+05:30</updated><title type='text'>Coding Styles</title><content type='html'>Recently our team prepared a coding guideline document to follow in our day to day coding. As always it leads to loads of debates, things like variable naming, method naming and so forth. What I personally like is to keep things very simple.  i.e. &lt;span style="font-weight: bold;"&gt;string name vs string strName&lt;/span&gt;, I prefer &lt;span style="font-weight: bold;"&gt;string name. &lt;/span&gt;Consistency in coding is very important, what it mean is we have to follow the same coding style until the project end. Have look at Microsoft's &lt;a href="http://code.msdn.microsoft.com/sourceanalysis"&gt;StyleCop &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-6911949309328626216?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/6911949309328626216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=6911949309328626216&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6911949309328626216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/6911949309328626216'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/06/coding-styles.html' title='Coding Styles'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-1346394266205386643</id><published>2008-05-24T10:28:00.000+05:30</published><updated>2008-05-24T10:30:42.192+05:30</updated><title type='text'>https://www.google.com/health</title><content type='html'>https://www.google.com/health&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-1346394266205386643?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='https://www.google.com/health' title='https://www.google.com/health'/><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/1346394266205386643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=1346394266205386643&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1346394266205386643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/1346394266205386643'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/05/httpswwwgooglecomhealth.html' title='https://www.google.com/health'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3471135910562306628</id><published>2008-04-26T09:53:00.001+05:30</published><updated>2008-04-26T09:54:13.320+05:30</updated><title type='text'>Url Rewriting for SEO</title><content type='html'>This is useful, check this out from Rob Howard &lt;a href="http://weblogs.asp.net/rhoward/archive/2008/04/24/seo-amp-asp-net-put-keywords-in-the-url.aspx"&gt;http://weblogs.asp.net/rhoward/archive/2008/04/24/seo-amp-asp-net-put-keywords-in-the-url.aspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3471135910562306628?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3471135910562306628/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3471135910562306628&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3471135910562306628'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3471135910562306628'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/04/url-rewriting-for-seo.html' title='Url Rewriting for SEO'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-8412489264094887882</id><published>2008-04-16T14:31:00.002+05:30</published><updated>2008-04-16T14:34:31.830+05:30</updated><title type='text'>Use your computer to print, scan, and fax</title><content type='html'>This might be very simple, but sometimes useful.. just thought to have it as a link, so that we could use when ever needed.&lt;a href="http://www.microsoft.com/windowsxp/using/setup/hwandprograms/printfaxscan.mspx"&gt;&lt;br /&gt;http://www.microsoft.com/windowsxp/using/setup/hwandprograms/printfaxscan.mspx&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-8412489264094887882?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/windowsxp/using/setup/hwandprograms/printfaxscan.mspx' title='Use your computer to print, scan, and fax'/><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/8412489264094887882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=8412489264094887882&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8412489264094887882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/8412489264094887882'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/04/use-your-computer-to-print-scan-and-fax.html' title='Use your computer to print, scan, and fax'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3411328283391316889</id><published>2008-03-26T09:19:00.002+05:30</published><updated>2008-03-26T09:23:25.604+05:30</updated><title type='text'>OpenSocial</title><content type='html'>Google's common API for Social Web Sites. With standard JavaScript and HTML, developers can create apps that access a social network's friends and update feeds. &lt;a href="http://code.google.com/apis/opensocial/"&gt;Read More &gt;&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3411328283391316889?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3411328283391316889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3411328283391316889&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3411328283391316889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3411328283391316889'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/03/opensocial.html' title='OpenSocial'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-9124678083041257467</id><published>2008-03-12T09:21:00.001+05:30</published><updated>2008-03-12T09:27:01.879+05:30</updated><title type='text'>Explore the changing world from your own computer</title><content type='html'>&lt;a href="http://www.gapminder.org/world/#$majorMode=chart$is;shi=t;ly=2003;lb=f;il=t;fs=11;al=30;stl=t;st=t;nsl=t;se=t$wst;tts=C$ts;sp=6;ti=2005$zpv;v=1$inc_x;mmid=XCOORDS;iid=phAwcNAVuyj1jiMAkmq1iMg;by=ind$inc_y;mmid=YCOORDS;iid=phAwcNAVuyj18zSwx1s7-Kg;by=ind$inc_s;uniValue=8.21;iid=phAwcNAVuyj0XOoBL_n5tAQ;by=ind$inc_c;uniValue=255;gid=CATID0;by=grp$map_x;scale=log;dataMin=3101;dataMax=4337$map_y;scale=lin;dataMin=-0.1413;dataMax=7.2$map_s;sma=15;smi=2.85$cd;bd=0$inds=i237_t001988,,,,;i207_t001988,,,,"&gt;Explore the changing world from your own computer&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-9124678083041257467?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/9124678083041257467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=9124678083041257467&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9124678083041257467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9124678083041257467'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/03/explore-changing-world-from-your-own.html' title='Explore the changing world from your own computer'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-3312946166994025243</id><published>2008-03-12T09:05:00.001+05:30</published><updated>2008-03-12T09:08:29.347+05:30</updated><title type='text'>How Google keeps our information secure</title><content type='html'>While I was reading some of the google stuff, came across this post. &lt;a href="http://googleblog.blogspot.com/2008/03/how-google-keeps-your-information.html"&gt;How google keeps our information secure&lt;/a&gt;. They are doing a great job!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-3312946166994025243?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/3312946166994025243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=3312946166994025243&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3312946166994025243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/3312946166994025243'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/03/how-google-keeps-our-information-secure.html' title='How Google keeps our information secure'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-7036229876901689668</id><published>2008-02-19T09:05:00.002+05:30</published><updated>2008-02-19T09:11:34.555+05:30</updated><title type='text'>ASP.NET Futures</title><content type='html'>I downloaded and installed ASP.NET futures. Got some very useful controls with that. Check out the History control. Ajax update panel has a problem with the browser back/forward buttons.  History control solves that problem by adding entry points to the control, and retrieve it back.&lt;br /&gt;&lt;br /&gt;download futures : &lt;a href="http://www.asp.net/downloads/futures/"&gt;http://www.asp.net/downloads/futures/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-7036229876901689668?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/7036229876901689668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=7036229876901689668&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7036229876901689668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/7036229876901689668'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/02/aspnet-futures.html' title='ASP.NET Futures'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2058267722742515990</id><published>2008-01-10T02:59:00.000+05:30</published><updated>2008-01-11T00:52:30.114+05:30</updated><title type='text'>.Net 3.5 Extensions Part 2</title><content type='html'>&lt;p class="MsoNormal"&gt;In my previous post I have talk about "what is a method extension" and "how we can use that in our development". Let’s move into more detail.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Extension has change the way we design our applications. With previous versions of .net, which didn’t supports features like multiple inheritances, but with extensions we can design our applications to meet all those functionality. So here what I’m going to show is how we can program to interfaces using method extensions. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;To start with we will take simple interface class scenario. We use interface to implement multiple features to a given class. Below is example of implementing multiple inheritances on a single class using interfaces.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;public interface IFlyable {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;void Fly();&lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Public interface IRunnable {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;void Run(); &lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Public interface ISwimming {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Void Swim();&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Void BreatheInWater(); &lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Public class Bird: IFlyable, IRunnable, ISwimming {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Public class Animal() {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Public void Fly() {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style=""&gt;            &lt;/span&gt;//Implement flying logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Public void Run() {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style=""&gt;            &lt;/span&gt;//Implement Running Logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Public void Swim() {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style=""&gt;            &lt;/span&gt;//Implement Swim Logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Public void BreatheInWater() {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style=""&gt;            &lt;/span&gt;//Implement Breathe in water logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;What if there is a another class which needs to implement the same &lt;b style=""&gt;Swim&lt;/b&gt; logic in ISwimming, infact lets say all the classes which implement ISwimming has the same swim logic, but &lt;span style=""&gt; &lt;/span&gt;&lt;b style=""&gt;BreatheInWater&lt;/b&gt; logic is differs. How do we achieve this? &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Public class Fish: ISwimming {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Public void Swim() {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;                        &lt;/span&gt;//Implement same swim logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Public void BreatheInWater() {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style=""&gt;            &lt;/span&gt;//Implement different Breathe in water logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;We could achieve this using some of the design patterns, but here I just wanted to show how easily we can do this using method extensions. Since Swim has the same logic in every class we can see as it’s a perfect method to use as an extensions. So we can implement the Swim logic in one place. To do that we need to remove the Swim method from ISwimming interface and place that in out method extension class as below.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;public static void Swim(this ISwimming swim) {&lt;br /&gt;&lt;br /&gt;//Implment the same swim logic&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Note that we have &lt;b style=""&gt;this&lt;/b&gt; keyword before the &lt;b style=""&gt;ISwimming&lt;/b&gt; interface. This tells the compiler that &lt;b style=""&gt;ISwimming&lt;/b&gt; type has Swim method extension. So after implement the method extensions for the ISwimming interface we could modify the code as below.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;public interface IFlyable {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;void Fly();&lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Public interface IRunnable {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;void Run(); &lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Public interface ISwimming {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Void BreatheInWater(); &lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Public class Bird: IFlyable, IRunnable, ISwimming {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;Public class Animal() {&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Public void Fly() {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style=""&gt;            &lt;/span&gt;//Implement flying logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Public void Run() {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style=""&gt;            &lt;/span&gt;//Implement Running Logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Public void BreatheInWater() {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style=""&gt;            &lt;/span&gt;//Implement Breathe in water logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Public class Fish: ISwimming {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;Public void BreatheInWater() {&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;span style=""&gt;            &lt;/span&gt;//Implement different Breathe in water logic&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 0.5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;}&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Please note that we have removed the Swim method from the interface as well as from all the implementation classes. We only wrote the Swim method in our extensions class. This makes our code cleaner and easier to write.&lt;span style=""&gt;  &lt;/span&gt;So when ever we create an object which implements ISwimming interface we get Swim method as an extension. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_vO7DzMoDJsM/R4U9XiidYXI/AAAAAAAAAEI/f4lLwgt7CU4/s1600-h/Pic1.GIF"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_vO7DzMoDJsM/R4U9XiidYXI/AAAAAAAAAEI/f4lLwgt7CU4/s320/Pic1.GIF" alt="" id="BLOGGER_PHOTO_ID_5153592823213023602" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;So here I covered how we can easily use Method extensions in our interfaces. Hope this helps!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2058267722742515990?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2058267722742515990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2058267722742515990&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2058267722742515990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2058267722742515990'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2008/01/net-35-extensions-part-2.html' title='.Net 3.5 Extensions Part 2'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_vO7DzMoDJsM/R4U9XiidYXI/AAAAAAAAAEI/f4lLwgt7CU4/s72-c/Pic1.GIF' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-2871577294281722601</id><published>2007-12-18T05:35:00.000+05:30</published><updated>2007-12-18T05:56:00.856+05:30</updated><title type='text'>.Net 3.5 Extensions Part 1</title><content type='html'>One of the promising features Microsoft released with .net 3.5 is  "Extension Methods". As I'm planning to do a series of posts regarding the  extensions, here I will start with a simple scenario. First let us see what is  this "Extension Methods" is all about.  &lt;p&gt;&lt;strong&gt;What is .Net 3.5 "Extension Methods" ?&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Extension allow developers to add methods to the existing class/type  without wrapping or extending it. It's allow developers to add new methods to an  existing CLR type such as string,integer or ICloneable. It even gives the  ability to add method implementation on interfaces which I'm planning to cover  in my next post.&lt;/p&gt; &lt;p&gt;So let us take a simple scenario and will see how we used to do it.&lt;/p&gt; &lt;p&gt;Requirement is to validate a string to check whether it's a number.&lt;/p&gt;   &lt;p&gt;Old way&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_vO7DzMoDJsM/R2cSliidYSI/AAAAAAAAADg/X44xV-5lC2k/s1600-h/im1.GIF"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_vO7DzMoDJsM/R2cSliidYSI/AAAAAAAAADg/X44xV-5lC2k/s320/im1.GIF" alt="" id="BLOGGER_PHOTO_ID_5145101535429878050" border="0" /&gt;&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So here &lt;strong&gt;StringHelper &lt;/strong&gt;is a class where we used to write all  our validation methods to an string. So when ever we want to validate we have to  call the StringHelper class. Lets see how easy we can do this with extensions.  &lt;/p&gt; &lt;p&gt;First you have to write a static class which includes all the validation  required to string. I have written &lt;strong&gt;IsNumber &lt;/strong&gt;method by passing  the parameter as string. Note that there is &lt;strong&gt;this &lt;/strong&gt;keyword before  the type. By doing this we tell the compiler to add this method to the passing  parameter type(in this case "string").&lt;/p&gt;  &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vO7DzMoDJsM/R2cSlyidYTI/AAAAAAAAADo/O0ArcFlWZmA/s1600-h/im2.GIF"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_vO7DzMoDJsM/R2cSlyidYTI/AAAAAAAAADo/O0ArcFlWZmA/s320/im2.GIF" alt="" id="BLOGGER_PHOTO_ID_5145101539724845362" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;so, how do we call this method ? All we have to do is to call the method we  wrote in the string variable we defined. You can see there is small blue arrow  showing the method is "extension". You can see how easy is to add methods to the  existing types without having to call another class to do the job.&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vO7DzMoDJsM/R2cSlyidYUI/AAAAAAAAADw/v7iu7R3FaIE/s1600-h/im3.GIF"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_vO7DzMoDJsM/R2cSlyidYUI/AAAAAAAAADw/v7iu7R3FaIE/s320/im3.GIF" alt="" id="BLOGGER_PHOTO_ID_5145101539724845378" border="0" /&gt;&lt;/a&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can even write methods with more parameters, below is a simple method  which return the character in a string by passing another int parameter&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_vO7DzMoDJsM/R2cTLyidYWI/AAAAAAAAAEA/vt14wlRUh8A/s1600-h/im4.GIF"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_vO7DzMoDJsM/R2cTLyidYWI/AAAAAAAAAEA/vt14wlRUh8A/s320/im4.GIF" alt="" id="BLOGGER_PHOTO_ID_5145102192559874402" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/moz-screenshot-1.jpg" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So as we can see here, with extensions we can easily extend the exiting  classes in CLR or even our own custom classes/interfaces. In my next post I will  show you how we can use the extensions with interfaces. Hope this helps.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-2871577294281722601?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/2871577294281722601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=2871577294281722601&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2871577294281722601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/2871577294281722601'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2007/12/net-35-extensions-part-1.html' title='.Net 3.5 Extensions Part 1'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_vO7DzMoDJsM/R2cSliidYSI/AAAAAAAAADg/X44xV-5lC2k/s72-c/im1.GIF' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5828448531452955265</id><published>2007-12-14T12:00:00.000+05:30</published><updated>2007-12-14T12:03:55.499+05:30</updated><title type='text'>VS 2008 with Team Suite Edittion</title><content type='html'>Finally I have installed the Visual Studio 2008 Team Suite Edition. Well, I really haven't tried the VSTS 2005, but with VS 2008 I think yes, I'm going to try that out. I will post the stuff which I come across while exploring the VSTS 2008. Stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5828448531452955265?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5828448531452955265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5828448531452955265&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5828448531452955265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5828448531452955265'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2007/12/vs-2008-with-team-suite-edittion.html' title='VS 2008 with Team Suite Edittion'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-9064693769454930699</id><published>2007-12-11T10:44:00.000+05:30</published><updated>2007-12-11T10:56:54.666+05:30</updated><title type='text'>VS 2008</title><content type='html'>Its been a while that I haven't blog about anything.... I was busy with the product that we're working on and we're behind the schedule. Anyhow since the technology moves on very quickly thought of grabbing them at the same pace.&lt;br /&gt;&lt;br /&gt;Yesterday I installed the VS Web Developer express edition and played with some cool features in New C#.  Method Extension was the best so far for me. I'm planning to do a series of articles on how we can use the Extensions to design &amp;amp; develop and how its effects on Multiple Inheritance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-9064693769454930699?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/9064693769454930699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=9064693769454930699&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9064693769454930699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/9064693769454930699'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2007/12/vs-2008.html' title='VS 2008'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11001074.post-5694813015578811781</id><published>2007-09-24T16:47:00.001+05:30</published><updated>2007-09-24T16:55:17.228+05:30</updated><title type='text'>Code Snippets</title><content type='html'>My Good old friend Prabath has just showed me the shortcut keys for the Code Snippets. I never tried code snippets before even though I knew its useful. I always prefer shortcuts keys when coding.  I used macros most of the time, but now with some shortcut keys you can achieve the same task with code snippets.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;How to generate a Property automatically using code snippets.&lt;/span&gt;&lt;br /&gt;1. type &lt;span style="font-weight: bold;"&gt;prop &lt;/span&gt;and press the &lt;span style="font-weight: bold;"&gt;Tab &lt;/span&gt;key twice. And the Code for the Property will generate automatically. Use the &lt;span style="font-weight: bold;"&gt;Tab &lt;/span&gt;key to rename the variable names. Its that easy and simple.&lt;br /&gt;&lt;br /&gt;links : &lt;a href="http://www.codinghorror.com/blog/archives/000419.html"&gt;http://www.codinghorror.com/blog/archives/000419.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/11001074-5694813015578811781?l=ludmal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ludmal.blogspot.com/feeds/5694813015578811781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=11001074&amp;postID=5694813015578811781&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5694813015578811781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11001074/posts/default/5694813015578811781'/><link rel='alternate' type='text/html' href='http://ludmal.blogspot.com/2007/09/code-snippets.html' title='Code Snippets'/><author><name>Ludmal de silva</name><uri>http://www.blogger.com/profile/08871386763862827832</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
