<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DUIGQ3s6fip7ImA9Wx5RGEo.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144</id><updated>2010-08-27T08:22:02.516+05:30</updated><title>Sound of Code Blog</title><subtitle type="html">- This is Lahiru's Blog</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.soundofcode.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>103</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/soundofcode-blog" /><feedburner:info uri="soundofcode-blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;D08FQno5fCp7ImA9WxFVFEg.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-6909059390587437013</id><published>2010-06-06T19:20:00.003+05:30</published><updated>2010-06-14T00:33:33.424+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T00:33:33.424+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WSO2" /><category scheme="http://www.blogger.com/atom/ns#" term="Cloud" /><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><category scheme="http://www.blogger.com/atom/ns#" term="Middleware" /><title>WSO2 Stratos - Open Source Cloud Computing Platform</title><content type="html">Last week, 2&lt;sup&gt;nd&lt;/sup&gt; of June 2010 just to be exact;&amp;nbsp;&lt;a href="http://wso2.com/"&gt;WSO2&lt;/a&gt; &lt;a href="http://wso2.com/about/news/wso2-launches-wso2-stratos-open-source-cloud-computing-platform-for-enterprise-application-development/"&gt;announced&lt;/a&gt;&amp;nbsp;a complete &lt;a href="http://en.wikipedia.org/wiki/Platform_as_a_service"&gt;Platform-as-a-Service&lt;/a&gt; for both public and private clouds, named&amp;nbsp;&lt;b&gt;&lt;a href="http://wso2.com/cloud/stratos/"&gt;WSO2 Stratos&lt;/a&gt;&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
WSO2 Stratos is our complete SOA middle-ware platform in the cloud. It is based on the award wining WSO2 Carbon platform and is available as a &lt;a href="http://bit.ly/CloudNative"&gt;cloud-native&lt;/a&gt; runtime.&lt;br /&gt;
&lt;br /&gt;
In the Alpha version, WSO2 Stratos offers the following products in the cloud:&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: right;"&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://cloud.wso2.com/" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="43" src="http://4.bp.blogspot.com/_QR51QC9-YzE/TAunFCQCHVI/AAAAAAAADLA/Ajk9FDrhioM/s200/stratos_logo_h42.gif" width="200" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Carbon in the Cloud&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;ul&gt;&lt;li&gt;Governance Registry (&lt;a href="http://wso2.com/products/governance-registry"&gt;GREG&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Identity Server (&lt;a href="http://wso2.com/products/identity-server"&gt;IS&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Gadget Server (&lt;a href="http://wso2.com/products/gadget-server"&gt;GS&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Mashup Server (&lt;a href="http://wso2.com/products/mashup-server"&gt;MS&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Business Activity Monitor (&lt;a href="http://wso2.com/products/business-activity-monitor"&gt;BAM&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
WSO2 Stratos is available as a downloadable version for those who are interested in having a private cloud within the&amp;nbsp;enterprise. Or, you can just use it on the&amp;nbsp;&lt;a href="http://cloud.wso2.com/"&gt;&lt;b&gt;web&lt;/b&gt;&lt;/a&gt;! So what holding you back? just give it a try right now! :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-6909059390587437013?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/49kWzu66WVo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/6909059390587437013/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2010/06/wso2-stratos-open-source-cloud.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/6909059390587437013?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/6909059390587437013?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/49kWzu66WVo/wso2-stratos-open-source-cloud.html" title="WSO2 Stratos - Open Source Cloud Computing Platform" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_QR51QC9-YzE/TAunFCQCHVI/AAAAAAAADLA/Ajk9FDrhioM/s72-c/stratos_logo_h42.gif" height="72" width="72" /><thr:total>0</thr:total><georss:point>6.927468 79.848358</georss:point><feedburner:origLink>http://blog.soundofcode.com/2010/06/wso2-stratos-open-source-cloud.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUICQXwzfSp7ImA9WxFWFUQ.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-2775704327674183308</id><published>2010-06-03T23:54:00.004+05:30</published><updated>2010-06-04T01:02:40.285+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-04T01:02:40.285+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WSO2" /><category scheme="http://www.blogger.com/atom/ns#" term="Visualizations" /><title>Data visualization frameworks and Protovis</title><content type="html">&lt;div style="text-align: justify;"&gt;Recently, I was going through some data visualization frameworks as I work on our own visualization framework at &lt;a href="http://wso2.com/"&gt;WSO2&lt;/a&gt;. Initially, we aimed to develop a gadget framework which would make it easier for users to develop their own gadgets for WSO2 Business Activity Monitor (&lt;a href="http://wso2.org/projects/bam"&gt;WSO2 BAM&lt;/a&gt;). However, now it has become a data visualization framework and almost ready for a beta release.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Among all other data visualization frameworks that I have come across; IMHO &lt;a href="http://www.axiis.org/"&gt;Axiis&lt;/a&gt; and &lt;a href="http://flare.prefuse.org/"&gt;Flare&lt;/a&gt; were the most interesting flex/flash based frameworks. Axiis is built upon &lt;a href="http://www.degrafa.org/"&gt;Degrafa&lt;/a&gt;, and&amp;nbsp;I spent some time messing around with it just to find it bit complicated. May be I was not keen enough to understand Axiis very well :P. And the fact is that my taste buds always prefer javascript over actionscript.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://code.google.com/p/protovis-js/"&gt;Protovis&lt;/a&gt; and &lt;a href="http://code.google.com/p/flot/"&gt;flot&lt;/a&gt; are two javascript frameworks that I used recently for data visualization purposes. flot is a plotting library, to be more precise. Among those two frameworks we selected Protovis as our initial javascript visualization library to write js wrappers. Also, we used &lt;a href="http://raphaeljs.com/"&gt;Raphael&lt;/a&gt; to write some special charts and controls.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I personally &lt;s&gt;like&lt;/s&gt; love Protovis and Raphael - the most amazing javascript visualization libraries.&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I am not going to write much about the WSO2 Visualization Framework or AKA WSO2vis in this post. Just hold it there for a detailed post about WSO2vis in the very near future. :-) It is always the best to try things out by yourselves. Start from checking out the protovis column chart I embedded here.&lt;/div&gt;&lt;pre&gt;new pv.Panel()
    .width(150)
    .height(150)
  .add(pv.Bar)
    .data([1, 1.2, 1.7, 1.5, .7])
    .bottom(0)
    .width(20)
    .height(function(d) d * 80)
    .left(function() this.index * 25)
  .root.render();
&lt;/pre&gt;&lt;script src="http://protovis-js.googlecode.com/svn/trunk/protovis-d3.1.js" type="text/javascript"&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript+protovis"&gt;
new pv.Panel()
    .width(150)
    .height(150)
  .add(pv.Bar)
    .data([1, 1.2, 1.7, 1.5, .7])
    .bottom(0)
    .width(20)
    .height(function(d) d * 80)
    .left(function() this.index * 25)
  .root.render();
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-2775704327674183308?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/4VWhrrQLzfU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/2775704327674183308/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2010/02/test.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2775704327674183308?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2775704327674183308?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/4VWhrrQLzfU/test.html" title="Data visualization frameworks and Protovis" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>3</thr:total><feedburner:origLink>http://blog.soundofcode.com/2010/02/test.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4ARHk_eCp7ImA9WxFWFUo.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-648682844783726419</id><published>2010-03-19T01:57:00.007+05:30</published><updated>2010-06-03T18:45:45.740+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-03T18:45:45.740+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DIY" /><category scheme="http://www.blogger.com/atom/ns#" term="Hacks" /><title>USB Guitar for Frets on Fire</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_QR51QC9-YzE/S6KKu1RUBII/AAAAAAAADIg/JoE13oVarwA/s1600-h/fof_01.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://4.bp.blogspot.com/_QR51QC9-YzE/S6KKu1RUBII/AAAAAAAADIg/JoE13oVarwA/s200/fof_01.jpg" width="200" /&gt;&lt;/a&gt;I have been a fan of &lt;a href="http://fretsonfire.sourceforge.net/"&gt;Frets on Fire&lt;/a&gt;&amp;nbsp;for quite sometime now but I had enough time playing it with my laptop's Keyboard. So I bought a toy guitar and a USB Keyboard and I just had to wire the guitar's push buttons&amp;nbsp;correctly&amp;nbsp;to the Keyboard's tiny (not so tiny though) circuit board so that it invokes key presses.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_QR51QC9-YzE/S6KKwcJZoKI/AAAAAAAADIo/kw8ki-5nMDw/s1600-h/fof_02.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_QR51QC9-YzE/S6KKwcJZoKI/AAAAAAAADIo/kw8ki-5nMDw/s200/fof_02.jpg" width="200" /&gt;&lt;/a&gt;Unfortunately, I noticed that the toy guitar I bought does not really work the way I want it to. Therefore, I might end up with something similar to &lt;a href="http://www.youtube.com/watch?v=X1r2TYvGpHo"&gt;this&lt;/a&gt;. Just need to find a glove and some conductors. ;-)&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_QR51QC9-YzE/S6KKyD3W80I/AAAAAAAADIw/pWHXAz-D_80/s1600-h/fof_03.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="150" src="http://3.bp.blogspot.com/_QR51QC9-YzE/S6KKyD3W80I/AAAAAAAADIw/pWHXAz-D_80/s200/fof_03.jpg" width="200" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[&lt;a href="http://www.soundofcode.com/new.html"&gt;What's New&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-648682844783726419?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/5WFmBYd6_vc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/648682844783726419/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2010/03/usb-guitar-for-frets-on-fire.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/648682844783726419?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/648682844783726419?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/5WFmBYd6_vc/usb-guitar-for-frets-on-fire.html" title="USB Guitar for Frets on Fire" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_QR51QC9-YzE/S6KKu1RUBII/AAAAAAAADIg/JoE13oVarwA/s72-c/fof_01.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.soundofcode.com/2010/03/usb-guitar-for-frets-on-fire.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUYNQXw9cSp7ImA9WxBbGUk.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-1768166831449845978</id><published>2010-03-19T01:43:00.000+05:30</published><updated>2010-03-19T01:43:10.269+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-19T01:43:10.269+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="iDisplay" /><title>iDisplay Media App</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QR51QC9-YzE/S6KH96CHPGI/AAAAAAAADIQ/IblJyzfCIoo/s1600-h/idisplay_14.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_QR51QC9-YzE/S6KH96CHPGI/AAAAAAAADIQ/IblJyzfCIoo/s320/idisplay_14.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;a href="http://2.bp.blogspot.com/_QR51QC9-YzE/S6KH9y8aRNI/AAAAAAAADIU/yigwebPwLRw/s1600-h/idisplay_15.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_QR51QC9-YzE/S6KH9y8aRNI/AAAAAAAADIU/yigwebPwLRw/s320/idisplay_15.jpg" width="320" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are some photos of a new Media application developed on &lt;a href="http://www.soundofcode.com/idisplay"&gt;iDisplay&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
It demonstrates the capability of having live and natural interactions between the real world and the virtual world.&lt;br /&gt;
&lt;br /&gt;
A virtual face of a person is rendered inside a defined area by a plastic frame and that virtual face is looking at the colored pluck placed on the display. (Inspired by a &lt;a href="http://web.media.mit.edu/~dmerrill/siftables.html"&gt;Siftables&lt;/a&gt; demo).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ &lt;a href="http://www.soundofcode.com/new.html"&gt;What's New&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-1768166831449845978?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/OmCxz8sGCkI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/1768166831449845978/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2010/03/idisplay-media-app.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/1768166831449845978?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/1768166831449845978?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/OmCxz8sGCkI/idisplay-media-app.html" title="iDisplay Media App" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_QR51QC9-YzE/S6KH96CHPGI/AAAAAAAADIQ/IblJyzfCIoo/s72-c/idisplay_14.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://blog.soundofcode.com/2010/03/idisplay-media-app.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QMRX4yeip7ImA9WxBUE04.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-6119856230067074850</id><published>2010-02-28T09:59:00.000+05:30</published><updated>2010-02-28T09:59:44.092+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-28T09:59:44.092+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><title>Mahamevnawa TV</title><content type="html">There is a "Medin &lt;a href="http://en.wikipedia.org/wiki/Poya"&gt;Poya&lt;/a&gt; Day" &amp;nbsp;&lt;a href="http://mahamevnawa.com/BLOG/MahamevnawaTV/MahamevnawaTV.html"&gt;&lt;b&gt;Live Web Cast&lt;/b&gt;&lt;/a&gt;&amp;nbsp;(Sinhala) from "Amawatura &lt;a href="http://mahamevnawa.blogspot.com/"&gt;Mahamevnawa&lt;/a&gt; Asapuwa", Malambe, Sri Lanka.&lt;br /&gt;
&lt;br /&gt;
If you have a low bandwidth connection, there is an &lt;a href="http://mahamevnawa.com/BLOG/MahamevnawaTV/Mahamevnawa_Audio.html"&gt;&lt;b&gt;audio only&lt;/b&gt;&lt;/a&gt;&amp;nbsp;(Sinhala) version as well.&lt;br /&gt;
&lt;br /&gt;
Grab something&amp;nbsp;meaningful&amp;nbsp;to your life today. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-6119856230067074850?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/EcALu0Zb-nc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/6119856230067074850/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2010/02/mahamevnawa-tv.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/6119856230067074850?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/6119856230067074850?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/EcALu0Zb-nc/mahamevnawa-tv.html" title="Mahamevnawa TV" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.soundofcode.com/2010/02/mahamevnawa-tv.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0QGRXw9fCp7ImA9WxBUE00.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-6993979296840598052</id><published>2010-02-28T02:45:00.000+05:30</published><updated>2010-02-28T02:45:24.264+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-28T02:45:24.264+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WebStuff" /><title>Mass of an Apple</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QR51QC9-YzE/S4mLN4Kc7uI/AAAAAAAADIE/mcFSpvSVv8Y/s1600-h/Screenshot2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="361" src="http://3.bp.blogspot.com/_QR51QC9-YzE/S4mLN4Kc7uI/AAAAAAAADIE/mcFSpvSVv8Y/s400/Screenshot2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;(click on the image to enlarge)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-6993979296840598052?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/6Kq1U9xDuAc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/6993979296840598052/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2010/02/mass-of-apple.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/6993979296840598052?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/6993979296840598052?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/6Kq1U9xDuAc/mass-of-apple.html" title="Mass of an Apple" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_QR51QC9-YzE/S4mLN4Kc7uI/AAAAAAAADIE/mcFSpvSVv8Y/s72-c/Screenshot2.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://blog.soundofcode.com/2010/02/mass-of-apple.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0IEQH88eip7ImA9WxBWEU4.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-2656934271594517005</id><published>2010-02-03T00:13:00.006+05:30</published><updated>2010-02-03T01:08:21.172+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-03T01:08:21.172+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="I like" /><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="WebStuff" /><title>Open up some Happiness!</title><content type="html">Found it interesting to watch Coca Cola Opening Happiness commercials in different regions. By the way, this is not a paid advertisement :-P.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Sri Lanka - Sinhala&lt;div&gt;&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/MF4N-25HS88&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/MF4N-25HS88&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sri Lanka - Tamil&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Jsomjkzbx6s&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Jsomjkzbx6s&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Singapore&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-YyxRf9FJ-s&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/-YyxRf9FJ-s&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;China&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Uzb64EOOW4Q&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Uzb64EOOW4Q&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Indonesia - "Buka Semangat Baru"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UnFpWxMqEMU&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/UnFpWxMqEMU&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;USA (I guess)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Cxfkg3RaRjs&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/Cxfkg3RaRjs&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XJsKt5WuxJY&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/XJsKt5WuxJY&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="265"&gt;&lt;param name="movie" value="http://www.youtube.com/v/-tMa8wtXmhQ&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/-tMa8wtXmhQ&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="265"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Go ahead, open up some happiness. :-)&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/5469764571661455144-2656934271594517005?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/NrZ-Xnjur8E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/2656934271594517005/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2010/02/open-up-some-happiness.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2656934271594517005?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2656934271594517005?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/NrZ-Xnjur8E/open-up-some-happiness.html" title="Open up some Happiness!" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>3</thr:total><feedburner:origLink>http://blog.soundofcode.com/2010/02/open-up-some-happiness.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8MQXo7fyp7ImA9WxFWFUg.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-7601940256190748853</id><published>2010-01-24T22:32:00.003+05:30</published><updated>2010-06-03T15:24:40.407+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-03T15:24:40.407+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><title>The most significant</title><content type="html">I still can not figure out what made me to write this blog post. "Oh damn!, I must blog more often!" - saying out loud most of the time when I visit my own blog. However, that state of mind lasts no more than 10 minutes.&lt;br /&gt;
&lt;br /&gt;
It is better to write down all the significant events occurred since my last blog post than just making this a draft and closing out the browser tab.&lt;br /&gt;
&lt;br /&gt;
I believe that twitter should take all the responsibility for me being away from blogging :-P. Twitter is more efficient, effective and easy way to shout out loud and you will get more feedback in a shorter period than getting comments for a blog post.&lt;br /&gt;
&lt;br /&gt;
I won the tertiary category Gold award at &lt;a href="http://www.nbqsasrilanka.org/"&gt;NBQSA&lt;/a&gt;. I graduated as a Software Engineer and hell yeah one of the best days it was. I joined with &lt;a href="http://wso2.com/"&gt;WSO2&lt;/a&gt; and went to Melbourne in last December for &lt;a href="http://www.apicta2009.com/"&gt;APICTA&lt;/a&gt;. I applied for MIT Media Lab and HitLab NZ.&lt;br /&gt;
&lt;br /&gt;
Thats not all, but the ones written above are the most significant. The small things that matters after all. Even though they do not get a chance to stand with a blog post. :-P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-7601940256190748853?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/Nc9NZR3_gbA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/7601940256190748853/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2010/01/most-significant.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/7601940256190748853?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/7601940256190748853?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/Nc9NZR3_gbA/most-significant.html" title="The most significant" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>3</thr:total><georss:point>7.3008335121242025 80.6231689453125</georss:point><feedburner:origLink>http://blog.soundofcode.com/2010/01/most-significant.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8HQn0zfyp7ImA9WxNXF0s.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-9007964510544512738</id><published>2009-10-03T01:09:00.004+05:30</published><updated>2009-10-06T00:23:53.387+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-06T00:23:53.387+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><title>After 7 months</title><content type="html">&lt;span style="font-family: Verdana, sans-serif;"&gt;Why the hell can't I write anything at all? after seven months of trying and still having nothing to write on? :P at least I should try to make this sound as a journal entry.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Well, so many things&amp;nbsp;happened&amp;nbsp;in last few months. I completed my undergrad studies, worked on my project "&lt;/span&gt;&lt;a href="http://www.soundofcode.com/idisplay"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;iDisplay&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;" and submitted a pretty good thesis (at least I hope), joined with GTS, gotta first class, selected for &lt;/span&gt;&lt;a href="http://www.nbqsasrilanka.org/"&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;NBQSA &lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Verdana, sans-serif;"&gt;finals and&amp;nbsp;straightened&amp;nbsp;my hair :P.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Joining GTS was a really quick decision as I did it because I really liked the project that I was allocated. It was nice to do some R &amp;amp; D work and finally come up with a good result; something like the "first Sri Lankan multi touch table" ;) and for the record it's something entirely different from my final year project "iDisplay".&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Still I'm half-filled, making myself to think that something else is my cup of tea.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Who knows, next one might take more than 7 months :P.&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;b&gt;Edit:&lt;/b&gt; I read this post in the evening (06 Oct 09') and felt like some lines were missing. I think I'm half-filled because I&amp;nbsp;still couldn't work on my postgrad application packages&amp;nbsp;properly. Planing ahead is not an easy task when you really want to keep your vision away from being&amp;nbsp;scattered, always, specially these days. Anyway, I'm really glad that I could join GTS because it is hard to find Sri Lankan companies involved in R &amp;amp; D projects. It's good to have some research at work as what I get paid for, than just staring at the same source code for ages!&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;Now I really made it a journal entry, didn't I? eh ;)&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: Verdana, sans-serif;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-9007964510544512738?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/VgRCJ0uswiQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/9007964510544512738/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2009/10/after-7-months.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/9007964510544512738?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/9007964510544512738?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/VgRCJ0uswiQ/after-7-months.html" title="After 7 months" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>7</thr:total><feedburner:origLink>http://blog.soundofcode.com/2009/10/after-7-months.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MCQXY-fyp7ImA9WxFWFUQ.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-4012026319783453852</id><published>2009-03-09T00:07:00.002+05:30</published><updated>2010-06-04T01:34:20.857+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-04T01:34:20.857+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="I like" /><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><title>From No Limbs to No Limits</title><content type="html">Today, I&amp;nbsp;happened to see a &lt;a href="http://www.youtube.com/watch?v=gqantZJ6WwM"&gt;Youtube video&lt;/a&gt; of one of an international inspirational speaker, posted on Facebook. He was 23 years old, an hell yeah the video was totally inspiring. But there was something else... he had no limbs.&lt;br /&gt;
&lt;br /&gt;
This is&amp;nbsp;&lt;a href="http://www.lifewithoutlimbs.org/"&gt;Nick Vujicic&lt;/a&gt; that I'm talking about, a 23 years old guy born with no limbs but will. It's sure that the day that Nick was born, his Mom, his Dad must felt the unspeakable&amp;nbsp;happiness&amp;nbsp;of having a baby. But the same time they must have worried about Nick because they knew that he&amp;nbsp;wouldn't&amp;nbsp;even be able to dress himself, feed himself or move himself. They would&amp;nbsp;never&amp;nbsp;have imagined that one day their son would become an inspirational speaker who speaks to millions of people, who builds schools in third world countries and help children to study. They would never have thought that Nick would go from No Limbs to No LIMITS! Yeah, he says this all.&lt;br /&gt;
&lt;br /&gt;
Sometime back, I wrote a blog post in this blog about chasing goals titled "a goal". Yeah, you probably remember it so I'm not gonna link it here ;) . In one of his clips there was something about chasing goals and achieving targets in our lives. If we have a target to make a superior movie but we have no camera crew, it's coming. If we have no script and have no money to make it, still it's coming. He says, if we wanna make a phone call we need to go to the phone. It's not gonna something like in Heroes that we can move objects using our mind and make the phone comes to us. Same theory can be applied to the goals and targets in one's life. It's coming, it's coming; if we continue move forward towards it. For that, we should try with our fullest&amp;nbsp;potential.&lt;br /&gt;
&lt;br /&gt;
I know for someone, it might be bit awkward to read a post like this. But I hope this will add something to my last blog post about goals and targets. That's right I&amp;nbsp;mentioned&amp;nbsp;it previously ;) .&lt;br /&gt;
&lt;br /&gt;
I have set of goals, and sometimes I get tired of chasing them. Sometimes I overrun them. But remember not to finish strong, never, ever. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-4012026319783453852?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/BZH4wrJx1Ts" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/4012026319783453852/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2009/03/from-no-limbs-to-no-limits.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/4012026319783453852?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/4012026319783453852?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/BZH4wrJx1Ts/from-no-limbs-to-no-limits.html" title="From No Limbs to No Limits" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>4</thr:total><georss:point>6.9155 79.8572</georss:point><feedburner:origLink>http://blog.soundofcode.com/2009/03/from-no-limbs-to-no-limits.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcFRH4_fCp7ImA9WxVQFUw.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-1069172512603188151</id><published>2009-02-02T00:08:00.073+05:30</published><updated>2009-02-02T01:06:55.044+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-02T01:06:55.044+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="I like" /><category scheme="http://www.blogger.com/atom/ns#" term="MyWorkStuff" /><category scheme="http://www.blogger.com/atom/ns#" term="Projects" /><category scheme="http://www.blogger.com/atom/ns#" term="Techno" /><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="WebStuff" /><title>diGIT</title><content type="html">I hope you might have already heard about the first ever Sinhala mobile game, "&lt;a href="http://www.games.lk/"&gt;Colomo Ride&lt;/a&gt; (Colomba Wate)", developed and released by &lt;a href="http://www.gtslk.com/"&gt;GTS&lt;/a&gt;. As a stepping stone for&amp;nbsp;another contribution towards Sri Lanka's IT improvement, GTS has launched the newest online IT magazine today (1st FEB 09'), named "&lt;a href="http://digit.lk/"&gt;diGIT&lt;/a&gt;".&lt;br /&gt;
&lt;br /&gt;
I'm really glad to be one of a contributer among the whole bunch of &lt;a href="http://digit.lk/?q=node/72"&gt;contributors&lt;/a&gt; of diGIT who made the premiere issue a grand success with 122 pages. :)&lt;br /&gt;
&lt;br /&gt;
diGIT contains vast range of articles&amp;nbsp;included-in different sections. You can browse the magazine online as they have released an &lt;a href="http://digit.lk/"&gt;HTML version&lt;/a&gt; and a &lt;a href="http://digit.lk/flash/Main.php?MagID=1&amp;amp;MagNo=1"&gt;FLASH version&lt;/a&gt; of it. Further you can download the &lt;a href="http://digit.lk/pdf/February2009.pdf"&gt;PDF version&lt;/a&gt; to read it from your desktop. Most importantly it is free! :)&lt;br /&gt;
&lt;br /&gt;
Btw, I heard that the guys at GTS are going to launch the &lt;a href="http://www.games.lk/?q=node/48"&gt;next version&lt;/a&gt; of "Colombo Ride" mobile game on the&amp;nbsp;Independence&amp;nbsp;Day, 4th of FEB. So don't forget&amp;nbsp;to check that out, too. ;)&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://digit.lk/" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_QR51QC9-YzE/SYX3PTSS58I/AAAAAAAACsM/YrRZxow7-ng/s320/i+contribute.png" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Lahiru.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-1069172512603188151?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/3cqQUGIsDV4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/1069172512603188151/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2009/02/digit.html#comment-form" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/1069172512603188151?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/1069172512603188151?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/3cqQUGIsDV4/digit.html" title="diGIT" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_QR51QC9-YzE/SYX3PTSS58I/AAAAAAAACsM/YrRZxow7-ng/s72-c/i+contribute.png" height="72" width="72" /><thr:total>5</thr:total><georss:point>6.9155 79.8572</georss:point><feedburner:origLink>http://blog.soundofcode.com/2009/02/digit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUBRncyfyp7ImA9WxRaF0g.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-2343811716312098761</id><published>2008-12-20T11:03:00.001+05:30</published><updated>2008-12-20T13:00:57.997+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-20T13:00:57.997+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GoogleGadgets" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Desktop" /><title>Winter Holiday Gadgets</title><content type="html">Google Desktop Community has created several &lt;a href="http://desktop.google.com/plugins/c/sidebar/holiday.html"&gt;holiday-themed gadgets&lt;/a&gt; in the past recent years. And now its become a tradition.&lt;br /&gt;
&lt;br /&gt;
In this Winter, there are five more new holiday-themed gadgets to dress-up your Desktop. Read up the &lt;a href="http://googledesktop.blogspot.com/2008/12/winter-holiday-gadgets.html"&gt;&lt;span style="font-weight: bold;"&gt;special blog post&lt;/span&gt;&lt;/a&gt; by Google Desktop team.&lt;br /&gt;
&lt;br /&gt;
And the memories of the past holidays should never have been left out. (&amp;nbsp;&lt;a href="http://googledesktop.blogspot.com/2007/12/desktop-gadgets-for-holiday-season.html"&gt;2007&lt;/a&gt; &amp;amp; &lt;a href="http://googledesktop.blogspot.com/2006/12/holiday-gadgets.html"&gt;2006&lt;/a&gt; ).&lt;br /&gt;
&lt;br /&gt;
Hope you'll enjoy the gadgets. :)&lt;br /&gt;
&lt;br /&gt;
Happy Holidays!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-2343811716312098761?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/6gKYQRt1noI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/2343811716312098761/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/12/winter-holiday-gadgets.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2343811716312098761?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2343811716312098761?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/6gKYQRt1noI/winter-holiday-gadgets.html" title="Winter Holiday Gadgets" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>0</thr:total><georss:point>6.9155 79.8572</georss:point><feedburner:origLink>http://blog.soundofcode.com/2008/12/winter-holiday-gadgets.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEBSHg5eCp7ImA9WxRWF08.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-241575551473633764</id><published>2008-11-03T17:16:00.005+05:30</published><updated>2008-11-03T20:17:39.620+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-03T20:17:39.620+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MyWorkStuff" /><category scheme="http://www.blogger.com/atom/ns#" term="Projects" /><category scheme="http://www.blogger.com/atom/ns#" term="Software" /><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><title>Finger Tracking - Step 1</title><content type="html">I'm just getting things ready for my final year project. Well if I make it quick... the project is based on multi-touch surfaces.&lt;br /&gt;&lt;br /&gt;In order to achieve the project goals some considerable work on the hardware prototype is necessary, and as well as the software.&lt;br /&gt;&lt;br /&gt;Still I'm having some issues finding the ideal hardware equipments (IR illuminators, IR cams, Projector etc..). So I decided to get more familiar with the image processing library "openCV" which I'm planing to use for the base system; while setting-up the hardware prototype.&lt;br /&gt;&lt;br /&gt;This is my first attempt to track fingers using a regular webcam.&lt;br /&gt;&lt;br /&gt;The images are captured form my Logitech Quickcam Pro 9000 and processed using "openCV". In the original image the dark background helps to create a huge contrast difference.&lt;br /&gt;&lt;br /&gt;I just iterated through the grayscaled image and binarized it with a threshold value. So far it's good but have to make it better.&lt;br /&gt;&lt;br /&gt;After all it's just the beginning. :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_QR51QC9-YzE/SQ8H4sF80tI/AAAAAAAAClM/5OTrGBWwWHU/s1600-h/2008-11-03_1942.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://4.bp.blogspot.com/_QR51QC9-YzE/SQ8H4sF80tI/AAAAAAAAClM/anKX-b8ZCgg/s400-R/2008-11-03_1942.png" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QR51QC9-YzE/SQ8IEGvvOVI/AAAAAAAAClU/xb8diR_XDT4/s1600-h/2008-11-03_1943.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://1.bp.blogspot.com/_QR51QC9-YzE/SQ8IEGvvOVI/AAAAAAAAClU/_dthZ1gJLHs/s400-R/2008-11-03_1943.png" border="0" /&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/5469764571661455144-241575551473633764?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/cs1W99qg7n0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/241575551473633764/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/11/finger-tracking-step-1.html#comment-form" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/241575551473633764?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/241575551473633764?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/cs1W99qg7n0/finger-tracking-step-1.html" title="Finger Tracking - Step 1" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_QR51QC9-YzE/SQ8H4sF80tI/AAAAAAAAClM/anKX-b8ZCgg/s72-Rc/2008-11-03_1942.png" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/11/finger-tracking-step-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcAQ30zeip7ImA9WxRWEUw.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-2514537148822785342</id><published>2008-10-27T02:18:00.003+05:30</published><updated>2008-10-27T18:24:02.382+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-27T18:24:02.382+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="I like" /><category scheme="http://www.blogger.com/atom/ns#" term="MyWorkStuff" /><category scheme="http://www.blogger.com/atom/ns#" term="Projects" /><category scheme="http://www.blogger.com/atom/ns#" term="Techno" /><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><title>My MTmini</title><content type="html">Several days back I got a chance to build my own &lt;b&gt;&lt;a href="http://ssandler.wordpress.com/MTmini/"&gt;MTmini&lt;/a&gt;&lt;/b&gt;. It's a very low cost multi touch pad, which can be built within couple of minutes!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_QR51QC9-YzE/SQTZhU9H2oI/AAAAAAAACEA/VgCqvgdtKmA/s1600-h/dsc00779.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img src="http://3.bp.blogspot.com/_QR51QC9-YzE/SQTZhU9H2oI/AAAAAAAACEA/rN931W0HXXQ/s320-R/dsc00779.jpg" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It cost me 130Rs (1.3$) for a 18"x14" plain glass and some white papers. My Logitech Quickcam and an old cardboard box were the other stuff that I needed.&lt;br /&gt;&lt;br /&gt;All I had to do was putting things together and installing "&lt;a href="http://tbeta.nuigroup.com/"&gt;tbeta&lt;/a&gt;". :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_QR51QC9-YzE/SQTaPm2dzkI/AAAAAAAACEI/s_OQsdsr6wA/s1600-h/dsc00774.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;/a&gt;&lt;img src="http://2.bp.blogspot.com/_QR51QC9-YzE/SQTaPm2dzkI/AAAAAAAACEI/X2QzykgAf3A/s320-R/dsc00774.jpg" border="0" /&gt;&lt;/div&gt;&lt;br /&gt;Well it doesn't look perfect, but it works damn well.&lt;br /&gt;&lt;br /&gt;Checkout the &lt;a href="http://www.youtube.com/watch?v=kcVNwVlc_4E"&gt;&lt;span style="font-weight: bold;"&gt;video&lt;/span&gt;&lt;/a&gt; on utube. :) Sorry about the poor video quality.&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/kcVNwVlc_4E&amp;amp;hl=en&amp;amp;fs=1&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/kcVNwVlc_4E&amp;amp;hl=en&amp;amp;fs=1&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;Music: &lt;a href="http://www.jamendo.com/en/artist/SonicBlue"&gt;Sonic Blue - Room 7&lt;/a&gt; (released under &lt;a href="http://creativecommons.org/licenses/by-nc-sa/3.0/"&gt;CC&lt;/a&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-2514537148822785342?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/YdhBi-ybZ1g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/2514537148822785342/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/10/my-mtmini.html#comment-form" title="18 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2514537148822785342?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2514537148822785342?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/YdhBi-ybZ1g/my-mtmini.html" title="My MTmini" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_QR51QC9-YzE/SQTZhU9H2oI/AAAAAAAACEA/rN931W0HXXQ/s72-Rc/dsc00779.jpg" height="72" width="72" /><thr:total>18</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/10/my-mtmini.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMFQ3c5fSp7ImA9WxRXGUw.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-8594097120387888478</id><published>2008-10-25T12:11:00.000+05:30</published><updated>2008-10-25T12:36:52.925+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-25T12:36:52.925+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Anniversary" /><title>Its been exactly 2 years !</title><content type="html">Yeah! Its been exactly two years... :)&lt;br /&gt;
&lt;br /&gt;
Back in 2006, on 24th of October, I wrote &lt;a href="http://blog.soundofcode.com/2006/10/waiting.html"&gt;my first ever blog post&lt;/a&gt; which was about the Firefox launch. Just read that post and find out how I put my self on the blogosphere.&lt;br /&gt;
&lt;br /&gt;
Things have changed a lot..&lt;br /&gt;
&lt;br /&gt;
Uhmm.., well it seems like a pebble is blocking my stream of words or that stream might have drained. :P&lt;br /&gt;
&lt;br /&gt;
Anyway lot to write but can't find words. Final year project is the only thing which is visible at the moment, everything just feel like multi touch screens. ;) [ will write more about it sometime later ].&lt;br /&gt;
&lt;br /&gt;
I want to thank all of you who made comments on my posts, who added my rss feed and let their feed readers to fill up with my craps, and specially you! who read this Blog at least once. :) THANKS!&lt;br /&gt;
&lt;br /&gt;
So Happy Birthday 'Sound of Code-Blog' !!! You are a big boy now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-8594097120387888478?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/Rnscbj95TOE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/8594097120387888478/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/10/its-been-exactly-2-years.html#comment-form" title="13 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/8594097120387888478?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/8594097120387888478?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/Rnscbj95TOE/its-been-exactly-2-years.html" title="Its been exactly 2 years !" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>13</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/10/its-been-exactly-2-years.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMMRnc7eSp7ImA9WxRXGUw.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-4544879276006401547</id><published>2008-10-25T12:00:00.000+05:30</published><updated>2008-10-25T12:04:47.901+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-10-25T12:04:47.901+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="I like" /><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><category scheme="http://www.blogger.com/atom/ns#" term="WebStuff" /><title>Emoticons on GMail - For Emails</title><content type="html">&lt;b&gt;Time to break the hiatus !&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Just noticed the newset emoticons on GMail. This ones are for emails, not the emoticons that we used in GMail-chat. ;)&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_QR51QC9-YzE/SQK9eBTUz_I/AAAAAAAACDw/AP_Ru29cOLQ/s1600-h/gmailemoticons.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_QR51QC9-YzE/SQK9eBTUz_I/AAAAAAAACDw/SgAZVXflj8s/s400-R/gmailemoticons.png" /&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_QR51QC9-YzE/SQK9fRAQVYI/AAAAAAAACD4/VEHLREQOXyM/s1600-h/gmailemoticonsII.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_QR51QC9-YzE/SQK9fRAQVYI/AAAAAAAACD4/8tpkdiOG39s/s400-R/gmailemoticonsII.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
---&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-4544879276006401547?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/kDgBlkMzM_I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/4544879276006401547/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/10/emoticons-on-gmail-for-emails.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/4544879276006401547?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/4544879276006401547?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/kDgBlkMzM_I/emoticons-on-gmail-for-emails.html" title="Emoticons on GMail - For Emails" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_QR51QC9-YzE/SQK9eBTUz_I/AAAAAAAACDw/SgAZVXflj8s/s72-Rc/gmailemoticons.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/10/emoticons-on-gmail-for-emails.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QBQHc9cSp7ImA9WxRTFEo.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-3678016996505884138</id><published>2008-09-04T01:18:00.000+05:30</published><updated>2008-09-04T01:19:11.969+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-04T01:19:11.969+05:30</app:edited><title>Charity : Water</title><content type="html">&lt;object height="267" width="400"&gt; &lt;param name="allowfullscreen" value="true" /&gt; &lt;param name="allowscriptaccess" value="always" /&gt; &lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1552996&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /&gt; &lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1552996&amp;server=www.vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="267"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;a href="http://www.vimeo.com/1552996?pg=embed&amp;amp;sec=1552996"&gt;The September Campaign Trailer&lt;/a&gt; from &lt;a href="http://www.vimeo.com/charitywater?pg=embed&amp;amp;sec=1552996"&gt;charity: water&lt;/a&gt; on &lt;a href="http://vimeo.com/?pg=embed&amp;amp;sec=1552996"&gt;Vimeo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-3678016996505884138?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/Qwno44w60DE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/3678016996505884138/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/09/charity-water.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/3678016996505884138?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/3678016996505884138?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/Qwno44w60DE/charity-water.html" title="Charity : Water" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/09/charity-water.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQNQ304eCp7ImA9WxRaEEw.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-3258020410944297994</id><published>2008-08-01T09:06:00.007+05:30</published><updated>2008-12-11T23:13:12.330+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-11T23:13:12.330+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Facebook" /><category scheme="http://www.blogger.com/atom/ns#" term="WebStuff" /><title>Facebook style pagination</title><content type="html">&lt;a href="http://3.bp.blogspot.com/_QR51QC9-YzE/SJKHd4JfLOI/AAAAAAAAB_U/nxrKwCMgxIY/s1600-h/fbpagination.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5229391064688700642" title="Facebook style pagination mockajax with a loading indicator" src="http://3.bp.blogspot.com/_QR51QC9-YzE/SJKHd4JfLOI/AAAAAAAAB_U/nxrKwCMgxIY/s320/fbpagination.png" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" /&gt;&lt;/a&gt;&lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt; provides a great &lt;a href="http://wiki.developers.facebook.com/index.php/Main_Page"&gt;API&lt;/a&gt; for application developers. An API which helps developers to make their applications more facebook-fit.&lt;br /&gt;&lt;br /&gt;There are many things that a developer can do using &lt;a href="http://wiki.developers.facebook.com/index.php/FBML"&gt;FBML&lt;/a&gt; (Facebook Markup Language),&lt;b&gt; &lt;/b&gt;but pagination. Recently I was looking for a way to add Facebook style pagination for one of the Facebook applications being developed. Though there's no relevant FBML tag, we could have something which works out of the box. :)&lt;br /&gt;&lt;br /&gt;I found &lt;a href="http://forum.developers.facebook.com/viewtopic.php?pid=88426"&gt;&lt;b&gt;this solution&lt;/b&gt;&lt;/a&gt; on the &lt;a href="http://forum.developers.facebook.com/"&gt;Facebook developers forum&lt;/a&gt; which looks promising. :) It's a nice php function and anyone can use it to have a exact same Facebook style pagination on their Facebook applications.&lt;br /&gt;&lt;br /&gt;The code itself provides many functionalities including &lt;a href="http://wiki.developers.facebook.com/index.php/DynamicFBML/MockAJAX"&gt;mockajax&lt;/a&gt;. I could use the original source code with mockajax straight away, but I had to modify it a little bit in-order to add a loading indicator. :)&lt;br /&gt;&lt;br /&gt;Here I'll post the modified php code, with mockajax support + a loading indicator, but &lt;b style="color: rgb(153, 0, 0);"&gt;all credits must go to the &lt;a href="http://forum.developers.facebook.com/viewtopic.php?pid=88426"&gt;developer&lt;/a&gt; of the &lt;a href="http://forum.developers.facebook.com/viewtopic.php?pid=88426"&gt;original source code&lt;/a&gt;&lt;/b&gt;. :)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;How to use :&lt;/b&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;$ajax_top = array('rewriteurl' =&gt; $targetpage, 'rewriteid' =&gt; 'mypagination', 'rewriteform' =&gt; 'mypagination_form', 'loadingimg' =&gt; 'spinner');&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;"'loadingimg' =&gt; 'spinner'" will do the trick. You must put an &amp;lt;img&amp;gt; tag with the correspondent id. (here it's 'spinner'). And the image must put inside the 'rewriteid' (div).&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;&amp;lt;img src="&amp;lt;?=$callback_url?&gt;/loading.gif" id="spinner" style="display:none;"/&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Modified code with the loading indicator :&lt;/b&gt;&lt;br /&gt;&lt;pre name="code" class="php"&gt;&lt;br /&gt;/**&lt;br /&gt; * Facebook style paginator&lt;br /&gt; *&lt;br /&gt; * @param page the page number (1-based)&lt;br /&gt; * @param total_items the total amount of items&lt;br /&gt; * @param limit the amount of items to show per page&lt;br /&gt; * @param ajax an array with each of clickrewrite[url|id|form]&lt;br /&gt; * @param url the url the links point to&lt;br /&gt; * @param query_string the string to be appended to url&lt;br /&gt; * @param item name the name of items shown in summary&lt;br /&gt; * @param position whether paginator is on top or bottom of page&lt;br /&gt; * @return pagination string to be placed in html code&lt;br /&gt; */&lt;br /&gt;function get_pagination_string(&lt;br /&gt;        $page = 1, &lt;br /&gt;        $total_items, &lt;br /&gt;        $limit = 8, &lt;br /&gt;        $ajax='', &lt;br /&gt;        $target_page = '', &lt;br /&gt;        $page_string = '?page=', &lt;br /&gt;        $summary_name = 'items', &lt;br /&gt;        $placement = 'summary'&lt;br /&gt;        )&lt;br /&gt;{        &lt;br /&gt;    // DEFAULTS&lt;br /&gt;    $adjacents = 5;&lt;br /&gt;&lt;br /&gt;    // HTML&lt;br /&gt;    $div_bar = '&amp;lt;div class="bar clearfix %s_bar"&gt;';&lt;br /&gt;    $display = '&amp;lt;div class="summary"&gt;Displaying %d-%d of %d %s.&amp;lt;/div&gt;';&lt;br /&gt;    $ul = '&amp;lt;ul id="pag_nav_links" class="pagerpro"&gt;';&lt;br /&gt;    $link = '&amp;lt;li&gt;&amp;lt;a href="%s%s%s"&gt;%s&amp;lt;/a&gt;&amp;lt;/li&gt;';&lt;br /&gt;    $current_link = '&amp;lt;li class="current"&gt;&amp;lt;a href="%s%s%s"&gt;%s&amp;lt;/a&gt;&amp;lt;/li&gt;';&lt;br /&gt;    $ajax_link = '&amp;lt;li&gt;&amp;lt;a href="#" clickrewriteurl="%s&amp;page=%s" clickrewriteid="%s" clickrewriteform="%s" clicktoshow="%s"&gt;%s&amp;lt;/a&gt;&amp;lt;/li&gt;';&lt;br /&gt;    $current_ajax_link = '&amp;lt;li class="current"&gt;&amp;lt;a href="#" clickrewriteurl="%s&amp;page=%s" clickrewriteid="%s" clickrewriteform="%s" clicktoshow="%s"&gt;%s&amp;lt;/a&gt;&amp;lt;/li&gt;';&lt;br /&gt;    $ul_close = '&amp;lt;/ul&gt;';&lt;br /&gt;    $div_close = '&amp;lt;/div&gt;';&lt;br /&gt;    $div_font = '&amp;lt;div style="font-size:11px;"&gt;%s&amp;lt;/div&gt;';&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    // VARS&lt;br /&gt;    if(substr($page_string, 0, 1) != '?') &lt;br /&gt;        $page_string = '?' . $page_string;&lt;br /&gt;    if(substr($page_string, strlen($page_string) - 5) != 'page=') &lt;br /&gt;        $page_string .= '&amp;page=';&lt;br /&gt;    $prev = $page - 1;&lt;br /&gt;    $next = $page + 1;&lt;br /&gt;    $firstpage = 1;&lt;br /&gt;    $lastpage = ceil($total_items / $limit);&lt;br /&gt;    $fiop = ($limit * $page) - $limit + 1;&lt;br /&gt;    $liop = min($limit * $page, $total_items);&lt;br /&gt;&lt;br /&gt;    // DRAW PAGINATOR &lt;br /&gt;&lt;br /&gt;    // the footer paginator has no summary and the current page has a different gfx&lt;br /&gt;    $type = ($placement == 'summary') ? 'summary' : 'footer';&lt;br /&gt;&lt;br /&gt;    $pagination = sprintf($div_bar, $type);&lt;br /&gt;&lt;br /&gt;    // Draw summary&lt;br /&gt;    if($placement == 'summary')&lt;br /&gt;        $pagination .= sprintf($display, $fiop, $liop, $total_items, $summary_name);&lt;br /&gt;&lt;br /&gt;    if($lastpage &gt; 1)&lt;br /&gt;    {    &lt;br /&gt;        $pagination .= $ul;&lt;br /&gt;&lt;br /&gt;        // First page selector&lt;br /&gt;        if ($page &gt; 2) &lt;br /&gt;        {&lt;br /&gt;            if(!empty($ajax))&lt;br /&gt;            {&lt;br /&gt;                $pagination .= sprintf(&lt;br /&gt;                        $ajax_link,&lt;br /&gt;                        $ajax['rewriteurl'],&lt;br /&gt;                        $firstpage, &lt;br /&gt;                        $ajax['rewriteid'],&lt;br /&gt;                        $ajax['rewriteform'],&lt;br /&gt;                        $ajax['loadingimg'],&lt;br /&gt;                        'First');&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                $pagination .= sprintf(&lt;br /&gt;                        $link, &lt;br /&gt;                        $target_page, &lt;br /&gt;                        $page_string, &lt;br /&gt;                        $firstpage, &lt;br /&gt;                        'First');&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        // Previous page selector&lt;br /&gt;        if ($page &gt; 1) &lt;br /&gt;        {&lt;br /&gt;            if(!empty($ajax))&lt;br /&gt;            {&lt;br /&gt;                $pagination .= sprintf(&lt;br /&gt;                        $ajax_link,&lt;br /&gt;                        $ajax['rewriteurl'],&lt;br /&gt;                        $firstpage,&lt;br /&gt;                        $ajax['rewriteid'],&lt;br /&gt;                        $ajax['rewriteform'],&lt;br /&gt;                        $ajax['loadingimg'],&lt;br /&gt;                        'Prev');&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                $pagination .= sprintf(&lt;br /&gt;                        $link, &lt;br /&gt;                        $target_page, &lt;br /&gt;                        $page_string, &lt;br /&gt;                        $firstpage, &lt;br /&gt;                        'Prev');&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        // Page selectors&lt;br /&gt;        if ($page &amp;lt; 4)&lt;br /&gt;        {    &lt;br /&gt;            for ($counter = 1; $counter &amp;lt;= min(5, $lastpage); $counter++)&lt;br /&gt;            {&lt;br /&gt;                if ($counter == $page)&lt;br /&gt;                {&lt;br /&gt;                    if(!empty($ajax))&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $current_ajax_link,&lt;br /&gt;                                $ajax['rewriteurl'],&lt;br /&gt;                                $counter,&lt;br /&gt;                                $ajax['rewriteid'],&lt;br /&gt;                                $ajax['rewriteform'],&lt;br /&gt;                                $ajax['loadingimg'],&lt;br /&gt;                                $counter);&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $current_link, &lt;br /&gt;                                $target_page, &lt;br /&gt;                                $page_string,&lt;br /&gt;                                $counter,&lt;br /&gt;                                $counter);&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    if(!empty($ajax))&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $ajax_link,&lt;br /&gt;                                $ajax['rewriteurl'],&lt;br /&gt;                                $counter,&lt;br /&gt;                                $ajax['rewriteid'],&lt;br /&gt;                                $ajax['rewriteform'],&lt;br /&gt;                                $ajax['loadingimg'],&lt;br /&gt;                                $counter);&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $link, &lt;br /&gt;                                $target_page, &lt;br /&gt;                                $page_string,&lt;br /&gt;                                $counter,&lt;br /&gt;                                $counter);&lt;br /&gt;                    }                  &lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        elseif ($page &gt; $lastpage - 3)&lt;br /&gt;        {&lt;br /&gt;            for($counter = $lastpage - min(5, $lastpage); &lt;br /&gt;                    $counter &amp;lt;= $lastpage; &lt;br /&gt;                    $counter++)&lt;br /&gt;            {&lt;br /&gt;                if ($counter == $page)&lt;br /&gt;                {&lt;br /&gt;                    if(!empty($ajax))&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $current_ajax_link,&lt;br /&gt;                                $ajax['rewriteurl'],&lt;br /&gt;                                $counter,&lt;br /&gt;                                $ajax['rewriteid'],&lt;br /&gt;                                $ajax['rewriteform'],&lt;br /&gt;                                $ajax['loadingimg'],&lt;br /&gt;                                $counter);&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $current_link, &lt;br /&gt;                                $target_page, &lt;br /&gt;                                $page_string,&lt;br /&gt;                                $counter,&lt;br /&gt;                                $counter);&lt;br /&gt;                    }                    &lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    if(!empty($ajax))&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $ajax_link,&lt;br /&gt;                                $ajax['rewriteurl'],&lt;br /&gt;                                $counter,&lt;br /&gt;                                $ajax['rewriteid'],&lt;br /&gt;                                $ajax['rewriteform'],&lt;br /&gt;                                $ajax['loadingimg'],&lt;br /&gt;                                $counter);&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $link, &lt;br /&gt;                                $target_page, &lt;br /&gt;                                $page_string,&lt;br /&gt;                                $counter,&lt;br /&gt;                                $counter);&lt;br /&gt;                    }                    &lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            for($counter = $page - 2; $counter &amp;lt;= $page + 2; $counter++)&lt;br /&gt;            {&lt;br /&gt;                if ($counter == $page)&lt;br /&gt;                {&lt;br /&gt;                    if(!empty($ajax))&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $current_ajax_link,&lt;br /&gt;                                $ajax['rewriteurl'],&lt;br /&gt;                                $counter,&lt;br /&gt;                                $ajax['rewriteid'],&lt;br /&gt;                                $ajax['rewriteform'],&lt;br /&gt;                                $ajax['loadingimg'],&lt;br /&gt;                                $counter);&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $current_link, &lt;br /&gt;                                $target_page, &lt;br /&gt;                                $page_string,&lt;br /&gt;                                $counter,&lt;br /&gt;                                $counter);&lt;br /&gt;                    }                    &lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    if(!empty($ajax))&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $ajax_link,&lt;br /&gt;                                $ajax['rewriteurl'],&lt;br /&gt;                                $counter,&lt;br /&gt;                                $ajax['rewriteid'],&lt;br /&gt;                                $ajax['rewriteform'],&lt;br /&gt;                                $ajax['loadingimg'],&lt;br /&gt;                                $counter);&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        $pagination .= sprintf(&lt;br /&gt;                                $link, &lt;br /&gt;                                $target_page, &lt;br /&gt;                                $page_string,&lt;br /&gt;                                $counter,&lt;br /&gt;                                $counter);&lt;br /&gt;                    }                    &lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        //next button&lt;br /&gt;        if ($page &amp;lt; $lastpage) &lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;            if(!empty($ajax))&lt;br /&gt;            {&lt;br /&gt;                $pagination .= sprintf(&lt;br /&gt;                        $ajax_link,&lt;br /&gt;                        $ajax['rewriteurl'],&lt;br /&gt;                        $next,&lt;br /&gt;                        $ajax['rewriteid'],&lt;br /&gt;                        $ajax['rewriteform'],&lt;br /&gt;                        $ajax['loadingimg'],&lt;br /&gt;                        'Next');&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                $pagination .= sprintf(&lt;br /&gt;                        $link,&lt;br /&gt;                        $target_page,&lt;br /&gt;                        $page_string,&lt;br /&gt;                        $next,&lt;br /&gt;                        'Next');&lt;br /&gt;            }                       &lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        //last button&lt;br /&gt;        if ($page &amp;lt; $lastpage - 1) &lt;br /&gt;        {&lt;br /&gt;            if(!empty($ajax))&lt;br /&gt;            {&lt;br /&gt;                $pagination .= sprintf(&lt;br /&gt;                        $ajax_link,&lt;br /&gt;                        $ajax['rewriteurl'],&lt;br /&gt;                        $lastpage,&lt;br /&gt;                        $ajax['rewriteid'],&lt;br /&gt;                        $ajax['rewriteform'],&lt;br /&gt;                        $ajax['loadingimg'],&lt;br /&gt;                        'Last');&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                $pagination .= sprintf(&lt;br /&gt;                        $link,&lt;br /&gt;                        $target_page,&lt;br /&gt;                        $page_string,&lt;br /&gt;                        $lastpage,&lt;br /&gt;                        'Last');&lt;br /&gt;            }                   &lt;br /&gt;        }&lt;br /&gt;        $pagination .= $ul_close;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    $pagination .= $div_close;&lt;br /&gt;    $pagination = sprintf($div_font, $pagination);&lt;br /&gt;&lt;br /&gt;    return $pagination;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Again, &lt;b&gt;all credits go to the developer of the &lt;a href="http://forum.developers.facebook.com/viewtopic.php?pid=88426"&gt;original source code&lt;/a&gt;&lt;/b&gt;. Thanks a lot for sharing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-3258020410944297994?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/F833gdrd4Yw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/3258020410944297994/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/08/facebook-style-pagination.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/3258020410944297994?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/3258020410944297994?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/F833gdrd4Yw/facebook-style-pagination.html" title="Facebook style pagination" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_QR51QC9-YzE/SJKHd4JfLOI/AAAAAAAAB_U/nxrKwCMgxIY/s72-c/fbpagination.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/08/facebook-style-pagination.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUBQH08cSp7ImA9WxdUFU4.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-2429980860536250373</id><published>2008-07-31T23:42:00.007+05:30</published><updated>2008-08-01T02:17:31.379+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-08-01T02:17:31.379+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><title>missing something...</title><content type="html">I think I'm exhausted... but hey, I'm still trying to write a blog post. It is the matter of perspective; If someone thinks that an exhausted person can't write a blog post because he is exhausted; then fine, that is their perspective.&lt;br /&gt;&lt;br /&gt;According to my current perspective I'm exhausted.&lt;br /&gt;&lt;br /&gt;Most of the time I spend the day in front of my computer. Trying to learn things, trying to make things better, and I do all these things with a passion..! then why am I getting exhausted ? Definitely I'm missing something.&lt;br /&gt;&lt;br /&gt;Recently a stranger asked me what the best day of my life was. I really couldn't give a straight answer to that question. The question itself made me uncomfortable because it was the first time someone asked me that kind of a question. Besides I might not really have an answer. :P&lt;br /&gt;&lt;br /&gt;So my weirdness made the stranger to react, this time it was an explanation to my silence though I expected another question. ;) "You might haven't had any close friends for a long time", the stranger sounded.&lt;br /&gt;&lt;br /&gt;Ahem... I do have friends :P but are they suppose to ask me questions like that.? If so, don't try to ask me the same question again.. try something new. lol.. The point is I never asked that question from someone else either.&lt;br /&gt;&lt;br /&gt;No doubt, technically I'm missing something. Not the carrot, not the iPod, not the porn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-2429980860536250373?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/L3TEKMnhLDk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/2429980860536250373/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/07/missing-something.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2429980860536250373?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/2429980860536250373?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/L3TEKMnhLDk/missing-something.html" title="missing something..." /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>4</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/07/missing-something.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkENSHc7eyp7ImA9WxdUEko.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-1606855141889808233</id><published>2008-07-28T23:37:00.008+05:30</published><updated>2008-07-29T01:21:39.903+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-29T01:21:39.903+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Why too late ?</title><content type="html">I will make it quick. This is the C++ solution that I used to solve Google Code Jam Online Round 1C - Question 1. (it's so dumb, I know).&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;//&lt;br /&gt;typedef long long int64;&lt;br /&gt;typedef vector&amp;lt;int64&gt; vi;&lt;br /&gt;&lt;br /&gt;#define For(i,a,b) for (int i(a),_b(b); i &amp;lt;= _b; ++i)&lt;br /&gt;#define Rep(i,n) for (int i(0),_n(n); i &amp;lt; _n; ++i)&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;&lt;br /&gt; freopen("in.in", "rt", stdin);&lt;br /&gt; freopen("out.out", "wt", stdout);&lt;br /&gt;&lt;br /&gt; int t;&lt;br /&gt; cin &gt;&gt; t;&lt;br /&gt; For(test, 1, t) {&lt;br /&gt;  &lt;br /&gt;  int P,K,L;&lt;br /&gt;  cin &gt;&gt; P &gt;&gt; K &gt;&gt; L;&lt;br /&gt;  &lt;br /&gt;  vector&amp;lt;vi&gt; kk;&lt;br /&gt;  &lt;br /&gt;  Rep(i, K){&lt;br /&gt;   vi vec;&lt;br /&gt;   kk.push_back(vec);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  int64 letters[L];&lt;br /&gt;  &lt;br /&gt;  Rep(i, L){&lt;br /&gt;   cin &gt;&gt; letters[i];&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  sort(AllA(letters,L));&lt;br /&gt;  &lt;br /&gt;  int kx = 0;&lt;br /&gt;  Rep(i, L){&lt;br /&gt;   int64 l = letters[(L-i)-1];&lt;br /&gt;   bool put = true;&lt;br /&gt;   do{&lt;br /&gt;    int s = kk[kx].size();&lt;br /&gt;    if( s &amp;lt; P){&lt;br /&gt;     kk[kx].push_back(l);&lt;br /&gt;     put = false;&lt;br /&gt;    }&lt;br /&gt;    kx++;&lt;br /&gt;    if(kx&gt;=K){&lt;br /&gt;     kx=0;&lt;br /&gt;    }&lt;br /&gt;   }while(put);&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  int64 minpress = 0;&lt;br /&gt;  &lt;br /&gt;  Rep(i, K){&lt;br /&gt;   Rep(ix, kk[i].size()){&lt;br /&gt;    minpress += ( (kk[i][ix]) * (ix+1) );&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  cout &amp;lt;&amp;lt; "Case #" &amp;lt;&amp;lt; test &amp;lt;&amp;lt; ": " &amp;lt;&amp;lt; minpress &amp;lt;&amp;lt; endl;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; exit(0);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;and this is the C++ solution that I came up after  few hours of the contest.&lt;br /&gt;&lt;pre name="code" class="cpp"&gt;&lt;br /&gt;//&lt;br /&gt;typedef long long int64;&lt;br /&gt;&lt;br /&gt;#define For(i,a,b) for (int i(a),_b(b); i &amp;lt;= _b; ++i)&lt;br /&gt;#define Rep(i,n) for (int i(0),_n(n); i &amp;lt; _n; ++i)&lt;br /&gt;&lt;br /&gt;int main() {&lt;br /&gt;&lt;br /&gt; freopen("in.in", "rt", stdin);&lt;br /&gt; freopen("out.out", "wt", stdout);&lt;br /&gt;&lt;br /&gt; int t;&lt;br /&gt; cin &gt;&gt; t;&lt;br /&gt; For(test, 1, t) {&lt;br /&gt;  &lt;br /&gt;  int P,K,L;&lt;br /&gt;  cin &gt;&gt; P &gt;&gt; K &gt;&gt; L;&lt;br /&gt;  &lt;br /&gt;  int64 letters[L];&lt;br /&gt;  &lt;br /&gt;  Rep(i, L){&lt;br /&gt;   cin &gt;&gt; letters[i];&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  sort(AllA(letters,L));&lt;br /&gt;  &lt;br /&gt;  int64 minpress = 0;&lt;br /&gt;  int store = 1;&lt;br /&gt;  Rep(i, L){&lt;br /&gt;   if(store&gt;P)&lt;br /&gt;    store = 1;&lt;br /&gt;   &lt;br /&gt;   int64 l = letters[(L-i)-1];&lt;br /&gt;   minpress += l * store;&lt;br /&gt;   &lt;br /&gt;   if( (i+1)%K == 0)&lt;br /&gt;    store++;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  cout &amp;lt;&amp;lt; "Case #" &amp;lt;&amp;lt; test &amp;lt;&amp;lt; ": " &amp;lt;&amp;lt; minpress &amp;lt;&amp;lt; endl;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; exit(0);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;First solution is useless! and the second solution is far better than the first one. And both solutions provide the same output for the given input values. But I just couldn't code the easy and simple second solution during the contest. Why does it take too long.. ?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-1606855141889808233?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/PaZKDesM6Xo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/1606855141889808233/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/07/why-too-late.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/1606855141889808233?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/1606855141889808233?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/PaZKDesM6Xo/why-too-late.html" title="Why too late ?" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>2</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/07/why-too-late.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUAQ3o8eCp7ImA9WxdUEUs.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-7365134915803423411</id><published>2008-07-27T18:09:00.005+05:30</published><updated>2008-07-27T18:40:42.470+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-27T18:40:42.470+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Code Jam</title><content type="html">I have never planned to do &lt;a href="http://code.google.com/codejam/contest/"&gt;Google Code Jam&lt;/a&gt; this year (2008), but in the last minute I registered for the contest.&lt;br /&gt;&lt;br /&gt;The qualification round took place on 16th of July which had three questions to be solved within a day. I solved the first question, which was taken me easily to the Online Round 1. :)&lt;br /&gt;&lt;br /&gt;Online Round 1 consisted of three sub-rounds where top 840 contestants were advanced to Online Round 2.&lt;br /&gt;&lt;br /&gt;All contestants have to choose the most convenient two sub-rounds according to their time zone, etc.. If someone advance to Online Round 2 from their first assigned     sub-round, they may not participate in the second assigned     sub-round.&lt;br /&gt;&lt;br /&gt;But unfortunately  I had to participate in only one sub-round and ended up having the rank 1524. :( It's just because of doing damn silly mistakes in a coding contest with 2hr duration. :P&lt;br /&gt;&lt;br /&gt;hmmm... that's how I lost Google Code Jam 2008. Better luck next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-7365134915803423411?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/HGQHOUkemTM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/7365134915803423411/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/07/code-jam.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/7365134915803423411?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/7365134915803423411?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/HGQHOUkemTM/code-jam.html" title="Code Jam" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/07/code-jam.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EAQn0zeCp7ImA9WxdWEE8.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-1659850607267585546</id><published>2008-07-01T23:24:00.006+05:30</published><updated>2008-07-03T00:37:23.380+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-07-03T00:37:23.380+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="I like" /><category scheme="http://www.blogger.com/atom/ns#" term="Personal" /><title>Vacation</title><content type="html">This is my summer vacation.. haha well I coudn't think about a better way of starting the post. Is there a good old way to start a Blog post.? like we use "Once upon a time..." in story telling.? hmm then there should be a way of ending like "they all lived happily and ever after." ;) never mind.&lt;br/&gt;&lt;br/&gt;

So as I said before this is my summer vacation and I'm spending my time here in Kandy, my home sweet home. Things are bit different now.. I couldn't find any of my good old school buddies. Seems like they all got their own jobs. ;) Anyway that how it should be.&lt;br/&gt;&lt;br/&gt;

Vacation period is the most busiest, but staying home could keep everything in an ordered fashion. At least I get enough food here. haha&lt;br/&gt;&lt;br/&gt;

I watch lots of movies as usual and got back to reading books. Yeah sounds bit crazy but that's what I always wanted; reading books; which I'm not good at.  :P&lt;br/&gt;&lt;br/&gt;

I love coding.. so I don't hesitate to call it my passion. lol. Apart from sinking in research papers, wondering of getting in to Hogwards or flying away like Peter in Heroes, I was doing some ajax stuff, hosted a new project called "&lt;a href="http://code.google.com/p/qtwitt/"&gt;qtwitt&lt;/a&gt;", played a lot with &lt;a href="http://appengine.google.com/"&gt;Google App Engine&lt;/a&gt;, had to do lot of work for &lt;a href="http://gdc.appspot.com/"&gt;IIT Gadget Challenge&lt;/a&gt;, planned a Firefox launch (beach) &lt;a href="http://mozillaparty.com/en-US/events/view/234"&gt;party&lt;/a&gt; ;) , did some XUL stuff, started working on a research paper  :P, switched to "Blogger-Draft" and started working on a Facebook App.&lt;br/&gt;&lt;br/&gt;

Ah, I kicked the hope of getting an internship @ Google away ( may be Google don't want me to be there  :P ) , stopped regretting about Google Summer of Code and lost my web hosting service ( due to financial crisis lol ).&lt;br/&gt;&lt;br/&gt;

--------------- "And they all lived happily and ever after". ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-1659850607267585546?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/qVx62dJzz0E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/1659850607267585546/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/07/vacation.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/1659850607267585546?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/1659850607267585546?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/qVx62dJzz0E/vacation.html" title="Vacation" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>4</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/07/vacation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUCSHo9cCp7ImA9WxdXFEU.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-9125797879877974161</id><published>2008-06-26T17:34:00.003+05:30</published><updated>2008-06-26T17:41:09.468+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-26T17:41:09.468+05:30</app:edited><title>What Matters to You / Me ?</title><content type="html">These are the three wining entries of &lt;a style="font-weight: bold;" href="http://www.youtube.com/vancouverfilmschool"&gt;&lt;span&gt;Vancouver Film School (&lt;/span&gt;VFS) / You Tube Scholarship Competition&lt;/a&gt;. The creations are awesome ! I just love them.&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/p/C7F265179EB79014"&gt;&lt;embed src="http://www.youtube.com/p/C7F265179EB79014" type="application/x-shockwave-flash" height="385" width="480"&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/5469764571661455144-9125797879877974161?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/2p12gPfRtrQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/9125797879877974161/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/06/what-matters-to-you-me.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/9125797879877974161?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/9125797879877974161?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/2p12gPfRtrQ/what-matters-to-you-me.html" title="What Matters to You / Me ?" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/06/what-matters-to-you-me.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8AR3g-eyp7ImA9WxdRGUk.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-9038790809506019509</id><published>2008-06-08T22:23:00.005+05:30</published><updated>2008-06-08T22:37:26.653+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-06-08T22:37:26.653+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GoogleGadgets" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Desktop" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="FreeSoftware" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Code" /><category scheme="http://www.blogger.com/atom/ns#" term="Freedom" /><title>Google Gadgets for Linux</title><content type="html">It's finally &lt;a href="http://code.google.com/p/google-gadgets-for-linux/"&gt;ported&lt;/a&gt; on Linux !. I just compiled the &lt;a href="http://code.google.com/p/google-gadgets-for-linux/source/checkout"&gt;latest svn branch&lt;/a&gt; on Fedora 9. :)&lt;br /&gt;&lt;br /&gt;Checkout some &lt;a href="http://picasaweb.google.com/llahiru/DevStuff"&gt;screens&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/llahiru/DevStuff/photo#5209515323567075842"&gt;&lt;img src="http://lh4.ggpht.com/llahiru/SEvqlekrcgI/AAAAAAAABus/QilczuSrCE8/s288/ggl-screen1.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/llahiru/DevStuff"&gt;Dev Stuff&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Thanks Google !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5469764571661455144-9038790809506019509?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/GjC3RvhvA84" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/9038790809506019509/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/06/google-gadgets-on-linux.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/9038790809506019509?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/9038790809506019509?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/GjC3RvhvA84/google-gadgets-on-linux.html" title="Google Gadgets for Linux" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/llahiru/SEvqlekrcgI/AAAAAAAABus/QilczuSrCE8/s72-c/ggl-screen1.png" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/06/google-gadgets-on-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQNQ3g6eCp7ImA9WxRaEEw.&quot;"><id>tag:blogger.com,1999:blog-5469764571661455144.post-7583269912987951359</id><published>2008-05-20T10:18:00.004+05:30</published><updated>2008-12-11T23:13:12.610+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-12-11T23:13:12.610+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GoogleGadgets" /><category scheme="http://www.blogger.com/atom/ns#" term="Google Desktop" /><category scheme="http://www.blogger.com/atom/ns#" term="MyWorkStuff" /><category scheme="http://www.blogger.com/atom/ns#" term="FreeSoftware" /><category scheme="http://www.blogger.com/atom/ns#" term="GDkit" /><category scheme="http://www.blogger.com/atom/ns#" term="Software" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>GDkit</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QR51QC9-YzE/SDJZ9pUsOPI/AAAAAAAABs0/N_ZxT8ZL6r0/s1600-h/gdkit_logo.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://3.bp.blogspot.com/_QR51QC9-YzE/SDJZ9pUsOPI/AAAAAAAABs0/N_ZxT8ZL6r0/s320/gdkit_logo.png" alt="" id="BLOGGER_PHOTO_ID_5202319435165874418" border="0" /&gt;&lt;/a&gt;Recently, when I was playing with Google Desktop SDK, an idea of a third party JavaScript library came in to my mind; which made myself to code a small JavaScript class with some reusable features.&lt;br /&gt;&lt;br /&gt;That small JavaScript got wings and is hosted on Google Code. ;)&lt;br /&gt;&lt;br /&gt;Checkout the newest project &lt;a href="http://code.google.com/p/gdkit/"&gt;&lt;span style="font-weight: bold;"&gt;GDkit&lt;/span&gt;&lt;/a&gt;. It's a JavaScript library for Google Desktop Gadget developers. It's an easy way to add several cool features to your gadgets.&lt;br /&gt;&lt;br /&gt;We released a BETA version (1.0) of the first &lt;a style="font-weight: bold;" href="http://code.google.com/p/gdkit/"&gt;GDkit&lt;/a&gt; library : Effects. The main goal is to create some wrapper classes where developers can wrap basic elements.&lt;br /&gt;&lt;br /&gt;The example use of the 'Effects' library:&lt;br /&gt;&lt;blockquote&gt;var ani = new Animation(elementX);&lt;br /&gt;ani.setDuration(3000);&lt;br /&gt;ani.fadeOut();&lt;br /&gt;&lt;/blockquote&gt;Will add fade out effect to the element named 'elementX'.&lt;br /&gt;&lt;br /&gt;We are really looking forward to provide some other useful libraries as well. Whilst the 'Effects' library is getting improved &lt;a href="http://code.google.com/p/gdkit/wiki/Team"&gt;GDkit developers&lt;/a&gt; are working on another new library called 'Widgets', which is to be released in near future.&lt;br /&gt;&lt;br /&gt;Your comments &amp;amp; feedbacks always keep us alive !&lt;br /&gt;&lt;br /&gt;Cheers!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;[ GDkit is a free software released under &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.gnu.org/licenses/gpl.html" rel="nofollow"&gt;GNU General Public License v3&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; ]&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/5469764571661455144-7583269912987951359?l=blog.soundofcode.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/soundofcode-blog/~4/SZTVMP5BqjA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.soundofcode.com/feeds/7583269912987951359/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.soundofcode.com/2008/05/gdkit.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/7583269912987951359?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/5469764571661455144/posts/default/7583269912987951359?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/soundofcode-blog/~3/SZTVMP5BqjA/gdkit.html" title="GDkit" /><author><name>Lahiru</name><uri>http://www.blogger.com/profile/16797632661563367789</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="05163713417922266700" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_QR51QC9-YzE/SDJZ9pUsOPI/AAAAAAAABs0/N_ZxT8ZL6r0/s72-c/gdkit_logo.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://blog.soundofcode.com/2008/05/gdkit.html</feedburner:origLink></entry></feed>
